How will look the management by torque mode :
1/ I can command the torque, from maxPositiveTorqueValue to maxNegativeTorqueValue ? If yes, the transition from clockwise to counterclockwise should be smooth. Isn't it ?
Or 2/ I will give a percentage from 0 to 100%, and regen and rotation direction will be defined by side ?
Thanks for your question, I'll answer it within three sections:
- SOLO on board has a digital input for the direction of the rotation of the Motor, through this input you by connecting it to the ground or leaving it open you can change the direction of the rotation, so the torque control command in SOLO is independent of the direction of the rotation, it means, if you apply 0-100% duty cycle on the T/S input you'll go from 0 current to 32A inside of your motor. The current I'm talking about is quadrature current (Iq) which has a linear relationship with torque generated: Motor's Torque = Iq * Motor Torque Constant, Motor Torque constant is a value that you can find in the datasheet of each motor as provided by manufacturers and it's a constant value. SOLO as feedback can also provide you the real-time value of Iq using UART, USB, CAN, so you can read it and verify if the desired Torque has been reached (not necessary, just for double-checking or logging you can use this). The wiring of SOLO, for controlling the Direction can be done in both of the following ways:
1- using a controller like Arduino or Raspberry Pi or any other thing which can generate a digital output of 0V or 5V, in this case, you just need to connect the direction input of SOLO to one digital output of Arduino with a 1k resistor in between as can be seen below, in this case, and by giving 0/1 the direction will change.
2- using a switch directly connected to the Direction input pin of SOLO and the Ground.
- The smoothness of the transition depends on how fast you want to do the transition, the worst-case scenario is you abruptly change the direction of the rotation, which SOLO can manage this, if you want a different transition, you can control it by the rate of the reduction of your duty-cycle command to SOLO, you can slowly/fastly increase or decrease it so SOLO will follow that. The Torque controller on SOLO is fast (5us sampling time) and this guarantees a good tracking of the user command ( requested Torque) at any time.
- The Regenerative feature at the first release (30th June 2020), will be available only for the Speed controllers, for the torque controller, it will be added on the next firmware release (30th August 2020)
We will remain available for any further questions.
Thanks for answer.
2 others questions :
- Except Iq, what kinds of feedbacks can I expect from the SOLO ? motor RPM ?
- what happen if I mechanically turn the motor (regen) in an other way than the PIN is set for ?
Re-reading your answer. Actually, I don't understand is: torque is not a value between 0 and 100%.
=> How can I set a negative torque to slowdown the motor ?
=> how can I set a null Torque when motor running ? (Freewheeling) ?
Thanks for the questions and sorry for the delay, To answer each question I'll go:
Except Iq, what kinds of feedbacks can I expect from the SOLO ? motor RPM ? Yes, SOLO provides you the RPM of the Brushless Motor both in Sensorless and Sensored ( using Encoders or Hall sensors ), the RPM calculated in sensorless is an approximation with +-5% accuracy of the real-world speed.
what happens if I mechanically turn the motor (regen) in another way than the PIN is set for? In this case, SOLO will resist against the torque exerted in the reverse direction by generating a Torque in contrast with the torque you are applying as long as the motor can sustain and provide enough torque. So in simple language, as far as the motor itself is capable, SOLO will try to not to allow the motor to rotate in an unexpected direction by providing a controlled reverse torque to keep the whole system steady and motionless.
How can I set a negative torque to slow down the motor? In the first firmware release ( 30th June 2020) this feature will not be available, especially for the fact that the negative torque is a tricky task and it must be done with internal observation of controller and only when the motor is spinning to have the regenerative feature. So the controller needs to keep track of speed and the torque at the same time to be able to understand when is the time to stop applying negative torque. So in the first firmware release the minimum torque or let's say the stopping command is provided by 0% duty-cycle, and in this case the motor will slowdown with a deceleration depending on the load on the shaft of the motor ( it will not stop immediately if the load is not considerable and it takes some time to slow down in no-load mode), if you desperately need this feature, unfortunately, you have to wait till the next release of the software ( August 30th, 2020)
how can I set a null Torque when motor running ? (Freewheeling) ?
I don't understand exactly why you need this, but one solution may be switching the control mode from closed-loop to open-loop for this time, so there will be no control over torque, you can do this by sending a command to SOLO thorough UART, USB, CAN ( only UART available in 30th of June ) and forcing the system to go to open-loop, and then whenever you need to engage the torque controller, you can command it back into closed-loop mode, anyway, let me know if this was the answer to your question?
I'll remain available for further discussions.