BLDC Motor Controller IC - PLL to External CLK

Discussion in 'The Projects Forum' started by newothegreat, Oct 2, 2013.

  1. newothegreat

    Thread Starter New Member

    May 3, 2012
    22
    1
    Hello all,
    Does anyone have any suggestions for a BLDC motor controller IC? I'm specifically looking for one that can "sync" up to an external clock signal through some sort of internal PLL. It also needs to get its feedback from a Hall Effect sensor. It doesn't matter if it has internal drive transistors, or needs external ones. I can design the circuit around it.

    So far most of the stuff I've been able to find uses a reference voltage or duty cycle to determine the motor speed, but that won't let me sync the phase of the motor up to an external source like a clock pulse would. I have found a number of ICs from On Semiconductor that do exactly what I want to do, but I can't find any supplier (at least any of the big ones - Mouser, Digikey etc) that have them. I'm going to contact On directly to see if they have any suggestions, but I figured a few of you might know exactly what I need.

    I have also seen a number of solutions that are MCU based, but I'd like to avoid that if possible. It's more difficult to verify it's working properly and I don't feel like writing a lot of code if I don't have to.

    This is one of the ON chips that's almost exactly what I need:
    http://www.onsemi.com/pub_link/Collateral/EN8317-D.PDF
    However:
    http://www.eciaauthorized.com/search?pn=LB11876

    In case it matters -
    Coil Voltage ~5V
    Coil Current (run) - 0.4A
    Coil Currnet (startup) - 0.6A
    Three hall sensors, 60 degrees apart (I might need to check on that one...)


    And to reiterate -
    -BLDC Motor Controller IC
    -Rotor Position Sync (PLL) to External Clock Pulse (not reference voltage or duty cycle)
    -Hall Effect sensor feedback

    Thank you all for your time,
    Owen
     
  2. Experimentonomen

    Member

    Feb 16, 2011
    331
    46
    The hall sensors are most commonly 60deg, you really only see 120deg on two pole motors.

    The PLL part is not for rotor position but to control RPM accurately, and it almost always uses a FG pickup which is usually seen as that squiggly copper trace around the circumference of the stator.

    The signal from the FG is then fed into a phase comparator together with your reference clock to create a voltage control signal that then controls the PWM either acting on the drivers output stage or on a buck converter inline with the psu.
     
  3. newothegreat

    Thread Starter New Member

    May 3, 2012
    22
    1
    The FG is just a tachometer on the motor, right? Is it possible to use one of the Hall Sensors as the FG? I have seen this on some of the datasheets.

    So the PLL portion controls the speed of the rotor, syncing it to the frequency of the clock pulses. Do the chips usually sync the phase shift up to the clock pulse too? Meaning that in any given operation, the motor will have the same phase offset from the clock pulse, provided the motor is in "sync"? Phase shift was actually what I mean when I said rotor position.
     
  4. Experimentonomen

    Member

    Feb 16, 2011
    331
    46
    It depends on the type of phase comparator, the typ 1(a simple xor gate) tries to lock onto a 90deg phase shift between your ref input and the motor FG output beeing the tacho or from one of the hall sensors.

    The type 2 phase comparator is a bit more complicated but tries to lock onto a zero degree phase shift.

    No you cannot use this for rotor position as for servo control, for that you need either a absolute encoder or a quadrature encoder, the hall sensor signals are too coarse for any usable servo feedback.

    This PLL stuff is nothing but a way of speed regulation, another way would be a straight voltage control loop by rectifying the FG signal and just feed a simple opamp based control loop to control the PWM, however this way is not as stable and may require PI or PID to be of any use, its also slower to respond due to the RC time constant in the rectification of the FG signal in order to get a smooth dc voltage for the control loop.
     
  5. newothegreat

    Thread Starter New Member

    May 3, 2012
    22
    1
    Yeah, don't worry. I'm not trying to make a servo motor. I meant to say phase shift instead of rotor position. I'm basically trying to synchronize a BLDC motor rotation to a given speed and phase shift, which it looks like I can do given your response. As long as the phase shift is always the same, I can compensate in other areas of the control circuit.

    So as to my original question, does anyone know of any ICs that can do what I'm asking?
     
  6. Experimentonomen

    Member

    Feb 16, 2011
    331
    46
    Assuming the motors are identical, you can syncronize their rpms, but thats all.
     
  7. newothegreat

    Thread Starter New Member

    May 3, 2012
    22
    1
    Are you saying that I can't synchronize a rotating motor's phase shift to an external clock signal using PLL techniques?
     
  8. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    The phase shift won't be the same! The phase of the motor compared to the sync signal will be based on the load. As load increases, the phase displacement will increase with the increased torque.

    Trying to run a 3ph BLDC in sync will greatly limit the torque you can obtain, and introduces catastrophe as a result of exceeding that limit (ie; if a high load pulse occurs the sync will be lost and the motor is likely to stall and fail completely).
     
  9. newothegreat

    Thread Starter New Member

    May 3, 2012
    22
    1
    I would be running a polygon scanning mirror (which is basically a chunk of polished metal mounted on the rotor) at a set speed, so the load will never change and it shouldn't require too much torque. The motor itself is operating off about 0.4A at 5V.

    I'm running it at 2400 RPM, which is well within the manufacturers specifications.
     
  10. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    That would have been good info to provide in post #1!

    OK, if you are driving a very light, very constant load, at a very constant speed, then you can just run the BLDC motor as a synchronous motor and ignore its hall sensors.

    In other words, just power its phases with a fixed freq signal (just like a stepper motor). Then it will run at fixed speed and fixed phase.

    Obviously you will need to ramp the speed up slowly, because you can't start a "stepper" motor at 2400 RPM. :)
     
Loading...