motor tilbakemelding

E

engkeat

Guest
im benytter en trinnvis koder på tilbakemeldinger hastigheten på en DC-motor.jeg er bekymring om frekvensen på pulsen generere fra koderen som jeg trenger å finne et sett punkt (ønsket frekvens / hastighet), motoren brukes til å løfte en last på en konstant hastighet.under løfting, er dreiemomentet nødvendig endring, noe som betyr spenning kreves er å endre så vel .. så jeg trenger for å kontrollere at spenningen som leveres til motoren gjennom tilbakemeldinger pulser, im benytter PIC som kontrolleren.mitt spørsmål er at ...PIC kan gjenkjenne kontinuerlig endring puls fra inkrementelle koderen??o Trenger jeg noen omformer?

 
Du kan sette utgang fra koderen å avbryte pin og oppdage tilstanden endrer seg.Så du kan meassure tiden mellom pulsene for å få rpm og bruke PID algoritme for motor fartskontroll.
Du kan også sette timeren på overløp på 1/10s og telle antall pulser i denne tidsperioden å beregne RPM.På denne måten vil du ha tidsforsinkelse på 1/10s for tilbakemeldingen, men i de fleste programmer som ikke vil bli et problem.

Hvis du trenger hjelp med PID jeg kan gi deg et eksempel i C for AVR.

 
Her er koden for PID regulering

Code:int last_error = 0;

bool bStop = false;

int iState;int Kp = 10;

int Ki = 0.01;

int Kd = 50;void PID (int refSpeed) (

int feil;

double PComp, DComp, IComp, PIDComp;

int hastighet = ReadRPM (); / / denne funksjonen blir verdien av aktuelle RPM på motorerror = refSpeed - hastighet;

/ / Proporsjonal komponent

PComp = abs (feil) * Kp;/ / Differential komponent

DComp = abs (last_error - feil) * Kd;

last_error = feil;iState = feil;

if (iState> PIDMax) iState = PIDMax;

else if (iState <PIDMin) iState = PIDMin;IComp = Ki * iState;/ / PID komponent

PIDComp = int (PComp - DComp IComp);/ / Limit hastigheten til maks hastighet på H-bro-modus: 0xFF (255)

if (PIDComp> 255) PIDComp = 255;if (feil> 1 & &! bStop) (

SetMotorSpeed (PIDComp);

)

else (

bStop = true;

StopMotor ();

)

)

 
Interessant, kan du vurdere mer om motoren kjører?Er du bruker en integrert driver stadium eller bygget den ved hjelp av diskrete komponenten?
Også jeg har til å bygge et lignende system, drevet med 12 V, vil min load være ca 15 kg og jeg har for å flytte det opp til 100 m.At jeg vet jeg søke om motor og jeg tenker å bruke noen med høyt gear reduksjon forhold for å oppnå en slags blokkerer effekten når motoren er i stopp-modus.

Takk
Pow

 
Hei,

Jeg bruker h-bridge med PWM-kontroll i form av 0-255 verdier for fart.Så PID regulator får RPM fra koderen og sammenligne den med referent hastighet og bruke kontroll logikken å matche ønsket verdi.

Som for din motor jeg tror du vil trenge en slags mekanisk bryte hvis belastning vil være konstant til stede.Høy girutveksling vil bli god ide som du vil oppnå høyere dreiemoment verdier som er nødvendig for å løfte vekten.

Du må for å oppnå konstant strøm modus for fartsovertredelse din motor til ønsket spenning / RPM, fordi momentum er beslektet med dagens.På inkludert pic kan du se konstant spenning kurve som viser to motor moduser.n0 er rotasjonshastigheten som vil oppnås hvis det ikke finnes momentum og friksjon.For å løfte modus du skal tråkke mellom to strømmer (for å oppnå jevnere bevegelse du trenger å gjøre dette intervallet så liten som mulig), mens økende spenning.

For bremsing du kan bruke tre typer: generativ, electro dynamiske og mot gjeldende modus (dont vite eksakt engelsk sikt, men det kan oppnås ved å endre retning gjeldende flyt).Generativ modus er nyttig når du senker inn som du vil få rekreasjon av potensiell energi i form av elektrisk energi.

