1. Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
    Dismiss Notice

Issue in BLDC motor

Discussion in 'Microcontrollers' started by RenesasT, Aug 2, 2017.

  1. RenesasT

    RenesasT Member

    Joined:
    Jul 10, 2017
    Messages:
    30
    Likes:
    0
    Hello All,

    Again, I need one more help on the sensored BLDC motor.

    I am developing a driver which is having max current protection 20A. The motor is driven on 12V and 24V.

    The motor is 3 phase BLDC motor.

    My driver gives motor speed as 1800 RPM at 24V ,1.3A without load and 900 RPM at 12V,0.9A without load.

    I have checked other 2 and 3 drivers which has dedicated IC in the circuitry for BLDC motors. They are giving following speeds,

    2000 RPM at 24V , 1.5A current
    1100 RPM at 12V, 1.1A current

    My project is to change those dedicated IC's with micro controller. I have implemented and its working fine. All functionalities are working fine.

    The project is not acceptable because of speed characteristics are not matching. Other functions are OK. Just speed characters are not fine,

    It would be 1000000000 times helpful for me if you all guys will help me in this issue, So that I can submit my project.

    Awaiting for your reply.
     
  2. dknguyen

    dknguyen Well-Known Member

    Joined:
    May 6, 2006
    Messages:
    6,668
    Likes:
    64
    Increase your timing advance?
     
  3. RenesasT

    RenesasT Member

    Joined:
    Jul 10, 2017
    Messages:
    30
    Likes:
    0
    What is it?
    how to do this?
     
  4. dave

    Dave New Member

    Joined:
    Jan 12, 1997
    Messages:
    -
    Likes:
    0


     
  5. dknguyen

    dknguyen Well-Known Member

    Joined:
    May 6, 2006
    Messages:
    6,668
    Likes:
    64

    It's how far ahead of the rotor that the commutation occurs (so your rotor can never catch up to your stator field). You can do this in software but the most accurate way to do it is mechanically. The mechanical way is to adjust the angle rotation of all your hall sensors relative to the stator. (Turn your hall sensor disc a little bit).
     
  6. RenesasT

    RenesasT Member

    Joined:
    Jul 10, 2017
    Messages:
    30
    Likes:
    0
    Hello dknguyen,

    I can not do this by mechanically. I can not move hall positions. Other drives are working OK with the mechanical arrangement i.e hall position arrangement.
    How I can resolve this. Please suggest.
     
  7. dknguyen

    dknguyen Well-Known Member

    Joined:
    May 6, 2006
    Messages:
    6,668
    Likes:
    64
    I already described to you what it was which can be done in software.
     
  8. shortbus=

    shortbus= Well-Known Member

    Joined:
    Mar 23, 2008
    Messages:
    1,214
    Likes:
    75
    Location:
    youngstown, oh
    Do we get 1000000000% of your class credit for doing this?:p
     
  9. RenesasT

    RenesasT Member

    Joined:
    Jul 10, 2017
    Messages:
    30
    Likes:
    0
    Please help me. My driver is not acceptable due to this only.

    Awaiting for your replies.
     
  10. kubeek

    kubeek Well-Known Member

    Joined:
    Mar 11, 2006
    Messages:
    1,486
    Likes:
    185
    Location:
    Prague, Czechia (not Chechnya)
    how do you expect any meaningufl answers without any schematic of your circuit and the parts used? :banghead:
     
  11. RenesasT

    RenesasT Member

    Joined:
    Jul 10, 2017
    Messages:
    30
    Likes:
    0
    Please find the schematic and code of my project,

    ak=P6;
    if(state==0)danticlock(&ak);



    void danticlock(unsigned char *seq)
    {
    switch(*seq)
    {
    case 3:
    U1=0;U2=1;U3=1;
    B1=prd;B2=ducycle;B3=prd;
    break;
    case 2:
    U1=0;U2=1;U3=1;
    B1=prd;B2=prd;B3=ducycle;
    break;
    case 6:
    U1=1;U2=0;U3=1;
    B1=prd;B2=prd;B3=ducycle;
    break;
    case 4:
    U1=1;U2=0;U3=1;
    B1=ducycle;B2=prd;B3=prd;
    break;
    case 5:
    U1=1;U2=1;U3=0;
    B1=ducycle;B2=prd;B3=prd;
    break;
    case 1:
    U1=1;U2=1;U3=0;
    B1=prd;B2=ducycle;B3=prd;
    break;
    }
    }


    Here ducycle is dutycycle value.
    prd is maximum value of duty cycle as I am using ULN2003 which is reverse buffer IC.

    This code is only for the commutations. The extra part has ADC code which is for Throttle to vary the speeds of the motor.

    Awaiting for your replies.
     

    Attached Files:

    • AP3.pdf
      File size:
      83.3 KB
      Views:
      18
  12. kubeek

    kubeek Well-Known Member

    Joined:
    Mar 11, 2006
    Messages:
    1,486
    Likes:
    185
    Location:
    Prague, Czechia (not Chechnya)
    no values, no part names... To begin with, the way you drive the mosfets is really bad is probably a big part of why this does not work to your expectations.
     

Share This Page