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 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.

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.

Samay’s Status Report for Feb 17th, 2024

This week, I spent a significant amount of time on refining our implementation plan as we approach our design review this upcoming week. In particular, our team had many concerns about both the size and power issues of our initial plan to use an array of actuators that each control each braille pin. In terms of size, there were no affordable actuators that were realistically small enough for our requirements. We also considered the power usage of the available solenoids, which require a current always to keep a pin up.

As a result, my progress was also behind for this week since we got caught in these technical issues. However, I made significant progress during a meeting on Friday with our group. I suggested we find inspiration on the internet for other methods of actuating an array of pins. This led to great team progress with a newer idea (sliders for every column that have an encoding that cycles through all combinations of pins per column).

I also contributed to the design review presentation and document by addressing the implementation plan and researching which components exactly we need. I started by looking into the types of small motors we could use to precisely control the sliders. For example, I compared stepper motors to servo motors in terms of precision, speed, power, and size. I found that there were similar size characteristics but stepper motors require less power.

Next week, I hope to first finalize an initial parts list based on our current implementation plan. I aim to also order parts to begin testing as well as begin on CAD models for the device.

Samay’s Status Report for 02/10/24

What did you personally accomplish this week on the project?

This week I worked on the project proposal, primarily contributing to refining our use case and use case requirements from last week’s abstract and planning the team’s preliminary schedule. This was as part of developing our project proposal for the presentation this week. Specifically, I researched the quantifiable requirements to satisfy users’ reading speed, functionality, and accuracy goals. I established for the group that we need to choose our actuators and design the system to satisfy at least the average reading speed of 240 wpm, given the use case of being a braille e-reader device.

Secondly, I was in charge of planning out our schedule for the semester. I first broke down our list of tasks into smaller 1-week tasks to build the Gantt chart. I then divided these tasks among each of us according to our division of labour plan; I was then able to schedule tasks over the next few weeks either sequentially or in parallel, according to interdependencies between tasks. The final component was a testing schedule that I assured was not all scheduled at the end. Instead, I placed deadlines for intermittently testing our different subsystems over the next weeks.

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

My progress is on schedule so far.

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

Next week, I hope to finalize the specific design of the actuator array and audio feedback systems in preparation for the design review presentation next week.

Since I presented the proposal, I will also review the feedback I received regarding both content and presentation skills. I will meet with my team mainly to discuss the feedback we received about really specifying our solution approach and concerns about some of our testing criteria.