Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting Started with Brushless DC Motor Control

Dear Community Members,

 

I am new to NI equipment. My professor has given me the task of finding out about building a complete NI system that can be employed as a flexible tool for Brushless DC Motor Drive control, for research purposes. Basically our objective is to have the capability of both sensored and sensorless control of brushless DC motor (and possibly other motor types in the future). We intend to implement a variety of linear and non-linear control techniques on the Brushless DC motor drive system, along with some power factor correction techniques. Our target rating for the motor is anywhere from 200-1000 W.

 

We do have plenty of experience in blocks based simulation tools like Simulink, and therefore would like to utilize the flexible user frieldly interface of LabView, instead of having to invest time in development on DSP. I went through the "Motion Controllers, Motor Drivers" section, and it allows us to build a complete system, but did not find a specific system for Brushless DC Motor control.

 

Can the fellow members and application engineers please provide their advice on where I should get started and which system would be suitable to our needs. Thank you for taking the time to read. Your valuable input will be much appreciated.

 

Regards,
ASabir

0 Kudos
Message 1 of 10
(9,531 Views)

Hello!

 

Based on the information you provided, NI offers two motion control systems that will staisfy your requirements. Both of these systems are based around our AKD Brushless servo drives.

 

1. EtherCAT AKD Servo Drive: http://sine.ni.com/nips/cds/view/p/lang/en/nid/209126

Page two of the getting started guide lists additional hardware requirements: http://www.ni.com/pdf/manuals/375592b.pdf

Page three gives a helpful diagram.

 

2. Analog AKD Servo Drive: http://sine.ni.com/nips/cds/view/p/lang/en/nid/209127

Page two of the getting started guide lists additional hardware requirements: http://www.ni.com/pdf/manuals/375543c.pdf

Page three gives a helpful diagram.

 

The primary differences between the options is how the drive is controled and what driver set you'll use to program the controller.

 

Option 1

 

Control: If you're unfamiliar with EtherCAT, you can think of it as a deterministic form of ethernet that uses a master/slave architecture. In the NI system, the motor drive will function as a slave and the real-time controller listed in the hardware requirements will act as a master. You can program the controller (master) using a PC connected to it via an ethernet connection. Because the controller runs a real-time operating system and EtherCAT is designed as a deterministic protcol, this setup will be preferable if you're facing stringent timing considerations. You can find more information on real-time operating systems here: http://www.ni.com/white-paper/3938/en/ and this white paper can help you determine if you require one for you application: http://www.ni.com/white-paper/14238/en/

Software: The real-time controller will use the newer SoftMotion Module (a LabVIEW add-on) to control the drive. You can read more about SoftMotion here: http://www.ni.com/labview/softmotion/

 

Option 2

 

Control: This setup features a PCI or PXI card as the controller which will send signals to the drive via a UMI breakout board. This board separates the control and feedback signals for multiple axes, which can be wired to the drive and motor encoder respectively.

Software: The PCI card is programmed using the older NI-Motion driver (usable as LabVIEW VIs) with your LabVIEW application running on the desktop. You can find information on NI-Motion here: http://sine.ni.com/nips/cds/view/p/lang/en/nid/13851

 

Let me know if you have questions about any of the above.

 

-Mike

0 Kudos
Message 2 of 10
(9,479 Views)

Dear Mike,

 

Thank you for a comprehensive and helpful reply. I went through some of the links provided in your post and learnt a great deal about the various components for our required system.

 

If I go with any of the PCI/PXI or cRIO options, will it be possible to develope my code in MATLAB/Simulink and implement in LabView through some addon/routine?

 

Also, is it possible to control an Induction motor using the AKD drives?

 

 

Thanks and Regards,

Ansari

0 Kudos
Message 3 of 10
(9,447 Views)

I'm glad to hear that info was useful!

 

It's possible to call your MATLAB code in LabVIEW. Please see the following links for more information:

 

http://zone.ni.com/reference/en-XX/help/371361K-01/lvhowto/creating_a_matlab_script/

http://zone.ni.com/reference/en-XX/help/371361K-01/gmath/matlab_script_node/

 

Unfortunately, we only have drives compatible with DC motors: brushed, brushless, and stepper.

 

-Mike

0 Kudos
Message 4 of 10
(9,413 Views)

Hi Mike,

 

I built up a system for motion control according to option 4 in this white paper (NI 9148 Expansion Chassis and C Series Drive Interface). Can you please have a look at the attached cart sample I created. Here are some of the things I considered while building this system:

 

- I included both an NI 9502 C drive an AKD drive, along with a low and a high rating motor, in order to be able to assess the varying degrees of control under both options.

- I had some doubts regarding using an NI 9148 Ethernet RIO or a cRIO, so I included a cRIO 9068 with 8 slot chassis.

 

Can you advise me regarding the following questions:

 

1. So basically, if I go with an integrated  real time controller option, I can program my control algorithm in the computer and LabView interface, download it to the cRIO and disconnect the computer? The real time controller will keep the drive system operating as long as the controller  is powered up and not interrupted?

 

