10-30-2013 08:37 AM
Hello everyone,
I am about to start a project where I want to control 2 stepper motors (+encoder) in closed loop, using a PID controller.
The Process Variable is a analog signal that needs to be controlled using the stepper motor.
So far, that's what I am trying to do.
The stepper motor+driver+encoder are already installed in the plant. As for hardware and the control, I am looking at using:
-NI - cRIO-9014
-NI - 9512 (for contorlling the motor)
-NI - 9215
I'm not experienced in using cRIO. Therefore, a feedback about the approach would be great.
Also, any tutorials or example codes would help a lot.
Thanks in advance,
Jack
11-05-2013 06:28 AM
Any thoughts? Any hint is appreciated !
Thank you
11-05-2013 03:48 PM
Are you sure you want to go the cRIO route for a pretty simple application? Can you tell us more about your application?
11-05-2013 03:58 PM - edited 11-05-2013 04:07 PM
Hi,
no,absolutely not sure.
Here is a little more about the application.
Two model wind turbines are being build. Each one of them contain a generator+encoder. Analog input and rotational frequency should be measured.
Next, each turbine is equipped with a stepper motor+encoder, that alters the pitch angle of the rotor blades to limit the rotational frequ or power output.
Previously, I programmed a working control for a single turbine using USB-6211 + DAQmx. Now as we are about to expand the application to two (for now) turbines, I thought that using DAQmx might not be the best way to go, especially because we want to expand the project to many more turbines in the future.
I got in contact with NI, explained the application and was advised to go with CompactRIO.
I started playing around a bit with the systems that were flying around in the lab and asked myself the same question.
That's why I look for some feedback here.
Thank you for any thoughts!
edit: I think for the 2 tubines a simple expansion with (more) DAQmx cards is the best solution. However, I should consider future plans to expand the project to 5 to 10 turbines.
11-05-2013 04:10 PM
Are the encoders just incremental, not absolute? I would do this using a PLC, but the cRIO probably is the best offering from NI. It is really overkill for this application, in addition to the learning curve you will experience. Be sure to use the cRIO in scan mode. If you could run a bunch of turbines off of one cRIO, it might makes sense. If each turbine needs its own cRIO, then it could be a bit pricey.
11-05-2013 04:26 PM
The encoder of the generators is magnetic, the ones of the steppers are optical, both having a TTL signal as outplut . Does that answer your question? Sorry, I dindn't totally get it.
So, you think cRIO is the better option as compared to PXI or even the DAQmx solution?
Thanks!
11-05-2013 04:30 PM
cRIO is a ruggedized, stand-alone solution. DAQmx is just a driver for PC based application. PXI is just another form factor. Is this a lab type of application, or will this be in the field? Can you control many turbines from one system, or do you need one system for each turbine?
11-05-2013 04:36 PM
Its a lab application and controlling all turbines from one systems is prefered. Controlling the turbines from a PC is ok.
The main idea why I wanted to change the running controls using DAQmx with USB AD-Converters was that I found the NI Motion Control interesting for my application. Further I thought that the solution with multiple USB-Cards might get very unhandy when expanding the project to more turbines, would you agree?
11-05-2013 04:43 PM
Do you need to know the angle of the blade when you are controlling it? Couldn't the output of your PID loop be a velocity control to the stepper drive? cDAQ is an option, but it doesn't offer motion control. You could have a multi-axis motion controller(s) in the PC, but use cDAQ for the hardware. All your programming would be using standard LabVIEW on the PC. What stepper drives are you using?
11-05-2013 04:53 PM
Yes I would need to know the anlges of the blades, thats why the stepper is equipped with a encoder.
The output of my PID loop should be either a defined angle that the blades should pitch to, or simply increase/decrease angle, depending of what works better. The first option would be the more elegant way I think.
cRio sounds very interesting. The point I did not get is how to use motion controllers on the PC it motion control is not supported.
I use a third party driver, with a PWM signal as step-input and also a high/low signal for clockwise/anticw.
Thank you very much for your help!