Robotics Asked by Farhan Ahmed on December 24, 2020
I’m an absolute beginner, so please bear with me. I’m currently doing a project where I need to control 2 DC motors using the Udoo board. Should I first learn to use an Arduino or is it possible to program the board in Linux’s terminal only?
PS. There isn’t much documentation available for the Udoo board.
A Pan Tilt Unit(PTU) is to be attached to a robot. The PTU has 2 motors with perpendicular shafts. What I need to do is control the two motors and start & stop them at particular positions. Also, build a GUI after completing the hardware. Available resources are Udoo Neo board, Arduino Due and Arduino Uno. I’ve gone through the UDOO official documentation but other than that I couldn’t find any discussion platforms concerning the Udoo board and it’s still not clear if I need to learn to program an arduino for controlling the motor? Or if it could be done via python in Udoo’s Linux only.
It is difficult to answer your question without more information, but I would suggest that splitting your problem in two and dealing with the motor control and the GUI separately would probably be the easiest way to accomplish what you want to do, and the Neo may be the ideal piece of kit to do that.
As for the motor control, I would be inclined implement the low level real time motor control with an Arduino (either Due, Uno or the one integrated in the Neo) and then implement the GUI in soft real time on the Linux side. See Interaction between Linux and Arduino on Udoo for examples of linking the two.
There are lots of tutorials out there about controlling motors with an Arduino and a motor shield, the documentation for the shield you have should be able to step you through what you need to do. There are even tutorials about making Pan Tilt units controlled by an Arduino, such as this instructable: Pan & Tilt Servo Bracket Controlled by Arduino, which uses rc-servo motors rather than DC motors.
If you implement you system this way then yes, you will need to learn about Arduino programming.
The alternative is to try and do everything on the Linux side, but while the ARM core is much faster than the Arduino, it is also expected to do a lot more, and it is generally safer and more consistent for real time control to be done with a seperate embedded controller rather than try to control motors from a general purpose operating system.
If you decided to go the 'do everything from linux' route, then you won't have to learn Arduino programming, but you will have to learn how to do Linux GPIO manipulation, and that will require understanding the underlying principles of GPIO, PWM and writing your own libraries rather than just using the standard libraries available for Arduino.
Answered by Mark Booth on December 24, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP