Motor Hawk   
       

 

    USB 2.0 Controller for a Bi-Polar Stepper motor OR Two DC Motors

   With the Motor Hawk it is possible to control either a 4-phase Bi-Polar stepper motor or two DC motors in both speed and direction. There are also 8 digital inputs and 5 digital outputs available for general use, with 4 of those inputs configurable as automatic limit switch inputs for motion control applications.



   

Stepper Motor Control
   
The Motor Hawk has outputs capable of “driving” one bi-polar (or hybrid) stepper motor. Stepper motors are one of the most useful devices in the world of control, automation and robotics. They form the most convenient and versatile bridge between a set of motion rules in a controller (computer) and the motion itself. They can be made to move slowly, quickly, in reverse, pause, complete revolutions, partial revolutions and even individual steps of less than a degree of rotation. With this flexibility of movement coupled with an abundance of torque for relatively little power applied, the stepper motor finds many suitable applications.
The downside to stepper motors is that they are not as simple to “drive” (electrically speaking) as simple DC motors, which just need the required volts and amps to do their bit. Stepper motors need a precise sequence of pulses delivered to the correct winding at the correct time in order to perform their required task. It would be nice if all you had to do was specify the number of steps to take , in what direction and at what speed and the stepper motor obliged. This is the function of the Motor Hawk.
From the PC, these requirements can be specified and “sent” to the Motor Hawk via USB, and the Motor Hawk on board microcontroller then generates the precise sequence of pulses on the appropriate winding to move the stepper motor accordingly

 DC Motor Control
  The Motor Hawk has the option of either driving a stepper motor or , up to two DC motors. This option is selectable in software (see software section). The DC Motors can be any simple DC motor with voltage and current requirements within the specifications of the Motor Hawk (i.e. less than 36v and less than 2A each). The motors which can be driven in both directions are connected as shown above.
   The Motor Hawk has four outputs for driving two motors independently. The output terminals are labelled as OP1 and OP2 for motor 1 and OP3 and OP4 for motor 2.  When Motor 1 is set to drive in the forward direction terminal ‘OP1’ is positive with respect to ‘OP2’ and vice-versa when set to go in reverse.(similarly for OP3/OP4 and Motor 2). As well as direction control the motor outputs control the speed of the attached motor by using PWM (pulse width modulation) to deliver a variable power based on the external motor supply. i.e. the voltage it produces is always exactly equal to the voltage applied to the motor supply terminals (VM+ and GND) but it is constantly turned on and off at a high rate. The power transferred to the motor (and hence the resulting speed) is varied by changing the amount of time the output spends ‘ON’. i.e. if the output is only on for 5ms out of every 100ms then the resulting speed would be about 5% of full speed. If it is on for 50ms out of every 100ms then you would have approx half full speed.
    The speed can be varied over the full range from less than 1% to more than 99% in 255 pre-defined steps. This gives very fine control over the speed of the motor. Remember that it is the power being delivered to the motor which is being varied which in turn causes a speed change. If the motor is turning a heavy load then the speed will be proportionally less for the same power output. Each motor output is capable of delivering up to 2A to the connected motor. The Multi-pin driver chip on the Motor Hawk board will tend to be warm when driving significant currents into one or both motors. This is perfectly normal. Most applications will not require the use of maximum power in both motors for long periods. However, if your particular application is intended to run close to maximum limits you may prefer to fit the optional heatsink (part no. ACC001) to the driver chip to reduce its temperature. This is available in the accessories section of the Control Shop
 

 Digital Inputs
   There are 6 digital inputs on a Motor Hawk provided on a standard 10 way header connector.These inputs have characteristics compatible with standard 5v logic devices. i.e. when the input is at +5v it will be read as a logic ‘1’ or “High”. When the input is at 0v or GND it will be read as logic ‘0’ or “Low. If you are using an input to monitor a switch, the correct way to connect it is to have the input "pulled up" to +5v via a resistor (eg 4K7) and use the switch to connect it to GND when applied. For convenience a 5v supply is provided for this purpose on PL4 pin 1. The diagram below shows all six inputs connected to show the status of 6 external switches.

    Although all six are available for general use as inputs, four of them can be configured (in software) for an automatic function in the control of the motors. They are designed to act as range limits. A range limit is a mechanism to prevent a moving object moving beyond its safe operating range. For example, the motor you are controlling may be moving a drill on an X/Y drilling table along the X axis. At some point it will reach the end of its available travel and, without limits, presumably hit an end stop. If the motor continues to operate in this condition it will probably overheat and may even have enough power to damage the mechanism it is moving. To prevent this, a limit switch may be fitted near the end of travel in such a way that it is closed when reached by the moving part. The closure of this switch is used to switch off the motor automatically. However, it would be impractical to just leave the motor “dead” against the end stop with no possibility of reversing it back into the working range, so the automatic stop only stops the forward motion. When the signal is, at some point, changed to reverse, the motor is then allowed to reverse back from the end stop. Similarly at the other end of travel, the reverse will be inhibited automatically when the other limit switch is reached but forward motion would then be allowed. This is the function of the inputs on PL4 pins 2,4,6 and 8.
     When being used for control of two DC Motors the following applies: When 2 is connected to ground it inhibits forward motion of the Motor 1 immediately and automatically without any intervention by the controlling program. Reverse would still be allowed. Similarly Pin 4 inhibits reverse motion but allows forward when connected to ground. Pins 6 and 8 are the corresponding limits for motor 2 (6 for forward and 8 for reverse). This makes the fitting of range limit switches very easy for both motors. When the Motor Hawk is being used for stepper motor control only inputs 1 and 2 (pins 2 and 4) can be used in this way. Since the limit switch inputs can be read like any other input it can be determined whether or not the moving device has operated any of the limit switches from within the control program allowing suitable additional remedial action to be taken, if required.
    It is not necessary to use these inputs as range limits if not required. This facility can be enabled or disabled within the software.

 Digital Outputs
   There are 8 digital outputs on a Motor Hawk provided on PL3. Like PL4 this is also a standard 10 way header connector suitable for use with standard 10 way ribbon cable type plugs. Each output provides either +5v or 0v under program control. These can be used for a wide variety of tasks but it should be remembered that the current capability of each output is limited to no more than 25mA.

