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 07:37:39 am »Well if the motors are to sync up and do their thing then all that I can do is have the slave motor provide the same torque as the master speed controlling motor.
So if I send a speed demand in the PDO message and then send a sync message the master will take the new speed demand and respond with a torque target. Now as it stands I don't know if that torque target will be what it was doing or what it is planning to do now that it has the go ahead for the new speed. The sync message basically trigger action on previous commands received (RX PDO) and prompts the sending of up to date information (TX PDO).
So the slave motor will then see the masters torque target as it's torque demand, but it will not act on the demand until it gets another sync message. So at best the slave will be one cycle behind the master unless I can change the settings in the slave so that it reacts immediately to the RX PDO that contains the torque demand.
If the sync message is sent at a much faster rate than the master speed controlling motor can to keep up with any load changes that affect speed then the slave motor will see new torque demands faster than the master is settling at so the action of the slave motor that must be much faster than the master will become part of the masters own control of the speed.
At the moment in dual torque control I am sending sync messages every 3ms but I make a change on every 3rd message to give the motors time to settle before I act on the data and I do that alternately so each motor only makes a change every 18ms. So with this new method that would be the equivalent of sending 6 updates between full control cycles. So I slow down the reaction of the speed controller motor and speed up the reaction of the torque control motor and now that I am doing less processing in my CAN Open master controller I can send the sync message even faster.
So if I send a speed demand in the PDO message and then send a sync message the master will take the new speed demand and respond with a torque target. Now as it stands I don't know if that torque target will be what it was doing or what it is planning to do now that it has the go ahead for the new speed. The sync message basically trigger action on previous commands received (RX PDO) and prompts the sending of up to date information (TX PDO).
So the slave motor will then see the masters torque target as it's torque demand, but it will not act on the demand until it gets another sync message. So at best the slave will be one cycle behind the master unless I can change the settings in the slave so that it reacts immediately to the RX PDO that contains the torque demand.
If the sync message is sent at a much faster rate than the master speed controlling motor can to keep up with any load changes that affect speed then the slave motor will see new torque demands faster than the master is settling at so the action of the slave motor that must be much faster than the master will become part of the masters own control of the speed.
At the moment in dual torque control I am sending sync messages every 3ms but I make a change on every 3rd message to give the motors time to settle before I act on the data and I do that alternately so each motor only makes a change every 18ms. So with this new method that would be the equivalent of sending 6 updates between full control cycles. So I slow down the reaction of the speed controller motor and speed up the reaction of the torque control motor and now that I am doing less processing in my CAN Open master controller I can send the sync message even faster.