• 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.

Issue in BLDC motor

Status
Not open for further replies.

RenesasT

Member
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.
 

dknguyen

Well-Known Member
Most Helpful Member
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).
 

RenesasT

Member
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.
 

dknguyen

Well-Known Member
Most Helpful Member
I already described to you what it was which can be done in software.
 

kubeek

Well-Known Member
Most Helpful Member
how do you expect any meaningufl answers without any schematic of your circuit and the parts used? :banghead:
 

RenesasT

Member
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.
 

Attachments

kubeek

Well-Known Member
Most Helpful Member
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.
 
Status
Not open for further replies.

Latest threads

EE World Online Articles

Loading
Top