BLDC SPEED CONTROL BY ARDUINO USING IR2131 MOSFET DRIVER

Discussion in 'Electronics Resources' started by shivas, Jun 24, 2015.

  1. shivas

    Thread Starter New Member

    Jun 24, 2015
    1
    0
    Iam worked on experimental bldc open loop sensor less (with out taking Back EMF signal) speed control using arduino UNO and I implemented hardware 3phase driver using IR2110 and at inverter stage using 6mosfet IRFZ44N. my hard ware is perfect working at give signal but my bldc program software not good(at the time of tesing eith my program motor will run but heated).

    so anyone send a perfect bldc openloop control program using arduino UNO.

    int l1=5;
    int l2=6;
    int l3=9;
    int l4=10;
    int l5=11;
    int l6=12;
    //int E=1;
    void setup()
    {
    pinMode(l1,OUTPUT);
    pinMode(l2,OUTPUT);
    pinMode(l3,OUTPUT);
    pinMode(l4,OUTPUT);
    pinMode(l5,OUTPUT);
    pinMode(l6,OUTPUT);
    digitalWrite(l1,HIGH);
    digitalWrite(l2,HIGH);
    digitalWrite(l3,HIGH);
    digitalWrite(l4,HIGH);
    digitalWrite(l5,HIGH);
    digitalWrite(l6,HIGH);
    Serial.begin(9600);
    }
    void loop()
    {
    int D=analogRead(A0);
    int d=map(D,0,1023,1,10);
    int f=analogRead(A1);
    float g=f*0.00488;
    Serial.println(g);
    int F=map(D,0,1023,1,255);
    analogWrite(l1,F);
    delay(d);
    digitalWrite(l6,HIGH);

    digitalWrite(l5,LOW);
    delay(d);
    analogWrite(l1,255);

    analogWrite(l3,F);
    delay(d);
    digitalWrite(l5,HIGH);

    digitalWrite(l4,LOW);
    delay(d);
    analogWrite(l3,255);


    analogWrite(l2,F);
    delay(d);
    digitalWrite(l4,HIGH);

    digitalWrite(l6,LOW);
    delay(d);
    analogWrite(l2,255);

    }
     
Loading...