2. I need the ability to measure the phase currents and voltages of my motor. Which modules I should add to the cart, keeping in mind the ratings of the motor?

 

3. Given that I have included the drive interface modules (NI 9516 and NI 9411), should I include any additional analog or digital I/O for additional controllability or these two modules are sufficient? I intened to control only one drive at a time.

 

4. Finally, is there a module that will give me 5 V output to power my Hall sensors on the AKM motors. I could not find the PS-6 power supply on NI website, that is reccommended in the white paper for powering Hall sensors.

 

Thank you for taking the time to read.

 

Best Regards,

Ansari

 

 

 

0 Kudos
Message 5 of 10
(9,389 Views)

Hi Ansari,

 

To answer your first question, yes, you can disconnect the cRIO from the development PC and the cRIO will continue to control the motion. You will deploy the LabVIEW VIs to the cRIO and it will be able to run them without being connected with the development PC.

 

If you want to measure current, then something like th 9203 module would work. You can use this like a ammeter to measure the flow through the wire.  You could use a 9201 to measure voltage input. You might have difficulty using both of these on the same wire at the same time because they will affect each other's measurements.

 

I'm not sure why you included the 9411 module. That is a digital input module. Perhaps you were included that module because you thought you would need it for encoder feedback? The 9516 module has inputs for encoder feedback. In fact, the 9516 module has inputs for two encoders. Are you sure that you want to be measure two encoders for this project? If not, I suggest that you look at the 9514 module instead of the 9516.

 

The 9514/9516 should have all of the connections that it needs to control the motor through the AKD. You shouldn't need anything else except a power supply, appropriate cables, and an AKD.

 

I noticed that you are also thinking about using at 9502 module. I want you to be aware that, in order to use any 950x modules, you will need to run it in FPGA mode. This means that you will need to write the FPGA code to interact with the module and you will not be able to use the high-level Softmotion Express VIs (just the low level VIs). We provide an example VI about how you could do this in LabVIEW FGPA. You can modify this example code however you want. Also you will need to purchase LabVIEW FPGA. If you would like to avoid programming the FPGA, it might be better for you to purchase another 9514 modlule and another AKD to control the 2nd motor.

 

I appologize for the difficulty with the PS-6. That is one of our products that doesn't actually have its own product page on our website. It is listed under optional accessories for some of our other products like this UMI. The part number is 780577-01.

 

This document is extremely helpful for motion systems: Getting Started with NI 9514/9516 Modules and AKD . Also, it might be helpful if you call our sales department so that we can make sure that you are getting all the right components that you need as so that we can generate an accurate quote that includes academic discounts.

 

Jeremy P.

Applications Engineer
National Instruments
0 Kudos
Message 6 of 10
(9,355 Views)

i would think that given the desire for evaluating different strategies, the NI 9502 module would be the appropriate choice.

if has both gate drive and current feedback required for that kind of task.  the rest of the approaches are not as direct for explicit control strategies.

i would not suggest using the 9148 ethernet expansion chassis as it limits your ability to use RT along with FPGA.

 

I am not sure if NI supports the 9068 RT controller as a simulink target yet.  if not, it is possible but you will have to do more work.

you might be better off with the 9082 RT controller unless they explicity support the 9068 for simulink

 

We have recently used the 9502 to implement a 4 axis control system with custom control strategy and resolver feedback.  the only thing that bit us is the module will fault if you give it a PWM command less than the stated minimum.

 

the built in Hall sensors worked fine and the 9411 is a good choice for encoder feedback.

Stu
0 Kudos
Message 7 of 10
(9,348 Views)

Thank you Jeremy, Stu, for your comments!

 

Actually when I was creating this system, I built it under both the NI 9502 C and AKD options, due to the advantages and limitations of both drives. I am in a continuous process learning the capabilities of both the NI 9502 and AKD drives.

 

In a discussion with a community member on a different post (here), and confirmed by correspondence with Kollmorgen (today), AKD drive does not accomodate external PWM signals. It is an off-the-shelf, ready to use drive, which may be more suitable for industrial applications, that require minimum development time and performance on the go. AKD drives offer lesser degree of controllability as compared to NI 9502 drive.The only limitation I see with 9502 is the low ratings. I really wish that NI made a high power version of 9502, suited to bldc servos rated 1-1.5 kW.

 

I am seeking complete controllability of my drive. So can I get an answer to the following question for reassurance (partially answered by Stu's reply):

 

Does NI 9502 drive allow me to turn on/off the power electronic gates inside the drive, based on a custom PWM on/off command signal that my controller generates?  The control on which of the motor phases to turn on/off based on control requirement?

 

Thanks and Regards,

Ansari

0 Kudos
Message 8 of 10
(9,334 Views)

yes, the 9502 gives you explicit control of the gates with the exception of dead time and the minimum pulse width as i mentioned before.

 

Stu
0 Kudos
Message 9 of 10
(9,329 Views)

FYI: I want to make sure that I share the latest revision of the 9514/16 getting started document. "Getting Started with NI 9514/16 C Series Modules and AKD Servo Drives

0 Kudos
Message 10 of 10
(6,111 Views)