Team Status Report for Apr 27, 2024

  • What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready?
    There are two significant risks: 1. The jamming of the slider is still an issue, this prevents the motor from identifying the exact position it is in at any given moment. We have already identified the issue, and although mitigation efforts were made (referring to Ziyu’s status report), this problem is still not solved 100%. 2. The actuation speed of the motor is still way behind our initial design requirement. Samay is working on improving the motor driver’s code to get smoother actuation, but this proved to be a difficult process. As of now, no better solutions can be given besides pouring more hours into it before the final demo.

 

  • Were any changes made to the existing design of the system?
    We made our final changes last week, and they are documented in last weekly report and this week’s final presentation. No further adjastaments were made this week.

 

  • Provide an updated schedule if changes have occurred.
    No schedule changes.

 

  • List all unit tests and overall system test carried out for experimentation of the system. List any findings and design changes made from your analysis of test results and other data obtained from the experimentation.

Software Unit testing:

  • Web App user-testing:
  • 1st iteration feedback: low usability due to txt.file support only
  • 2nd iteration feedback after change: 8.75/10 for usability and user-friendliness
  • Braille algorithm testing:
    • 100% accuracy on 100 randomly generated words (Grade 1 + Grade 2)

Due to the braille translation algorithm successfully fulfilling the user-case requirement right off the first iteration of the test, we did not have to change our backend software design. However, after the first iteration of user-testing on our web app, we got a low score of 6.5/10 on usability due to the fact that our website only accepted .txt files users and did not deal with the errors that were generated from corrupted txt files. Therefore, we fundamentally changed our web app design to take in direct user-inputs from the keyboard through a clean prompt window generated from our website and decided to display every word typed and successfully added to our braille pad database.

Hardware:

  • Unit: Average time per cell actuation: Uploaded final Arduino code, ran Python translation script for >15 characters, and recorded total time taken. Results: 0.73-0.82sThis finding has led me to try and optimize speed as we are aiming for 0.5s per cell. I have to try different motor operating modes and continue experimenting. We will also try to reduce jamming of pins by making them thicker, since the pins “lagging” causes the slider to click with friction and thus slow down.
  • System: Homing precision and reliability: Ran testing of the slider initiation sequence upon first starting our whole system. Expected a quick back-and-forth until the motor “found” home position to then start accurate positioning of braille cells. Results: failed to get repeated trial successes. The motor often failed to detect a jam and other times just did not respond. This must be immediately investigated and start fallback plan of a physical limit switch.

Samay Sahoo’s Status Report for April 27th, 2024

This week we made significant progress as I integrated a fully-functional motor and slider with our 3D printed components to actuate braille. First, I worked with Ziyu to assemble a final version of the 3D-printed braille cells, pins, mount, laser-cut gear & rack, sliders, and both motors. Upon assembling, the motor code required a lot debugging as I tried to recalibrate the motors for enough torque, speed, and precision. We also verified much better performance after connecting the motor driver chips to 12V power source. I worked with Yujun to solve these last few issues. I also received the final JST-like 4-wire connectors that has significantly cleaned up our wiring as we transition to cleaning up for final demo.

My progress is behind for this week as I had hoped to finalize homing motor code by now. I will make up for this prior to the upcoming, and final, week. In addition to this, I hope to be able to manage all the braille cells we are able to produce in the next few days, such that we will be able to display multiple braille characters, sequentially, as desired for our MVP and use-case requirements.

Samay Sahoo’s Status Report for April 20th, 2024

This week, I worked on the motor code upon assembling a first version of our full build. Specifically, now that the laser-cut gear and rack is finalized, I was able to do proper load testing on the motor. I was aiming to meet our main design requirements, namely, speed, accuracy, and anti-jamming. I was able to get accurate positioning, except for times when one of the pins lagged behind due to printing imperfections. I also observed that my anti-stall code also worked to stop the motor upon detected a jam. I still need to work on homing after a jam since I faced some issues with the motor starting up again very slowly at first which would sometimes just raise another stall error. There were also issues with speed since I have not connected the motor driver to higher than Vcc 5V.

Progress is on schedule but there is much fine-tuning to do as we complete our final print. Next week, I plan to experiment with a higher power source to see if I can achieve improvements on speed while maintaining the torque I already achieved to properly actuate the slider.

Samay Sahoo’s Status Report for March 30th, 2024

This week, I continued to work on the Arduino code to process data and accordingly spin the motors a specific number of steps. First, Yujun and I worked to find a .txt file reader library for Arduino to import the encoding outputs from the Python translation program. However, I later found it was buggy as these libraries were not very sophisticated. So, I researched and updated our Python program, translation.py, with pyserial for serial communication directly with Arduino. I also built onto our Arduino code (stepper motor control and I/O) to also interface with the translation.py code. With this new mode of communication and processing, translation.py sends the binary encodings one cell at a time to the Arduino, which then processes the encodings, moves the two motors for a cell to actuate the pattern, and then sends a signal to translation.py when “next word” button is clicked. The reason for one cell at a time is that we are first finalizing functionality for only one cell before manufacturing and assembling the other nine cells for our final device. The code will meanwhile be updated to process and display one word at a time instead of one cell, as desired. My progress is now on schedule. For next week, I aim to:

