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.

Yujun’s Status Report for April 27, 2024

What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficienteffort into the project over the course of the week (12+ hours).

This week I mostly practiced presenting the final presentation for the class and gave out the final presentation on Wednesday. Furthermore, I contacted 5 students from CMU to conduct user-testing for my Web-app. 5 students evaluated the web app on how easy it is to use on a scale of 0 to 10 and evaluated it also on how self-explanatory it is. The evaluation was able to get an average of 8.75 points out of 10 and I realized one way I could improve the web app is by adding a introduction/how to use pop up that can help users get familiar with the web app easier.

Is your progress on schedule or behind? If you are behind, what actions will betaken to catch up to the project schedule?

The progress is slightly behind with the difficulty of the motor testing. Samay is currently working on controlling the motor with the Velocity mode instead of the stepper mode and he is planning to use all the time till final demo is due to smoothen out the motor code.

What deliverables do you hope to complete in the next week?

By next week we plan to have our final demo fully working (1-2 braille cells) and a poster ready for the deliverable.

Ziyu Li’s Status Report for April 27th, 2024

  • What did you personally accomplish this week on the project
    More testing is done on the braille cell, and I have done some detailed optimization on the CAD models. One persistent problem we were facing is that if we 3D print the body of the pin to be the exact same width as the pin holder, they will induce a lot of friction, but if we were to sand the pin down a bit so that it can slide smoothly, the pin will rotate slightly when the slider is pushing it up and down, resulting in a lot of jamming. A lot of experiments was conducted as attempts to mitigate this, and so far the solution with the best result is to include a slightly wider strip at the upper end of the pin to reduce rotation, while only adding a small amount of extra friction. We also experimented with using graphite as a solid lubricant, but oddly this does not improve the result observably.
  • Is your progress on schedule or behind?
    Our progress is on schedule to be demoed at the final showcase, our project works as of now, but the actuation speed is way behind our design requirement. It will be tough to optimize it to meet our initial goal due to fabrication precision and limited testing time.
  • What deliverables do you hope to complete in the next week?
    Beside optimizing the mechanical side of things, I also plan to “beautify” the project a bit more by 3D printing the product using black, white, and orange color palette, so that the audience can get a getter sense of how our actuator is working. I also plan to make some visual elements for our posters and final report (beside writing them) to better showcase our mechanism, like a exploded view of the assembly.

Ziyu Li’s Status Report for April 20th, 2024

For the past two week, I made substantial revision to the CAD design of our actuator. The motor no is placed in the middle of the two sliders, which drastically reduces the footprint of the device. The gear and rack configuration is relocated to the side of the slider, instead of up of down.

I also 3D printed and tested the integration of the system, as well as some preliminary test on the motor integration, which is shown here

We are on track to complete the project on time. Next we will perforce more verification test, and optimize for motor actuation speed and torque.

  • As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?
  • I am mostly in charge of designing the CAD model for our actuators, and fabricating the product using 3D printing and laser cutting. I found myself having to engage with every detail of the softwares tools I used before more, especially because we are trying to build something that is both small and precise. I have to rapidly prototype with different 3D printing parameters to find the one the give the best result. I also had to relearn gear design to make sure the actuation is fast and smooth.

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.

Team Status Report for Apr 20, 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 right now include the jamming issue on the braille pad. Due to the flimsiness of the braille pins, there are cases where the braille pins are stuck while the slider slides to the correct position. To manage such failure, we are working on a reliable jamming solution where we used the builtin jam detection on the motor to actuate the slider back and forth around the target location in order to reach the target. We also faced various communication issues with wifi communication between the webapp and the arduino. To resolve this issue we are going back to our serial communication system that is more reliable and able to transfer data faster.

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?

We decided to change the data input method on the web app from importing a txt file to manually typing the word on the web app. We decided to do so because a peer commented that txt file import reduces flexibility and requires the user to be well-knowledged in creating a txt file. This does not change the cost in anyway.

Provide an updated schedule if changes have occurred. 

No schedule changes since our last demo.

 

 

Yujun’s Status Report for Apr 20, 2024

What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficient

I finished the web-app for the project where the user is able to input their words directly into the braille pad. We decided to input words this way to reduce the tediousness of creating a txt file and then inputting the txt file into the webapp. With the web-app now directly taking input from the user by typing the words in, the user is now able to see all the words that are transported into the braille pad and delete them as necessary.

Is your progress on schedule or behind? If you are behind, what actions will be

The progress is slighted behind with the motor and braille integration still incomplete. We are to finish this task by tomorrow before the final presentation. As we have faced many mechanical issues with the braille pad we will be continuously testing our actuation method with the plethora of gears and motors we obtained a few days ago.

What deliverables do you hope to complete in the next week?

By next week, we hope to finish our final presentation, as well as the report (software part for me). Futhermore, I wish to do a final test on the serial communication between the webapp and the arduino board to ensure that we meet the user case requirement.

  • As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

To implement the web app I had to learn how to create a website in javascript and html from scratch. To do so, I had to learn the html and javascript language as well as the library that allows a javascript to run a python file. To acquire these skills I have delved into youtube tutorials on creating various websites to understand how HTML code works to format a website. In addition, I explored libraries posted on shecodes.io where extensive documentation on library functions could be found with examples. Lastly, I found asking for verbal guidance from friends in the industry very helpful where they gave advice on which language or framework to use for creating a website(ex: typescript vs javascript vs Flask on python).

Team Status Report for April 6th, 2024

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

Currently, on of the major risks still lies in mechanical integration of the braille cell and motor subsystems. We have begun designing the motor housing and accordingly adjusted the slider design as well after learning of new complications. We expect further minor bumps in the next week as we finalize printing and assembling the linear actuator to the motor. We plan to continue adapting to these potential physical issues.

As mentioned before, there was a slight modification in the motor location since we have decided to move the linear rack to the top of the slider due to concerns over extra load and jamming. There are very minimal extra costs involved in this modification.

The tests that we need to run as a team involve the integration and inter-functionality of the different subsystems. It also involves testing of physical design to fit all of our components. We need to validate that the translation program outputs the appropriate encodings, which need to be properly communicated over serial to our Arduino. We also need to measure any additional power consumption by the whole system, not just operating the motors from subsystem testing.

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

What did you personally accomplish this week on the project?

This week, I worked further on our motor code to handle homing and stall detection, as well as fine tuning the movement for each actuating position. The latter was done this week after getting a sense of the exact layout and dimensions of the slider actuator. I edited the code to more precisely rotate the motors to specific positions. The homing function then utilizes the stallGuard functionality of the TMC2209 driver to move the motor towards one edge until it detects it (utilizing back emf measurements in the background). I also researched linear gear racks for our specific geared motors, which required identifying the measurement standard of our gears and then searching for a compatible rack. I also found out that the JST motor cable connectors identified before were slightly off so I need to order new molex picoblade connectors. My progress is on schedule, but I need to accelerate progress on assembling motors after receiving these parts next week.

In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?

The anticipated results for testing of motor subsystem based on our engineering design requirements are the following:

– Actuating time between words: 500ms/cell (translates to 5 s/word)

– Motor power consumption: 1.2W

– Reliable usability: 6 hrs

To measure and verify the time testing results, I will feed in a long text input (10-20 words), upload Arduino code, and run the Python script, and finally start a stopwatch and “lap” every time the motor stops and moves to a new position. The time elapsed on every lap corresponds to the actuation time per cell. Based on these results, I might have to accordingly adjust the operating mode or power input to motors to satisfy design requirements.

Analyzing power consumption would require a much longer text file or simply running the motor on loop based on the timing results from above. After I figure out an average actuation time, I will hard code the number of steps the motor needs to run for that amount of time, repeat this movement in previous direction, and calculate power consumption over 5-10 mins in Arduino code.

Finally, I need to conduct failure testing over longer periods of time to satisfy the use case requirement of reliability over 6 hour periods.