Kysymys:
Kuinka voin mitata takaisin-EMF: n johtaakseni tasavirtamoottorin nopeudesta?
Phil Frost
2013-01-14 22:12:42 UTC
view on stackexchange narkive permalink

I'm interested in measuring the back-EMF of a motor to determine a motor's speed because it's cheap and requires no additional mechanical parts. How can I measure the back-EMF when I'm driving the motor?

+1. Vain kasaamaan lisätietoja: http://www.acroname.com/robotics/info/articles/back-emf/back-emf.html
üks vastaus:
Phil Frost
2013-01-14 22:12:42 UTC
view on stackexchange narkive permalink

One way to do this is to briefly stop driving the motor, long enough to let any residual current from the driving voltage die down, and then simply measure the voltage. The time it takes the current to settle will depend on the inductance of the windings. This is simple to understand, and the undriven interval can be made quite short, but this has obvious disadvantages.

Another method involves a clever use of Ohm's law. A motor can be modeled as a series circuit of an inductor, a resistor, and a voltage source. The inductor represents the inductance of the motor's windings. The resistor is the resistance of that wire. The voltage source represents the back-EMF, and it is directly proportional to the speed of the motor.

motor model schematic

If we can know the resistance of the motor, and we can measure the current in the motor, we can infer what the back-EMF must be while the motor is being driven! Here's how:

We can ignore \$L_m\$ so long as the current through the motor is not changing much, because the voltage across an inductor proportional to the rate of change of current. No change in current means no voltage across the inductor.

If we are driving the motor with PWM, then the inductor serves to keep the current in the motor relatively constant. All we care about then, is really the average voltage of \$V_{drv}\$, which is just the supply voltage multiplied by the duty cycle.

So, we have an effective voltage we are applying to the motor, which we are modeling as a resistor and a voltage source in series. We also know the current in the motor, and the current in the resistor of our model must be the same because it is a series circuit. We can use Ohm's law to calculate what the voltage across this resistor must be, and the difference between the voltage drop over the resistor and our applied voltage must be the back-EMF.

Example:

motor winding resistance \$ = R_m = 1.5\:\Omega\$
measured motor current \$= I = 2\:\mathrm A \$
supply voltage \$= V_{cc} = 24\:\mathrm V \$
duty cycle \$ = d = 80\% \$

Calculation:

24V at an 80% duty cycle is effectively applying 19.2V to the motor:

$$ \overline{V_{drv}} = dV_{cc} = 80\% \cdot 24\:\mathrm V = 19.2\:\mathrm V $$

The voltage drop over the winding resistance is found by Ohm's law, the product of the current and winding resistance:

$$ V_{R_m} = IR_m = 2\:\mathrm A \cdot 1.5\:\Omega = 3\:\mathrm V $$

The back-EMF is the effective driving voltage, less voltage across the winding resistance:

$$ V_m = \overline{V_{drv}} - V_{R_m} = 19.2\:\mathrm V - 3\:\mathrm V = 16.2\:\mathrm V $$

Putting it all together into one equation:

$$ V_m = dV_{cc} - R_m I $$

