Editor Review
Ease of Set-Up:
Documentation Completeness and Clarity:
Hardware Completeness and Quality:
Sample Projects/Tutorials:
Meets Expectations:
Overall rating:
Time to Complete
About three hours, which includes loading code and documents from the CD-ROM.
Prerequisite Skills
If you want to use the kit to develop application code, you should know how to program in C and understand the architecture of the Renesas R8C25 or R8C24 microcontroller family. Familiarity with brushless DC (BLDC) motor-drive techniques will help in algorithm development.
What We Liked
A complete package. Easy to set up and run demonstrations that worked the first time. Helpful Quick-Start Guide and separate User's Manual. Excellent Manual Navigator makes it easy to find documents. Nice code-development tools
What we Didn't Like
Lack of overarching explanations of how Hall-effect sensor and back-EMF techniques actually drive the BLDC motor. The lack of explanations and flow charts for these techniques makes it difficult to take application code and understand how it would work in an application. How does the software work and how could I use it? Users should get stripped-down code without LED-flash and LCD code. Keep it simple and it becomes a better tutorial.
Full Review
Renesas has put together a helpful kit for engineers who plan to evaluate or use a BLDC motor. The kit runs two sample programs: First, a pre-installed motor-control routine that uses Hall-effect sensors within the motor to detect magnetic fields. The board runs this routine in a stand-alone mode that lets developers operate an on-board potentiometer to adjust speed and pushbuttons to change rotation direction or stop the motor. Second, application code measures the back electromotive force (BEMF) in the motor windings to determine rotor position and properly commutate--or switch--the coils to continue moving the motor. The kit was easy to set up and both routines ran properly and demonstrated how to control a BLDC motor.
The second routine requires that developers use the Renesas High-performance Embedded Workshop (HEW) tools to compile the back-EMF code and download it to the processor's flash memory. Then a Windows-based application controls motor speed and direction, reports on error conditions, and monitors motor and controller characteristics.
The motor kit comes with a controller board, BLDC motor with built-in Hall-effect sensors, a power supply, a Renesas E8a debugger module, a CD-ROM of tools and documents, and cables needed for board/motor/PC connections. Firmware in the board's Renesas R8C25-family microcontroller (MCU) obtains information from the Hall-effect sensors or back-EMF circuits and controls the bidirectional switches that drive motor windings. The board uses an International Rectifier IRAMS10UP60A integrated power-drive module--an interesting device on its own--that contains the bidirectional switches and driver-control circuits. The processor on the board I used carries the label R5F21248SN, which means it belongs to the R8C24 family. This MCU lacks two 1-kbyte blocks for data flash memory, but none of the motor-control programs use this memory, so the R8C25 and R8C24 MCUs are essentially equivalent here.
The printed Quick-Start Quide explains how to load software, connect the board to the motor and power supply, check jumpers, and run the Hall-effect sensor routine. I recommend developers also print the "R8C/Tiny BLDC Motor Control Evaluation Kit" User's Manual. You can use the Manual Navigator to find this 21-page document under the "YMCRPR8C25 Product Documentation" heading. I found this navigation most helpful when I needed to locate the schematic diagram for the board and application notes for the Hall-effect-sensor and back-EMF applications.
To get started, I connected the power supply to the board and plugged it into line power. (Reminder: Ensure you have the output setting switched to the 24-V position.) A small LCD on the board displays "splash" information and then displays the RPM value I set (C) via a potentiometer (about 500 to 3500 RPM) and the motor's actual speed (M). This control worked well. At a low speed, I decided to grab the shaft and stall the motor to see how the kit would respond. The motor stopped and the LCD showed "M: O.C." for the motor's speed. Later I learned O.C. stood for "overcurrent." During the demonstrations, four LEDs on the eval board flash in sequence in proportion to the motor's speed.
On to the back-EMF control demo... The detailed instructions explain how to use the HEW tools to compile code for the back-EMF demonstration and then load it into the MCU's flash memory. This step requires using the E8a debugger module and a serial connection with the host PC. Many newer PCs lack a serial port, but I use an older Dell PC for lab experiments and it has a serial port available.
The Windows-based "LEM" software presents several tabs so developers can choose either a Meter, Scope, System Settings, About Lem, or Documentation display. The Meter display lets developers use a mouse to select rotation speed and direction. Text windows on the screen report actual RPMs, motor current, voltage, and temperature. Fault indicators turn from green to red for low speed, stall, Hall error, over current, over temp, under voltage, and over revolutions. (Temperature measurements are taken from a sensor in the on-board motor-drive module and not from the motor itself.)
The Scope window, for example, lets developers display several types of motor information in two oscilloscope-like y-t windows. I liked this display because it provides operational information that engineers can use to see what's going on in the motor and controller. It's a nice tool to have at hand in addition to the usual lab instruments.
The Lem program relies on the serial port to communicate with the eval-kit board. While the board ran the back-EMF routine I disconnected the serial cable and the routine continued to run with the last speed and direction settings, but the Lem program reported (Not Responding). Connecting the serial cable re-established communications. Note that the board electrically isolates the E8a debugging module and serial-port connections from the MCU and motor-control circuits.
During testing of the back-EMF routine with the Lem software, a friend came into my lab area, touched the motor, and created an ESD event. The motor and the eval-kit board sat on a grounded ESD-dissipative mat! The ESD event stopped the application, which would not restart until I powered down the eval board and restarted the code via the debugger. Unlike "production" code, the back-EMF demo code includes debug "hooks," so the ESD event might have upset some settings or circuits, so simply re-powering the board and pressing its reset button didn't do the trick. Depending on your lab situation, you might use a threaded hole on the motor to attach a good earth-ground wire.
You can obtain the sample code either from the Renesas Web site or from the examples loaded from the CD-ROM. When you follow the Quick-Start Guide's instructions about how to build the back-EMF demo application, in the "YMCRPR8C25 Kit -- Step 1" window, select "Sample Code" rather than "Motor Application" to find even more examples that control MCU I/O devices.
The documentation for this kit does not explain the possible trade offs between Hall-effect-sensor and back-EMF applications and why developers might choose one approach over the other. I could not find that information on the Renesas Web site, either, so the company might assume engineers already know.
The kit lacks a few things that could transform it from a good kit to an excellent kit:
Why not use an LED on the board to indicate the end of flash-memory programming or a code download? Sometimes I wondered if the process had successfully gone to completion.
I never found information that explained how the Hall-effect sensor or the back-EMF programs worked. The "User's Manual" describes several circuits, but users should get a flow-chart that mirrors the program listings as well as more information about what the code does. How does the program work? What actions does the software perform? What do I need to know about the code to do something useful or adapt it to my needs?
The Lem software provides useful information, but the back-EMF C code is more important. Some comments in the C-code listings help, but they don't explain the overall operation. Users should get an explanation that goes something like this, "First the MCU measures the ADC input XYZ to determine... next it sets timer ABC to..." I want the details but also some overarching explanation of what goes on. I don't want to pick apart the code and try to reverse engineer what the programmers did or the basic control algorithm. What's the algorithm here? What precision will the data use?
Like most C programs, the demo software includes many dot-h, or header, files, such as timer.h and HALL_App.h. How about an explanation of what these programs do and the parameters they pass to and from various routines? I don't want to slog through a dozen of these files to find out what they do and how they work.
I would not attempt to use the basic information in this kit as a starting point for a motor-control application. I would need a basic framework without flashing LEDs and data sent to an LCD. Let me set a constant with an RPM value at the start and use the most basic C program to control the motor. Use the Occam's razor approach and cut code down to the most basic--with explanations about how it works. With that information I'd feel prepared to jump right in.
Samples & Tutorials
The two sample projects worked well, but after you run them you might wonder, "Where do I go from here?" and "What's the core motor-control algorithm?"