None
In order to safely operate your workstation motor inertia module, you will need to implement a safety control system. OK, so there isn't much chance of serious injury with the rig we have given you. However, it is true that you don't want the motor to run when you are not expecting it, especially if you are making adjustments with your fingers close to potentially rotating parts. A safety system that ensures that the plexiglass shield is closed while the motor is running can help with this, and may also save you from broken workstation parts. Large machines will have exactly the same kind of safety systems when their operation carries substantial risk of injury. With all of these factors in mind, it is important to understand how FSM programming could provide a framework to build a robust safety system.
Your safety system will use the relay to control the overall operation of the motor such that:
The motor will be controled by the relay we have already used in Labs 1 and 2. When this relay is energized, the motor will be connected to a power source. If the relay is not energized the motor will be disconnected from the power source and therefore will not be allowed to spin.
You will use your workstation's safety control section and the LCD panel to control the operation and display the status of your system. The safety control section consists of the buttons, switch and LEDs at the bottom of the circuit board below the breadboard. They, and an example of the LCD output are pictured below. All of the switches, buttons and LEDs in the Safety Control Section are connected to the Arduino through the circuit board and the pin numbers for each of them can be found in the hardware resource: Arduino Mega Pin Mapping. Note that the black buttons (BTN1, BTN2, etc) are momentary switches that only change state while being pressed. The E-Stop button is a "mechnically latching" button that will stay pressed until pressed again.
Indicator operations
delay()
to achieve this is unacceptable in this application because it would mean the entire program STOPS processing for 100 ms. If a fault occured in that time, the program will not be able to respond! Therefore, you will need to make use of a timer to output to the LCD at an interval of your choice without pausing the entire program.Motor operation
You will be using the Inertial Module for this lab, but you won't be connecting the inertia mass to the motor yet. Remove your gate module and reattach the Inertial Model using the two thumbscrews hardware resource: ME 480 Portable Workstation. Notice that the extension on the motor inertial shield contacts the shield limit switch when it is fully closed.
Confirm the motor is still connected to the MOTOR2 socket and the wires coming from the inertia module are connected to the MOTOR1 socket. We won't use the electronics on the inertia module in this lab, but this will keep the wires away from the motor and get you set up for lab 4.
The same relay we used in lab 1 and 2 also connects the motor to the second H-bridge. So the same pin on the arduino will be used to control the relay to turn the motor on and off.
A solid state switch, like a transistor, could have been used instead of a relay. However, as a safety feature, the relay is a better choice because the motor is physically disconnected from the circuit so there is no chance current could "leak" across the relay. Solid state electronics can fail such that current can pass unexpectedly. Additionally, a relay is less expensive, dissipates less heat, and allowes us to easily run current in both directions through the motor. A relay was also an appropriate choice because it is not expected to switch at high frequencies or for a large number of cycles over its design life cycle in this application.
Finally, your relay is also designed to "FAIL SAFE" by staying in the open position, and stopping the motor, if it loses power.
Place your STATE TRANSITITION DIAGRAM in the cell below.
Ensure the diagram and table are consistent with each other and they are both consistent wtih your final program
YOUR ANSWER HERE
Place your STATE TRANSITITION TABLE in the cell below.
Ensure the diagram and table are consistent with each other and they are both consistent wtih your final program
YOUR ANSWER HERE
We will provide a script for you to follow to demonstrate your system. Please take a video of the demonstration and put a link to the video in the cell below
YOUR ANSWER HERE
Place your PROPERLY FORMATTED Arduino Code in the cell below.
YOUR ANSWER HERE