Mary Rose’s Status Report for 4/27

This week I worked on preparing to give the final presentation and increasing the precision of the communication between the computer and the Arduino. I did this by changing my packet-sending system between the Arduino and the python code. It is not fully tested yet, but it should reduce our code’s reliance on delays. I also remade the motor housing to fit the new screw and motor with the gearbox, so the stand’s design will be fully completed by tomorrow when the 3-D print finishes.

I am currently on schedule. This week I plan on refining the serial communication for the rest of our tests and the final demo, working on the poster and final writeup, and possibly implementing Bluetooth communication

Mary Rose’s Status Report for 4/20

This week I worked on redesigning the stand, as well as re working some of the motor code.

First, for the stand, I designed the lip, the flap and the linear actuator shelves. Through some weight testing on the shelves, I determined that two seperate pieces would be much lighter, which would lessen the load on the height motor.  The first shelving unit I designed was not strong enough to hold the weight of the laptop, so I created another version that was stable enough. It will be connected to the stand via a 5/8 thick block that will be screwed into the top, with the two sides of the shelf screwed into it. I laser cut this, and made it extremely lightweight. For the lip, I decided that making this out of two wooden blocks (instead of laser cutting) was the only way to make it strong enough to support the weight of the laptop. I used pine wood because it is fairly light. And did some quick tests with the laptop to ensure that it is able to support it. I laser cut the flap as one T-shaped piece. I took some measurements to determine what the dimensions of the flap should be in order to keep contact with the linear actuators, and the lip. On the finished stand, the flap will be connected to the lip via a hinge. With these new components created, I was able to remove the metal top of the stand, which further lessened the load on the height motor.

For the motor code, I integrated the new code for the big easy driver, with the existing code for the linear actuators. I also wrote a simple turn-off function that will revert the stand to its base height and angle. I started implementing the rest of the FSM as well, meaning that the Arduino will no longer need to be reset each time the app is restarted. However, this code requires further testing.

I also did some research about gearboxes for the Nema 17, so that we would not need to switch to a Nema 23 motor, which would have required us to get a new driver and power source, which would have meant completely reworking the code.

While working on the project, I needed to create new components out of wood in order to preserve our budget and keep the top of the stand light. This meant learning how to use SolidWorks to create dxf files, and learning how to use the laser cutters in TechSpark. I was able to learn how to do this by watching videos online, and reading some articles about designing shelves. I also learned more about writing code for the Arduino, including using new libraries (AF_motor.h,   ArduinoBLE.h, AFMotor.h, and Stepper.h, and AccelStepper.h). I was able to find tutorials online about how to do this. Furthermore, I learned how to implement Bluetooth communication between a mac and an Arduino. To do this I found some articles online, and also watched some videos. 

Next week, I plan to have the stand design completely finished, meaning that all the top components are connected, and are the correct measurements. In addition, I plan to have the code for the motor and the linear actuators fully integrated and tested so that the stand moves as intended when given the correct serial commands.

I am a little behind schedule, but I should be able to have the hardware complete by the final demo. If needed, I will not implement the Bluetooth communication between the Arduino and the computer, as this is not necessary to achieve MVP.

The new components for the stand:

Mary Rose’s Status Report for 4/6

This week I finished the serial communication between the laptop and the Arduino. While there are still some minor syncing issues with the current implementation, it is reliable enough to achieve MVP. In addition, I rewrote the code for the height and angle motors so that it will be compatible with the new motor driver. This includes a function that will allow the two linear actuators to move at the same time.

As of right now, I am a little behind schedule. Because of issues with the motor driver not providing the stepper motor with enough power, I was not able to get the hardware completely integrated, which would have allowed me to move on to integrating the Bluetooth setup. This week, I plan on finishing the hardware integration (with serial communication) and creating the top for the stand (with slots for the linear actuators) in Solidworks.

Mary Rose’s Progress Report for 3/30

This week I created the parts that will hold the motor stable while it raises the laptop stand. This required precise measurements of our current design. The final pictures of these pieces are shown below. I also re-worked the motor code for both the height motor and the linear actuators so that it will work with the new library. In addition, I got started on implementing serial communication between the laptop and the stand as this is part of our MVP for the interim demo. Using serial communication will make it easier to communicate between the software and the stand for the demo, but we will rework this using the Bluetooth code i wrote earlier for the final product. I plan on having the serial communication finished and tested by next week, as well as the code for the stepper motor and the linear actuator fully tested, and I am back on schedule.

Mary Rose’s Status Report for 3/23

This week I worked on designing the connection between the screw and the motor, as well as the stand and the motor. I included a sketch of the design for the block that connects the motor to the screw. This block will then be attached to the motor, allowing it to turn. The other component will attach to the bar of the platform jack to stabilize the motor while it turns the screw. My sketch for the block, and my inspiration for the motor stabilizer are shown below. The second picture is from:  https://www.thingiverse.com/thing:6161381/comments

Because of the need to create these new components, I am running a little behind in testing the code for the motors. However, I let my teammates know, and they are prepared to help if they need to.

Next week, my goal is to have these designs ready to print, and finish testing the motor code.

Mary Rose’s Status Report for 3/16

  • This week, I worked on finishing the Bluetooth implementation from the laptop’s end. I also tested it by connecting to each characteristic and checking that the outputs were correct via printing from the serial monitor. I also began working on a function that given the number of rotations the motor needs to make, the motor will run. I may need to re-write this function, as our team is working on selecting a new motor, however as we will still be using the same motor shield to interface with it, this code will be useful.
  • I was able to catch up to where I am supposed to be on the schedule.
  • Next week, I plan to have the code for both motors (the height motor and the linear actuators) fully finished and tested.

Mary Rose’s Status Report 3/9

  • Over the past two weeks, I worked on getting the Bluetooth connected between the stand and the app. I finished the Bluetooth implementation on the Arduino side. I also wrote some basic code for the Bluetooth connection from the laptop app.
  • I was able to catch up to where I am supposed to be on the schedule, this is because I moved some tasks around to make them more efficient.
  • Next week I plan to finish the Bluetooth from the laptop end and test the connection using print statements.

Mary Rose’s Status Report for 2/24

Earlier this week, I worked on finishing the design presentation, specifically on the diagrams, the FSM, and the testing slides.

I then worked on refining and coding the calibration FSM. I tested the code I wrote for correctness, by manually feeding it inputs, and testing how it responds via prints. I am still a little behind schedule, and this week I plan to have the motor control/linear actuator code completed so I can begin testing as soon as possible. I also plan to take measurements of the design to determine how motor rotation corresponds to height.

Mary Rose’s Status Report 2/17

  • This week I worked mostly on design. I created a document to help our team finalize our metrics. In addition, I drew up a rough sketch of the FSM for the stand’s calibration stage in preparation for writing code next week. I also did some more research on connecting to the Arduino via Bluetooth from the laptop’s side.  I also finalized the block diagram, which now includes some more detailed calibration information, such as a button that the user can press to restart the stand. The rest of my time was spent working on the presentation, specifically fleshing out our testing plan (Bluetooth communication, and motor precision).
  • I am currently a little behind schedule, which I plan to make up during the slack period I have scheduled for a week and a half from now.
  • For now, I will continue to draw up a diagram for the hardware, and next week I intend to begin writing the code to control the motor and linear actuators.

Mary Rose’s Status Report for 2/10

This week, I worked on the proposal presentation and planning our design. We held a team meeting, where we finalized the stand’s design, and which parts we plan to use. I placed the orders for the motor that will be used to raise the stand, and it will be available to be picked up on Monday.  In addition, I began to research how to use the Arduino Rev4’s built-in ESP32 module for Bluetooth communication with the computer.  I also refreshed my memory on using a L293D for motor control.

As of right now, we are technically ahead of schedule. However, this is because we decided to 3-D print a smaller prototype design (to test if our design is feasible). Thus, I plan on moving ahead to the next item on the schedule, which is working on the code for motor control, then testing our stand design, and lastly, breadboarding components (since by next week we should have already received the motors and Arduino), to make sure we will stay on track for printing a PCB.

By next week, I hope to have most of the code written for the motor control and to have begun testing the feasibility of our current stand design.