help me in designing a bldc driver..!!

Discussion in 'The Projects Forum' started by naren_iisc, Jan 13, 2015.

  1. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    hello guys,
    I am building a BLDC driver to drive my 24V, 300Watt BLDC hub motor. I am using Allegro's A3931KJPT IC to do so. But the problem is motor is running fine for some time (fine upto 24V and 4Amp). I already burned 3 ICs. Still not able to find the fault. Please help me.
    I am attaching a snapshot of my ckt. if there is any fault in the circuit please let me know.
    Ckt_dia.PNG
     
  2. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    I see you have several IC pins floating (not counting the NC pins). Is that allowed ? (I haven't checked the datasheet). Most ICs need a defined voltage at unused pins to prevent erratic behaviour.
     
  3. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Hi Alec_t !! Thanks for ur reply.

    The thing is the J6 connector is connected to the micro controller. J1 is directly connected to the three phases of the motor. J2 connector is used to interface Hall sensor output from the motor.
    In my case logic inputs,
    ESF=1;
    COAST=1;
    MODE=0;
    PWM FREQUENCY IS 42KHz
    DIR=1;
    BRAKE=1;

    I used Rt=47K and Ct=680nF, hence according to formula mentioned in the datasheet it gives the frequency of 32-33KHz

    and one thing i messed in the ckt dia is Sa,Sb,Sc pins are connected to the A,B and C phases of the motor as per the datasheet.
    I am attaching the datasheet to this reply. Please check and help me in solving the problem.
     
  4. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    I can't see the recommended decoupling caps for VBB? Also, RDEAD is floating. Shouldn't the RDEAD pin have a resistor to ground, or else be connected to V5?
     
  5. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Sorry. . I didn't mentioned here. . But I connected a resistor of 47k between RDEAD and ground and even the decoupling cap of 100nf between Vbb and ground.
     
  6. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    Can you post a revised schematic showing exactly what is connected where, on all the IC pins? Otherwise, we're shooting in the dark :(.
     
  7. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    hi,
    I am attaching revised schematic. It has all the connections as per the board I am working on.
    MOSFETs I am using are csd18532kcs.

    ckt.PNG
     
    Last edited: Jan 14, 2015
  8. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    I see you have a 50k pot connected to REF pin 20. If its wiper were inadvertently set much above the mid-point you would not comply with the datasheet spec which says "RREF should have a value between 20 kΩ and 200 kΩ". Apart from that I can't see any obvious problem. Have you followed the pcb layout recommendations in the datasheet? Are all electrolytics low ESR types?
     
  9. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Thank you sir for your reply. . I will try with changing that pot.
    And yes all the capacitances I used are of low ESR only
     
  10. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    You don't need to change it; just put 22k in series with the wiper. There's no guarantee, though, that too low a resistance here was what caused your IC to fry. I suspect board layout may have played a part.
     
  11. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Now I separated RREF and VDSTH from V5. Removed NPN transistor and shorted V5BD and V5 (as suggested in datasheet). Now the board is fine. Motor is able to run. But if I increase the duty cycle of external PWM beyond 65% it stops after a initial jerk. At 65% duty it is running well (current =0.4Amp and Voltage=20V).
    My logic inputs are as MODE=1, ESF=1, DIR=0, BRAKE=1,COAST=1

    According to the formula given in the datasheet my internal frequency is 29.75KHz. (t(blank)=0.86usec, t(dead)=0.794usec)
    VDSTH I adjusted to 2V and voltage at RREF=2.22V (Rsense=10mOhm so from the formula given in the datasheet the Vrref comes to 2.22V for 10A)

    should I upload the layout file also..?? I have .max file for layout.
     
  12. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Instead of using 5V from V5 pin I am using 5V from external of the board.
     
  13. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    I don't have the software to read that format, but someone else here may be able to comment/help re layout.
     
  14. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    .max file can not be uploaded here. I tried.
    It is designed in Orcad.
    Anyone here using Orcad..?? Please give me your mail-id so that I can mail you that file
     
  15. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    .... or you can change the file extension to an acceptable one (e.g. .txt) to upload it, then anyone with Orcad can change it back to .max.

    BTW, is BRAKE=1 COAST=1 a valid logic combination? You seem to be commanding the motor simultaneously to coast (freewheel) and stop.
    Does the motor have a snubber or other spike suppresssion arrangement fitted?
     
    Last edited: Jan 16, 2015
  16. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Actually sir, BRAKE and COAST are active low signals
    so I am pulling them to 1 through GPIO of STM32f4
     
  17. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Hi
    I am attaching the screen shots of TOP side and BOTTOM side of the board.

    Here the left side 4 pin connector has connections as, H1, H2 H3 (Hall sensor signal from the motor) and GND. while right side 3 pin connector is motor phases A,B,C respectively.
    In this layout I missed connection from Sx pin to motor phase. But later I connected wires externally.

    Please tell me if there is any mistake with the layout
    top_side.PNG bottom_side.PNG
     
  18. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,777
    1,103
    I'm no expert on layout but it looks like your FET gate resistors are a long way from the gate pins. That is a recipe for spurious oscillation and hence over-heating of the FETS. Perceived wisdom has it that those resistors should be as close to the pins as possible, i.e only a few mm away at most.
     
  19. Mark Connolly

    New Member

    Jan 21, 2015
    2
    0
    Hi,

    I can see multiple potential issues with your schematic, when compared to Allegro's reference design.
    - Add 3 x 1000uF low esr caps across the supply as close to each mosfets pair as possible.
    - Increase the boost caps value to 220n - they might not be large enough to fully charge to gate of each high-side mosfet.
    - Add an extra resistor (100k) between the gate and source of each mosfet, to bias if off.
    - The bulk capacitor on Vreg should be 10uF.
    - Add some 1nF caps between vdsth and gnd, and vref and gnd
    - Try increasing each gate resistor from 15R to 33R to reduce peak gate currents sourced by the A3931
    - Try increasing the deadtime resistor to 100k.
    - Try reducing the PWM frequency. A large motor (huge inductance) doesn't like high switching frequencies.
    - CSP and CSN should be filtered, not directly connected to the shunt.

    Btw, from what I've discovered with this chip, if you want a motor with maximum torque at low rpm and also want it to run at high speed, you are going to have to consider changing the mode input dynamically.

    Let me know how you go?

    Mark
     
  20. naren_iisc

    Thread Starter New Member

    Jan 13, 2015
    21
    0
    Thanks a lot Mark for ur reply. I am using external PWM to control speed and disabled internal pwm by connecting Rtct pin to AGND. Still when the duty cycle is increased beyond 60% (irrespective of external pwm frequency) motor stops.

    Can u suggest me typical pwm frequency. . ??
    My motor has time constant of 2msec
     
Loading...