A Raspberry Pi egy ARM architektúra processzor alapú tábla, amelyet elektronikus mérnököknek és hobbistáknak terveztek. A PI az egyik legmegbízhatóbb projektfejlesztési platform odakinn. Nagyobb processzorsebességgel és 1 GB RAM-mal a PI számos nagy horderejű projekthez használható, például képfeldolgozáshoz és a tárgyak internetéhez.
Bármely nagy horderejű projekt megvalósításához meg kell érteni a PI alapvető funkcióit. Ezekben az oktatóanyagokban a Raspberry Pi összes alapvető funkciójára kitérünk. Minden oktatóanyagban megvitatjuk a PI egyik funkcióját. A Raspberry Pi oktatósorozat végére egyedülálló projekteket készíthet. Nézze át az alábbi oktatóanyagokat:
- Az első lépések a Raspberry Pi-vel
- Raspberry Pi konfiguráció
- LED villog
- Málna Pi gomb összekapcsolása
- Raspberry Pi PWM generáció
- Az egyenáramú motor vezérlése a Raspberry Pi segítségével
Ebben az oktatóanyagban a Raspberry Pi segítségével szabályozzuk a léptető motor sebességét. A Stepper Motorban, ahogy maga a neve is mondja, a tengely forgása Step formában van. Különböző típusú léptetőmotorok léteznek; itt a legnépszerűbbet használjuk, amely az Unipolar Stepper Motor. Az egyenáramú motorral ellentétben a léptetőmotort bármely adott szögbe elforgathatjuk, megfelelő utasításokkal.
Ennek a négyfokozatú léptetőmotornak a forgatásához energiaimpulzusokat juttatunk a léptetőmotor meghajtó áramkörének használatával. A meghajtó áramkör logikai triggereket vesz fel a PI-től. Ha szabályozzuk a logikai kiváltókat, akkor szabályozzuk a teljesítményimpulzusokat és ezáltal a léptetőmotor sebességét.
A Raspberry Pi 2-ben 40 GPIO kimeneti tű található. De a 40-ből csak 26 GPIO csap (GPIO2-GPIO27) programozható. Ezek közül a csapok közül néhány speciális funkciót lát el. Különleges GPIO-t félretéve csak 17 GPIO van hátra. E 17 GPIO-tű mindegyike maximum 15mA áramot képes leadni. És az összes GPIO érintkező áramának összege nem haladhatja meg az 50mA-t. Ha többet szeretne tudni a GPIO csapokról, menjen át: A LED villog a Raspberry Pi-vel
Vannak + 5V (Pin 2 + 4) és + 3,3V (Pin 1 & 17) kimenő csapok a fedélzeten csatlakoztatására más modulok és érzékelők. Ezeket az erősíneket nem lehet használni a léptetőmotor meghajtásához, mert a forgatásához több erőre van szükségünk. Tehát egy másik áramforrásból kell átadnunk az áramot a léptetőmotornak. A léptetőmotorom feszültsége 9V, ezért második áramforrásként 9v-os akkumulátort használok. Keresse meg léptetőmotorjának modellszámát, hogy megismerje a feszültség besorolását. A minősítéstől függően válassza ki megfelelően a másodlagos forrást.
Amint azt korábban elmondtuk, a léptetőmotor meghajtásához vezérlő áramkörre van szükségünk. Itt egy egyszerű tranzisztor meghajtó áramkört is tervezünk.
Szükséges alkatrészek:
Itt a Raspberry Pi 2 Model B-t használjuk Raspbian Jessie operációs rendszerrel. Az összes alapvető hardver- és szoftverkövetelményt korábban megbeszéltük, megnézheti a Raspberry Pi bevezetőjében, a szükségesek kivételével:
- Csatlakozó csapok
- 220Ω vagy 1KΩ ellenállás (3)
- Léptető motor
- Gombok (2)
- 2N2222 tranzisztor (4)
- 1N4007 Dióda (4)
- Kondenzátor - 1000uF
- Kenyérlap
Áramkör magyarázat:
A léptetőmotor 200 lépésben használja a 360 fokos forgást, ami azt jelenti, hogy lépésenként 1,8 fokkal forog. Ahogy egy négyfokozatú léptetőmotort vezetünk, négy impulzust kell adnunk az egyetlen logikai ciklus teljes elvégzéséhez. Ennek a motornak minden egyes lépése 1,8 fokos forgást végez, ezért egy ciklus teljes elvégzéséhez 200 impulzusra van szükségünk. Tehát 200/4 = 50 logikai ciklus szükséges egyetlen forgatás teljesítéséhez. Ellenőrizze ezt, ha többet szeretne megtudni a Steppers Motorsról és annak vezetési módjairól.
E négy tekercs mindegyikét egy NPN tranzisztorral (2N2222) fogjuk vezetni, ez az NPN tranzisztor veszi a PI logikai impulzusát és hajtja a megfelelő tekercset. Négy tranzisztor négy logikát vesz a PI-től a léptetőmotor négy fokozatának meghajtására.
A tranzisztor meghajtó áramköre bonyolult beállítás; itt figyelnünk kell arra, hogy a tranzisztor helytelen csatlakoztatása erősen megterhelheti a lapot és károsíthatja azt. Ezt ellenőrizze a léptetőmotor meghajtó áramkörének megértéséhez.
A motor indukció, így a motor kapcsolása közben induktív tüskét tapasztalunk. Ez a tüske erősen felmelegíti a tranzisztort, ezért a diódát (1N4007) fogjuk használni, hogy védelmet nyújtsunk a tranzisztor számára az induktív tüske ellen.
A feszültségingadozások csökkentése érdekében egy 1000uF-os kondenzátort csatlakoztatunk az áramellátáshoz, az áramköri ábra szerint.
Munka magyarázat:
Miután minden a kapcsolási rajz szerint össze van kapcsolva, bekapcsolhatjuk a PI-t, hogy PYHTON-ba írjuk a programot.
Néhány parancsról fogunk beszélni, amelyeket a PYHTON programban fogunk használni, GPIO fájlt fogunk importálni a könyvtárból, az alábbi funkció segítségével programozhatjuk a PI GPIO csapjait. A „GPIO” -ot „IO” -ra is átnevezzük, így a programban, amikor csak GPIO-csapokra akarunk utalni, az „IO” szót fogjuk használni.
importálja az RPi.GPIO-t IO-ként
Néha, amikor a GPIO csapok, amelyeket megpróbálunk használni, más funkciókat is elláthatnak. Ebben az esetben figyelmeztetéseket kapunk a program futtatása közben. Az alábbi parancs arra utasítja a PI-t, hogy figyelmen kívül hagyja a figyelmeztetéseket, és folytassa a programot.
IO.setwarnings (hamis)
Hivatkozhatunk a PI GPIO csapjaira, akár a fedélzeten található PIN-kód, akár a funkciójuk száma alapján. A táblán lévő PIN 35-hez hasonlóan a GPIO19. Tehát itt azt mondjuk, hogy vagy itt fogjuk ábrázolni a csapot '35'-vel vagy' 19'-vel.
IO.setmode (IO.BCM)
Négy GPIO csapot állítunk be kimenetként a léptető motor négy tekercsének meghajtására.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
A GPIO26-ot és a GPIO19-et beállítjuk bemeneti csapokként. Ezekkel a csapokkal fogjuk észlelni a gombnyomást.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
Abban az esetben, ha a feltétel a zárójelben igaz, a cikluson belüli utasítások egyszer végrehajtásra kerülnek. Tehát, ha a GPIO 26-as tűje alacsony lesz, akkor az IF cikluson belüli utasítások egyszer végrehajtásra kerülnek. Ha a GPIO 26-as tű nem megy alacsonyra, akkor az IF-ciklusban lévő utasítások nem kerülnek végrehajtásra.
ha (IO.input (26) == Hamis):
Ez a parancs 100-szor hajtja végre a ciklust, x-et 0-tól 99-ig növekszik.
x-re a tartományban (100):
Míg az 1: a végtelen ciklushoz használatos. Ezzel a paranccsal a cikluson belüli utasítások folyamatosan végrehajtódnak.
Megvan az összes parancs, ami szükséges a léptető motor sebességszabályozásának eléréséhez.
A program megírása és végrehajtása után már csak a vezérlő működtetése marad. Két gomb van csatlakoztatva a PI-hez. Az egyik a négy impulzus közötti késleltetést növeli, a másik pedig a négy impulzus közötti késleltetés csökkentését. Maga a késés a sebességről beszél; ha a késés nagyobb, akkor a motor fékez minden lépés között, így a forgás lassú. Ha a késés nulla közelében van, akkor a motor maximális sebességgel forog.
Itt nem szabad elfelejteni, hogy az impulzusok között némi késésnek kell lennie. Az impulzus megadása után a léptetőmotor néhány milliszekundumot vesz igénybe, hogy elérje végső szakaszát. Ha az impulzusok között nincs késés, a léptetőmotor egyáltalán nem fog mozogni. Az impulzusok között általában 50 ms késés van rendben. Pontosabb információkért keresse meg az adatlapot.
Tehát két gombbal szabályozhatjuk a késleltetést, amely viszont szabályozza a léptető motor fordulatszámát.