Hi, I am making balancing robot with Arduino Uno and I am using hoverboard motors and jyqd_v7.3e3 drivers to control them.
Since I am trying to balance the robot I will need to quickly change direction of motors, and I am not really sure if its safe to change its direction without stopping it first.
Right now if I want to change direction first I stop motor, wait for few milliseconds and then change direction and start wheel but this seems to be quite slow for this project.
Thanks in advance for any answers.
Are you stopping the motors and allowing them to coast to a halt or are you applying dynamic braking and thus forcing them to stop ?
I am not sure what you mean by that, but by "stopping" I just forbid operation by connecting EL port on driver to ground and let it stop by itself.
If you stop supplying voltage to a motor then in general it will coast to a stop over a period of time and once stopped it will remain free to rotate
If, however. you apply dynamic braking it will stop almost immediately
The ability to apply dynamic braking comes from the driver board and I note the the one that you linked to does not mention braking at all so I would assume that it is not possible to use dynamic braking should you want to
So faster braking is impossible with my current setup... What if I didnt brake at all when changing directions? Wouldnt that damage motors ?
You can certainly brake fast using that controllers, just set the motor speed to zero or even reverse it. The motors will come to no harm electrically but you should make sure that your robot construction will stand up to the forces involved
Firstly you've not provided a link to the motor specifications/datasheet - that's the first thing needed to answer any question.
For a balancing robot you need position-control, using a PID loop and a motor driving operating in 4-quadrant mode (basically as a servomotor). This is different from standard DC motor drive techniques.
There's no useful information about the motor drivers you've linked to as to whether they can operate as servomotor controllers at all.
I am sorry but I dont have any specific datasheets. On motors are written these numbers wt25h160621810 but I couldnt find anything about it. I have found some similar by looks and size but thats all ...
In that case, you seem to be out of luck with design help from this forum. Do some research, pick a suitable motor and controller with datasheets, and post again with links to the details.
Brushed DC motors can easily be destroyed by rapid changes of direction.
So its 36V, 800rpm, 350W, 3-phase brushless motor with Hall sensors. This suggests the stall current is in the 50 to 100A range, so you'll be looking for a controller that can do at a minimum bidriectional torque (current) control capable of handling that load. And then you need various control loops to stabilize the balance, and control the speed based on user input.
There may be some projects out there that have already tackled such a task, its not beginner friendly trying to do this from scratch I'd suggest.
My controllers can handle 16A so thats little bit lower than you suggested, but right now its "working", motors are balancing themselves I just had some problems with delay between changing directions.
Right now when I change direction from one to another its like this:
And I would need to know if its alright to skip "Wait" step... But as jremington suggested it might not be the best idea to do it because I dont have any datasheets about motors.
As I said you need bidirection control as used in servomotor controllers - the fact your controller has to do stop, then change direction, then start means its not intended as a 4 quadrant servomotor controller.
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.