Cov txheej txheem:

Arduino Sinewave rau Inverters: 4 Cov Kauj Ruam
Arduino Sinewave rau Inverters: 4 Cov Kauj Ruam

Video: Arduino Sinewave rau Inverters: 4 Cov Kauj Ruam

Video: Arduino Sinewave rau Inverters: 4 Cov Kauj Ruam
Video: Zhiyu HW-586 Cut Off 2.8 Volt 2024, Lub Xya hli ntuj
Anonim
Arduino Sinewave rau Inverters
Arduino Sinewave rau Inverters

Hauv qhov haujlwm no kuv tau tsim SPWM (sine wave pulse wide modulated) teeb liab los ntawm ob qho arduino pwm digital cov txiaj ntsig.

Vim tias txhawm rau ua txoj haujlwm zoo li no kuv yuav tsum tham txog ntau lwm txoj haujlwm thiab cov khoom ntawm arduino txoj haujlwm tag nrho suav nrog cov duab oscilloscope thiab rau ntau zaus sib txawv thov mus saib kuv lub vev xaib:

eprojectszone

Kauj Ruam 1: Tsim Pwm Teeb Meem rau 50Hz

Txhawm rau tsim 50Hz teeb liab ntawm qhov ntau dua nws yog qhov yuav tsum tau ua qee qhov kev suav. Zaus los ntawm arduino tuaj yeem yog ntawm 8MHz, tab sis peb xav tau lub teeb liab nrog lub voj voog ua haujlwm sib txawv.

Txhawm rau nkag siab txog hom kev hloov pauv ntawm lub luag haujlwm ntawm arduino koj tuaj yeem nyeem 3 ntu no ntawm tib kab lus 1, 2 thiab 3.

Cia peb xav tias peb zaus yog 50Hz uas txhais tau tias lub sijhawm yog 20ms. Yog li 10ms yog ib nrab ntawm lub voj voog. Hauv cov 10ms peb yuav tsum muaj ntau yam sib txawv nrog kev ua haujlwm sib txawv pib nrog kev ua haujlwm me me, nyob hauv nruab nrab ntawm lub teeb liab peb muaj lub luag haujlwm siab tshaj plaws thiab ua tiav nrog rau kev ua haujlwm me me. ib nrab voj voog zoo thiab ib qho rau ib nrab tsis zoo ib nrab. Hauv peb qhov tshaj tawm rau qhov no peb siv tus pin 5 thiab 6 uas txhais tau tias Timer 0.

Rau lub teeb pom kev zoo peb xaiv theem pwm raug ntawm qhov zaus 31372 Hz-saib cov ntawv dhau los. One ntawm qhov teeb meem loj tshaj plaws yog qhov peb xam qhov tsim nyog lub voj voog ua haujlwm rau txhua tus mem tes. Yog li, vim tias peb qhov zaus yog f = 31372Hz lub sijhawm rau txhua qhov mem tes yog T = 1/31372 = 31.8 peb, yog li tus naj npawb ntawm cov mem tes rau ib nrab voj voog yog N = 10ms/31.8us = 314 mem tes. Tam sim no los laij lub luag haujlwm voj voog rau txhua tus mem tes peb muaj y = sinx, tab sis hauv qhov kev ua zauv no peb xav tau qib thiaj li ib nrab voj voog muaj 180deg rau 314 mem tes. Rau txhua qhov mem tes peb muaj 180/314 = 0.57deg/mem tes. Qhov ntawd txhais tau tias rau txhua tus mem tes peb txav mus tom ntej nrog 0.57deg.

y yog lub luag haujlwm hloov pauv thiab x tus nqi ntawm txoj haujlwm hauv ib nrab kev ua haujlwm. thaum xub thawj x yog 0, tom qab ntawd x = 0.57, x = 1.14 thiab ntxiv mus txog x = 180.

yog tias peb suav tag nrho ntawm 314 qhov muaj txiaj ntsig peb tau txais kab lus 314 cov ntsiab lus (hom "int" kom suav tau yooj yim los ntawm arduino).

Xws array yog:

int sinPWM = {1, 2, 5, 7, 10, 12, 15, 17, 19, 22, 24, 27, 30, 32, 34, 37, 39, 42, 44, 47, 49, 52, 54, 57, 59, 61, 64, 66, 69, 71, 73, 76, 78, 80, 83, 85, 88, 90, 92, 94, 97, 99, 101, 103, 106, 108, 110, 113, 115, 117, 119, 121, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 169, 171, 173, 175, 177, 178, 180, 182, 184, 185, 187, 188, 190, 192, 193, 195, 196, 198, 199, 201, 202, 204, 205, 207, 208, 209, 211, 212, 213, 215, 216, 217, 219, 220, 221, 222, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 237, 238, 239, 240, 240, 240, 241, 242, 242, 243, 243, 243, 244, 244, 245, 245, 246, 247, 247, 247, 247, 248, 248, 248, 248, 249, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250, 249, 249, 249, 249, 249, 249, 248, 248, 248, 247, 247, 247, 246, 246, 245, 245, 244, 244, 243, 243, 242, 242, 241, 240, 240, 240, 239, 238, 237, 237, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 217, 21 6, 215, 213, 212, 211, 209, 208, 207, 205, 204, 202, 201, 199, 198, 196, 195, 193, 192, 190, 188, 187, 185, 184, 182, 180, 178, 177, 175, 173, 171, 169, 168, 166, 164, 162, 160, 158, 156, 154, 154, 152, 150, 148, 146, 144, 142, 140, 136, 134, 132, 130, 128, 126, 124, 121, 119, 117, 115, 113, 110, 108, 106, 103, 101, 99, 97, 97, 94, 92, 90, 88, 85, 83, 80, 78, 76, 73, 71, 69, 66, 64, 61, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37, 34, 32, 30, 27, 24, 22, 19, 17, 15, 12, 10, 7, 5, 2, 1};

