Preliminary Detailed Design
Team Vision for Preliminary Detailed Design PhaseThe primary objectives to address for the preliminary detailed design phase are:
- - Analyze and debug P15045 stander.
- - Develop preliminary schematics and test code with due consideration to the pitfalls and shortcomings in P15045.
- - Solidify electrical and mechanical part selection and order them.
- - Test environmental sensory.
Each of these tasks were addressed and currently being iteratively improved upon.
Lesson's LearnedWhile working on the previous iteration of the stander, the team had a strong opportunity to evaluate why the previous iteration of the stander had not been moving in a straight line. Realizing that the previous team didn't take advantage of implementing a PID controller properly, this years team decided to attempt to implement a rough PID controller to see if a steady state between the two motors could be reached. In attempts to tackle this task, a library for PID controllers was found. After reading up on the design that went into the library and the simplicity of implementation, it was implemented in a test to see if the motors could be spun forward at matched speeds.
The results of the PID implementation can be seen here.
As can be seen from the results of the PID test, the PID controller was effective in matching the movement of the motors. The next step in evaluating the PID was to see how the controller/stander operated on the floor (as opposed to suspended). It was when conducting this test that we found that the stander was still drifting (there was an initial deviation from straight line travel that was a result of having not perfected the parameters of the PID controller, but once the controller matched the motors the stander should have driven straight)despite positive results while suspended.
The results of this testing on the floor can be seen here.
From these tests we reached a few conclusions as to potential issues in the stander not being able to implement straight line travel.
- The feedback from the encoders was wrong.
- We had found in tests leading up to these two tests that the encoders weren't reliable. It was thought that perhaps there was some weight issue that impeded the encoders already unreliable feedback while the weight of the stander was applied.
- There was a potential mechanical/structural issue causing the stander to turn.
- Since having performed the test, this seems like a less likely cause, but it was thought that while the weight of the stander was applied to the wheels/structure, there was some force acting on the wheels/motor in such a way that it was causing the unit to indefinitely turn despite the PID's attempt to straighten out.
- There is a stalling issue related to over-draw of current through the motor driver.
- It was suggested to us that the motor was attempting to draw more current than allowed by the motor driver. After consideration, this is something that could very well be the issue. Due to the timing of this diagnosis, no tests were able to be conducted to verify but test plans for the incoming motor kit have been drafted to validate this hypothesis.
Mechanical Systems - Motors
Revisited Motor AnalysisThe motor analysis was revisited to determine the total effects of change in friction coefficients and ramped surfaces. Due to the number of public ramps that are not within ADA compliance, it should be noted that the ramped surface calculations were completed with 15 degree incline for worse case scenario modeling. Overall, it was seen that the maximum torque was not effected greatly by the change from a flat surface to a ramped surface.
The latest version of the document should be referenced at all times.
Weight Distribution TestingThis testing was completed to determine weight force on all wheels. This can be utilized to determine the potential for mechanical failure of the wheel drive shafts.
Overall, the team advises moving forward for the time being with the Parallax Motor Kit, but exploring the option of changing out the encoders with ones that are more robust and do not require the toothed gear configuration.
Schematics and Software
SchematicIn efforts to begin the redesign of the electrical system inside the previous stander a new electrical schematic has been started specific to this iteration of the project. Using what the team learned from the behavior of the previous stander, looking at the electrical components implemented, and the accompanying software it is the belief of this group that some redesign in the electrical and software portions of the project will lead to the new implementation working better and having been implemented in a more proper fashion.
The original revision (Rev 0) of the schematic can be found by clicking here.
With regards to software, there had been a lot of research taking place at the last review regarding implementation of PID controllers. Among our research we had found an identically functioning PID controller in Arduino with a GUI to observe the data graphically in real time, multiple PID controllers in the Arduino environment used to level out quad copters, and a simple Arduino library was found.
After looking further into the Arduino PID library, the author provided documentation on the functionality and design of the code, and it was found that this library – though simple – was robust enough for our needs. As mentioned we implemented it and through suspended tests on the stander we found that the code worked well. This provided the team with a solid base on the code that needed to be implemented for moving the stander in a straight line. This in addition with our flow charts on the hierarchy of command, provides the team with a good outline on how the final code should look and eases the design.
Also, as can be noted with some of the details in the way analog inputs were set up in the schematic, the functionality of the code should be significantly improved as it very may well be a possibility that a solution has been found for implementing interrupts to identify times when the analog inputs need to be read as opposed to polling. This improvement along with the hierarchal improvements we are making should improve the functionality of our team’s code over the last implementation, and should also make our code easier for people who weren’t the authors to read/understand our work.
MechanicalMotor Testing Parameters consist of the following:
- Acceleration on Flat and Ramped Surfaces
- Time for Motors to Fully Stop
- Time for the Motors to Reach Specified Velocities
- Experimental Drag Coefficient
These parameters are depended upon the motor configurations, motor placement, and environmental conditions. These dependent parameters are:
- RPM (100)
- Maximum Motor Torque
- Drive Wheel Location (Front or Middle)
- Environmental Conditions ( Pavement, Rug, Grass, Tile)
- Surface Angle (Flat or Ramped)
With regard to electrical test plans, specifics as far as the testing have the potential to vary depending on the final implementation. At this point, the testing required for the electrical portion of the design would be primarily focused on meeting with SME’s to discuss design flaws, and obvious issues related to the implementation we are trying to move forward with. After getting our design cleared with SME’s we’ll be able to create a test template to perform and record current analysis and verify the circuit for power management.
With software, the testing will be simpler in that the team can design an automated test bench. This would call for the need in implementing rigorous code sessions to identify edge cases with known inputs and expected outputs. This cannot be designed until the final code has been finished as expected outputs aren’t necessarily known yet, but implementation of such a tool will allow for proper testing of the system’s software.
Environmental Sensory Testing
Bill of MaterialsThe current BOM can be obtained here
Please refer to the current risk chart for the live document, and to see the overall changes in risk identified from the problem definition design review to the preliminary detailed design review.
Key Changes in Risk Analysis ChartThe additions to the risk analysis chart come from the troubleshooting of the 15045 stander, and creating preliminary designs for the new stander. These include:
- The stander does not move as intended because of a change in the control type, design, and end-users abilities. In order to mitigate this risk, it is imperative that the team considers the end-users capabilities(i.e. motor skill and cognition) through necessary user testing of these controls.
- Wiring needs to be strongly considered moving forward. As seen in troubleshooting, it is not apparent which way the wires are to be connected even with the labels (i.e. left vs. right motor wires based on 15045 definition). Further, it is extremely easy to disconnect wiring, and needs to be addressed prior to giving stander to a family.
- Seeing as how the left encoder on 15045's stander was broken with ease, it is highly likely that this could happen from small objects or children playing around with exposed stander components. This has moved the team into looking at enclosing the drive system, other than the wheel and axle, to prevent this.
- Lastly, the battery housing is hard to open. Although this is the right design for keeping young children out from electrical systems, it is difficult for a secondary end-user. The team should look into better placement of the screws to close the housing, or another design to close the housing that is easier to remove. This would help ease replacement of wiring or batteries, as necessary.