Hei alle sammen, jeg er tahir ul haq fra et annet prosjekt.
Denne gangen var det tiden for å gjøre MC som ble brukt av 2017-11-407.
Dette er slutten på midtveisprogrammet.
Håper du liker det.
Det krever mange konsepter og teorier, så la oss se på det først.
Med fremveksten av datamaskiner og den industrialiserte prosessen, har det vært forskning i menneskets historie for å utvikle metoder for å redefinere prosessen, og enda viktigere, å bruke maskiner til å kontrollere prosessen autonomt.
Målet er å redusere menneskelig deltakelse i disse prosessene, og dermed redusere feil i disse prosessene.
Derfor ble feltet \'kontrollsystemteknikk\' til.
Kontrollsystemteknikk kan defineres som bruk av ulike metoder for å kontrollere arbeidet i prosessen eller vedlikehold av et konstant og foretrukket miljø, enten det er manuelt eller automatisk.
Et enkelt eksempel er å kontrollere temperaturen i rommet.
Manuell kontroll refererer til tilstedeværelsen av en person som sjekker gjeldende forhold på stedet (sensor)
, Med forventninger (behandling)
Og ta passende tiltak for å oppnå ønsket verdi (aktuator).
Problemet med denne tilnærmingen er at den ikke er veldig pålitelig fordi man er utsatt for feil eller uaktsomhet på jobben.
I tillegg er et annet problem at hastigheten på prosessen aktuatoren starter ikke alltid er jevn, noe som betyr at noen ganger kan den være raskere enn den nødvendige hastigheten, og noen ganger kan den være sakte.
Løsningen på dette problemet er å bruke en mikrokontroller for å kontrollere systemet.
I henhold til den gitte spesifikasjonen er mikrokontrolleren programmert til å kontrollere prosessen med å koble i kretsen (
Diskuter senere)
Verdien eller tilstanden til, og dermed kontrollere prosessen for å opprettholde ønsket verdi.
Fordelen med denne prosessen er at det ikke er behov for menneskelig intervensjon i denne prosessen.
I tillegg er hastigheten på denne prosessen konsekvent.
Før vi går videre, er det avgjørende å bestemme de ulike begrepene på dette punktet: Tilbakemeldingskontroll: I dette systemet avhenger input på et bestemt tidspunkt av en eller flere variabler, inkludert systemets output.
Negativ tilbakemelding: I dette systemet, referanse (input)
Som tilbakemelding trekkes feilen fra og fasen til inngangen er 180 grader. Positiv tilbakemelding: I dette systemet
referanse (input) Feil når tilbakemelding og input er i fase.
legges det til
Feilsignal: forskjellen mellom ønsket utgang og faktisk utgang.
Sensor: en enhet som brukes til å oppdage et visst antall enheter i en krets.
Det er vanligvis plassert i utgangen eller hvor som helst vi ønsker å gjøre noen målinger.
Prosessor: en del av kontrollsystemet som behandles basert på programmeringsalgoritmer.
Det krever litt input og produserer noe output.
Aktuator: i kontrollsystemet brukes aktuatoren til å utføre hendelser basert på signalet generert av mikrokontrolleren for å påvirke utgangen.
Closed-loop system: et system med en eller flere tilbakemeldingssløyfer.
Åpent system: det er ikke noe system for tilbakemeldingssløyfe.
Stigetid: Tiden som kreves for at utgangen skal stige fra 10 % av signalets maksimale amplitude til 90 %.
Drop Time: Tiden som kreves for at utgangen skal falle fra 90 % til 10 %.
Peak overshooting: peak overshooting er mengden av utdata som overskrider dens steady state-verdi (
normal under systemtransient respons).
Stabil tid: Tiden det tar for utgangen å nå en stabil tilstand.
Steady-state feil: forskjellen mellom den faktiske utgangen og den forventede utgangen når systemet når stabil tilstand. Bildet over viser en svært forenklet versjon av kontrollsystemet.
Mikrokontrolleren er kjernen i ethvert kontrollsystem.
Dette er en veldig viktig komponent, så den bør velges nøye i henhold til kravene til systemet.
Mikrokontrolleren mottar input fra brukeren.
Denne inngangen definerer betingelsene som kreves for systemet.
Mikrokontrolleren mottar også input fra sensoren.
Sensoren kobles til utgangen og dens informasjon føres tilbake til inngangen.
Denne inngangen kan også kalles negativ tilbakemelding.
Negative tilbakemeldinger ble forklart tidligere.
Basert på programmeringen utfører mikroprosessoren ulike beregninger og utganger til aktuatoren.
Det utgangsbaserte aktuatorkontrollanlegget forsøker å opprettholde disse forholdene.
Et eksempel kan være motorføreren som driver motoren, hvor motorføreren er sjåføren og motoren er fabrikken.
Derfor roterer motoren med en gitt hastighet.
Den tilkoblede sensoren leser statusen til gjeldende fabrikk og sender den tilbake til mikrokontrolleren.
Mikrokontrolleren sammenlignes på nytt og beregnes, slik at sløyfen gjentas.
Prosessen er repeterende og uendelig, og mikrokontrolleren kan opprettholde de ønskede forholdene.
Her er to hovedmåter for å kontrollere hastigheten til DC-motoren)
Manuell spenningskontroll: I industrielle applikasjoner er hastighetskontrollmekanismen til DC-motoren kritisk.
Noen ganger kan vi trenge hastigheter som er høyere eller lavere enn normalt.
Derfor trenger vi en effektiv hastighetskontrollmetode.
Kontroll av forsyningsspenningen er en av de enkleste hastighetskontrollmetodene.
Vi kan endre spenningen for å endre hastigheten. b)
Kontroller PWM ved hjelp av PID: en annen mer effektiv måte er å bruke en mikrokontroller.
DC-motoren er koblet til mikrokontrolleren gjennom motordriveren.
Motordriveren er en IC som mottar PWM (
Pulsbreddemodulasjon)
Inngang fra mikrokontrolleren og utgang til DC-motoren i henhold til inngangen. Figur 1.
2: Kapittel 1 av PWM-signal.
Innledning 3 med tanke på PWM-signalet, kan operasjonen til PWM forklares først.
Den består av kontinuerlige pulser i en viss tidsperiode.
Tidsperiode er tiden brukt av et punkt som beveger seg i en avstand lik en bølgelengde.
Disse pulsene kan bare ha binære verdier (HØY eller LAV).
Vi har også to andre mengder, pulsbredden og driftssyklusen.
Pulsbredden er tiden når PWM-utgangen er høy.
Driftssyklusen er prosentandelen av pulsbredden til tidsperioden.
Resten av tidsperioden er utgangen lav.
Driftssyklusen styrer hastigheten til motoren direkte.
Hvis DC-motoren gir positiv spenning innen en viss tidsperiode, vil den bevege seg med en viss hastighet.
Hvis det gis positiv spenning over lengre tid, vil hastigheten være større.
Derfor kan driftssyklusen til PWM endres ved å endre pulsbredden.
Ved å endre driftssyklusen til DC-motoren kan hastigheten til motoren endres.
Hastighetskontroll for DC-motorproblemer: problemet med den første hastighetskontrollmetoden er at spenningen kan endre seg over tid.
Disse endringene betyr ujevn hastighet.
Derfor er den første metoden uønsket.
Løsning: Vi bruker den andre metoden for å kontrollere hastigheten.
Vi bruker PID-algoritmen for å supplere den andre metoden.
PID representerer den proporsjonale integralderiverte.
I PID-algoritmen måles motorens nåværende hastighet og sammenlignes med ønsket hastighet.
Denne feilen brukes til komplekse beregninger for å endre driftssyklusen til motoren i henhold til tiden.
Det er denne prosessen i hver syklus.
Hvis hastigheten overstiger ønsket hastighet, reduseres driftssyklusen og driftssyklusen øker hvis hastigheten er lavere enn ønsket hastighet.
Denne justeringen gjøres ikke før den beste hastigheten er nådd.
Kontroller og kontroller denne hastigheten hele tiden.
Her er systemkomponentene som brukes i dette prosjektet og en kort introduksjon til detaljene for hver komponent.
STM 32F407: mikrokontroller designet av ST Micro-section.
Det fungerer på ARM Cortex. M Arkitektur.
Den leder sin familie med en høy klokkefrekvens på 168 MHz.
Motordriver L298N: Denne IC brukes til å kjøre motoren.
Den har to eksterne innganger.
En fra mikrokontrolleren.
Mikrokontrolleren gir et PWM-signal for den.
Motorhastigheten kan justeres ved å justere pulsbredden.
Den andre inngangen er spenningskilden som trengs for å drive motoren.
DC-motor: DC-motoren kjører på DC-strømforsyningen.
I dette eksperimentet drives DC-motoren ved hjelp av en fotoelektrisk kobling koblet til motordriveren.
Infrarød sensor: den infrarøde sensoren er faktisk en infrarød transceiver.
Den sender og mottar infrarøde bølger som kan brukes til å utføre ulike oppgaver.
IR-koder optisk kobler 4N35: optisk kobler er en enhet som brukes til å isolere lavspenningsdelen av kretsen og høyspenningsdelen.
Som navnet tilsier, fungerer det på basis av lys.
Når lavspentdelen får signalet, flyter strømmen i høyspentdelen.
Systemet er et hastighetskontrollsystem.
Som nevnt tidligere er systemet implementert ved hjelp av PID av proporsjonal integral og derivert.
Hastighetskontrollsystemet har komponentene ovenfor.
Den første delen er hastighetssensoren.
Hastighetssensoren er en infrarød sender- og mottakerkrets.
Når det faste stoffet passerer gjennom den u-formede spalten, går sensoren inn i en lav tilstand.
Normalt er den i høy tilstand.
Sensorutgangen er koblet til et lavpassfilter for å eliminere dempningen forårsaket av transienten som genereres når tilstanden til sensoren endres.
Lavpassfilteret består av motstander og kondensatorer.
Verdiene ble valgt etter behov.
Kondensatoren som brukes er 1100nf og motstanden som brukes er ca 25 ohm.
Lavpassfilteret eliminerer unødvendige forbigående forhold som kan resultere i ytterligere avlesninger og søppelverdier.
Lavpassfilteret sendes deretter ut gjennom kondensatoren til den digitale inngangspinnen til stm-mikrokontrolleren.
Den andre delen er motoren styrt av pwm levert av stm mikrokontroller.
Denne innstillingen har blitt forsynt med elektrisk isolasjon ved hjelp av den optiske koblingen ic.
Den optiske kobleren inkluderer en lysdiode som sender ut lys i ic-pakken, og når en høy puls gis ved inngangsterminalen, kortsluttet den utgangsterminalen.
Inngangsterminalen gir pwm gjennom en motstand som begrenser strømmen til lysdioden koblet til den optiske kobleren.
En nedtrekksmotstand er koblet til på utgangen slik at når terminalen kortsluttes, genereres spenningen ved nedtrekksmotstanden og pinnen som er koblet til terminalen på motstanden får en høy tilstand.
Utgangen til den fotoelektriske kopleren er koblet til IN1 på motordriver-icen som opprettholder høyden på aktiveringspinnen.
Når pwm-driftsyklusen endres ved den optiske koblerens inngang, bytter motordriverpinnen motoren og kontrollerer hastigheten til motoren.
Etter pwm gitt til motoren, gir motordriveren vanligvis en spenning på 12 volt.
Motordriveren gjør da at motoren kan fungere.
La oss introdusere algoritmen vi brukte i implementeringen av dette motorhastighetsreguleringsprosjektet.
Motorens pwm leveres av en enkelt timer.
Konfigurasjonen av timeren er laget og satt til å gi pwm.
Når motoren starter, roterer den spalten festet til motorakselen.
Spalten passerer gjennom sensorhulen og produserer en lav puls.
Ved lave pulser starter koden og venter på at spalten skal bevege seg.
Når spalten forsvinner, gir sensoren en høy tilstand og timeren begynner å telle.
Timeren gir oss tiden mellom de to spaltene.
Nå, når en ny lav puls vises, kjøres IF-setningen igjen, venter på neste stigende flanke og stopper telleren.
Etter å ha beregnet hastigheten, beregne forskjellen mellom hastigheten og den faktiske referanseverdien og gi pid.
Pid beregner driftssyklusverdien som når referanseverdien på et gitt tidspunkt.
Denne verdien gis til CCR (
Sammenligningsregister)
Avhengig av feilen reduseres eller økes timerens hastighet.
Atollic Truestudio-koden er implementert.
STM studio må kanskje installeres for feilsøking.
Importer prosjektet i STM studio og importer variablene du vil se.
Den lille endringen er på 2017-11-4xx.
Endre klokkefrekvensen nøyaktig til en h-fil på 168 MHz.
Kodebiten er gitt ovenfor.
Konklusjonen er at hastigheten på motoren styres ved hjelp av PID.
Imidlertid er kurven ikke akkurat en jevn linje.
Det er mange grunner til dette: selv om sensoren koblet til lavpassfilteret fortsatt gir visse defekter, disse skyldes noen uunngåelige årsaker til ikke-lineære motstander og analoge elektroniske enheter, kan ikke motoren rotere jevnt ved liten spenning eller pwm.
Det gir drittsekker som kan få systemet til å angi feil verdi.
På grunn av jitter kan sensoren savne en spalte som gir en høyere verdi, og hovedårsaken til en annen feil kan være kjerneklokkefrekvensen til stm.
Kjerneklokken til Stm er 168 MHz.
Selv om dette problemet ble tatt opp i dette prosjektet, er det et helhetlig konsept av denne modellen som ikke gir så høy frekvens.
Den åpne sløyfehastigheten gir en veldig jevn linje med bare noen få uventede verdier.
PID fungerer også og gir svært lav motorstabilitetstid.
Motorens PID ble testet ved forskjellige spenninger som holdt referansehastigheten konstant.
Spenningsendringen endrer ikke hastigheten til motoren, noe som indikerer at PID fungerer.
Her er noen segmenter av den endelige utgangen til PID. a)
Closed loop @ 110 rpm)
Closed loop @ 120 rpm Dette prosjektet kunne ikke fullføres uten hjelp fra gruppemedlemmene mine.
Jeg vil takke dem.
Takk for at du så dette prosjektet.
Håper å hjelpe deg.
Vennligst se frem til mer.
Fortsett å velsigne før det :)