Kart/stepper motor controller

(Difference between revisions)
Jump to: navigation, search
(FPGA design)
Line 6: Line 6:
  
 
== Stepper motor ==
 
== Stepper motor ==
 +
 +
=== Hardware ===
  
 
The stepper motor is a [http://en.nanotec.com/ Nanotec] [[Media:SP3575M0906-A.pdf|SP3575M0906-A]].
 
The stepper motor is a [http://en.nanotec.com/ Nanotec] [[Media:SP3575M0906-A.pdf|SP3575M0906-A]].
  
 
It has a step angle of 7.5°, and as such 48 steps per turn.
 
It has a step angle of 7.5°, and as such 48 steps per turn.
 +
 +
=== Connector ===
  
 
The cables are connected as follows:
 
The cables are connected as follows:

Revision as of 14:49, 9 June 2015

Contents

The kart's stepper motor controller FPGA generates 4 coil driving signals and receives a stepper end input.

stepper motor board

Stepper motor

Hardware

The stepper motor is a Nanotec SP3575M0906-A.

It has a step angle of 7.5°, and as such 48 steps per turn.

Connector

The cables are connected as follows:

Signal Color
phase 1 white
phase 2 blue
phase 3 red
phase 4 yellow
power brown, black

FPGA design

The stepper motor controller has to generate the 4 phases to turn the kart's steering wheels to the desired angle.

To begin with, the design environment has to be downloaded. It comprises the stepperMotorController block contains the provided I2C bus interface and an empty angleControl block which is to be designed.

Functionality

The block receives a target unsigned number and has to step the coils at each occurrence of the enStep signal until the desired angle is reached. The current in the coils is given by the 4 outputs coil1 to coil4. The steering angle, actual, is estimated with the help of a counter which increments or decrements each time when when the coil control signals change.

The block provides the estimated angle, actual, together with a logic signal, reached, telling if the desired angle has been reached.

Zero position

A switch contact, providing the signal stepperEnd, has to be mechanically fitted on the kart in order set one end of the wheels' direction movement. As soon as stepperEnd is activated, the stepper motor is stopped and the actual angle is reset.

With this, the steering motor will not try to turn further than what the kart's mechanical structure allows it to in one of the directions. In the other direction, it is the programmer's task not to request a too large target angle. This also means that the angles are always considered as positive numbers, the zero position being given by the stepperEnd switch.


View-pim-tasks.png

Draw the schematics of the angleControl block.

Dialog-warning.png

  • In order to limit the current consumption, turn off the current in all the coils when the stepper motor is not turning any more.
  • Make sure that both the first and the last pulse of the coil control signals have the same duration as all the others.

Hardware orientation

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox