02-04-2014 12:51 PM
Hello,
My target is to position-control three DC motors of a Scara robot by implementing PID on an Arduino Mega micro-controller using Labview.
A GUI is to be developed for the arm to go to a position when the joint angles are entered manually by a user. The position of the motor is to be detected by a potentiometer which will give an analog input to the micro-controller. My question is if this project could be undertaken succesfully by interfacing arduino and labview or are there other better alternatives than labview which provide real-time output. Any help or suggestions on how i should go about this project are welcome.
02-05-2014 09:29 PM
I've seen it done before with LIFA but you'll need to be cautious with how fast you move the motors as this system is not a real-time system and cannot react as fast as a real-time system like a cRIO/myRIO could.
Also, PID assumes a constant interval for sending and receiving data. When you use LIFA, the timing will be at the mercy of the VI, the OS and everything else that is running on the computer it at the time. Another major consideration is how many closed-loop feedback systems you are going to have. The time interval when using 3 closed-loops will inevitably be greater than when only implementing one closed-loop via the Arduino.
So, it is possible but you will need to evaluate the requirements of your system (speed, accuracy, overshoot, etc.). So, if you need a super fast robot but your closed-loops are not running fast enough, you will need to consider the overshoot and possible instability of the control system.
I would say to simply try out a single closed-loop and then add a second one and see how it goes. Let us know if you have any specific questions that we could help you with.