Home Contact us Terms & conditions Shopping cart


Linux SoM


DAISY-2 - Stepper motor driver board

2.5 Ampere bipolar stepper motor driver board based on a Texas DRV8811 chip

DAISY-2 module gives all the functions provided by the Texas chip adding a low-power feature which allows to keep the stepper motor in torque with a low current consumption configurable by dip-switches.

Main features

  • Pulse Width Modulation (PWM) microstepping motor driver
  • Operating supply voltage range: 8 to 38 Volt
  • Current per winding: up to 2.5 A
  • Operating temperature tange: -40 to 85 °C
  • Up to 4 step modes (full step,half step,quarter step, eigth microsteps/step) selectable by dip-switch
  • Adjustable current (8 levels) in normal and low-power mode by dip-switch
  • Low-power mode selectable via GPIO line

Internal shutdown functions are provided for over current protection, short circuit protection, under-voltage lockout and overtemperature

Control GPIO lines required:

Up to 4 GPIO lines are used by the DAISY-2 module from daisy connector:

Wirings

These are the usable connectors where to plug this board using the factory default Linux Kernel image:

Terra FOXG20
D11 D1
D12 D6
D8

On the FOX Board G20 is requested a Daisy-1 adapter to wire this boards.

Pin map

J2 pin-out

J2 pin IC pins Function description
8 AOUT1 Bridge A output 1
7 BOUT1 Bridge B output 1
6 AOUT2 Bridge A output 2
5 BOUT2 Bridge B output 2
2,4 VMA/VMB Bridge A and B power supply GND
1,3 GND Bridge A and B power supply GND

S1 dip-switch description

The S1 dip-switch selects which GPIO incoming lines link to the following DAISY-2 control signals:

Signal name Signal description
ENABLE Logic high disables the H-Bridges, logic low enables them
DIR Sets the direction of stepping
STEP Rising edge causes to move one step
LOW POWER Logic high level enables the low power mode

Only four GPIO lines incoming from the CPU are used by the DAISY-2 module to control the stepper motor.

Configuring the S1 dip-switch it is possible to select whether to use odd or even wires available on the Daisy connector. We simply call this configurations A and B.

Configurations A and B are useful if you need to place two DAISY-7 modules on a same flat cable. Setting A on the first board and B on the second one it is possible to control up to four DAISY-2 modules using just D2 and D5 daisy connector.

1 2 3 4 5 6 7 8
Configuration A ON ON ON ON
Configuration B ON ON ON ON

Please be careful to use only these two dip-switch configuration to avoid shortcuts between GPIO lines.

Following are the kernel GPIO IDs used when the DAISY-2 module is plugged on D2 or D5 daisy connectors on a DAISY-1 interface.


S1 dip # Signal Daisy pin Kernel ID on D2 Kernel ID on D5
1 Low-power 8 57 84
2 Low-power 9 94 85
3 Dir 4 61 80
4 Dir 5 60 81
5 Step 6 59 82
6 Step 7 58 83
7 Enable 2 63 76
8 Enable 3 62 84

S2 dip-switch description

The S2 dip-switch allow you to choice the micro-stepping value and motor current for both normal and low-power mode.

Lowpower operation is a feature that can be enable via software and is useful to maintain the to motor axis in torsion without overheat the internal coils.

USM0 and USM1 dip switch selected micro stepping mode. Refer to page # 12 on Texas DRV8811 datasheet for in-deep info.

DIP 1 (USM0) DIP 2 (USM1) Step mode
ON ON Full step (2-phase excitation)
ON 1/2 step (1-2 phase excitation)
ON 1/4 step (W1-2 phase excitation)
Eight microsteps/steps

The other dip-switches can be used to set-up the motor current and the low power condition.

DIP 3 DIP 4 DIP 5 DIP 6 DIP 7 DIP 8 Ih (A)(1) Il (A)(2) Low power
2,2 Disabled
ON 1,5 Disabled
ON 1 Disabled
ON ON 0,8 Disabled
ON 2,2 0,9 Enabled
ON ON ON 1,5 0,7 Enabled
ON ON ON 0,8 0,5 Enabled
ON ON 2,2 0,2 Enabled
ON ON ON 1,5 0,2 Enabled
ON ON ON ON ON ON 0,5 0,1 Enabled

If DIP 6,7 and 8 are all OFF the low power function is disable by hardware.


(1) normal current, calculated value
(2) low current, calculated value

Examples in Python

The following examples use: the soft_pwm kernel driver module written by Antonio Galea. Follow this article: A kernel module for generating bit banging PWM signals to install it on your acme board.

They use also the ablib Python module available in the playground examples collection.

Example #1 - Move one stepper motor

Basic example which move the stepper motor 360° in clockwise direction then 360° in anti-clockwise direction.

Hardware set-up

Plug the DAISY-2 module on D5 connector on DAISY-1 module then set up the S1 dip-switches in configuration A

1 2 3 4 5 6 7 8
Configuration A ON ON ON ON

Set all the S2 dip-switches in state ON to set-up the full-step mode (usually 200 step for 360 degree) using a minimal current.

Wire your steper motor as explained below in the Stepper motor wirings section the run the Python example by typing:

debarm:~/playground/python/daisy2# python run.py                                

Example #2 - Move two stepper motors

Simple example which move two stepper motors 360° in clockwise direction then 360° in anti-clockwise direction.

Hardware set-up

Plug one DAISY-2 module on D2 connector on DAISY-1 module then set up the S1 dip-switches in configuration A

1 2 3 4 5 6 7 8
Configuration A ON ON ON ON

Plug another DAISY-2 module on D5 connector on DAISY-1 module then set up the S1 dip-switches in configuration B

1 2 3 4 5 6 7 8
Configuration B ON ON ON ON

Set all the S2 dip-switches in state ON to set-up the full-step mode (usually 200 step for 360 degree) using a minimal current.

Wire your steper motor as explained below in the Stepper motor wirings section the run the Python example by typing:

debarm:~/playground/python/daisy2# python run2.py                                

Example #3 - Move 8 stepper motors

Demo to show you how to manage the max number of stepper motor with one FOX Board G20.

To use this example you have to disable some interface on Linux Kernel:

Here is the modified board-foxg20.c source.

Hardware set-up

Plug 8 DAISY-2 modules in this way:

Daisy connector Daisy-2 configuration
D2 A
D2 B
D3 A
D3 B
D5 A
D5 B
D6 A
D7 A

Run the Python example by typing:

debarm:~/playground/python/daisy2# python run8.py                                

Stepper motor wirings

We tested the examples on this article with the following stepper motors:

Mercury NEMA-17 stepper motor SM-42BYG011-25

Wirings map:

J2 pins on DAISY-2 Mercury wire colors Function description
1 GND power supply
2 VCC (12 volt) power supply
5 BLUE Bridge B output 2
6 GREEN Bridge A output 2
7 YELLOW Bridge B output 1
8 RED Bridge A output 1

Wantai NMEA-23 stepper motor 57BYG621

Wirings map:

J2 pins on DAISY-2 Wantai wire colors Function description
1 GND power supply
2 VCC (12 volt) power supply
5 BLUE Bridge B output 2
6 GREEN Bridge A output 2
7 RED Bridge B output 1
8 BLACK Bridge A output 1

Related links


DAISY-2 : Stepper motor controller EURO 35.00

DAISY-2 is a bipolar stepper motor driver board (2.5A) based on Texas DRV8811 chip.

Note: the daisy flat cable to wire this board is not included. Don't forget to buy it (code FC-19818-FF)

EOL product. Last few pcs available. This product will be replaced very soon with a newer version. E-mail us for more info

| Product description | Daisy catalog |


FLAT-20CM : 20cm flat cable with sockets for Daisy wiring EURO 3.00

20 cm ribbon cable with 10 wires compatible with the Acme Daisy Cabling System.

At least one of these cables is required to connect each Daisy module.

if you need different lengths please consider making your own the cable using the IDC socket JJ-02291-10P-F and the flat cable FC-3754-1M.




Acme Systems srl
Via Aldo Moro 53 - 00055 Ladispoli (RM) - Italy
P.IVA/C.F. 08114831004
Tel +39.06.99.12.187 - Fax +39.06.622.765.31
http://www.acmesystems.it -
Iscritta al Registro delle Imprese di Roma al n. 08114831004


Atmel© Certified Partner

Documentation Terms of Use
Acme Systems provides this documentation "as is" without warranty or guarantees of any kind. The mantainer of this site (Sergio Tanzilli), has gone to a great deal of effort into making this documentation as correct as possible. Acme Systems doesn't provide any direct support for the Open Source preinstalled software but provides, through these pages and forum posts, all the information required to obtain the sources, install, use and update the Open Source softwares runnable on the FOX Board, NetusG20, AriaG25 and Terra platforms. Please note that all the preinstalled softwares, used on the Acme Systems products, are Open Source and you will have to check the license terms provided (usually the GPL) by each author before using it in any commercial or non-commercial product, by yourself. Before sending emails or calling the Acme staff here are our contacts please note that WE ARE MAINLY HARDWARE DESIGNERS and NOT LINUX GURUS so could be better to post your questions directly to the forum listed below to be sure that all the contributors of this site and the large software developers community will read and reply to your questions.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Creative Commons License