Software and Programming
  The Hawkeye software supplied with the board provides a PC based application allowing full control of all facilities on the Motor Hawk including the speed and direction of all motors.

    This, in itself, provides a very useful control facility which can be applied to a wide range of projects. However, the real power of the board becomes available when it provides those facilities to the programmer writing his own control software using the supplied DLL function library.  This DLL allows user programs written in a wide range of languages (eg C, C++ and Visual Basic), to have easy access to it's facilities. This gives the programmer simple to use functions like

      Sys_Initialise( )      

      Motor_RunSteps(BoardNumber, number of steps etc... )

      Motor_SetDCMotors(BoardNumber, motor settings etc...)


    rather than having to address the tricky USB comms protocols. Multiple hawk boards of any type on the same PC are automatically accommodated and made available by a simple board number allocation.
    More information on programming in Visual Basic and also in C++ is available within the manual, which may be downloaded below.

 
 

 
   

 (Note: This is not a "kit of parts" , it is fully assembled and tested)

   
           
   

Compatible with Windows 2000,  XP, Vista and  Windows 7

   
           
   

   To download a copy of the user manual for Motor Hawk right click on the link on the right and choose "save target as". This will allow you to download a PDF copy of the manual . 


Click here to download manual

   
                   
   

  You will need Adobe Reader installed on your PC to read this document. Adobe reader is available for free download from Adobe using the link to the right..

   
                   
       

         
                   
                     
 

.      .

 
 

© Copyright pc-control.co.uk 2008