browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

Signaldekoder – version 2

Signaldekoder 10-40x serien

Efter att ha byggt fyra stycken Signaldekodrar efter min design, upptäckte jag en dag en ”tvilling”. På Henry’s Signalsida och den tillhörande Webb-shopen fanns en intressant Signaldekoder (10-40x serien)  – också. Den kunde även beställas i byggsats. Det blev omedelbart ett alternativ för mig när ytterligare dekodrar skulle byggas. Färdig-etsat kretskort, komplett komponentsats och ordentliga anslutningskontakter – det besparade mig en hel del tid, mot att bygga med mina labb-kort, och blev dessutom snyggare.

När jag väl fick hem den första byggsatsen såg jag att den hade nästan exakt samma kretslösning som min egen. Samma PIC 16F628, samma frekvens (8MHz), samma optokopplare (6N137), dessutom en likadan 10-polig stiftkontakt för anslutning av signalernas LED. Men det fanns några få skillnader; den hade en programmeringsknapp för adressprogrammering och den hade extra drivare för LED:en – det var positivt. Däremot saknades kretsar för att generera kvittens-puls (ACK-puls) vid programmering av konfigureringsvärden (CV-värden).

Konfigureringsvärden (CV-värden)

”Henry’s Signaldekoder” (10-40x) har en mycket praktisk och väl genomtänkt uppsättning av konfigureringsvärden (CV-värden). Med dem kan man konfigurera alla varianter av signalbilder för 2-, 3-, 4- och 5-skenssignaler för svenska signaler, och andra varianter med för den delen (t.ex. Signal för järnvägsövergång). En signalbild består då av en grupp LED, och signalbilderna beskriver hur varje LED i gruppen ska lysa för vardera signalbild. En LED-grupp kan omfatta godtyckligt antal LEDs, från 1 LED upp till alla 8 LED, beroende på vilken tågsignal man vill styra. För detaljer se Signalsidans beskrivning av Signalbilder 10-40x.

Det sättet att konfigurera signaler, och signalbilder tilltalade mig mycket.

Adressering

Enligt DCC standarden kan en Accessory Decoder (som Signaldekodern är) styra 4 ”enheter” (device), som aktiveras (+) eller deaktiveras (-). Adresseringen av dessa ”enheter” (D1 – D4) baseras på dekoderns adress (A) med följande formel:

D1 = 4*A-3;  D2 = 4*A-2;  D3 = 4*A-1;  D4= 4*A;

En dekoderadress = 18 ger då enhetsadresserna 69, 70, 71, 72.

Nu är 10-40x Decodern gjord så att ”enheter” (device) motsvarar signalbilder (t.ex. grön plus vit blink), och inte enskilda LED eller LED-par. Varje ”enhet” motsvarar två signalbilder, en för (+) och en för (-). T.ex. använder en 4-skensignal med fyra signalbilder då två ”enheter”. Vidare, så kan dekoderns konfigureringsvärden beskriva fler än 8 signalbilder, nämligen 10. Till det åtgår i så fall två dekoderadresser. 10-40x Decodern upptar i det fallet två konsekutiva dekoder adresser (A resp. A+1).

Version 2 kommer till

Med 10-40x Decodern som förebild, och speciellt beskrivningen av konfigureringsvärden (CV), tog jag mig an uppgiften att införa samma uppsättning konfigureringsvärden i min egen dekoder-programvara för min Signaldekoder. Det ledde i sin tur till att jag också behövde göra om och förbättra programmet, speciellt att styra LED:en utifrån signalbildsbeskrivningarna. Även flera andra funktioner i programmet förbättrades, såsom PWM-logiken för ”fading” av ljusstyrkan och blinkningsfunktionen. Konfigureringsvärdena (CV) ändrades till samma uppsättning som 10-40x. Även avkodningen av dekoderns adress behövdes kompletteras för att kunna avkoda dubbla adresser (A och A+1). Dekodern ska ju kunna visa upp till 10 signalbilder. Efter många kvällars omskrivning av de olika programdelarna och tester, så fick jag till slut en ny fungerande version av min programvara till min Signaldekoder, version 2. Programmering av konfigureringsvärden (CV) gick smidigt via ett ”programmeringsspår” eftersom min dekoder innehåller den nödvändiga logiken för kvittens (Ack-puls).

Egen Signaldekoder tillsammans med 10-40x Dekodern.

Egen Signaldekoder tillsammans med 10-40x Dekodern.

Portering av Version 2 till 10-40x Decodern

Eftersom 10-40x Dekodern hade i stort sätt samma design och samma microprocessor som min egen dekoder så insåg jag att min egen programvara skulle kunna användas till den också med några ”mindre anpassningar”. Programmeringsknappen villa jag få att fungera, så den funktionen la jag till i min programvara. Efter dessa anpassningar kunde jag köra min programvara även på 10-40x Dekodern också. Däremot saknades ju logik för Ack-puls på 10-40x Decodern, så programmering via programmeringsspår blev inte lika smidigt, som med min Signaldekoder.

Det fick bli nästa utmaning att lösa.


Lämna ett svar

Din e-postadress kommer inte publiceras.