Hej alle sammen, jeg er tahir ul haq fra et andet projekt.
Denne gang var det tid til at lave MC, der blev brugt af 2017-11-407.
Dette er afslutningen på midtvejsprogrammet.
Håber du kan lide det.
Det kræver en masse begreber og teorier, så lad os se på det først.
Med fremkomsten af computere og den industrialiserede proces har der været forskning i menneskets historie for at udvikle metoder til at omdefinere processen, og endnu vigtigere, at bruge maskiner til at styre processen autonomt.
Målet er at reducere menneskelig deltagelse i disse processer og dermed reducere fejl i disse processer.
Derfor opstod feltet \'kontrolsystemteknik\'.
Styringssystemteknik kan defineres som brugen af forskellige metoder til at kontrollere arbejdet i processen eller opretholdelsen af et konstant og foretrukket miljø, hvad enten det er manuelt eller automatisk.
Et simpelt eksempel er at styre temperaturen i rummet.
Manuel kontrol refererer til tilstedeværelsen af en person, der kontrollerer de aktuelle forhold på stedet (sensor)
, Med forventninger (behandling)
Og træffe passende foranstaltninger for at opnå den ønskede værdi (aktuator).
Problemet med denne tilgang er, at den ikke er særlig pålidelig, fordi man er tilbøjelig til at fejle eller forsømme sig på arbejdet.
Derudover er et andet problem, at hastigheden af den proces, aktuatoren starter, ikke altid er ensartet, hvilket betyder, at den nogle gange kan være hurtigere end den nødvendige hastighed, og nogle gange kan den være langsom.
Løsningen på dette problem er at bruge en mikrocontroller til at styre systemet.
I henhold til den givne specifikation er mikrocontrolleren programmeret til at styre processen med at forbinde i kredsløbet (
Diskuter senere)
Værdien eller tilstanden af, og derved styre processen for at opretholde den ønskede værdi.
Fordelen ved denne proces er, at der ikke er behov for menneskelig indgriben i denne proces.
Derudover er hastigheden af denne proces konsekvent.
Før vi går videre, er det afgørende at bestemme de forskellige termer på dette tidspunkt: Feedbackkontrol: I dette system afhænger input på et bestemt tidspunkt af en eller flere variable, herunder systemets output.
Negativ feedback: I dette system reference (input)
Som feedback trækkes fejlen fra og inputfasen er 180 grader. Positiv feedback: I dette system
reference (input) Fejl, når feedback og input er i fase.
tilføjes
Fejlsignal: forskellen mellem det ønskede output og det faktiske output.
Sensor: en enhed, der bruges til at detektere et bestemt antal enheder i et kredsløb.
Det er normalt placeret i outputtet eller hvor som helst vi ønsker at foretage nogle målinger.
Processor: en del af styresystemet, der behandles baseret på programmeringsalgoritmer.
Det kræver noget input og producerer noget output.
Aktuator: i styresystemet bruges aktuatoren til at udføre hændelser baseret på signalet genereret af mikrocontrolleren for at påvirke outputtet.
Lukket sløjfesystem: et system med en eller flere feedbacksløjfer.
Åbent sløjfesystem: der er intet system til feedbacksløjfe.
Stigningstid: Den tid, der kræves for at outputtet stiger fra 10 % af signalets maksimale amplitude til 90 %.
Drop Time: Den tid, det tager for outputtet at falde fra 90 % til 10 %.
Peak overshooting: peak overshooting er mængden af output, der overstiger dens steady state-værdi (
normal under systemtransient respons).
Stabil tid: Den tid, det tager for outputtet at nå en stabil tilstand.
Steady-state fejl: forskellen mellem det faktiske output og det forventede output, når systemet når stabil-state. Billedet ovenfor viser en meget forenklet version af styresystemet.
Mikrocontrolleren er kernen i ethvert kontrolsystem.
Dette er en meget vigtig komponent, så den skal vælges omhyggeligt i henhold til systemets krav.
Mikrocontrolleren modtager input fra brugeren.
Dette input definerer de nødvendige betingelser for systemet.
Mikrocontrolleren modtager også input fra sensoren.
Sensoren er forbundet til udgangen, og dens information føres tilbage til indgangen.
Dette input kan også kaldes negativ feedback.
Negativ feedback blev forklaret tidligere.
Baseret på sin programmering udfører mikroprocessoren forskellige beregninger og output til aktuatoren.
Det output-baserede aktuatorstyringsanlæg forsøger at opretholde disse forhold.
Et eksempel kan være motorføreren, der driver motoren, hvor motorføreren er føreren, og motoren er fabrikken.
Derfor roterer motoren med en given hastighed.
Den tilsluttede sensor aflæser status for den aktuelle fabrik og sender den tilbage til mikrocontrolleren.
Mikrocontrolleren sammenlignes igen og beregnes, så løkken gentages.
Processen er repetitiv og uendelig, og mikrocontrolleren kan opretholde de ønskede betingelser.
Her er to hovedmåder til at styre hastigheden af DC-motoren)
Manuel spændingskontrol: I industrielle applikationer er hastighedskontrolmekanismen for DC-motoren kritisk.
Nogle gange kan vi have brug for hastigheder, der er højere eller lavere end normalt.
Derfor har vi brug for en effektiv hastighedskontrolmetode.
Styring af forsyningsspændingen er en af de enkleste hastighedsstyringsmetoder.
Vi kan ændre spændingen for at ændre hastigheden. b)
Styr PWM ved hjælp af PID: en anden mere effektiv måde er at bruge en mikrocontroller.
DC-motoren er forbundet til mikrocontrolleren gennem motordriveren.
Motordriveren er en IC, der modtager PWM (
Pulsbreddemodulation)
Input fra mikrocontrolleren og output til DC-motoren i henhold til input. Figur 1.
2: Kapitel 1 af PWM-signal.
Introduktion 3 i betragtning af PWM-signalet, kan PWM-funktionen forklares først.
Den består af kontinuerlige impulser i et vist tidsrum.
Tidsperiode er den tid, et punkt bruger på at bevæge sig i en afstand svarende til en bølgelængde.
Disse impulser kan kun have binære værdier (HØJ eller LAV).
Vi har også to andre mængder, pulsbredden og duty cycle.
Pulsbredden er det tidspunkt, hvor PWM-udgangen er høj.
Duty cycle er procentdelen af pulsbredden i forhold til tidsperioden.
I resten af tidsperioden er outputtet lavt.
Duty cycle styrer direkte motorens hastighed.
Hvis DC-motoren giver positiv spænding inden for et bestemt tidsrum, vil den bevæge sig med en bestemt hastighed.
Hvis der leveres positiv spænding i længere tid, vil hastigheden være større.
Derfor kan arbejdscyklussen for PWM ændres ved at ændre pulsbredden.
Ved at ændre DC-motorens driftscyklus kan motorens hastighed ændres.
Hastighedskontrol for DC-motorproblemer: Problemet med den første hastighedskontrolmetode er, at spændingen kan ændre sig over tid.
Disse ændringer betyder ujævn hastighed.
Derfor er den første metode uønsket.
Løsning: Vi bruger den anden metode til at styre hastigheden.
Vi bruger PID-algoritmen til at supplere den anden metode.
PID repræsenterer den proportionale integralafledte.
I PID-algoritmen måles motorens aktuelle hastighed og sammenlignes med den ønskede hastighed.
Denne fejl bruges til komplekse beregninger for at ændre motorens driftscyklus i overensstemmelse med tiden.
Der er denne proces i hver cyklus.
Hvis hastigheden overstiger den ønskede hastighed, reduceres arbejdscyklussen, og arbejdscyklussen øges, hvis hastigheden er lavere end den ønskede hastighed.
Denne justering foretages først, når den bedste hastighed er nået.
Kontroller og kontroller konstant denne hastighed.
Her er systemkomponenterne brugt i dette projekt og en kort introduktion til detaljerne for hver komponent.
STM 32F407: mikrocontroller designet af ST Micro-section.
Det virker på ARM Cortex. M Arkitektur.
Den fører sin familie med en høj clockfrekvens på 168 MHz.
Motordriver L298N: Denne IC bruges til at køre motoren.
Den har to eksterne indgange.
En fra mikrocontrolleren.
Mikrocontrolleren giver et PWM-signal til den.
Motorhastigheden kan justeres ved at justere pulsbredden.
Dens anden indgang er den spændingskilde, der er nødvendig for at drive motoren.
DC-motor: DC-motoren kører på DC-strømforsyningen.
I dette eksperiment drives DC-motoren ved hjælp af en fotoelektrisk kobling forbundet til motordriveren.
Infrarød sensor: den infrarøde sensor er faktisk en infrarød transceiver.
Den sender og modtager infrarøde bølger, der kan bruges til at udføre forskellige opgaver.
IR-koder optisk kobler 4N35: optisk kobler er en enhed, der bruges til at isolere lavspændingsdelen af kredsløbet og højspændingsdelen.
Som navnet antyder, fungerer det på baggrund af lys.
Når lavspændingsdelen får signalet, løber strømmen i højspændingsdelen.
Systemet er et hastighedskontrolsystem.
Som tidligere nævnt er systemet implementeret ved hjælp af PID af proportional integral og afledt.
Hastighedskontrolsystemet har ovenstående komponenter.
Den første del er hastighedssensoren.
Hastighedssensoren er et infrarødt sender- og modtagerkredsløb.
Når det faste stof passerer gennem den u-formede spalte, går sensoren i en lav tilstand.
Normalt er den i høj tilstand.
Sensorudgangen er forbundet med et lavpasfilter for at eliminere dæmpningen forårsaget af den transient, der genereres, når sensorens tilstand ændres.
Lavpasfilteret består af modstande og kondensatorer.
Værdierne blev valgt efter behov.
Den anvendte kondensator er 1100nf og den anvendte modstand er omkring 25 ohm.
Lavpasfilteret eliminerer unødvendige forbigående forhold, der kan resultere i yderligere aflæsninger og affaldsværdier.
Lavpasfilteret udsendes derefter gennem kondensatoren til den digitale indgang på stm-mikrocontrolleren.
Den anden del er motoren styret af pwm leveret af stm mikrocontroller.
Denne indstilling er blevet forsynet med elektrisk isolering ved hjælp af den optiske kobler ic.
Den optiske kobler inkluderer en lysdiode, der udsender lys i ic-pakken, og når der gives en høj puls på indgangsterminalen, kortsluttede den udgangsterminalen.
Indgangsterminalen giver pwm gennem en modstand, der begrænser strømmen af den led, der er tilsluttet den optiske kobler.
En drop-down modstand er forbundet ved udgangen, så når terminalen kortsluttes, genereres spændingen ved drop-down modstanden, og stiften forbundet til terminalen på modstanden modtager en høj tilstand.
Udgangen af den fotoelektriske kobling er forbundet til IN1 på motordriverens ic, der opretholder højden af aktiveringsstiften.
Når pwm-driftscyklussen ændres ved den optiske koblerindgang, skifter motordriverstiften motoren og styrer motorens hastighed.
Efter den pwm, der leveres til motoren, leverer motordriveren normalt en spænding på 12 volt.
Motordriveren sætter så motoren i stand til at fungere.
Lad os introducere den algoritme, vi brugte i implementeringen af dette motorhastighedsreguleringsprojekt.
Motorens pwm leveres af en enkelt timer.
Konfigurationen af timeren er lavet og indstillet til at give pwm.
Når motoren starter, roterer den slidsen, der er fastgjort til motorakslen.
Spalten passerer gennem sensorhulrummet og frembringer en lav puls.
Ved lave pulser starter koden og venter på, at spalten bevæger sig.
Når spalten forsvinder, giver sensoren en høj tilstand, og timeren begynder at tælle.
Timeren giver os tiden mellem de to spalter.
Nu, når endnu en lav puls vises, udføres IF-sætningen igen, mens den venter på den næste stigende flanke og stopper tælleren.
Efter at have beregnet hastigheden, skal du beregne forskellen mellem hastigheden og den faktiske referenceværdi og angive pid.
Pid beregner den driftscyklusværdi, der når referenceværdien på et givet tidspunkt.
Denne værdi leveres til CCR (
Sammenligningsregister)
Afhængigt af fejlen reduceres eller øges timerens hastighed.
Atollic Truestudio-koden er blevet implementeret.
STM studio skal muligvis installeres til fejlretning.
Importer projektet i STM studio og importer de variabler, du vil se.
Den lille ændring er på 2017-11-4xx.
Skift clock-frekvensen præcist til en h-fil ved 168 MHz.
Kodestykket er angivet ovenfor.
Konklusionen er, at motorens hastighed styres ved hjælp af PID.
Kurven er dog ikke ligefrem en glat linje.
Der er mange grunde til dette: Selvom sensoren forbundet til lavpasfilteret stadig giver visse defekter, skyldes disse nogle uundgåelige årsager til ikke-lineære modstande og analoge elektroniske enheder, kan motoren ikke rotere jævnt ved lille spænding eller pwm.
Det giver røvhuller, der kan få systemet til at indtaste en forkert værdi.
På grund af jitter kan sensoren gå glip af en spalte, der giver en højere værdi, og hovedårsagen til en anden fejl kan være core clock-frekvensen for stm.
Kerneuret i Stm er 168 MHz.
Selvom dette problem blev behandlet i dette projekt, er der et holistisk koncept for denne model, som ikke giver så høj en frekvens.
Den åbne sløjfehastighed giver en meget jævn linje med kun få uventede værdier.
PID'en virker også og giver meget lav motorstabilitetstid.
Motorens PID blev testet ved forskellige spændinger, der holdt referencehastigheden konstant.
Spændingsændringen ændrer ikke motorens hastighed, hvilket indikerer, at PID'en virker.
Her er nogle segmenter af PID'ens endelige output. a)
Closed loop @ 110 rpm)
Closed loop @ 120 rpm Dette projekt kunne ikke gennemføres uden hjælp fra mine gruppemedlemmer.
Jeg vil gerne takke dem.
Tak fordi du så dette projekt.
Håber at hjælpe dig.
Glæd dig til mere.
Fortsæt med at velsigne før det :)