Håper det vil hjelpe deg litt.

Vel dette er all teori, har ikke eksperimentere med kraftelektronikk ennå, men jeg ville bli veldig glad om du kunne dele noen av dine erfaringer.(Når prosjektet lever opp litt)
Beklager, men du må logge inn for å vise dette vedlegget

 
Takk for svaret, vel, faktisk jeg skal teste den første prototypen, motor har et høyt gear-ratio redusert verdi for å bære lasten når motoren er stoppet.Egentlig med giret reduksjon jeg har en sakte bevegelse (ca. 1 meter hvert 40. s), last er ca 15 kg og start / stopp er gjorde av et par relé (Interleaved).
Load stilling (fra 0 til 100 meter) er kontrollert ved hjelp av en multiturn absolutt encoder.For å starte motoren faktisk jeg har å bare lukke stafett, og for å stoppe det bare å åpne den.
Egentlig med lasten og noen kompensasjon (utgangspunktet jeg kan stoppe motoren noe beløp før den virkelige posisjon, selvfølgelig denne verdien er forskjellig fra opp og ned på grunn av alvoret effekt) i den starte og stoppe arrangementet jeg har nå et repeatibility til plassering av 0.1/0.3 mm, som er nok om dette programmet.
Selvfølgelig denne løsningen er enklere og billigere (ingen brems, ingen kontroll kortet er nødvendig da ingen PID tuning) men har en ulempe på grunn av den maksimale hastigheten.
Egentlig motoren hastighet er fast, og jeg har nå en anmodning om å øke hastigheten på motoren av tre tid enn den faktiske hastigheten.Som en første tilnærming Jeg vil omgå giret reduksjon forholdet og se om dette er nok til å beholde lasset når motoren ikke er i bevegelse.

 
En annen ulempe er at du vil brenne ut motoren hvis du bruker standard DC motor.mens motoren ikke er i bevegelse, strøm (som er nødvendig for å kompensere 15kg av last uten å måtte flytte) renner gjennom motor, produserer varme.

 
ScOe skrev:

En annen ulempe er at du vil brenne ut motoren hvis du bruker standard DC motor.
mens motoren ikke er i bevegelse, strøm (som er nødvendig for å kompensere 15kg av last uten å måtte flytte) renner gjennom motor, produserer varme.
 
Godt girutveksling bare vil produsere mer dreiemoment med samme kraft på motor som P = T * w - hvor w er rotasjonshastighet.Så hvis hastighet er 0, er dreiemomentet 0, og du må laste momentum for å kompensere.Så du vil trolig være rundt 0 fart, men ikke 0.Og for at du må legge mer kraft til motoren for å få dreiemoment som er lik moment av last (Mt = m * g * r) - der m er masse, g er gravitasjons akselerasjon og r er avstanden fra sentrum av produksjon rod akse .(masse på pully, hvis det er korrekt term).
Så T = Mt betyr at lasten er hengt opp på bestemt høyde.Dersom T <Mt er last faller ned, henholdsvis.

Det er selvsagt i perfekt tilstand der treghet, friksjon og andre tap 0.Hvis byggingen doesnt tillate bruk av mekanisk bryter, bør du vurdere annen type motor enn std DC ...

 
Quote:

Giret prosenter, som får selvlåsende kan leses fra maskinteknikk lærebøker for ulike typer utstyr.
 
Snekkeveksler er faktisk ofte brukt for å løfte programmene, selv om de har en dårlig effciency grunn av selvtillit deres sperremulighet.

isn't a real risk, however.

I sa programmet, friksjon øyeblikk av DC motor kan også oppnå selvlåsende med høyere effektivitet tannhjul, men jeg innrømmer at det kan være upålitelige, så det bør være en annen oppbremsing mekanisme hvis heisen er nødvendig for å holde posisjonen uten strømforsyning. Brenn ut av motoren
ikke er en reell risiko, likevel.

 

Welcome to EDABoard.com

Sponsor

Back
Top