Üdv mindenkinek! Tahir ul haq vagyok egy másik projektből.
Ezúttal a 2017-11-407 által használt MC elkészítésének ideje volt.
Ezzel véget ért a középtávú program.
Remélem tetszik.
Nagyon sok koncepciót és elméletet igényel, ezért először nézzük meg.
A számítógépek és az iparosodott folyamatok megjelenésével az emberi lények történetében kutatások folytak a folyamat újradefiniálására szolgáló módszerek kifejlesztésére, és ami még fontosabb, a folyamatok autonóm irányítására szolgáló gépek használatára.
A cél az, hogy csökkentsük az emberi részvételt ezekben a folyamatokban, ezzel csökkentve a hibákat ezekben a folyamatokban.
Ezért jött létre a \'szabályozási rendszermérnök\' terület.
A vezérlési rendszer tervezése úgy definiálható, mint különböző módszerek alkalmazása a folyamat működésének vezérlésére vagy egy állandó és preferált környezet fenntartására, legyen az manuális vagy automatikus.
Egy egyszerű példa a szoba hőmérsékletének szabályozása.
A kézi vezérlés egy személy jelenlétét jelenti, aki ellenőrzi az aktuális körülményeket a helyszínen (érzékelő)
, elvárásokkal (feldolgozás)
és megteszi a megfelelő lépéseket a kívánt érték elérése érdekében (működtető).
Ezzel a megközelítéssel az a probléma, hogy nem túl megbízható, mert az ember hajlamos hibázni vagy hanyagságra a munkahelyén.
Ezen túlmenően további probléma, hogy az aktuátor által elindított folyamat sebessége nem mindig egyenletes, ami azt jelenti, hogy néha gyorsabb lehet a kívánt fordulatszámnál, néha pedig lassú.
A probléma megoldása egy mikrokontroller használata a rendszer vezérlésére.
A megadott specifikáció szerint a mikrovezérlő úgy van programozva, hogy vezérelje az áramkörben történő bekötés folyamatát (
Beszéljük meg később)
Az értékét vagy állapotát, ezáltal vezérli a folyamatot a kívánt érték megtartása érdekében.
Ennek a folyamatnak az az előnye, hogy nincs szükség emberi beavatkozásra ebben a folyamatban.
Ezenkívül ennek a folyamatnak a sebessége egyenletes.
Mielőtt továbblépnénk, döntő fontosságú ezen a ponton meghatározni a különböző kifejezéseket: Visszacsatolás vezérlése: Ebben a rendszerben a bemenet egy bizonyos időpontban egy vagy több változótól függ, beleértve a rendszer kimenetét is.
Negatív visszacsatolás: Ebben a rendszerben referencia (bemenet)
Visszacsatolásként a hiba kivonásra kerül és a bemenet fázisa 180 fok.
Pozitív visszacsatolás: Ebben a rendszerben a referencia (bemeneti)
hibák hozzáadódnak, ha a visszacsatolás és a bemenet fázisban van.
Hibajel: a kívánt kimenet és a tényleges kimenet közötti különbség.
Érzékelő: az áramkörben meghatározott számú eszköz érzékelésére szolgáló eszköz.
Általában a kimenetben vagy bárhol elhelyezzük, ahol méréseket szeretnénk végezni.
Processzor: a vezérlőrendszer része, amelyet programozási algoritmusok alapján dolgoznak fel.
Ez némi bemenetet igényel, és némi kimenetet termel.
Aktor: a vezérlőrendszerben az aktuátor a mikrovezérlő által generált jel alapján események végrehajtására szolgál, hogy befolyásolja a kimenetet.
Zárt hurkú rendszer: egy vagy több visszacsatoló hurokkal rendelkező rendszer.
Nyílt hurkú rendszer: nincs visszacsatolási rendszer.
Felfutási idő: Az az idő, amely szükséges ahhoz, hogy a kimenet a jel maximális amplitúdójának 10%-áról 90%-ra emelkedjen.
Csökkentési idő: Az az idő, amely szükséges ahhoz, hogy a kimenet 90%-ról 10%-ra csökkenjen.
Csúcstúllövés: a csúcstúllövés az a kimenet mennyisége, amely meghaladja az állandósult állapot értékét (
Normál a rendszer tranziens válasza során).
Stabil idő: A kimenet stabil állapotának eléréséhez szükséges idő.
Állandó állapotú hiba: a tényleges kimenet és a várt kimenet közötti különbség, amikor a rendszer eléri az állandósult állapotot. A fenti képen a vezérlőrendszer nagyon leegyszerűsített változata látható.
A mikrokontroller minden vezérlőrendszer magja.
Ez egy nagyon fontos elem, ezért gondosan kell kiválasztani a rendszer követelményei szerint.
A mikrokontroller bemenetet kap a felhasználótól.
Ez a bemenet határozza meg a rendszerhez szükséges feltételeket.
A mikrokontroller az érzékelőtől is kap bemenetet.
Az érzékelő a kimenetre csatlakozik, és az információja visszakerül a bemenetre.
Ezt a bemenetet negatív visszacsatolásnak is nevezhetjük.
A negatív visszajelzést korábban elmagyaráztuk.
A mikroprocesszor programozása alapján különféle számításokat végez, és kimeneteket hajt végre az aktuátornak.
A kimenet alapú állítómű-vezérlő üzem megpróbálja fenntartani ezeket a feltételeket.
Példa lehet a motor meghajtója, ahol a motorvezető a vezető, és a motor a gyár.
Ezért a motor adott sebességgel forog.
A csatlakoztatott érzékelő leolvassa az aktuális gyári állapotot és visszaadja a mikrovezérlőnek.
A mikrovezérlőt ismét összehasonlítják és kiszámítják, így a hurok megismétlődik.
A folyamat ismétlődő és végtelen, és a mikrovezérlő képes fenntartani a kívánt feltételeket.
Íme két fő módja az egyenáramú motor fordulatszámának szabályozásának)
Kézi feszültségszabályozás: ipari alkalmazásokban az egyenáramú motor fordulatszám-szabályozó mechanizmusa kritikus fontosságú.
Néha szükségünk lehet a normálnál nagyobb vagy alacsonyabb sebességre.
Ezért hatékony sebességszabályozási módszerre van szükségünk.
A tápfeszültség szabályozása az egyik legegyszerűbb fordulatszám szabályozási módszer.
A feszültség megváltoztatásával változtathatjuk a sebességet. b)
PWM vezérlése PID segítségével: egy másik hatékonyabb módszer a mikrokontroller használata.
Az egyenáramú motor a motorvezérlőn keresztül csatlakozik a mikrovezérlőhöz.
A motor meghajtó egy IC fogadó PWM (
impulzusszélesség moduláció)
bemenetet a mikrovezérlőtől és a bemenetnek megfelelően kimenetet az egyenáramú motorhoz. 1. 2. ábra
: A PWM jel 1. fejezete.
3. Bevezetés a PWM jelet figyelembe véve először a PWM működését magyarázhatjuk meg.
Egy bizonyos ideig folyamatos impulzusokból áll.
Az időperiódus az az idő, amelyet egy pont hullámhosszal azonos távolságra eltöltött.
Ezeknek az impulzusoknak csak bináris értékei lehetnek (HIGH vagy LOW).
Két másik mennyiségünk is van, az impulzusszélesség és a munkaciklus.
Az impulzusszélesség az az idő, amikor a PWM kimenet magas.
A munkaciklus az impulzusszélesség százalékos aránya az időtartamhoz viszonyítva.
Az időtartam hátralévő részében a teljesítmény alacsony.
A munkaciklus közvetlenül szabályozza a motor fordulatszámát.
Ha az egyenáramú motor egy bizonyos időn belül pozitív feszültséget biztosít, akkor bizonyos sebességgel fog mozogni.
Ha hosszabb ideig pozitív feszültséget biztosítunk, a sebesség nagyobb lesz.
Ezért a PWM munkaciklusa megváltoztatható az impulzusszélesség megváltoztatásával.
Az egyenáramú motor munkaciklusának megváltoztatásával a motor fordulatszáma megváltoztatható.
Fordulatszám-szabályozás egyenáramú motorproblémák esetén: az első fordulatszám-szabályozási módszerrel az a probléma, hogy a feszültség idővel változhat.
Ezek a változások egyenetlen sebességet jelentenek.
Ezért az első módszer nem kívánatos.
Megoldás: A második módszert használjuk a sebesség szabályozására.
A második módszer kiegészítésére a PID algoritmust használjuk.
A PID az arányos integrál derivált.
A PID algoritmusban megmérik a motor aktuális fordulatszámát, és összehasonlítják a kívánt fordulatszámmal.
Ezt a hibát olyan összetett számításokhoz használják, amelyek a motor munkaciklusát idő szerint módosítják.
Ez a folyamat minden ciklusban van.
Ha a fordulatszám meghaladja a kívánt fordulatszámot, a munkaciklus csökken, és a munkaciklus növekszik, ha a sebesség kisebb, mint a kívánt sebesség.
Ez a beállítás nem történik meg addig, amíg el nem éri a legjobb sebességet.
Folyamatosan ellenőrizze és szabályozza ezt a sebességet.
Itt találhatók a projektben használt rendszerösszetevők, valamint egy rövid bevezetés az egyes összetevők részleteihez.
STM 32F407: az ST Micro-section által tervezett mikrokontroller.
Az ARM Cortex-en működik. M Építészet.
Családját magas, 168 MHz-es órajellel vezeti.
Motor meghajtó L298N: Ez az IC a motor működtetésére szolgál.
Két külső bemenettel rendelkezik.
Az egyik a mikrovezérlőből.
A mikrokontroller PWM jelet biztosít hozzá.
A motor fordulatszáma az impulzusszélesség beállításával állítható.
Második bemenete a motor meghajtásához szükséges feszültségforrás.
DC motor: Az egyenáramú motor egyenáramú tápegységről működik.
Ebben a kísérletben az egyenáramú motort a motor meghajtójához csatlakoztatott fotoelektromos csatolóval működtetik.
Infravörös érzékelő: az infravörös érzékelő valójában egy infravörös adó-vevő.
Infravörös hullámokat küld és fogad, amelyek segítségével különféle feladatokat hajthat végre.
IR kódoló optikai csatoló 4N35: az optikai csatoló az áramkör kisfeszültségű részének és a nagyfeszültségű részének leválasztására szolgáló eszköz.
Ahogy a neve is sugallja, fény alapján működik.
Amikor az alacsony feszültségű rész megkapja a jelet, az áram a nagyfeszültségű részben folyik.
A rendszer egy sebességszabályozó rendszer.
Mint korábban említettük, a rendszert arányos integrál és derivált PID használatával valósítják meg.
A sebességszabályozó rendszer a fenti komponensekkel rendelkezik.
Az első rész a sebességérzékelő.
A sebességérzékelő egy infravörös adó és vevő áramkör.
Amikor a szilárd anyag áthalad az U alakú résen, az érzékelő alacsony állapotba kerül.
Általában magas állapotban van.
Az érzékelő kimenete egy aluláteresztő szűrőhöz van kötve, hogy kiküszöbölje az érzékelő állapotának megváltozásakor keletkező tranziens okozta csillapítást.
Az aluláteresztő szűrő ellenállásokból és kondenzátorokból áll.
Az értékeket igény szerint választottuk ki.
A használt kondenzátor 1100nf, az alkalmazott ellenállás pedig körülbelül 25 ohm.
Az aluláteresztő szűrő kiküszöböli a szükségtelen tranziens állapotokat, amelyek további leolvasásokat és szemét értékeket eredményezhetnek.
Az aluláteresztő szűrő ezután a kondenzátoron keresztül az stm mikrovezérlő bemeneti digitális tűjére kerül.
A másik rész az stm mikrokontroller által biztosított pwm által vezérelt motor.
Ez a beállítás elektromos leválasztással van ellátva az ic optikai csatoló segítségével.
Az optikai csatoló tartalmaz egy ledet, amely fényt bocsát ki az ic-csomagon belül, és amikor magas impulzus adható a bemeneti kapocsnál, rövidre zárta a kimeneti csatlakozót.
A bemeneti kapocs egy ellenálláson keresztül ad pwm-et, amely korlátozza az optikai csatolóhoz csatlakoztatott led áramát.
A kimenetre egy legördülő ellenállás van csatlakoztatva, így a kapocs rövidre zárásakor feszültség keletkezik a legördülő ellenálláson, és az ellenálláson lévő kivezetésre csatlakoztatott tű magas állapotot kap.
A fotoelektromos csatoló kimenete a motor meghajtó ic IN1 csatlakozójához csatlakozik, amely fenntartja az engedélyező érintkező magasságát.
Amikor a pwm munkaciklus megváltozik az optikai csatoló bemenetén, a motor meghajtó tűje kapcsolja a motort és szabályozza a motor fordulatszámát.
A motorhoz biztosított pwm után a motor meghajtó általában 12 voltos feszültséget biztosít.
A motor meghajtó ezután lehetővé teszi a motor működését.
Bemutatjuk a motorfordulatszám szabályozási projekt megvalósítása során alkalmazott algoritmust.
A motor pwm-jét egyetlen időzítő biztosítja.
Az időzítő konfigurációja úgy van beállítva, hogy pwm biztosítson.
Amikor a motor elindul, elforgatja a motor tengelyére erősített rést.
A rés áthalad az érzékelő üregen, és alacsony impulzust állít elő.
Alacsony impulzusoknál a kód elindul, és várja, hogy a rés elmozduljon.
Amint a rés eltűnik, az érzékelő magas állapotot biztosít, és az időzítő elkezd számolni.
Az időzítő megadja nekünk a két rés közötti időt.
Most, amikor egy újabb alacsony impulzus jelenik meg, az IF utasítás ismét végrehajtódik, várva a következő felfutó élre, és leállítja a számlálót.
A fordulatszám kiszámítása után számítsa ki a fordulatszám és a tényleges referenciaérték különbségét, és adja meg a pid értéket.
A Pid kiszámítja azt a munkaciklus-értéket, amely egy adott pillanatban eléri a referenciaértéket. Ezt az értéket a CCR (
adja meg .
összehasonlító regiszter)
A hibától függően az időzítő sebessége csökken vagy nő.
Az Atollic Truestudio kód bevezetésre került.
Lehetséges, hogy az STM stúdiót telepíteni kell a hibakereséshez.
Importálja a projektet az STM stúdióba, és importálja a megtekinteni kívánt változókat.
Az enyhe változás a 2017-11-4xx.
Módosítsa az órafrekvenciát pontosan egy h fájlra 168 MHz-en.
A kódrészletet fentebb megadtuk.
A következtetés az, hogy a motor fordulatszámát PID segítségével szabályozzák.
A görbe azonban nem éppen sima vonal.
Ennek számos oka van: bár az aluláteresztő szűrőhöz csatlakoztatott érzékelő még mindig tartalmaz bizonyos hibákat, ezek a nemlineáris ellenállások és az analóg elektronikai eszközök elkerülhetetlen okainak köszönhetőek, a motor nem tud simán forogni kis feszültségen vagy pwm-en.
Olyan seggfejeket biztosít, amelyek miatt a rendszer rossz értéket írhat be.
A jitter miatt előfordulhat, hogy a szenzor kihagy néhány nagyobb értéket adó rést, és az újabb hiba fő oka az stm mag órajel frekvenciája lehet.
Az Stm mag órajele 168 MHz.
Bár ez a probléma foglalkozott ebben a projektben, van ennek a modellnek egy holisztikus koncepciója, amely nem biztosít ilyen magas frekvenciát.
A nyílt hurkú sebesség nagyon sima vonalat biztosít, csak néhány váratlan értékkel.
A PID is működik, és nagyon alacsony motorstabilitási időt biztosít.
A motor PID-jét különböző feszültségeken tesztelték, amelyek állandóan tartották a referencia-fordulatszámot.
A feszültségváltozás nem változtatja meg a motor fordulatszámát, jelezve, hogy a PID működik.
Íme néhány szegmens a PID végső kimenetéből. a)
Closed loop @ 110 rpm)
Closed loop @ 120 rpm Ez a projekt nem valósulhatott meg a csoporttagjaim segítsége nélkül.
Szeretném megköszönni nekik.
Köszönjük, hogy megnézte ezt a projektet.
Remélem, hogy segít.
Kérjük, várjon továbbiakat.
Addig is áldást kívánok :)
A HOPRIO csoport a vezérlők és motorok professzionális gyártója, 2000-ben alakult. A csoport központja Changzhou városában, Jiangsu tartományban található.