110 likes | 300 Views
Motor Control. For the Sieg Defense Platform by Michael Dougherty Gary Look Gene Ma Reviewed by Ngochan Nguyen, Duy Le, Valdis Riekstins. Description.
E N D
Motor Control For the Sieg Defense Platform by Michael Dougherty Gary Look Gene Ma Reviewed by Ngochan Nguyen, Duy Le, Valdis Riekstins
Description • Once given a new x-value for the x-coordinate motor, this control is responsible for providing the stepper motor driver chip with the needed signals to move the stepper motor to this position. • There is another control corresponding to the motor for the y-coordinate. • There is a slight difference in scaling between the x and y controls.
Stepper Motor Driver Chip • The stepper motors require 0.5 mA to be driven, which the XESS board cannot provide. • This chip receives signals from the motor control module, so that it can drive the motor. • The chip drives the motor at 5 V.
Stepper Motor Driver Chip Inputs • CLK (pin 7) -Generated by the motor control module • CW/CCW (pin 10) - When low, the stepper motor is driven clockwise (right), and when high, the motor is driven counter-clockwise (left)
FPGA Signals Inputs • TOUCHX[8:0] - x-coordinate to move the motor to • RST - reset the x-coordinate motor to 256 (the x-coordinate range is 0 to 512) • CLK - clock signal from the FPGA Outputs • MotorX[15:0] - current x-coordinate of the motor • MotorCon[1:0] - outputs to the Stepper Motor Chip (MotorCon[1] is CW/CCW, MotorCon[0] is CLK
How It Works • The motor control keeps track of the current coordinates and also outputs them, so that a crosshair can be displayed on the screen. • If the input x-coordinate is less than the current one, the motor control tells the driver chip to move the motor counter-clockwise (left), and for greater than, it tells it to move the motor clockwise (right). • There is a mapping between the number of pixels between 2 points on the screen, and the amount of stepper motor movement for the corresponding distance.
Scaling Factor • It takes 200 steps to move the motor 360 degrees • For example, if there are 5 feet between 2 points, and it takes 90 degrees of movement to go between them
Since it takes a lot of time (in terms of clock cycles) for the stepper motor to physically move, a one million clock cycle delay (0.042 s) is introduced before the motor is told to move again. • MotorCon[0] is connected to the CLK pin of the driver chip. Every time the chip sees a positive edge, it moves the motor half a step in the direction given by MotorCon[1].
Good Points • The motor control will still work correctly when another coordinate is given before the motor has reached the previous one • The delay between stepper motor signals ensures the motor has enough time to reach the correct coordinate
May Need Work • The scaling factor may need to be adjusted for certain points in the screen/motor range • Try to shorten the delay between motor signals as much as possible