İçindekiler:
- Adım 1: Arduino Kodu - Tuş Takımlı Komuta İstasyonu
- Adım 2: Arduino Kodu - TFT Ekran
- Adım 3: Katılım Kontrolörü
Video: Model Demiryolu - Arduino Kullanan DCC Komuta İstasyonu:: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Ağustos 2018'de güncellendi - yeni Eğitilebilir Dosyaya bakın:
28 Nisan 2016 Güncellemesi: Artık Komuta İstasyonuna 16 katılım / puan kontrol yeteneği. T1 - T8 katılımları 'B' tuşu ile kullanılabilir T9 - T16 katılımları 'C' tuşu ile kullanılabilir
10 Mart 2016 Güncellemesi:
Şimdi Komuta İstasyonuna 8 katılım / puan kontrol yeteneği eklendi. Arduino kodu, katılımlar için NMRA standart paketi kullanılarak uygun şekilde güncellenmiştir (ayrıca katılım kontrolü için Lenz / Atlas Compact veri paketlerinin çalışmasına dayanmaktadır).
T1 - T8 katılımları 'B' tuşu ile kullanılabilir
Kullanılan veri paketi alıcı devresi ve gerekli Arduino kodu hakkındaki talimatlara bakın.
18 Ocak 2016 Güncellemesi:
Devreye bir akım algılama direnci (1k5 ohm) ve kapasitör (10 uf) ekledim ve > 3200 mAmp'lik bir tepe akımı algılandığında gücü kesmek için Arduino kodunu değiştirdim. H köprüsü özelliği, yükte 1 Amper başına 377 uA çıkış algılama akımı belirtir.
1,5 k ohm direnç, analog pin 6'da Amp başına 0,565 volt verir. Analog girişte 1023 adım ile bu, Amp yükü başına 0,565 * 1023 / 5 = 116 verir.
A = 100 * (analogRead(AN_CURRENT)) / 116;A = A * 10; (miliamper olarak sonuç vermek için)
Miliamper cinsinden yük akımı TFT'de görüntülenir
Tam 4x4 klavye, F1'den F8'e kadar işlevleri ve '#' tuşuyla (lokomotif 10'dan başlayarak sayısal tuşlara 10 eklemek için) başka bir 10 lokomotifi (1-19) içerir.
Arduino kodu, talimat baytları için NMRA standardını içerir.
Bağlantıya bakın
www.nmra.org/sites/default/files/s-9.2.1_20…
(sayfa 6 özellikle önemlidir)
Paketler hız adım sayısı, uzun/kısa adres ve Fonksiyon Grubu komutlarına göre düzenlenir.
Tüm talimat baytlarından önce '1' bit 11111111 (veya boş paket) ve ardından gelen;
Örneğin. 4 baytlık bir adres 0 00000011 0 00111111 0 10000011 0 10111111
loco 3, 128 hız adımı, ileri yön ve hız adımı 3'e eşittir (bitiş baytı XOR hata kontrolüdür)
örneğin A 3 bayt adres 0 00000011 0 10010000 0 10110011
loco 3, fonksiyon grubu 1, FL yanıyor artı XOR baytına eşittir (her baytı bir '0' bit ayırır)
loco 12 için ekteki tanıtım videosuna bakın.
F1 - F8 işlevleri, 'A' tuşu, DIR ('*' tuşu = yön) FL ('0' tuşu = ışıklar) aracılığıyla kullanılabilir ve '#' tuşu sayısal tuş takımında 10 ila 19 arası locos verir. 'D' tuşu artık bir 'Acil DURDURMA' için kullanılıyor.
DCC bilgi kaynakları ve Arduino kodu için web'deki çeşitli sağlayıcılar sayesinde.
Bu proje özellikle Michael Blank ve 'Basit DCC - bir komuta istasyonu'ndan ilham almıştır.
www.oscale.net/en/simpledcc
4x4 Matris Dizisi 16 Anahtar Membrane Switch Tuş Takımı (ebay) £1,75
2,2 inç 240x320 Seri SPI TFT LCD Ekran Modülü (ebay) £7,19
EVRENSEL 12V 5A 60W GÜÇ KAYNAĞI AC ADAPTÖRÜ (ebay) 6,49 £
Nano V3.0 CH340G 5V 16M uyumlu ATmega328P (ebay) ile Arduino için 2 x 3,30 £ = 6,60 £
Arduino R3 (ebay) için Motor Sürücü Modülü LMD18200T £6,99
Konektörler, tel, vero kartı, potansiyometre yaklaşık 3,50 £
Toplam 32,52 £
Tft ekranı ve 1 x nano olmayan temel komut istasyonu 22,03 £ olur
[Not: TFT ekranına bir hafıza kartı eklemek ve seçilen motorların resimlerini görüntülemek için kodu değiştirmek mümkündür, ancak çizim için daha fazla hafıza oluşturmak için kütüphane kodlarının düzenlenmesi gerekir. Mevcut çizim boyutu, TFT Arduino Nano için maksimumda]
Michael Blank'ın orijinal Arduino kodu tek motor içindi, sadece ileri/geri fonksiyon kontrolü, tuş takımı ve ekran yoktu.
Kodu 1 - 19 motor, bir ekran, yön, ışıklar, 8 fonksiyon, acil durdurma ve otomatik akım limitini içerecek şekilde değiştirdim.
LMD18200T köprüsü 3 ampere kadar taşıyabilir, bu da onu G ölçeği (bahçe trenleri) dahil tüm ölçekler için uygun hale getirir. Şebeke güç kaynağı ve elektronik aksam, tamamen hava koşullarına dayanıklı hale getiremediğiniz sürece yalnızca iç mekanda kullanıma uygundur. Yazlık evde, duvardan raylara uzanan ray bağlantı telleri olan komuta istasyonum var.
Adım 1: Arduino Kodu - Tuş Takımlı Komuta İstasyonu
Arduino kodunun kablolamayla eşleşmediği devre şemasındaki 2 hatayı işaret ettiği için tvantenna2759'a teşekkürler, şimdi güncellendi (21 Ekim 2017).
Şimdi Komuta İstasyonuna 16 katılım eklendi. Arduino Mini Pro modülünü kullanarak katılım / puan devre şemasındaki talimatlara bakın.
Katılım kontrolünü içeren değiştirilmiş kod aşağıda eklenmiştir.
Temel Aksesuar kod çözücü paketi: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Lenz (Compact/Atlas) tarafından nokta kontrolü için kullanılan paketin analizinden, bayt 1 ve 2 için aşağıdaki ikili paket formatını kullandım: tunAddr = 1 Turnout 1a: 1000 0001 1111 1000 / Katılım 1b: 1000 0001 1111 1001 Katılım 2a: 1000 0001 1111 1010 / Katılım 2b: 1000 0001 1111 1011 Katılım 3a: 1000 0001 1111 1100 / Katılım 3b: 1000 0001 1111 1101 Katılım 4a: 1000 0001 1111 1110 / Katılım 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- Katılım 5a: 1000 0010 1111 1000 / Katılım 5b: 1000 0010 1111 1001 Katılım 6a: 1000 0010 1111 1010 / Katılım 6b: 1000 0010 1111 1011 Katılım 7a: 1000 0010 1111 1100 / Katılım 7b: 1000 0010 1111 1101 Katılım 8a: 1000 0010 1111 1110 / Katılım 8b: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- Katılım 9a: 1000 0011 1111 1000 / Katılım 9b: 1000 0011 1111 1001 vb ………
Değiştirilmiş koddan alıntı: 2 tane daha 'struct' mesajı ekleyin updatevoid amend_tun1 (struct Message & x) { x.data[0] = 0x81; // aksesuar kod çözücü 0x80 & adres 1 x.data[1] = 0; }
void amend_tun2 (struct Message & x) { x.data[0] = 0x82; // aksesuar kod çözücü 0x80 & adres 2 x.data[1] = 0; }
Katılımlar için yeni boşluk ekleyin:boolean read_turnout() { delay(20);
boolean değiştirildi_t = yanlış; anahtarı al();
if (key_val >= 101 && key_val <= 404 && dönüş == 1){
veri = 0xf8; // = ikili 1111 1000
amend_tun1(mesaj[1]);
}
if (key_val >= 505 && key_val <= 808 && dönüş == 1){
veri = 0xf8; // = ikili 1111 1000
amend_tun2(mesaj[1]);
}
if (key_val == 101 && dönüş == 1){
if (tun1 == 1){
veri |= 0; // t1a
change_t = doğru;}
if (tun1 == 0){
veri |= 0x01; // t1b
change_t = doğru;}
}
if (key_val == 202 && dönüş == 1){
if (tun2 == 1){
veri |= 0x02; // t2a
change_t = doğru;
}
if (tun2 == 0){
veri |= 0x03; // t2b
change_t = doğru; }
}
if (key_val == 303 && dönüş == 1){
if (tun3 == 1){
veri |= 0x04; // t3a
change_t = doğru;
}
if (tun3 == 0){
veri |= 0x05; // t3b
change_t = doğru;}
}
if (key_val == 404 && dönüş == 1){
if (tun4 == 1){
veri |= 0x06; // t4a
change_t = doğru;
}
if (tun4 == 0){
veri |= 0x07; // f4b
change_t = doğru;}
}
if (key_val == 505 && dönüş == 1){
if (tun5 == 1){
veri |= 0; // t5a
change_t = doğru;
}
if (tun5 == 0){
veri |= 0x01; // t5b
change_t = doğru;}
}
vesaire ………………….
Adım 2: Arduino Kodu - TFT Ekran
Gösterim devresi, 16 katılımın durumunu göstermek için değiştirilmiş bir kodla aynı kalır. Not: Kitaplık kodu, taslak kodu belleğinin neredeyse tamamını kaplar ve yeni özellikler için çok az yer bırakır. Burada kullanılan TFT için daha verimli bir kitaplık dosyası olan varsa lütfen bana bildirin.
Adım 3: Katılım Kontrolörü
Katılım / Puan denetleyicisinin nasıl yapılacağına ilişkin talimata bakın.
Komple devre 16 noktayı ve ışıklar, sesler, döner tabla vb. 15 aksesuarı kontrol eder.
Önerilen:
Model Demiryolu için WiFi DCC Komuta İstasyonu: 5 Adım
Model Demiryolu için WiFi DCC Komuta İstasyonu: 5 Nisan 2021'de güncellendi: devre bileşenlerine yeni taslak ve mod.Yeni taslak: command_station_wifi_dcc3_LMD18200_v4.ino Talimatları iletmek için WiFi kullanan yepyeni DCC sistemi 3 cep telefonu/tablet kısma düğmesi, ideal bir düzende kullanılabilir NS
Basit Otomatik Noktadan Noktaya Model Demiryolu: 10 Adım (Resimlerle)
Basit Otomatik Noktadan Noktaya Model Demiryolu: Arduino mikro denetleyicileri, model demiryolu yerleşimlerini otomatikleştirmek için mükemmeldir. Düzenleri otomatikleştirmek, düzeninizi, düzen işleminin trenleri otomatik bir sırayla çalıştıracak şekilde programlanabileceği bir ekrana koymak gibi birçok amaç için kullanışlıdır. Ben
Otomatik Dış Cephe Kaplamalı Model Demiryolu Düzeni: 13 Adım (Resimlerle)
Otomatik Dış Cephe Kaplama ile Model Demiryolu Düzeni: Model tren yerleşimleri yapmak harika bir hobidir, otomatikleştirmek onu çok daha iyi hale getirecektir! Otomasyonunun bazı avantajlarına bir göz atalım: Düşük maliyetli çalışma: Tüm düzen, bir L298N mo
Klavye Kontrollü Model Demiryolu Düzeni V2.5 - PS/2 Arayüzü: 12 Adım
Klavye Kontrollü Model Demiryolu Düzeni V2.5 | PS/2 Arayüzü: Arduino mikro denetleyicilerini kullanarak, model demiryolu yerleşimlerini kontrol etmenin birçok yolu vardır. Bir klavyenin, birçok işlev eklemek için çok sayıda tuşa sahip olması gibi büyük bir avantajı vardır. Şimdi lokomotif ve lokomotif ile basit bir düzen ile nasıl başlayacağımıza bakalım
Model Demiryolu Otomatik Tünel Işıkları: 5 Adım
Model Demiryolu Otomatik Tünel Işıkları: Bu benim en sevdiğim devre kartım. Model demiryolu düzenim (hala devam ediyor) birkaç tünele sahip ve muhtemelen prototip olmasa da, tren tünele yaklaştıkça yanan tünel ışıklarına sahip olmak istedim. İlk dürtüm b