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.

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.

 

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.

Team Status Report for March 16th, 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?

Currently, the most significant risk is the mechanical functionality and reliability of our sliding actuator system. Specifically, as we finalize our CAD design this week and last, we need to add components to mitigate the slider slipping when users physically run their fingers over the braille pins. We are also ready to mitigate issues with the motor in incorrect positions with a homing sequence. We plan on having a physical button/sensor at the end of the linear gear such that our code will be able to simply direct the motor to spin in that direction until the sensor is activate, which can then a reference “home.” Finally, there were not many changes to the system except for a decision between two different motor models that were ordered.

Here is an updated schedule for our team, given that our progress was behind the previous iteration:

 

 

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.