Koj tuaj yeem pom tias zoo li sine yoj lub voj voog ua haujlwm qis tshaj thaum xub thawj thiab lub xeem thiab siab tshaj nyob hauv nruab nrab.

Kauj Ruam 2: Arduino Txoj Haujlwm rau Kev Hloov pauv Lub Luag Haujlwm

Arduino Txoj Haujlwm rau Kev Hloov Tus Cwj Pwm
Arduino Txoj Haujlwm rau Kev Hloov Tus Cwj Pwm

Hauv daim duab saum toj no peb muaj qhov sib txawv ntawm lub luag haujlwm ua haujlwm lub cim qhia nrog qhov tseem ceeb los ntawm kab.

Tab sis yuav ua li cas thiaj li teeb liab ??

ib feem ntawm txoj haujlwm hauv qab no siv kev cuam tshuam los hloov qhov txiaj ntsig ntawm kev ua haujlwm

sei (); // pab cuam tshuam

}

ISR (TIMER1_COMPA_vect) {// cuam tshuam thaum timer 1 phim nrog OCR1A tus nqi

yog (i> 313 && OK == 0) {// tus nqi kawg los ntawm vector rau tus pin 6

kuv = 0; // mus rau thawj tus nqi ntawm vector (array)

OK = 1; // pab tus pin 5

}

x = sinPWM ; // x coj tus nqi los ntawm vector coj mus rau txoj haujlwm i (kuv yog xoom ntsuas)-tus nqi ntawm kev ua haujlwm

kuv = kuv+1; // mus rau txoj haujlwm tom ntej

}

Kauj Ruam 3: Hloov ntawm 50Hz Arduino Pins

Hloov ntawm 50Hz Arduino Pins
Hloov ntawm 50Hz Arduino Pins

Vim tias txhua tus pin tsim tsuas yog ib nrab lub voj voog ua haujlwm kom ua tiav lub sine yoj peb siv ob tus pin uas hloov pauv ib qho tom qab lwm 10mseconds tseeb (rau 50Hz). Qhov kev hloov pauv ntawm tus pin no tau ua rau qhov kawg ntawm kab lus- tom qab peb hais tias tus pin 5 tau tsim tawm 314 tus mem tes tus pin no tau tawm thiab qhib tus pin 6 uas ua rau tib yam tab sis rau lub luag haujlwm tsis zoo.

Vim tias arduino tuaj yeem tsim tsuas yog cov cim qhia tsis zoo lub luag haujlwm tsis ua haujlwm tau ua hauv h choj- koj tuaj yeem nyeem ntawm no txog nws

Txoj haujlwm hloov pauv pins:

sei (); // pab cuam tshuam

}

ISR (TIMER1_COMPA_vect) {// cuam tshuam thaum timer 1 phim nrog OCR1A tus nqi

yog (i> 313 && OK == 0) {// tus nqi kawg los ntawm vector rau tus pin 6

kuv = 0; // mus rau thawj tus nqi ntawm vector

OK = 1; // pab tus pin 5

}

yog (i> 313 && OK == 1) {// kawg tus nqi los ntawm vector rau tus pin 5

kuv = 0; // mus rau thawj tus nqi ntawm vector

OK = 0; // pab tus pin 6

}

x = sinPWM ; // x coj tus nqi los ntawm vector coj mus rau txoj haujlwm i (kuv yog xoom cim cim)

kuv = kuv+1; // mus rau txoj haujlwm tom ntej

yog tias (OK == 0) {

OCR0B = 0; // ua tus pin 5 0

OCR0A = x; // pab tus pin 6 rau lub luag haujlwm sib luag

yog tias (OK == 1) {

OCR0A = 0; // ua tus pin 60

OCR0B = x; // pab tus pin 5 rau lub luag haujlwm sib luag

}

}

Kauj Ruam 4: Tsav Tsheb H Choj thiab Lim Pwm Teeb Meem

Cov cim qhia tau los ntawm arduino yog ib feem tswj hwm rau kev siv inverter vim tias ob qho tib si zoo. Txhawm rau ua kom tag nrho sine yoj thiab qhov ua tau zoo inverter peb yuav tsum siv h choj thiab tshem lub pwm lub lim qis dhau.

H-choj tau nthuav tawm ntawm no.

Cov lim dej tsawg dhau tau kuaj nrog Ac motors me me-ntawm no.

Pom zoo: