Trwają intensywne prace na rozwijaniem oprogramowania dekodera.Zrobiono: - adresowanie długie - obsługa 128 kroków jazdy - programowanie DirectMode, PagedMode oraz PoM - mapowanie wyjść - tryb jazdy manewrowej a) prędkość spada do wartości ustawionej w dedykowanym CV b) definiowanie klawisza jazdy manewrowej (F3, F4 lub F5) c) włączenie obu świateł (przód, tył) d) blokowanie czerwonych świateł (definiowane: brak, wyjście F1, F2 lub F3) - zwiększona precyzja przyspieszania (rozdzielczość 1ms a nie 8ms) - CV2 i CV5 paramametrem jest napięcie (w setkach mV), a nie procentowa reprezentacja (0..255). Dekoder mierzy napięcie na torach i generuje PWM, aby utrzymać nastawione napięcie. Jest to wygodna opcja zwłaszcza gdy booster (np ROCO) nie posiada stabilizacji napięcia.
Oprogramowanie powstaje na potrzeby nowej wersji dekodera: - wymiary 41x18mm - 7 wyjść funkcyjnych: a) dwa wyjścia sterowanie światłami - wydajność 200mA b) dwa wyjścia mocy (F1, F2) - wydajność 200mA c) trzy wyjścia TTL (F3, F5) - wydajność 20mA - płynne (definiowany czas) rozświetlanie/wygaszanie świateł - rejestry ustawiające PWM dla wyjść sterowania światłami przyjmują, tak jak CV2 i CV5) napięcie w setkach mV. - wyjście SUSI (np do sterowania dekoderem dżwiękowym)
Dalsze Prace: - Trwają prace nad programowym PWM-em dla wyjść F1..F5
Szukam beta testerów! Zainteresowanych proszę o kontakt.
******************************************************************************** Pod adresem r-mik.eu/_kolejki.eu/DekoderDCC_v2_0.zip znajduje się archiwum z nową wersją softu dla dekodera trakcji i oświetlenia na AtTiny85. Opis CV: //CV1 - Adres lokomotywy 1..127 domyślnie 3 //------------------------------------------------------------------------------// //CV2 - Minimalne napięcie na silniku w setkach mV 0..50 domyślnie 20 // 10 - 1V // 35 - 3,5V // 50 - 5V //------------------------------------------------------------------------------// //CV3 - Czas rozpędziania dla AtTiny: 0..31 // CV3 * 8ms * prędkość_zadana(255) / 8 // np: CV3=15 daje czas rozpedziania: 15 * 0.008s * 255/8 = 3,8 sekundy // CV3=1 daje czas rozpedziania: 1 * 0.008s * 255/8 = 0,2 sekundy // Wpisanie 0 wyłącza funkcję // //CV3 - Czas rozpędziania dla AtMega: 0..31 // CV3 * 1ms * prędkość_zadana(255) / 1 // np: CV3=15 daje czas rozpedziania: 15 * 0.001s * 255/1 = 3,8 sekundy // CV3=1 daje czas rozpedziania: 1 * 0.001s * 255/1 = 0,2 sekundy // Jak widac dla AtMega czasy sa takie same, tyle, że przystpieszanie płyne // Wpisanie 0 wyłącza funkcję // // Jeśli prędkość maksymalna bedzie niższa, to czas rozpędzania zmniejszy się: // CV3 * 1ms * prędkość_zadana(100) / 1 // CV3=15 daje czas rozpedziania: 15 * 0.001s * 100/1 = 1,5 sekundy // Jak widac dla AtMega czasy sa takie same, tyle, że przystpieszanie płyne // // domyślna wartość 10 //------------------------------------------------------------------------------// //CV4 - Czas hamowania (reguły jak dla rozpedziania) 0..15 domyślnie 3 //------------------------------------------------------------------------------// //CV5 - Maksymalne napięcie na silniku w setkach mV 60..160 domyślnie 120 //------------------------------------------------------------------------------// ///CV9 - Częstotliwośc PWM'a (dekoder trakcji) 0..255 // lub wypełnienie PWM'a (jeśność lamp) dla dekodera oświetlenia 0..255 // // b0..b3: //Dla AtTiny: // 0 - 125Hz // 1 - 125Hz // 2 - 125Hz (domyślna) // 3 - 250Hz // 4 - 500Hz // 5 - 1kHz // 6 - 2kHz // 7 - 4kHz // 8 - 8kHz // 9 - 15kHz // 10 - 15kHz // //Dla AtMega: // 0 - 30Hz // 1 - 30Hz // 2 - 125Hz (domyślna) // 3 - 125Hz // 4 - 500Hz // 5 - 500Hz // 6 - 500Hz // 7 - 4kHz // 8 - 4kHz // 9 - 4kHz // 10 - 32kHz // //Dla małych prędkości: // b4..b5: // Tiny / Mega // 00 - 125Hz / 30Hz // 01 - 250Hz / 125Hz // 10 - 500Hz / 500Hz // 11 - 1kHz / 4kHz // //Próg zmiany ze startowej wartości PWM warość podstawową: // b6..b7 // 00 - zawsze podstawowa (PWM z bitów b0..b3) // 00 - 12% // 00 - 24% // 00 - 36% // // Wartość domyslna 2 //------------------------------------------------------------------------------// //CV10 - wypełnienie PWM'a (jeśność lamp w przedsionkach) 0..255 //------------------------------------------------------------------------------// //CV11 - Czas w ms od braku transmisji do wyłączenia silnika 0..255 domyślnie 100 // lub przejscia na jazdę analogową // np: CV11 = 127 da czas TimeOut 0.001s * 127 = 127 ms // To czy silnik sie zatrzyma, czy bedzie jazda analogowa zależy od CV29 //------------------------------------------------------------------------------// //CV12 - wypełnienie PWM'a (jeśność lamp końca składu) 0..255 //------------------------------------------------------------------------------// //CV17,18 - Adres rozszerzony dekodera. 101..9999// // CV17 - starsza część adresu, // CV18 - młodsza część adresu. // Aktywny tylko, gdy jest skonfigurowany w CV29 //------------------------------------------------------------------------------// //CV24 - jazda manewrowa: // b0, b1 - aktywacja jazdy manewrowej funkcją: // 00 - brak jazdy manewrowej // 01 - F3 // 10 - F4 // 11 - F5 // b2 - włączenie jazdy z prędkością zmniejszoną (CV25) // b3 - równoczesne włączenie FR i FH // b4.b5 - wyjście blokujace czerwone światła: // 00 - brak blokady // 01 - F1 // 10 - F2 // 11 - F3 // b6 - wolny // b7 - wyłączenie w trybie manewrowym przyspieszania i zwalniania // domyślna wartość 14 //------------------------------------------------------------------------------// //CV25 - Maksymalne napięcie podczas jazy manewrowej (w 100mV, jak dla CV2 i CV5) domyślnie 60 //------------------------------------------------------------------------------// //CV27 - Decoder Automatic Stopping Configuration // (+1) Bit0 = "1" Zatrzymanie gdy odchyłka dodatnia i jedzie do przodu // (+2) Bit1 = "1" Zatrzymanie gdy odchyłka ujemna i jedzie do tyłu // (+4) Bit2 = "1" zmienia reakcję na kierunek //Domyślnie 3 //------------------------------------------------------------------------------// //CV29 - Konfiguracja dekodera - domyślnie 2 // (+1) Bit0 = "0" - DIR normal, "1" - DIR reversed (zamienione kierunki jazdy) // (+2) Bit1 = "0" 14 kroków, "1" - 28 kroków // (+4) Bit2 = "0" tylko DCC (brak transmisji to stop), "1" - Analog możliwy (gdy brak transmisji) // Bit3 = "0" dekoder tylko odbiera rozkazy, "1" = Power Source Conversion Enabled, See CV#12 for more information, // Bit4 = "0" prędkość kontrolowana przez CV2,5,6, "1" indywidualna tablica prędkości (CV66..CV95) // Bit5 = "0" adres jednobajtowy, =1 adres rozszeżony //Bit 6 = Reserved for future use. //Bit 7 = Accessory Decoder: "0" = Multifunction Decoder, "1" = Accessory Decoder (see CV #541 for a description of assignments for bits 0-6) //------------------------------------------------------------------------------//
//CV30 - czas rozświetlania świateł 1..31 domyslnie 8 //CV31 - czas wygaszania świateł 1..31 domyslnie 2 // Czas rozświetlania przednich równy: CV30 * CV40 * 1ms/4 // np: dla: CV30=16, CV40=255: 1 * 255 * 1ms/4 = 1 sek // // Rejestr aktywny tylko dla AtMega !!! //------------------------------------------------------------------------------// //CV40 - napięcie na wyjściu świateł przednich w setkach mV 0..160 //CV41 - napięcie na wyjściu swiatła tył 0..160 //CV42 - napięcie na wyjściu F1 0..160 //CV43 - napięcie na wyjściu F2 0..160 // Domyślnie 120 // Rejestr aktywny tylko dla AtMega !!! //------------------------------------------------------------------------------// //Rejestry konfigurujące wyjścia funkcyjne (mapowanie): 0..28 //Przykład: CV71 = 1 - wyjście 1 kontrolowane funkcją F1 // CV72 = 3 - wyjście 2 kontrolowane funkcją F3 // CV73 = 0 - wyjście 3 wyłączone // // Rejestr aktywny tylko dla AtMega !!! // #define defCV71 1 #define defCV72 2 #define defCV73 3 #define defCV74 4 #define defCV75 5 #define defCV76 6 #define defCV77 7
//------------------------------------------------------------------------------// //CV134 - poziom sygnału po którym nastapi zatrzymanie lokomotywy przy asymetrii na szynach // Jeden bit to napięcie: 1.1V / 1024 * (100/4,3) = 2,5mV dla nowych płytek // dla starych: 5V / 1024 * (22/4,3) = 2,5mV // //------------------------------------------------------------------------------// #define defCV134 8
//--------------------------------------- Zachęcam do testowania.
Dekoder http://sklep.avt.pl/go/_search/full_sea … 0&type=all jest już dostępny w AVT. Wersja do montażu 36zł. Cena zmontowanego i uruchomionego dekodera 49zł.
|