Sadržaj:
- Korak 1: Arduino kôd - naredbena stanica s tipkovnicom
- Korak 2: Arduino kod - TFT zaslon
- Korak 3: Kontroler izlaznosti
Video: Model željeznice - DCC -ovo zapovjedno mjesto pomoću Arduina :: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ažurirano u kolovozu 2018.-pogledajte nove Instructable:
Ažuriranje 28. travnja 2016.: Sada postoji 16 mogućnosti kontrole izlaznosti / točaka za zapovjednu stanicu. Skretnice T1 - T8 dostupne su putem tipke 'B' Skretnice T9 - T16 dostupne su putem tipke 'C'
Ažuriranje 10. ožujka 2016.:
Sada je dodano 8 mogućnosti upravljanja izlazom / točkama na zapovjednu stanicu. Arduino kôd je prema tome ažuriran korištenjem standardnog paketa NMRA za skretnice (također temeljen na studiji Lenz / Atlas Compact paketa podataka za kontrolu izlaznosti).
Skreti T1 - T8 dostupni su putem tipke 'B'
Pogledajte upute o korištenom krugu prijemnika paketa podataka i potrebnom Arduino kodu.
Ažuriranje 18. siječnja 2016.:
U krug sam dodao otpornik osjetnika struje (1k5 ohma) i kondenzator (10 uf) i izmijenio Arduino kôd tako da prekine napajanje kada se detektira vršna struja> 3200 mAmps. Specifikacije H-mosta navode izlaznu osjetnu struju od 377 uA po 1 Amp u opterećenju.
Otpornik od 1,5 k ohma dat će 0,565 volti po pojačalu na analogni pin 6. S 1023 koraka na analognom ulazu, to daje 0,565 * 1023 /5 = 116 po opterećenju pojačala.
A = 100 * (analogno čitanje (AN_CURRENT)) / 116; A = A * 10; (za dobivanje rezultata u miliamperima)
Struja opterećenja u miliamperima prikazana je na TFT -u
Puna tipkovnica 4x4 uključuje funkcije F1 do F8 i još 10 lokoma (1-19) preko tipke "#" (za dodavanje 10 numeričkim tipkama počevši od loco 10).
Arduino kôd uključuje NMRA standard za bajtove instrukcija.
Pogledajte vezu
www.nmra.org/sites/default/files/s-9.2.1_20…
(stranica 6 je od posebne važnosti)
Paketi su raspoređeni prema broju koraka u brzini, dugoj / kratkoj adresi i uputama skupine funkcija.
Svim bajtovima instrukcija prethodi preambula od '1' bitova 11111111 (ili praznog paketa) nakon čega slijedi;
npr. Adresa od 4 bajta 0 00000011 0 00111111 0 10000011 0 10111111
jednako loco 3, 128 koraka brzine, smjer naprijed i korak 3 brzine (krajnji bajt je provjera pogreške XOR)
npr. Adresa od 3 bajta 0 00000011 0 10010000 0 10110011
jednak loco 3, grupa funkcija 1, uključeno svjetlo FL plus XOR bajt (bit '0' odvaja svaki bajt)
Pogledajte priloženi demonstracijski video za loco 12.
Funkcije F1 - F8 dostupne su putem tipke 'A', DIR (tipka '*' = smjer) FL (tipka '0' = svjetla), a tipka '#' daje lokose 10 do 19 na numeričkoj tipkovnici. Tipka 'D' sada se koristi za 'HITNI STOP'.
Zahvaljujući raznim dobavljačima na webu za izvore DCC informacija i Arduino koda.
Konkretno, ovaj projekt inspiriran je Michaelom Blankom i njegovim 'Simple DCC - komandna stanica'
www.oscale.net/hr/simpledcc
4x4 matrična matrica sa 16 tipki, membranska sklopna tipkovnica (ebay) 1,75 kn
2,2 inčni 240x320 serijski SPI TFT LCD zaslon modul (ebay) 7,19 kn
UNIVERZALNI AC ADAPTER 12V 5A 60W NAPAJANJE (eBay) 6,49 kn
Nano V3.0 Za Arduino sa CH340G 5V 16M kompatibilnim ATmega328P (ebay) 2 x 3,30 £ = 6,60 £
Modul upravljačkog programa motora LMD18200T za Arduino R3 (ebay) 6,99 kn
Priključci, žica, vero ploča, potenciometar cca 3,50 kn
Ukupno 32,52 GBP
Osnovna komandna stanica bez tft ekrana i 1 x nano bila bi 22,03 £
[Napomena: Moguće je dodati memorijsku karticu na TFT zaslon i izmijeniti kôd za prikaz slika odabranih strojeva, iako se bibliotečki kodovi moraju urediti kako bi se stvorila dodatna memorija za skicu. Trenutna veličina skice je najveća za TFT Arduino Nano]
Originalni Arduino kôd Michaela Blanka bio je za jedan motor, samo naprijed / nazad bez kontrole funkcija, tipkovnice i zaslona.
Promijenio sam kôd tako da uključuje 1 - 19 motora, zaslon, smjer, svjetla, 8 funkcija, zaustavljanje u nuždi i ograničenje automatske struje.
Most LMD18200T može nositi do 3 ampera što ga čini pogodnim za sve vage, uključujući G-skalu (vrtni vlakovi). Mrežno napajanje i elektronika prikladni su samo za uporabu u zatvorenim prostorima, osim ako ih ne možete zaštititi od vremenskih uvjeta. Imam zapovjednu stanicu u ljetnikovcu sa žicama za spajanje žica koje istječu kroz zid do kolosijeka.
Korak 1: Arduino kôd - naredbena stanica s tipkovnicom
Zahvaljujem se tvantenna2759 što je ukazao na 2 pogreške u dijagramu spoja gdje Arduino kôd nije odgovarao ožičenju, sada ažurirano (21. listopada 2017.).
Sada je dodano 16 skretanja na zapovjednu stanicu. Pogledajte upute za dijagram kruga izlaznosti / točaka pomoću Arduino Mini Pro modula.
Modificirani kôd, uključujući kontrolu izlaznosti, nalazi se u nastavku.
Osnovni paket dekodera dodatne opreme je: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Analizirajući paket koji koristi Lenz (Compact / Atlas) za kontrolu točaka, upotrijebio sam sljedeći format binarnog paketa za bajtove 1 i 2: tunAddr = 1 Izlaz 1a: 1000 0001 1111 1000 / Izlaz 1b: 1000 0001 1111 1001 Izlaz 2a: 1000 0001 1111 1010 / Skret 2b: 1000 0001 1111 1011 Izlaz 3a: 1000 0001 1111 1100 / Izlaz 3b: 1000 0001 1111 1101 Izlaz 4a: 1000 0001 1111 1110 / Izlaz 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- Izlaz 5a: 1000 0010 1111 1000 / Izlaz 5b: 1000 0010 1111 1001 Izlaz 6a: 1000 0010 1111 1010 / Izlaz 6b: 1000 0010 1111 1011 Izlaz 7a: 1000 0010 1111 1100 / Skretanje 7b: 1000 0010 1111 1101 Skretanje 8a: 1000 0010 1111 1110 / Skretanje 8b: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- Izlaz 9a: 1000 0011 1111 1000 / Izlaz 9b: 1000 0011 1111 1001 itd ………
Izvadak iz izmijenjenog koda: Dodajte još 2 ažuriranja poruke "struct", izbjegavajte izmjenu_tun1 (poruka strukture i x) {x.data [0] = 0x81; // dekoder dodatne opreme 0x80 & adresa 1 x.data [1] = 0; }
void replace_tun2 (struct poruka & x) {x.data [0] = 0x82; // dekoder dodatne opreme 0x80 & adresa 2 x.data [1] = 0; }
Dodaj novu prazninu za skretnice: boolean read_turnout () {delay (20);
boolean promijenjen_t = false; get_key ();
if (key_val> = 101 && key_val <= 404 && turn == 1) {
podaci = 0xf8; // = binarni 1111 1000
edit_tun1 (poruka [1]);
}
if (key_val> = 505 && key_val <= 808 && turn == 1) {
podaci = 0xf8; // = binarni 1111 1000
edit_tun2 (poruka [1]);
}
if (key_val == 101 && turn == 1) {
ako (tun1 == 1) {
podatak | = 0; // t1a
promijenjeno_t = istina;}
ako (tun1 == 0) {
podatak | = 0x01; // t1b
promijenjeno_t = istina;}
}
if (key_val == 202 && turn == 1) {
ako (tun2 == 1) {
podatak | = 0x02; // t2a
promijenjeno_t = istina;
}
ako (tun2 == 0) {
podatak | = 0x03; // t2b
promijenjeno_t = istina; }
}
if (key_val == 303 && turn == 1) {
ako (tun3 == 1) {
podatak | = 0x04; // t3a
promijenjeno_t = istina;
}
ako (tun3 == 0) {
podatak | = 0x05; // t3b
promijenjeno_t = istina;}
}
if (key_val == 404 && turn == 1) {
ako (tun4 == 1) {
podatak | = 0x06; // t4a
promijenjeno_t = istina;
}
ako (tun4 == 0) {
podaci | = 0x07; // f4b
promijenjeno_t = istina;}
}
if (key_val == 505 && turn == 1) {
ako (tun5 == 1) {
podatak | = 0; // t5a
promijenjeno_t = istina;
}
ako (tun5 == 0) {
podatak | = 0x01; // t5b
promijenjeno_t = istina;}
}
itd ………………….
Korak 2: Arduino kod - TFT zaslon
Krug prikaza ostaje isti s izmijenjenim kodom za prikaz statusa 16 skretnica. Napomena: Kod knjižnice zauzima gotovo svu memoriju koda skice ostavljajući malo prostora za nove značajke. Ako netko ima učinkovitiju datoteku knjižnice za TFT koji se ovdje koristi, molim da mi to javi.
Korak 3: Kontroler izlaznosti
Pogledajte upute o tome kako napraviti kontroler izlaznosti / bodova.
Cijeli krug kontrolira 16 točaka i 15 dodataka, poput svjetla, zvukova, gramofona itd.
Preporučeni:
Arduino pomoćnik pri parkiranju - svaki put parkirajte automobil na pravo mjesto: 5 koraka (sa slikama)
Arduino pomoćnik pri parkiranju - Svaki put parkirajte automobil na pravo mjesto: U ovom ću vam projektu pokazati kako izgraditi vlastitog pomoćnika za parkiranje pomoću Arudina. Ovaj pomoćnik pri parkiranju mjeri udaljenost do vašeg automobila i vodi vas da ga parkirate na pravo mjesto pomoću očitanja LCD zaslona i LED diode, koja napreduje
Laptop Touchpad kontrolirani model željeznice - PS/2 Arduino sučelje: 14 koraka
Model željeznice za prijenosno računalo s dodirnom podlogom | PS/2 Arduino sučelje: Touchpad prijenosnog računala jedan je od sjajnih uređaja koji se može koristiti kao ulaz za projekte mikrokontrolera. Stoga danas, implementirajmo ovaj uređaj s Arduino mikrokontrolerom za upravljanje modelom željeznice. Pomoću dodirne podloge PS/2 moći ćemo kontrolirati 3 t
Dodajte idler (mjesto montaže druge osi) na mikro servo za robotske projekte: 4 koraka
Dodavanje razmaka (2. točka osi za montažu) na mikro servomotore za robotske projekte: U humanoidnim robotskim projektima, servo pogoni se koriste na zglobovima za pomicanje različitih segmenata robota, većinu vremena najbolje je montirati svaki segment na 2 ili više točaka na rotirajuća os servo za stabilnost i pravilan prijenos okretnog momenta..Sma
Automatizirani model željeznice od točke do točke s dvorišnim kolosijekom: 10 koraka (sa slikama)
Automatizirana željeznička pruga od točke do točke s dvorišnim kolosijekom: Arduino mikrokontroleri otvaraju velike mogućnosti u modeliranju željeznica, posebno kada je u pitanju automatizacija. Ovaj projekt je primjer takve aplikacije. Nastavak je to jednog od prethodnih projekata. Ovaj projekt sastoji se od točke
UCL - Ugrađeno - Odabir i mjesto: 4 koraka
UCL - Ugrađeno - Odabir i mjesto: Ova instrukcija će proći kroz način izrade 2D jedinice odabira i postavljanja te kako je kodirati