I am developing a simple fence for a metal bending machine. The fence needs to move to a specific location based on an operator input.
Using and Arduino Uno, develop a program that will accept a numeric operator input, display it, and require the operator to acknowledge or change it. Upon acknowledging the input, the linear actuator should go to a Home limit switch, then move to the input location. Each time the operator changes the input value, the linear axis should execute the same home then go to location routine.
The linear axis has a 1.8 deg per step stepper motor, driven with a DM542T digital stepping driver, and attached to a 8mm acme thread lead screw with the following characteristics: Tr8*8-2p (4 starts), Lead Screw Diameter ∅ 8 (mm), Pitch: 2mm, Lead: 8mm. The lead screw is attached to a table that will move back and forth with a total range of movement of 450 mm.
Attached to the linear axis will be a micro switch for the home position and a micro switch for over travel, at the opposite end. There needs to be a recovery routine if either switch is activated.
The system should allow for operator input in either mm or decimal inches. Please utilize the Accelstepper library in the code (if there is a better solution, please tell me). The input device and display should be specified by the programmer.
If there is an inexpensive way to make the system closed loop with a measurement device, please tell me how you would do that. My tolerance is very high at ±0.5 mm.
At a minimum, the programmer shall provide:
- Commented software with all necessary libraries
- Part numbers / purchase information for input and display devices
- Pin connections for all devices to the the Arduino Uno
- A timeline for project completion
- Any necessary suggestions for improving the design