1
Projects, Designs, and Technical Stuff / Re: Control of 2 CAN Open DS402 motors on a single shaft
« Last post by Simon on Today at 02:30:57 pm »Ok, i'm gonna ask another "stupid" question: Does the system actually NEED two seperate motors? It's going to be cheaper, simpler, and more robust to just fit one motor to do the work if you can!
Ie, rather than have to invent some complex control archecture to suit some dynamic load you may never get a chance to properly validate, just simplify the system to one drive node!!
hahahahahahahahaha, you know me, if I could have, I would have. Various factors drove the 2 motor solution. It was mechanically simpler (yes I still have that problem where the electronics fixes the mechanics problem but I get some thanks now) and we struggled to get powerful enough motors, both single and dual have been used in the past, with hydraulic motors they are plumbed in series and yes I considered that electrically as well.
The drives have many settings and bits of information available. and looking around the internet I have seen some examples of how these sorts of drives are used to construct complicated machinery with the control being offloaded to the motor drives. For example conveyor belts is where I first heard of this speed control one motor and have one or more torque controlled helper motors. Our application is similar. another was a paper mill with one roll being unwound onto another with a motor winding and another holding back the unwinding roll with a torque that it calculates from the output of a pressure sensor on the paper connected directly to it rather than through a main controller.
So I realized that I have been missing a trick with these motors worrying about if my little 48MHz M0+ micro can keep up with all of the messages on the bus that I need to do really fast control, I should simply let the motors work for me and just send the sync message as fast as I like as I don't have to process much data coming back. The motor drivers have a 120MHz ARM M4 each.
At first I wondered why on earth I would want to know the motors target_torque, all I care about is that I sent it a torque_demand and that it gives me what was demanded of it, if anything I would only use the actual_torque value to see what is happening. Now that I start to see how these drives can be used it makes sense.
If I can have the speed controlled motor change speed at a rate of 0-max in 5s that is well slow enough I think for a motor that is taking the target_torque of that motor to keep up would be easy enough. With sync messages sent every few ms long before the speed controlled motor has finished making an adjustment if it is transmitting it's target_torque the helper motor matches that. This should mean the speed motor now sees less load so adjusts to suit. I don't know how far into the future the tarqet_torque is but after a few cycles I would expect the two motors to work together quite well as the speed motor quickly gets used to the reduced load. It would really be about that first cycle where the torque motor has to come in and the speed motor gets a bit of a surprise. once both have a similar torque value I would hope that the speed motor would start to see half the load as the required change in load would be quit slow.