Stepper motors, brushless dc motors, permanent-magnet synchronous motors and other motor types require careful attention to control and driver electronics. To help engineers get a solid start on a design, some suppliers offer evaluation or development kits that include a test motor, a controller, a driver and software. To see what manufacturers offer, Design News tested three motor kits and examined a demonstration of two small piezoelectric motors.
All three kits and the demonstration worked well and delivered on their promise to help designers get a solid start on an engineering project. The All Motion kit provides a ready-to-use board that can easily drop into a product whereas the STMicroelectronics package includes a complete microcontroller development board, a separate driver board and a JTAG programmer module. The Atmel starter kit falls in the middle: It provided an all-in-one controller/driver developers can use as a MCU-based reference design. The piezoelectric motors from New Scale Technologies will help designers who must put a motor in a very small space. Overall, I liked these kits and found only a few minor things to criticize.
We welcome comments from readers who have used these or similar kits to evaluate a motor and controller/driver circuits for a project. Send your comments to jontitus@comcast.net.
The kit worked well and I recommend it highly as a way to develop a stepper-motor actuator without designing your own driver and controller. The use of alphanumeric commands simplifies programming and the instructions and reference materials make the kit easy to use and understand. If you need a stepper motor and don’t want to become a controller/driver electronics whiz, this kit gives you an excellent head start. And because the controller/driver board lets you set one of 16 addresses, you can use many motors on a multi-drop RS-485 network and control each individually.
Before I started to wire up the motor and controller, I visited the company’s website to download and print the schematic wiring diagram and the EZ Stepper command-set documentation. The kit comes with a quick-start guide that goes through eight easy steps that cover wiring the RS-485 converter to an external power supply and show how to connect the converter to the control/driver board. Applying power at this point let me test the connections. Instructions state a small LED will blink, but I found the LED dim and because it has a period of about 20 sec, at first I didn’t see it blink. The first time the LED turned off, I thought the board had died. But then the LED turned on again, so all was well. (You will need a dc power source to use this kit. I used an Extech Model 382203 power supply).
The next step involved connecting the stepper motor to the controller/driver board and prewired connectors make it easy to mate the two. The instructions say that after powering the assembly, the motor will execute a factory-stored command. I expected the motor to do something visible, but it rotated the shaft slightly. The instructions should indicate what the factory- stored command will do to keep users from guessing or thinking their setup does not work.
I assumed the motor worked and proceeded to connect the RS-485 converter to my lab PC’s serial port. (My kit included a USB-to-RS-485 adapter, too, but I did not use it.) Instructions explain how to set up Windows’ HyperTerminal to communicate commands to the controller/driver. (Hint: in Windows XP, follow All Programs --> Accessories --> Communications to locate HyperTerminal). The setup took only a few minutes, after which I typed in a simply command string shown in the instructions, which caused the motor to respond and rotate.
Depending on the driver/controller model, users can store from four to 16 command strings, or programs, in EPROM. Program 0 runs upon power up. The commands lets programs run nested loops and set time delays and programs can wait for a switch condition or can skip an instruction based on a switch condition. Users can preset stepper-motor characteristics such as step resolution, velocity and acceleration.
Commands also read information from external switch closures and from on-board devices such as ADCs. The controller board also provides two 1-A drivers for dc devices such as indicators, solenoids and relays. A host computer can query the controller/driver board for a status report and other information.
ATAVRMC100 Development Kit for AT90PWM3
and BLDC Motor ($212, Avnet) Atmel Corp.
|
The demo-board package includes:
• Motor-controller and MCU development board
• Tecmotion brushless dc motor (12V)
• CD-ROMs
• Getting Started guide
|
You don’t get a lot of frills with this development board, which supplies an AT90PWM3 MCU and basic motor drivers. But the kit does its job and offers an excellent place to start a design that incorporates a brushless dc motor. Atmel provides sample code, a PC-based test program and solid documentation. If you plan to explore the capabilities of this board and the manufacturer’s software libraries, I recommend you also purchase the STK500 Flash Microcontroller Starter Kit, which lets you control the motor from a PC or download programs to the MCU.
This Atmel development kit comes ready to use, although engineers must provide a 12-16V dc power supply that can deliver at least 4A. I used an open-frame 12V supply. In one place the instructions mention a 9-16V dc supply, but the motor label specifies 12V, so follow the 12-16V spec.
I examined the contents of the “Motor Control Products” CD-ROM and printed the 36-page “Hardware User Guide” for the ATAVRMC100. I used this longer document rather than the brief “Getting Started” information when I set up the hardware.
I found it easy to connect the motor and Hall-effect sensor wires to the board, which provides half-bridge driver circuits and an AT90PWM3 motor-control MCU. Total setup took about 15 min. Powering the controller-driver board caused the motor to run. A dim-green LED indicates the power-on condition for the board and a second green LED indicates motor operation. Both LEDs should light. Atmel says the board provides no reverse-polarity protection, so double check power connections. (Note: The MOSFETs and a current-sense resistor can get warm).
As it comes from Atmel, the development board drives the motor at high speed. You can use an external 10K-O potentiometer and a 10K-O resistor to adjust the speed. The potentiometer adjusts the motor from stop to full speed. But, the Hardware User Guide does not mention this circuit. You will find the necessary information on page 20 in the application note, “Brushless DC Motor Control Using AT90PWM3/3B,” (AVR492) on the CD-ROM. The schematic diagram on this page inverts the J4 connector shown in the accompanying photo, so if you implement this resistor circuit, pay attention to the pin 1 designation on the board and the pin 1 shown in the diagram.
From time to time I had difficulty getting the motor to start after I applied power. Atmel’s troubleshooting information recommends limiting inrush current, which can otherwise “trip” the AT90PWM3 and turn off power. A FAQ section of the Atmel support website recommends setting the motor power-supply current to >1A and &4A. So, crank down the current output on your supply and the motor should start every time. It worked for me. (Follow FAQ-->AVR-->ASSP. Registration required).
The board supplies connectors that give developers access to several AT90PWM3 MCU I/O ports as well as test signals. To control or program the MCU, you will need an optional programmer board or pod. Atmel offers an ATAVRISP2-ND USB-based programming pod ($34, DigiKey) or developers can program the MCU through the Atmel STK500 Flash Microcontroller Starter Kit ($79, DigiKey) mentioned earlier. You can find schematic diagrams for do-it-yourself programmers on the Internet, too.
Atmel sent me an STK500 kit and instructions on how to download “Motor Control Center” (MCC) software for use on a PC. This program controls the motor through a PC serial port that connects to the STK500 board. Detailed instructions show how to make a 3-wire serial connection between the STK500 board and the ATAVRMC100 board with supplied jumpers. The software let me control the motor speed and it reported motor speed, current drawn and motor direction. I could not use the Direction Setting or Revolution Setting controls, probably because I received an early version of the program.
According to the C-code listing in the Hardware User Guide, Atmel’s preloaded program in the MCU will respond to ASCII commands received through the MCU’s serial port. The command fw, for example, sets the controller for the forward direction. As you read this, Atmel’s documentation for the MCC program should list the commands you can type in after you stop the motor. When you restart the motor, the controller executed the commands. Commands also let you access controller-board status. For late information on the MCC software and commands, check Design News'Electronics/Test Forum.
The Hardware User Guide includes complete schematic diagrams and a bill of materials for the development board, so engineers can use the circuitry as a starting point for their own designs. The “Motor Control Products CD-ROM” includes useful tutorial information and application notes. All in all, Atmel offers a nice kit that I enjoyed experimenting with.
STR750-MCKit Motor ControlStarter Kit ($895) STMicroelectronics
|
The demo-board package includes:
•Motor control evaluation board (MB459B)
•STR750 evaluation board (STR750-EVAL), with ARM7 MCU
• Motor-control evaluation board
• Segger J-Link USB/JTAG in-circuit debugger/ programmer pod
• Optically isolated JTAG connection board
• Shinano 24V dc 3-phase permanent-magnet synchronous motor
• USB cable
• CD-ROM
|
If you plan to use a permanent-magnet synchronous motor (PMSM) in a design, this kit deserves your attention. The hardware and software work well and they provide two ways to test motors under a variety of conditions. The supplied software can ease development of code and the useful technical manuals make this kit a standout.
This motor-control kit comes preassembled on a sturdy metal frame (10 x 14 inch, 25 x 35 cm), which holds the boards in place and makes it easy to connect them. A large chart shows cable connections and jumper settings for either the supplied PMSM or an optional ac induction motor, available separately. (Instructions cover both motor types). I used the chart to quickly check on-board jumpers and board-to-board connections. My Extech 382203 power supply provided 24V at 3A to the motor-control board. This board relies on the motor’s built-in incremental position encoder as a feedback device. The motor also includes Hall-effect sensors you can access through a connector.
The CD-ROM provides a helpful table of contents that made it easy to locate documents and files. To start, I printed the 39-page “User Manual” (UM0379) that describes setup and operation of the kit. The clear instructions were easy to follow and I had the boards ready to go in about 15 min.
The kit operates either through a PC-based graphical user interface (GUI) or in a standalone mode that uses controls and a small LCD on the STR750 evaluation board. The kit comes preset for standalone operation. After I applied power to the motor controller and STR750 evaluation boards, the LCD displayed a “welcome” message and I could choose open-loop or closed-loop motor control. A small finger-operated joystick provided a way to set and move among parameter values. To start, I used the factory-installed settings. Then, I experimented with different control parameters and easily controlled the PMSM motor.
In open-loop mode, I could set the torque (Iq) and flux (Id) separately and the display would show the motor’s RPM value. In closed-loop mode, you can set an RPM value and the PID-loop coefficients. Unfortunately, the manual does not explain the interaction of these coefficients, although the STMicroelectronics engineers may have assumed users will understand motor-control PID loops to begin with.
After running the standalone operations, I turned off power and loaded, from the CD-ROM, the PC-based GUI software that would control the motor through the J-Link JTAG pod. This pod connected my lab PC to the STR750 evaluation board through an optically isolated JTAG port. The optical isolation protects a PC from any possible electrical problems on the kit’s boards. I experienced no problems and appreciated this added safety feature.
The user manual’s instructions miss a few intermediate steps. In two cases, installation of the GUI software stopped to warn me some software has not yet passed Windows Logo testing. I just proceeded with the installation. Instructions also ask users to select “typical” when given a choice between a custom or a typical installation. I saw no choice and assumed the installation software defaulted to typical.
The GUI lets users run the motor in either closed- or open-loop mode and a “Writing Parameters” section of the GUI lets users set control values and download them to the STR750 evaluation board to operate the motor. The software worked well. I found the GUI easy to set up and use. To do serious testing, I recommend you use the PC-based software rather than run the kit in the standalone mode that uses the small LCD and joystick.
After you use the GUI software, you must reprogram the kit with the standalone code if you want to use it again in this mode. Clear instructions explain the programming steps, which take just a few mouse clicks. After I experimented with the GUI, I reloaded the standalone code into the STR750 evaluation board without difficulty.
If you choose to write C-language programs to control the motor via the provided boards, instructions explain how to download the IAR Embedded Workbench tools. These tools let you compile as many as 32 Kbytes of code for the STR750 ARM7 MCU on the evaluation board. Also, you will need a copy of the manual “Sensored PMSM field-oriented control software library V1.0,” (UM0312), available on the CD-ROM. The manual’s information covers the C programs and libraries available from the ST website.
The CD-ROM includes source code for PMSM and ac induction-motor applications and you can open the source files with the IAR tools. Unfortunately, the CD-ROM lacks a “table of contents” for the various C files that explains what they do and when or why you might use them. Experienced motor-control designers might find this information superfluous, but engineers just starting to learn about motor-control circuits and software — just the people the kit aims to help — would find this type of information useful. The program listings do provide some details, though.
I recommend you also review the “STR750 User Manual” (UM0268), the “STR75x Standard Library User Manual” (UM0218) and the “STR750 ARM7TDMI-S-based Microcontroller Family” reference (UM0191), all provided on the CD-ROM. ST also recommends engineers obtain the “STR7 Flash Programming Manual,” but searches of the CD-ROM and the ST website came up empty.