Sadržaj:
Video: Arduino kontroler vlaka 2-u-1: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Prije četrdeset godina sam za nekoliko prijatelja dizajnirao prigušivač vlaka temeljen na op-amp-u, a zatim sam ga prije otprilike četiri godine ponovo stvorio pomoću PIC mikrokontrolera. Ovaj Arduino projekt ponovno stvara PIC verziju, ali također dodaje mogućnost korištenja Bluetooth veze umjesto ručnih prekidača za gas, kočnicu i kontrolu smjera. Iako je dizajn koji ovdje predstavljam usmjeren na 12 -voltni model željezničkog motora, može se lako promijeniti za razne druge aplikacije upravljanja istosmjernim motorom.
Korak 1: Modulacija širine impulsa (PWM)
Za one od vas koji nisu upoznati s PWM -om, to nije tako zastrašujuće kako zvuči. Za našu jednostavnu aplikaciju upravljanja motorom zaista znači da generiramo kvadratni val određene frekvencije, a zatim mijenjamo radni ciklus. Radni ciklus je definiran kao omjer vremena u kojem je izlaz logički visok u odnosu na period valnog oblika. To možete jasno vidjeti na gornjoj shemi s gornjim talasnim oblikom pri radnom ciklusu od 10%, srednjim talasnim oblikom pri 50% radnog ciklusa i donjim talasnim oblikom pri 90% radnom ciklusu. Isprekidana linija postavljena na svaki valni oblik predstavlja ekvivalentni istosmjerni napon koji vidi motor. S obzirom na to da Arduino ima ugrađenu PWM sposobnost, generiranje ove vrste upravljanja istosmjernim motorom zaista je jednostavno. Još jedna prednost korištenja PWM -a je ta što pomaže u sprječavanju pokretanja motora koji se može dogoditi pri korištenju istosmjernog napona. Jedan nedostatak PWM -a je taj što se ponekad čuje šum motora na frekvenciji PWM -a.
Korak 2: Hardver
Prva slika prikazuje Arduino veze za prekidače i modul upravljačkog programa motora LM298. Unutar Arduina postoje slabi pull-up otpornici pa za prekidače nisu potrebni pull-up otpornici. Prekidač za smjer je jednostavan SPST prekidač (jednopolno jednokratno bacanje). Prekidači za gas i kočnicu prikazani su kao normalno otvoreni, kratki kontaktni tasteri.
Druga slika prikazuje Arduino veze za Bluetooth modul i modul upravljačkog programa motora LM298. Bluetooth TXD izlaz povezuje se direktno sa serijskim ulazom Arduino RX.
Treća slika je L298N dual H-bridge modul. Modul LM298 ima ugrađeni regulator od 5 volti koji se može aktivirati pomoću kratkospojnika. Trebamo +5 volti za Arduino i Bluetooth, ali želimo +12 volti za pogon motora. U ovom slučaju primjenjujemo +12 volti na ulaz " +12V napajanja" L298N i ostavit ćemo kratkospojnik za "5V omogućavanje" na mjestu. To omogućuje 5-voltnom regulatoru izlaz na vezu "+5 napajanje" na modulu. Spojite to na Arduino i Bluetooth. Ne zaboravite spojiti žice za uzemljenje za +12 ulaz i +5 izlaz na modul "GND za napajanje".
Želimo da izlazni napon motora varira ovisno o PWM -u koji generira Arduino, umjesto da bude samo uključen ili potpuno isključen. Da bismo to učinili, uklanjamo kratkospojnike s “ENA” i “ENB” i povezujemo naš Arduino PWM izlaz s “ENA” na modulu. Imajte na umu da je stvarni pin za omogućavanje najbliži rubu ploče (pored "ulaznih" pinova). Zadnji pin za svako omogućavanje je +5 volti pa želimo biti sigurni da se na to ne povezujemo.
Igle “IN1” i “IN2” na modulu povezane su sa odgovarajućim Arduino pinovima. Ti pinovi upravljaju smjerom motora i, da, postoji dobar razlog da dopustite Arduinu da ih kontrolira umjesto da jednostavno povežete prekidač s modulom. Vidjet ćemo zašto u raspravi o softveru.
Korak 3: Bluetooth modul
Slika prikazana ovdje tipična je za dostupne Bluetooth module. Kada tražite jedan za kupovinu, možete pretraživati pojmove “HC-05” i HC-06 “. Razlike između njih su u firmveru i obično u broju pinova na ploči. Gornja slika je HC-06 modul i dolazi sa pojednostavljenim firmverom koji dozvoljava samo vrlo osnovnu konfiguraciju. Također je postavljen kao Bluetooth uređaj samo za "slave". Jednostavno rečeno, to znači da može reagirati samo na naredbe s “Master” uređaja i ne može samostalno izdavati naredbe. HC-05 modul ima više mogućnosti konfiguracije i može se postaviti kao "Master" ili "Slave" uređaj. HC-05 obično ima šest pinova umjesto samo četiri prikazana gore za HC-06. PIN za stanje nije zapravo važan, ali je ključ za ključeve (ponekad se naziva i drugim nazivima poput "EN") potreban ako želite izvršiti bilo koju konfiguraciju. Općenito, moduli ne trebaju nikakvu konfiguraciju ako ste u redu sa zadanom brzinom prijenosa od 9600 i ne želite dati modulu posebno ime. Imam nekoliko projekata u kojima ih koristim pa ih volim prema tome nazvati.
Konfiguriranje Bluetooth modula zahtijeva da kupite ili izgradite sučelje za RS-232 serijski port ili USB port. U ovom postu neću govoriti o tome kako ga izgraditi, ali trebali biste biti u mogućnosti pronaći informacije na webu. Ili jednostavno kupite interfejs. Komande za konfiguraciju koriste AT komande poput onih koje su se nekada koristile sa telefonskim modemima. Ovdje sam priložio korisnički priručnik koji uključuje AT naredbe za svaki tip modula. Treba napomenuti da HC-06 zahtijeva naredbe UPPERCASE i da se niz naredbi mora dovršiti u roku od 1 sekunde. To znači da će neke dulje nizove za stvari poput promjene brzine prijenosa trebati izrezati i zalijepiti u vaš terminalni program ili ćete morati postaviti tekstualne datoteke za slanje. UPPERCASE zahtjev je samo ako pokušavate poslati konfiguracijske naredbe. Uobičajeni način komunikacije može prihvatiti bilo koje 8-bitne podatke.
Korak 4: Softver
Softver je prilično jednostavan i za ručnu i za Bluetooth verziju. Da biste odabrali Bluetooth verziju, jednostavno uklonite komentar s izjave "#define BT_Ctrl".
Kad sam pisao PIC kod, eksperimentirao sam s PWM frekvencijom i konačno se zaustavio na 500 Hz. Otkrio sam da, ako je frekvencija previsoka, modul LM298N ne može reagirati dovoljno brzo na impulse. To je značilo da izlazni napon nije linearan i da može podnijeti velike skokove. Arduino ima ugrađene PWM naredbe, ali vam dopuštaju samo da mijenjate radni ciklus, a ne i frekvenciju. Srećom, frekvencija je oko 490-Hz pa je to dovoljno blizu 500-Hz koje sam koristio na PIC-u.
Jedna od “karakteristika” prigušivača vlaka je osjećaj zamaha pri ubrzanju i kočenju kako bi se simuliralo kako funkcionira pravi vlak. Da bi se to postiglo, jednostavno vremensko kašnjenje je umetnuto u petlju za ručnu verziju softvera. S prikazanom vrijednošću, potrebno je približno 13 sekundi da prijeđete od 0 do 12 volti ili od 12 volti natrag na nulu. Odgoda se može lako promijeniti na duže ili kraće vrijeme. Jedini slučaj kada momentum nije na snazi je kada se promijeni prekidač smjera. Radi zaštite, radni ciklus PWM -a se odmah postavlja na 0% kad god se ovaj prekidač promijeni. To, u stvari, čini da se prekidač za smjer udvostruči i kao kočnica u nuždi.
Da bih osigurao trenutno rukovanje prekidačem smjera, stavio sam njegov kod u rukovatelj prekida. To nam također omogućuje da koristimo funkciju „prekid pri promjeni“tako da nije važno je li promjena s niske na visoku ili s visoke na nisku.
Bluetooth verzija softvera koristi naredbe od jednog slova za pokretanje funkcija naprijed, natrag, kočenje i gas. U stvari, primljene naredbe zamjenjuju ručne prekidače, ali izazivaju iste odgovore. Aplikaciju koju koristim za Bluetooth kontrolu naziva Next Prototypes “Bluetooth serijski kontroler”. Omogućuje vam konfiguriranje virtualne tipkovnice i postavljanje vlastitih naredbenih nizova i imena za svaku tipku. Također vam omogućuje da postavite brzinu ponavljanja, pa sam tipke kočnice i gasa postavio na 50 ms kako bih dao zamah od 14 sekundi. Onemogućio sam funkciju ponavljanja za tipke naprijed i natrag.
To je to za ovaj post. Pogledajte moje ostale instrukcije. Ako ste zainteresirani za projekte PIC mikrokontrolera, posjetite moju web stranicu na www.boomerrules.wordpress.com
Preporučuje se:
Automatski model željezničkog rasporeda koji vozi s dva vlaka (V2.0) - Arduino zasnovano: 15 koraka (sa slikama)
Automatski model željezničkog rasporeda koji vozi s dva vlaka (V2.0) | Arduino zasnovano: Automatizacija rasporeda željezničkih modela pomoću Arduino mikrokontrolera odličan je način za spajanje mikrokontrolera, programiranje i pružanje modela u jedan hobi. Dostupno je nekoliko projekata o autonomnom voženju vlaka na modelu railroa
Raspored automatiziranog modela vlaka (verzija 1.0): 12 koraka
Automatizirani raspored vlakova modela (verzija 1.0): Vozove s modelima uvijek je zabavno imati i voziti. No, čini se da je njihovo ručno upravljanje pomalo dosadno. Dakle, u ovom uputstvu pokazat ću vam kako možete automatizirati svoj model željezničkog rasporeda tako da možete sjediti i opustiti se dok gledate svoj
Prikaz vlaka i vremena u Velikoj Britaniji: 5 koraka
Prikaz vlaka i vremena u Velikoj Britaniji: Ovo uputstvo je za polaske vlakova u Velikoj Britaniji i prikaz vremena. Koristila je bazu podataka National Rail OpenLDBWS za dobivanje informacija o polasku vlaka u stvarnom vremenu za određenu lokalnu željezničku stanicu i njihovo prikazivanje. Koristi otvoreni vetar
Arduino kontroler za igre uradi sam. Arduino PS2 kontroler igre - Igranje Tekkena s DIY Arduino gamepadom: 7 koraka
Arduino kontroler za igre uradi sam. Arduino PS2 kontroler igre | Igranje Tekkena s DIY Arduino gamepad -om: Zdravo momci, igranje igara uvijek je zabavno, ali igranje sa vlastitim DIY prilagođenim kontrolorom igara je zabavnije. Zato ćemo napraviti kontroler igre pomoću arduino pro micro u ovim uputama
Jednostavni automatizirani model željeznice od tačke do tačke koja vozi dva vlaka: 13 koraka (sa slikama)
Jednostavna automatizirana željeznička linija od tačke do točke koja vozi s dva vlaka: Arduino mikrokontroleri odličan su način za automatiziranje izgleda željezničkih modela zbog njihove jeftine dostupnosti, hardvera i softvera otvorenog koda te velike zajednice koja vam može pomoći. Za modele željeznica, Arduino mikrokontroleri mogu se pokazati kao gr