egy mobil robot építésének története

Robotkocsi

Robotkocsi

Kutatók Éjszakája

élmények és tanulságok

2017. október 12. - dralisz82

Lezajlott pénteken a Kutatók Éjszakája, és szerencsére nem sokat pihenhettem a standnál. Az egyéb apróbb demonstrációs eszközeim (mint például TI LaunchPad, MKII Educational valamint CC2650 BLE BoosterPack, egy IBT-4 motorvezérlővel és egy kis 3D nyomtatott ventillátorral kiegészítve (melyet egy ősrégi játékomból régen kiszedett szovjet gyártmányú villanymotor hajtott) erősen háttérbe szorultak az autó mellett. Pedig azokkal is érdekes technikákat, szoftvermegoldásokat lehetett demonstrálni.

Azért szerencsére azokat sem feleslegesen vittem. Volt érdeklődő, akivel a PWM vezérlés alapjait, volt, akivel a hardver absztrakciós réteg, vagy a beágyazott operációs rendszerek lényegét ismertettem meg. Volt, hogy ezekből is jó kis beszélgetések alakultak.
A fő attrakció azonban az autó volt, ami szintén sok területet érintő beszélgetésnek volt a kiindulópontja. Az érdeklődők fő korosztálya az általános- és középiskolások voltak. Volt - pláne a kisebbek közül - aki inkább a vezetést élvezte, de a legtöbben a technikai részletekre is kíváncsiak voltak.

robotkocsi_044_kutej.jpg

Amellett, hogy nagyon érdeklődtek, sok jó meglátásuk, ötletük volt. Ilyen volt például, (hallva, hogy az autó az utoljára kapott parancs szerint működik, amíg új parancsot nem kap) hogy mi történik, ha megszakad a kapcsolat a távvezérlőként használt Bluetooth eszközzel (telefonnal), miért nem áll le olyankor. Ezek a felvetések olyankor érkeztek, amikor az autó nem állt meg azonnal, az előre gomb felengedésekor.
Válaszom az volt, hogy nincs akadálya, hogy így működjön, pusztán a legalapvetőbb irányítás megvalósítására volt csak időm. Így viszont kaptam egy jó kis feladatot az irányítás továbbfejlesztésére. A másik probléma az volt, hogy a motor PWM-es lekorlátozása miatt néha - különösen hátramenetben - nehezen indult meg az autó, ha megindult, akkor viszont egész jó sebességet vett fel. Ezen a motorteljesítmény dinamikus szabályozása segítene (második házi feladat). Ezeket leszámítva az autót tökéletesen lehetett irányítani, így (a fentiek és az alább részletezett apró probléma ellenére) sikeresnek értékelem a fejlesztés első ütemét.

robotkocsi_045_kutej.jpg

A rohamtempóban fejlesztés, építés során elkövettem azt a hibát, hogy volt, hogy csak az adott részfeladat teljesítésére koncentráltam, nem gondolkodtam előre. Így sikerülhetett a lámpatesteket közös katódos módon vezetékezni, majd az NPN (BC547-es) tranzisztoros vezérlés összerakásakor szembesülni az eredménnyel, hogy a lámpák nagyon halványan világítanak. Ennek oka, hogy a közös katódos bekötés miatt a tranzisztorok a LED-ek katódjai és a tápfeszültség közé (potenciálszintben kifejezve a LED-ek fölé) kerültek, és bár a lámpák vezérléséhez 5 V-os tápfeszültséget használok, de a Freedom boardról érkező vezérlőjelek csak 3.3 V-osak, így - különösen a fehér LED-ek vezérlésénél a bázis-emitter feszültségkülönbség a kívánt minimum 0.7 V helyett 0.3 V körül alakult, ami a LED-ek nyitófeszültségének ismeretében a következő dilemma elé állít minket:
Ha a 0.7 V-os B-E feszültségesést el akarjuk érni, akkor beiktathatunk egy ellenállást a kollektor és a tápfeszültség közé, de ekkor a LED-ek 3 V körüli nyitófeszültségét nem fogjuk elérni. Róka fogta csuka, mondhatjuk.
Nem véletlen, hogy szinte egyeduralkodó módon a közös anódos LED vezérlés terjedt el, ahol nincsen ilyen gond, mivel a LED-ek a tranzisztor "fölött", a kollektor és a tápfeszültség között helyezkednek el, ahol a tápfeszültség helyes megválasztásával gondoskodhatunk a nyitófeszültségük eléréséről. Az emitter ez esetben közvetlenül a negatív pólushoz, a "földhöz" kapcsolódik, tehát a tranzisztor nyitófeszültségének eléréséhez csak arra van szükség, hogy a vezérlő jel legalább akkora (esetünkben 0.7 V-nál nagyobb) potenciálon legyen.

Mi lehet a megoldás?

Át lehetne huzalozni a LED-eket, végülis csak a lámpatesteknél kell leforrasztani a vezetékeket, majd felcserélni a polaritást és visszaforrasztani őket. Ekkor a fekete vezeték a közös negatív pólus helyett a közös anód lenne. Ez macerás, nameg olyan szépen behajtogattam a LED-ek lábait, nézzük, milyen megoldások vannak még.


Naív, és extrém ötlet a szilícium NPN tranzisztort egy germánium tranzisztorral helyettesíteni, hiszen azoknak csak 0.3 V körüli a Vbe nyitófeszültségük. Felejtsük is el gyorsan ezt az ötletet, mert minden más tulajdonságukban rosszabbak a szilíciumból készült társaiknál (részletekért lásd a Wikipedia szócikkét), éppen ezért már ki is szorultak a mindennapi használatból.


Ami bennem először felmerült, hogy PNP tranzisztorokkal helyettesítsem az NPN tranzisztorokat. Volt is kéznél pár BC212-es és 213-as példány, így kipróbáltam, hogy mi történik, ha szimplán helyettesítem a BC547-eseket, mégpedig úgy, hogy a "befelé" irányú emitter, valamint a kollektor kivezetése helyet cserél egymással az NPN kapcsoláshoz képest. A csere azért szükséges, mert a PNP tranzisztorban az emitter felől folyik az áram a kollektor felé. Azt érdemes tudni, hogy a PNP tranzisztor akkor nyit, ha a bázisa a negatív pólusra van kötve (ez picit egyszerűsített magyarázat, de nagyjából jól leírja a működést). Igazából itt is a 0.7 V-nál nagyobb Vbe a feltétel (csak fordított előjellel).
Kipróbáltam, és valóban, teljes fényerőn világítottak a LED-ek, amikor a bázist "földeltem", azonban hiába kapcsoltam rá a 3.3 V-os vezérlőjelet, most az lett a probléma, hogy nem lehet teljesen kikapcsolni őket.

A PNP tranzisztoros ötlet ettől még nem rossz, pusztán hiányzik még valami belőle. Kis keresgéléssel találtam egy nagyon jó angol nyelvű magyarázatot, és megoldást a problémára. Legalábbis elsőre úgy tűnt. Itt a trükk az, hogy a LED-ek közös katódja és a vezérlő áramkör negatív pólusa közé - mondhatjuk úgy is, hogy a LED-ekkel sorosan kapcsolva - beiktatunk egy diódát. Szkeptikus voltam, mert nem gondoltam, hogy plusz egy diódányi feszültségesés beiktatása bármit is változtatna a helyzeten, de azért kipróbáltam. Természetesen nem jött be ez a megoldás sem. Marad tehát az átvezetékezés és a tanulság, hogy mindig gondolkodjunk előre, még időnyomás mellett is.

A bejegyzés trackback címe:

https://robotkocsi.blog.hu/api/trackback/id/tr3312928279

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása