Kapcsolási rajz
1. Lépés : Valahogy össze kell kötni a Raspberry Pi-t az L298N motorvezérlővel és a 2 db DC motorral. Rengeteg fórumot kellett átnyálaznom, mire sikerült kibogozni, hogy mit-mivel kössek össze, hogy minden jól működjön, a végeredmény pedig ez lett:
"Kapcsolási rajz"
PI-----------L298N
PIN2 ------ VCC
PIN6 ------ GND
PIN8 ------ IN1
PIN10 ------ IN2
PIN12 ------ ENA1 (Motor 1 PWM control)
PIN24 ------ IN4
PIN26 ------ IN3
Ext. 5V --- 5V
Ext. GND --- GND
Magyarázat
Az L298N motorvezérlővel 2 db DC motort tudunk meghajtani, illetve szabályozni a motorok forgási irányát és sebességét. A Raspberry Pi-n sajnos csak 1 db tű található, amivel a sebességet tudjuk állítani, így csak az egyik motor lesz változtatható sebességű, a másik az marad fix, de ez jelen esetben nem is probléma, mivel a kisautón, csak a hátsó motor szolgál meghajtásra, az első csak kormányoz.
Mivel nem akartam közvetlenül a Pi-ről venni az 5V-os tápot a motorokhoz, ezért ahhoz külső akksit használtam, aminek a földjét szintén rákötöttem a motorvezérlő földjére.
Első körben, nem az autó motorjait használtam, hanem 2 db CD meghajtóból kiszerelt, éppen kéznél lévő motorokkal kísérleteztem.
Miután mindent összekötöttem mindennel, nagy levegőt vettem, elmondtam egy imát magamba és benyomtam az elosztó kapcsolóját, hogy lássam, nem-e történik valami baj, de a kezem végig a kapcsolón maradt, hogy ha netán valami füstölni kezdene, tudjam menteni a menthetőt. Szerencsére nem füstölt semmi, a Rapberry Pi szépen bootolt, úgyhogy megnyugodtam :)
Rapberry Pi GPIO portjait könnyű vezérelni, mivel egy úriember írt hozzá egy library-t, amit azon nyomban le is szedtem és feltelepítettem.
Nem maradt más hátra, áttanulmányoztam a példa programokat és nekiálltam C-ben megírni a motor vezérlő szoftvert, amihez készítettem egy "szép" kis GUI felületet is:
Az L298N-en van 4 db tű (IN1,IN2,IN3,IN4) amivel meg tudjuk mondani, hogy melyik motor merre forogjon, tehát ha ezeket összekötjük a PI-nek a megfelelő GPIO tüskeivel és küldünk rájuk egy 1-est vagy 0-át, a motorok máris forogni kezdenek. :D
Ha a MOTOR1 sebességet is szeretnénk szabályozni, akkor a PIN12-ön keresztül kell egy 0-255-ig terjedő értéket küldenünk a motorvezérlő ENA1 tűjére.(ENA2-vel a MOTOR2-öt tudnánk vezérelni, ha a Pi-n volna még egy PWM-et tudó tű, de sajnos nincs)
A cikk még nem ért véget, kérlek, lapozz!