This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Motor Control Position

Other Parts Discussed in Thread: DRV8301

Dear Sir/Madam

I would like to use Instaspin for position control of a geared motor. The motor moves a linear actuator and this linear movement is what I really want to control.

The motor has a high reduction (1:308). It is moved at 3000 rpm (rated speed) during 10 seg to achive a movement of 10mm in the linear actuator. It has to perform one movement every 10 minutes (2 turns resolution in each movement it good for the application)  I have read in previous post that resolution of position estimation at low speed is not very high. It is possible to use the motor's estimated position to estimate the actuator position? (We need short movements with high speed and with a duty of 10 minutes. Recalibration would be performed every day)

For first prototypes we are considering the possibility of introduce HALL sensors in the motor. Is there any code or lab that uses Hall sensor for low speed and estimated position at high motor speeds? I have seen some extract of code in previous post

e2e.ti.com/.../1118616

Is there any supported code for this hall control?

Hall sensor inputs should be connected to encoder inputs conector in eval boards (e.g. DRV8301). Isn't it?

Thank you in advance

Borja

Thank you in advance

  • we are working on a project that uses Hall sensors for start-up and then transitions to sensorless using FAST. This will be for torque and velocity control, not position.

    the Hall sensors are run to GPIO and there is a header on the DRV8301 EVM.

    I can't really tell from your description if you could do this or not sensorlessly (or with Hall sensors for start-up). It doesn't look like you actually need to control the exact position of the rotor, so I think probably so. However, you probably need to command and be able to hold 0 speed against any load in the system, right? If that's the case you would need Hall sensors. You can first try it fully sensorlessly and see how it performs, but I suspect the start-up won't be as smooth as required and zero speed holding torque won't quite meet your needs.
  • Dear Chris,

    The application does not really have to hold zero speed. It just perform a movement (about 10secs) every 10 min and then is disconnected.
    For first tests, i will use La3b or 5e with an external position control loop. Where can I find the estimated position? It is accesible?

    'the Hall sensors are run to GPIO and there is a header on the DRV8301 EVM'. We are designning a custom HW and I would like to know if HALL signal should be connected to any defined GPIO or it really doesn't matter (some uC has special pin for QEP or HALL signals)

    Thank you in advance

    Borja.
  • Borja,

    J4 and J10 on the DRV8301 EVM accept 5V HALL inputs, then level shifts them, to 3.3V for the input captures on the MCU. See schematic on page 5.

    Jeff
  • Dear Jeff, thank you for your reply. I have another doubt. where can I found a variable with the estimated position. I have revised the ctrl.c/h source code and I can not find out.

    Thank you in advance,

    Borja.
  • Borja,

    Take a close look at section 12.4 in the InstaSPIN user's guide: "Software Configuration for SpinTAC Position Control".
  • there is not an estimated position, there is a calculated position from the encoder.

    in proj_lab13 you would use
    st_obj.pos.ctl.PosFdb_mrev

    follow the labs and this should be clear
  • Dear Chris,

    Lab13 is supposed to use position sensor and st_obj.pos.ctl.PosFdb_mrev variable is updated with position information from sensor. Isn't it? In my application I have no sensor and I would like to have the estimated position, not the read position. I do not really know if there is any function like STPOSCONV_getPosition_mrev() for not sensored system.

    Thank you in advance

    Borja.
  • Sorry I did not read the previous message.

    I thought that FOC used an estimated position and derived from it the speed used to perform the speed control.

    So, there is not position estimation (available) for FOC. Isn't it?
  • sensorless position control is not offered

    FAST can only track the electrical angle (relative to the magnetic D axis) while the rotor is moving at a minimum speed.