PS2 Handkontroll gränssnitt (3 / 8 steg)
Steg 3: Hur jag byggde det
Nu när jag säger på fel sätt och på rätt sätt, vad jag har gjort är inte nödvändigtvis fel, det fungerar mycket bra, men om MSP430 var ansluten till något som behövs för att returnera värden också, en logik nivå shifter skulle vara vägen att gå. Så här fungerar bra nog för vad jag behövde, men god praxis skulle vara att göra det på andra sätt så detta inte kanske alltid fungerar.
Intro
Istället för att använda en logik nivå shifter, använde jag en hex inverter kan göra ungefär samma sak. Också jag inte använder en 3.3V regulator och istället eftersom MSP430 kan anslutas till en USB-port via en USB-A till USB-Mini kabel som förser den med 5v och reglerar det det sig själv till 3.3V, jag använde en 1 fot kabel till plugg den in i 5v leverans jag byggt till droppa 12v ner för L298. Den trådlös donglen för styrenhet jag avstängd 3.3V-utgången på MSP430.
Hur och varför
För att kommunicera från MSP430 till L298 som jag sa tidigare använde jag en hex inverter, närmare bestämt en CD4069CN. Denna hex inverter kan levereras med något mellan 3v upp till 15v och inverter utgångarna när hög kommer produktionen matningsspänningen (så 3v upp till 15v, oavsett vad du anger IC med), i detta fall 5v. Ingångarna är emellertid CMOS och TTL kan, så jag kan förse det med 0v för låg och allt mellan 3v och 5v för hög, inklusive 3.3V från MSP430 när dess resultat går hög.
En annan fördel som detta hade var för enkelhet skaka. L298 styr 2 dc-motorer, har 6 stift att göra detta och kan styra; på, av, framåt, bakåt och hastighet kontroll av varje motor individuellt med hjälp av dessa 6 pins. Om du vill kan allt detta, det är bra, minor fortfarande om du tar bort den hex invertern från sin sockel, men du kan minska det till 4 stift för kontroll så att du har; på, av, framåt och bakåt för varje motor. Dess ett vakuum, jag ville att det skulle gå framåt, bakåt och vrid åt vänster eller höger på plats eller stå helt stilla, detta ger utmärkt kontroll av det för dammsugning och varvtalsreglering var inte behövs.
L298 förklaring
6 stift kontrollera 3 varje motor; I A, B och aktivera. Nu är aktivera vi använder helt enkelt som på och av, men om vi gör i A och i B inverser av varandra med hex omriktaren, oavsett signal (hög eller låg) vi skickar till hex omriktaren, när den når L298 antingen framåt eller bakåt. Så ledningarna för en motor controller på L298 är följande, 2 utgångar från MSP430 går till 2 inverter ingångar, en är vår aktivera och produktionen av denna inverter går att aktivera PIN-koden på L298. Den andra inverter utdata riktning och det går till i och den tredje inverter ingång. Den tredje invertern ut put går till i B. Dess en hex inverter, det finns 6 ombord, vi har redan använt 3, de andra 3 är för andra motor styrenhet. Skölj och upprepa.
Slutsats
Så eftersom jag alltid känner att jag inte klart eller jag går in i saker för mycket, detta är det helt enkelt; för att få MSP430 att kommunicera med L298 motor controller eftersom de använder olika spänningar, använde jag en CD4069CN inverter IC slags konvertera lägre MSP430 spänningen till en högre L298 kunde förstå. Jag har också använt det så jag kunde använda 4 stift på MSP430 för att styra 2 Roomba drive motorer istället för att behöva använda 6 stift på MSP430. Jag är ganska säker på att detta är typ av böja reglerna lite, men det fungerar tillräckligt bra här.