Team Vision for Detailed Design PhaseWhat did your team plan to do during this phase?
Prior to this phase, the team decided upon a tentative schedule for ensuring progress was made and ensuring the risk assessment items were addressed first. The main task items to be completed during the detailed design phase are as follows:
- Purchase grinder motor
- Decide upon motor controller once motor arrives
- Continue discussing Rpi --> Arduino interface
- Begin Arduino programming
- Design new interface for new motor
- Test Augers
What did your team actually accomplish during this phase?
Once the detailed design phase was underway, the schedule was followed to ensure we stayed organized and completed all responsibilities agreed upon prior to the end of MSD1.
Motor Controller and Motor'sThe motor and motor controller was purchased firstly and is now in the stages of being physically designed into the existing prototype. This proved to be more difficult than initially thought because there were folders of drawings passed down from the previous MSD team and understanding their design process and which drawings were still relevant has taken more time than thought. Additionally, the augers started to be tested and initially looked to be suitable. However, additional testing exploded one of the motor gearboxes and now a new motor/gearbox needs to be selected and a new design interface will be necessary.
Raspberry Pi to ArduinoThe Raspberry Pi to Arduino interface were tested first by using computer to Arduino with success and then with Raspberry Pi to Arduino with success. Preliminary code for the Arduino was created to test the motors and the sensors using Raspberry Pi commands. The infrastructure of the Raspberry Pi is still underway. Some external libraries were tested one named "Nanpy" (Nanpy repository) but it was found that this would not be ideal. Qt creator was chosen as the primary control infrastructure for the Raspberry Pi.
ArduinoAll of the sensors were tested with the Arduino. Of the 6 sensors only 3 of them are in working condition; the moisture, temperature and ammonia sensors. Next the Arduino was used to stop, start, and reverse the motors for the augers using the Sabertooth motor controller. It was decided that the Arduino would be controlled over serial from the Raspberry Pi, so the code from the sensors and motor control were merged and scripted to only run when the proper command was sent from the Raspberry Pi.
What does the team plan to accomplish by the Detailed Design Review?
Prior to the detailed design review, the team plans to have purchased all motors, power supplies, and motor controllers will be purchased and ready to be integrated, physically in MSDII. Also, all designs for the grinder motor interface and couplers will be designed and handed off to the machine shop so that the items can be fabricated before MSDII. The code for the Arduino will be complete and ready for the Raspberry Pi to control. The Raspberry Pi will be able to send simple text commands to the Arduino to start/ stop the motors and sample the sensors.
What tasks have been accomplished so far?
So far, the grinder motor was purchased and the design for the interface has been redesigned. A drawing was completed for this and will be handed off to the machine shop before MSDII. Also, the coupler for the shredder motor is almost completed and final checks are being done on the part and assembly. A preliminary design for the Arduino code has been created. The Arduino has been connected to the RPI and controlled through serial commands.
What tasks remain, and who is the owner of each?
Charlie: Design of the grinder motor coupler will need to be completed and all of the drawing packages will need to be submitted by him to the machine shop. Also, he needs to talk to the auger motor manufacturer and decide upon a coupler and motor to purchase. Once this is done, the interface design for the auger motors will need to be completed. Testing for the holding bin auger will also need to be completed.
Dante: GUI application tool was chosen. General layout of wall power was created. Wiring diagram for the Micro-controllers was created. Will need to create the full GUI application using the Qt Creator tool chain, and set up the Raspberry Pi to interface with the GUI application and the Arduino. Once a prototype GUI application is set up, software testing can conducted using the sensors and motors.
Johnny: Arduino code was written, the current Arduino code will easily integrate into the system since it only requires serial commands from the Raspberry Pi to work. Only minor modifications need to be made to the code; such as adding in some interrupts for emergency stopping of the motors through the gui, or if a sub-system or design decision changes. The code still needs to be modified for the motor controller that was selected for the grinder motor, but we can't test that until we receive the motor controller. The code needs no major modifications for the new motors for the reaction and holding bins because it was written for the motor controller that will be used for those two motors. As of right now only three sensors will be integrated into the system, if we repurchase the other three it will not be very difficult to integrate them into the system.
Emir: The Raspberry Pi interface was researched. A preliminary test of the interface with a pre-made library was tested and found to be not feasible. It is decided that the GUI will handle the commands to the Arduino and the Arduino will respond using serial writes and reads. The current code of the Arduino will be worked on so it works well with the GUI.
What decisions have been made so far?
So far, it has been decided what motor and motor controller will be used for the grinder motor. It ha also been decided that a power supply will be consolidated to power all motors and eliminate some of the mechanical hardware from the Robocomposter. The power supply was found in the basement of Gleason and was zero cost to the team.
Progress from three week plan
Prototyping, Engineering Analysis, Simulation
The Arduino will receive commands from the Raspberry Pi over serial communication, an example of the Arduino responding to commands via serial communication is shown below.Arduino Code for Robocomposter . This code includes all the sensor code as well as the proper code required to run the holding bin and reaction bin motors. The grinder motor code is just placement code until we receive the motor controller for that motor.
The Raspberry Pi (RPI) and the Arduino have been tested working together using serial writes and reads. The GUI will send serial data to command the Arduino. Here is a working communication and motor control output of the Arduino and RPI.
Drawings, Schematics, Flow Charts, Simulations
The following screenshots portray the part and assembly models that are being updated to accommodate the new grinder motor. Since the new grinder motor will need to interface completely differently than the existing stepper motor, the interface needs to be redesigned which is impacting the coupling and the grinder housing.
The following drawing was created to represent the motor. Since the entire motor was very complex, it was deemed a waste of time to recreate every detail and only the critical parts of the motor was created.
Once the motor mock-up was created, an interface for the motor could be redesigned. The part model is shown below.
A drawing was also completed for this part and will be handed to the machine shop prior to Winter Recess.
This part was then integrated into the grinder housing sub assembly.
Lastly, the entire assembly for the grinder needed to be updated with the redesigned parts. Notice the shaft of the new motor that can be seen and the lack of coupler. The coupler is currently being designed and will be integrated shortly. Also note that the side walls of the Grinder Housing needed to be redesigned to accommodate the new holes that were required with the new motor.
Another part needed to be updated to accommodate the new grinder motor. In order for the grinder plate to adhere to the grinder housing, new clearance holes need to be drilled. Therefore, a drawing was updated for the grinder side plates for the housing.
With the new motor, a new coupler needed to be designed and fabricated for the grinder motor. The drawing is shown below and the part can be seen integrated in the Grinder Assembly above.
General layout of powered devices. The Micro-controller power circuit is expected to be always be powered, while the motor power circuit can be manually disconnected using an emergency stop button.
Micro-controller wire hookup diagram.
The preliminary testing of the Raspberry Pi to Arduino is done by by controlling LED's as shown in the figure below. Once this has been tested the actual controller should interface well with the Arduino.
Bill of Material (BOM)
The Current BOM lists all of the materials that may or will be bought. The red are the additions to the BOM from the previous iteration.
Test PlansMany sections of the design need testing to fully address the risks that have been presented. First of which is the sensors. Testing Procedure
A copy of the Grinder Motor and the Auger Motor test procedures can be found here: Grinder and Auger Motor Testing Procedure
Next testing the GUI (graphical user interface) will be important to allow simple control of the system. It is shown in the following PDF Testing Procedure
Design and FlowchartsThis section should continue to be updated from your systems level design documentation.
A link to the risk assessment is shown here. The colors in the document represent what has been done, is being done, or has yet to be done by green, orange, and red, respectively.
Design Review MaterialsInclude links to:
- Presentation and/or handouts
- Notes from review
- Action Items