– Move the serial communication between the web app Python programs and Arduino to wifi with our ESP32 board. Will work with Yujun on this step.

– I also aim to finalize fitting the motors and linear gear to our pending 3D printed housing parts. This step is crucial to then properly advance to manufacturing and assembling the physical hardware of the device.

Samay Sahoo’s Status Report for March 23rd, 2024

This week, I continued to work on our stepper motors and all of the corresponding motor code. However upon testing with a load, the motor torque was not high enough, which I was anticipating from this testing. In order to achieve the load and precision of our sliding actuator, I decided to consider options for a reduction gearbox and a corresponding linear screw. I was able to find a few new parts that includes these modifications of this and thus purchased for delivery next week.

My progress is on schedule for this week, but since our order has not yet been placed last week, they will only arrive Wednesday/Thursday of this week, which might affect my progress of the following week. I hope to accelerate work once they arrive and have a final working setup of our entire motor subsystem. I will finish up Arduino code accordingly this week, upon receiving the final dimensions of 3D printed parts from Ziyu.

Samay Sahoo’s Status Report for March 16th, 2024

This week, I ordered, received, and began testing all the parts for our actuating subsystem. First, the ordering process was a little tricky since despite having finalized the motor model and type, there were various unknown vendors and distributors with wildly varying pricing and delivery times. As a result, this process took longer than expected. Upon receiving the parts, I have been able to get the micro stepper motors to function and control using Arduino and the motor driver. I still need to program the precise positions along the linear output. My progress is still a little behind, but compared to the previous week’s state, I have been able to make significant process this week.

I also decided to significantly adjust our team’s schedule since the whole team has been behind schedule. The consequence in that the upcoming two weeks now requires parallel progress on various subsystems + testing.

At the end of this week, I hope to have a fully working motor and sliding mechanism, ready to attach to our 3D printed actuating components. Additionally, if this is accomplished, I will assemble all motors and drivers. However, I need to purchase a different motor driver IC in order to properly support our software-controlled motor control for actuating.

Samay Sahoo’s Status Report for March 9th, 2024

A significant amount of time was spent on developing our team’s Design Review document, including the accompanying research and design decisions for the content of the paper. Specifically, I refined our design requirements significantly based on the feedback received from prior coursework. I made sure to make a clear distinction between engineering design and use case requirements, which was not as clear from our previous work. I integrated the TA feedback on battery life requirements, as there was concern about the device lasting a school day while we were aiming for only 1 hour of life. This was altered and new calculations were made for the battery capacity required to achieve 6 hours of use by the intended users (students). Further, the research for our trade study and bill of materials sections made for much better clarity on the specific parts and materials needed. Preparing the detailed bill of materials allowed our team to advance our progress from the design stage towards implementation. My progress was behind due to issues with the design review document, however I will mend this before the new week. I also plan to help order parts to begin my portion of the hardware implementation and testing, according to the schedule.

Team Status Report for Feb 17th, 2024

What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready?

The most significant risks are the components we are able to find and afford in terms of size and power. Our main issue is the small spacing of each braille cell from each other. However, we have found at least two backup plans of actuators we can assemble ourselves in case the sliders don’t work.

Were any changes made to the existing design of the system (requirements,block diagram, system spec, etc)? Why was this change necessary, what costsdoes the change incur, and how will these costs be mitigated going forward?

There were changes made to the block design and implementation approach as referenced above. We have shifted to a more elegant and simpler design approach which address our power and size concerns for now. The 3D printed sliders will have engravings that at different positions engage each unique combination of 3 pins per each braille column. This eliminates the need for small actuators for every single pins.

Provide an updated schedule if changes have occurred

There have been no changes to the schedule so far, since we shifted and caught up this week. We will observe our progress this following week and adjust the schedule then, if necessary.

Ziyu Li’s Status Report for Feb 17th

This week I mainly focused on researching different braille pattern actuation patterns, and coming up with a viable solution that is both cheap and compact. We research three main solution: 1. Electromagnetic actuation, like push-pull solenoid 2. Stepper motor paired with more intricate mechanical design, and 3. A slider solution that is able to enumerate a three-dot pattern, and use two of the same slider config to constitute each braille character. The final solution is what we settled on, as it is a. extremely cheap to implement, b. low fabrication difficulty, and c. is able to provide a close to standard braille pattern size. I am currently working on a full 3D model of this system in CAD, but for reference people can check out this video: https://www.youtube.com/watch?v=rTzhWKBfiuk