Huomionarvoinen asia on se, että paitsi siinä määrin, että induktorilla on * rinnakkainen * vastus tai muu vuoto, induktorin keskimääräisen jännitteen on oltava tietyn ajanjakson aikana verrannollinen virran eroon kyseisen alun ja lopun välillä välein. Jos induktorin läpi kulkee sama määrä virtaa jonkin ajanjakson alussa ja lopussa, induktorin keskimääräisen jännitteen on oltava nolla. Tätä sääntöä sovelletaan sekä erillisiin induktoreihin että myös yhden induktorimallin sarjaan ihanteellisen moottorin kanssa.
@supercat: hm, mielenkiintoinen kohta. Näen kuinka voisin käyttää sitä perustellakseni kelan ohittamisen, mutta sitten ajattelin jotain muuta. Jos virta todella muuttuu (ehkä kuormituksen tai nopeuden muutoksen aikana), tämä johtaisi virheeseen tähän menetelmään, eikö niin? Ihmettelen, onko tämä riittävän merkittävä harkitsemisen arvoinen.
Huomaa myös, että jos yksi on PWM: n moottori kunnollisella taajuudella, hyötysuhde on paras, jos sen induktanssin virta * ei * kuole jaksojen välillä. Sen sijaan, että avaisit moottorin avoimen kytkennän, oikosulje se, ellei tai kunnes virta putoaa tyhjäksi (toivottavasti PWM-nopeus on riittävän nopea, jotta se ei tule). Jos yksi oikosulku moottoriin tarpeeksi kauan, virta putoaa tyhjäksi ja kääntyy sitten. Käänteinen virta tappaa tehokkuuden, joten avaa piiri siinä kohdassa (tai oikosulje transistorin läpi, joka sallii vain yhden virran suunnan). Ota huomioon, että...
... jos pysähtymisvirta ylittää sen määrän, jonka sähkönsyöttö voi tuottaa ilman notkeamista, moottorin PWM-moottori voi itse asiassa * lisätä * käytettävissä olevaa käynnistys- tai hitaalla nopeudella olevaa momenttia. Huomaa myös, että jos moottori pyörii nopeammin kuin PWM: n "pyytämä" nopeus, osa ylimääräisestä energiasta kaadetaan takaisin syöttölaitteeseen (hyvä hyötysuhde, jos sitä voidaan käyttää turvallisesti).
BTW, ei yleensä tarvitse huolehtia moottorin induktanssista, joka muuttaa moottorin virran muutoksen virheelliseksi jännitteeksi. Se voi aiheuttaa joidenkin yksittäisten lukemien poiskytkennän ja mahdollisesti johtaa värähtelyihin, mutta se on vain yksi monista tekijöistä, jotka aiheuttaisivat värähtelyn kompensoimattomassa takaisinkytkentäsilmukassa ja joka yhdessä muiden kanssa voidaan korjata käyttämällä oikein viritetty PID-silmukka.
En ole asiantuntija, mutta en usko, että voit vain olettaa, että nykyinen ei muutu, ja voit vain sivuuttaa induktanssisi niin helposti.Ulkoiset kuormat tuottavat vääntömomentin ja tämä vääntömomentti muuttaa virtaa.Myös PWM itse muuttaa moottorin virtaa ... kyllä, induktanssi pitää sen "keskiarvona", mutta tämä ei ole tasainen viiva, vaan myös tekee siitä keskimääräisen luomalla jännitteitä.Kuinka paljon tämä todella vaikuttaa projektiisi?En voi sanoa, että se riippuu täysin moottorista itsestään ja kuormituksesta, joten tämä vaihtelee huomattavasti projektikohtaisesti.
Koska @mFeinstein on tosiasiallisesti toteuttanut ja testannut tämän menetelmän, voin sanoa, että vaikka molemmat mainitsemasi vaikutukset ovat olemassa, ne * voidaan * jättää huomioimatta.Jos tarvitset äärimmäistä tarkkuutta nopeuden säätämisessä, sinun tulee käyttää servoa.Tämän menetelmän etuna on yksinkertaisuus.
Kuten sanoin, mielestäni tämä riippuu paljon sovelluksesta ... Käytitkö sitä isoissa moottoreissa ja suurilla hitauskuormilla?Se olisi voinut toimia todella hienosti sovelluksessasi, mutta en voi sanoa kaikista muista siellä ... Kyllä, servot ovat parempia ... Jos voit käyttää niitä ... Olen nähnyt isojen kuormien hallinnan suurilla meluisilla harjattuillamoottorit ja kaikki kyseisessä sovelluksessa lasketut muuttujat ... Mutta kyllä, yksinkertaisille tavaroille tämä voi toimia, en ole koskaan sulkenut sitä pois, pidä vain silmällä asioita, jos se ei
@mFeinstein Onko pieni sähköauto suuri moottori ja suuri hitauskuorma?
Luultavasti luulen :), mielestäni se riippuu paljon moottorista, induktanssista ja tarvitsemastasi ohjauksen tarkkuudesta, esimerkiksi ampeerivirrasta jokainen tieto vaikuttaa
Miksei vain mitata BLDC-moottorin jännitehäviö sen käydessä yleismittarilla ja kertomalla Kv arvioida moottorin nopeus?Miksi sinun on mitattava virta?
@techSultan Harjaton moottori avaa joitain mahdollisuuksia, joita ei ole käsitelty tässä.
Tätä menetelmää käsitellään tarkemmin IEEE-asiakirjassa: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4314629


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...