Variable Frekuensi Drive Single Phase Induction Motor

Hello Sir ,,

I want to control the speed of the 1 Phase induction motor.
I use the Arduino Uno module, so I need frequency settings.
I already have a code reference, but I can't yet change the frequency of the wave.

Please help me...

code :

void setup(){
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}

void loop(){
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(750);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(1250);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(2000);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(1250);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(750);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);

digitalWrite(10, HIGH);
delayMicroseconds(500);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(750);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(1250);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(2000);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(1250);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(750);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(500);
digitalWrite(10, LOW);
}

please help : rakirebels@gmail.com

Do the motor specifications state it can be operated with a variable frequency? If not, then you may try, but won't be very successful.

Paul

Need some heavy duty electronics, too.

You've posted no information about the motor in question, that is vital. Single phase induction motors are almost always not designed for speed control like this, and attempting to do so can burn up the motor.

Thanks

Paul_KD7HB, jremington, MarkT

I need improvements to the code,
because the Arduino code that I use does not have a function to adjust the frequency
this code only has a fixed frequency

can you help me all ..

void setup(){
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}

void loop(){
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(750);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(1250);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(2000);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(1250);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(750);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);

digitalWrite(10, HIGH);
delayMicroseconds(500);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(750);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(1250);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(2000);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(1250);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(750);
digitalWrite(10, LOW);
delayMicroseconds(500);
digitalWrite(10, HIGH);
delayMicroseconds(500);
digitalWrite(10, LOW);
}

Traditionally, dimmer is used for DC motor speed control.
Inverter which changes voltage and frequency simultaneously, is used for AC motors. I'm not sure frequency affects the DC motors. The code you wrote is about on-off. Despite of burning of the motor or not, maybe this won't lead to smooth moving. maybe an rapid on-off is better, but another problem will appear: response speed of the motor's coil.