A 2-Axis linear gantry robot is typically used in industrial applications such as pick and place, labelling and marking applications, sorting systems, quality control…[1,2].
In this assignment you will implement a sorter unit based on a 2-linear gantry robot.
The basic gantry has the following items:
• A container with mixed parts which is located in the left-side of the gantry. This container has a capacity of 8 parts of two different kinds. An optical switch LS1 located in the X axis
(orange star) indicates the X position of this stack. This container has two optical switches FCS1 and FCS2 for detecting if the magazine is full or empty respectively.
• A test head with an inductive sensor that classifies the type of parts. An output high indicates that a type 1 part is detected, otherwise is a type 2 one. An optical switch LS2
located in the X axis (orange star) indicates the X position of the test head.
• A stack filled of Type 1 parts. The X axis location of this stack is indicated with an optical switch LS3 (orange star).
• A stack filled of Type 2 parts. The X axis location of this stack is indicated with an optical switch LS4 (orange star).
• Two brushed DC motors. One DC motor is responsible for the X axis motion and it drives a belt connected to the Z axis stage. The Z-axis motion is driven by a DC motor connected to a headscrew with axial shaft couplings. The Z-axis has a limit switch LS5 to indicate the fully retracted position of the leadscrew.
The gantry specifications are shown below:
• The current of each DC motor is measured with a shunt resistor. If the current is greater or equal than 1A the motor is stalled. In normal operation the current is between 0.3A and 0.6A.
• The magnetic pulling force required to lift one part is achieved when the current flowing though the solenoid is 50mA.
• The controller should pick a part from the mixed parts container. After this step it should test the part by placing it on top of the test head. Once the part is identified, the controller sorts the parts out by placing them into the right stack.
Figure 2. Motor control circuit using two SPDT relays and a shunt resistor for current measurements.
1. Design a signal conditioning circuit suitable to measure the motor current. The desired output of the signal conditioning circuit should meet the specs in Figure 3. This output is connected to an analogue Arduino input. The value of the shunt resistor is 100m? ± 1%. Calculate the absolute error in the output voltage of the signal conditioning. Find the current resolution if the number of bits during the analogue to digital conversion process is 10 bits and the ADC input voltage span is 5V (Vref+ 5V and Vref- 0V).
Figure 3. Desired characteristic curve of the signal conditioning circuit
2. Design an analogue circuit that detects the motor overcurrent condition. The circuit should output a digital signal. Logic level high (overcurrent detection) is 4.5±0.5V and logic level low (normal condition) is 0.5±0.5V. [10%]
3. Draw a wiring diagram describing the I/O used by Arduino. [15%] 4. Implement a TM1638 test program that allows the user to manually control the gantry.
Each motor has two relays that can control the voltage polarity across the motor. The pushbutton(PB) Motor X+ (S1) drives clockwise (CW) the motor responsible for the X motion, and the PB Motor X- (S2) drives the same motor in counterclockwise (CCW) rotation. The same applies to PB Motor Y+ (S3) and PB Motor Y-(S4). When these pushbuttons are released the motors stop.
Another pushbutton (S5) control the electromagnet state. This pushbutton is used as a toggle switch between the energised and de-energised states. The LED shows the state of the limit/proximity switches and the inductive sensor (Test head sensor). These LEDs will be on when the corresponding switch/sensor is active. LED1-3 will display the current number of the limit switch LSx that is active. When pushbuttons S1 to S4 are pressed, the current of the active motor is displayed in 4-digit seven segment displays. The minimum resolution required is 0.1A.
5. By programming the Arduino, implement a simulated control program for the sorter unit. The initial conditions of the sorter-unit are the following:
o The Z-stage is located in an X position between LS1 and LS2.
o The total number of parts in the mixed parts stack are 6 parts. The mixed parts stack capacity is 8. The type of these 6 parts is randomly allocated.
Figure 5 shows how the TM1638 breakout board is used as the user interface for this simulator. The simulator should control the motors aiming to sort the parts out located in the mixed parts container. The motors are driven so one part is picked up and then is tested by placing it on top of the test head. Once the part is identified, the controller sorts the parts out by placing them into the right stack. All the sequence is controlled by the start/stop pushbutton. The status of the limit/proximity switches, motors and electromagnet is displayed in the LEDs. The elapsed time between simulation steps could be between 2 to 5s.