Blokksignalmodul

Fra MJwiki
Hopp til: navigasjon, søk

I MJ-bladet 3-4/91,3/92 og 2/94 beskriver Svein-Martin Holt hvordan man kan lage norske signaler for MJ-anlegget. I de to siste artiklene finner man et kretskortskjema for styringselektronikk.


Original styringsmodul

Styringsmodulen som beskrives har følgende mangler:

  • ikke et komplett sikringsanlegg for blokkstyring,
  • ingen innebygd mulighet for avvikende spor,
  • ingen innebygd mulighet for enkelsporet drift,
  • trenger hele 6 kabler, der tre er felles (2 leder 16V~, felles jord) og tre forsignalkabler som føres mellom hvert modulpar,
  • trenger ekstern relékrets for strømstyring,
  • komplisert kretskort med 4 logikkbrikker.

PICAXE styringsmodul

Mikrokontrolleren PICAXE har flere fordeler i forhold til logikkbrikker, blandt annet:

  • komplett sikringsanlegg for blokkstyring,
  • gir signal 20 (stopp) dersom blokken er opptatt (se systemer for detektering av belagte spor),
  • støtte for enkeltsporet drift,
  • støtte for utkjør fra avvikende spor,
  • støtte for innkjør til avvikende spor,
  • trenger kun 3 kabler (felles +5V, felles Jord og blokkstyring mellom moduler), der felles +5v og felles Jord kan brukes av andre +5V-moduler (digitalisering med PICAXE, digitalisering med logikkbrikker),
  • relékrets for strømstyring på kretskortet,
  • enkelt kretskort,
  • kompatibelt med Holts signalmaster dersom motstandene i signalhodet byttes med 150Ω-motstandere.

Styringsmodulen bruker en 18pins PICAXE-brikke. Valget av brikken ble gjordt ved å analysere behovet for inn og utganger. Holts signalmast krever 5 utganger (grønn topp, rød, grønn bunn, gul og grønn forsignal). Reléet trenger en utgang og blokkstyringslinjen trenger den siste og 7ende utgangen. Brikken har 5 innganger, en for blokkstyringslinjen (digital), en for utkjør, en for avvikende utkjør og en for opphevelse av blokken (de tre siste er aktiv lave). I tillegg trenger signalhodet en tilkobling for jord, reléet en for inngående banestrøm og selvfølgelig tilkoblingene til Vcc og Jord. Kretskortet vil følgelig ha 15 tilkoblinger.
NB! Styringsmodulen kan ikke tilkobles databussen til prosjektet digitalisering med PICAXE.


Pinliste
Illustrasjon: Tore Tangen
Pinne Symbol Funksjon
1 inn2 opphev signalbildet for enkeltsporet drift
2,3 programmering kan ikke brukes
4 Reset tilkoblet +5V
5 Jord tilkoblet jord
6 ut0 tilkoblet relé
7 ut1 grønn topp
8 ut2 rød
9 ut3 grønn bunn
10 ut4 gul forsignal
11 ut5 grønn forsignal
12 ut6 tilgjengelig
13 ut7 blokkstyringslinje (til neste blokkmodul)
14 Vcc tilkoblet +5V
15 inn6 blokkstyringslinje (fra forrige blokkmodul)
16 inn7 kjør (signal 22)
17 inn0 avvikende (signal 21)
18 inn1 signalfelling (signal 20)
Reléet

Fra pinne 6 kobles en 10K-motstand til basen på en BC548 darlingtontransistor. Transistorens emitter kobles til jord, mens collector kobles til et NO (normalt åpen)-relé og positiv ende av en 1N4001-diode. Diodens negative (Viktig! Å koble dioden motsatt vei kan ødelegge transistoren) ende og reléets annen side, kobles til Vcc.

Programmering

PICAXE-brikken programmeres via PICAXEs programeringsgrensesnitt (PICAXE). Modulens funksjon (blokksignal, ut-/innkjør og enkeltsporet drift) programmeres når den enkelte modulen slås på. Hold de oppgitte inngangene mot jord inntil oppgitt tilbakemelding vises. Modulens funksjon kan omprogrammeres inntil 1000 ganger.


Funksjon Inngang Tilbakemelding Merknad
Blokksignal Signal 20 (Stopp) Rød+Gul Signal 22 (kjør) er standard
Utkjør Signal 21 (Avvik) Øvre grønn+Gul Sender ikke signalbilde til forsignal
Innkjør Signal 22 (Kjør) 2 Grønn+Gul Forsignal er avslått
Blokksignal (enkeltsporet) Signal 21+22 2 Grønn+Grønn Signal 22 (kjør) er standard
Utkjør (enkeltsporet) Signal 20+21 Nedre Grønn+Grønn Sender ikke signalbilde til forsignal
Innkjør (enkeltsporet) Signal 20+22 Rødt+Grønn Forsignal er avslått
Programkode
Programmet er under utvikling
' Blokksignalmodul V0 PICAXE18
' Programmet er frigitt for MJwiki.no
' Siste versjon av programmet finnes på
' http://mjwiki.no/wiki/index.php/Blokksignalmodul
' ================================================
' Versjon 0, 8. mars 2007
'   + Variabler og programmeringsrutiner
' ================================================
' Signalbilder
  symbol SignalStopp=%00000100
  symbol SignalAvvik=%00000011
  symbol SignalKjor= %00001011 
  symbol ForsignalStopp=%00010000
  symbol ForsignalAvvik=%00110000
  symbol ForsignalKjor= %00100000
  symbol OpphevSignalBilde=%00000001
' Blinkhastighet i ms
  symbol Blink=475
' Programmering
  symbol Programlager=$00
  symbol Program=b2
' Kommunikasjon
  symbol SendStop="S"
  symbol SendAvvik="A"
  symbol SendKjor="K"
  symbol SendTogKommer="O"
' Andre symboler
  symbol LinjeInn=Pin6
  symbol LinjeUt=Pin7
  symbol X=b6
  symbol Y=b4
' ===========================================
' Programmeringsrutine
' Denne rutinen angir signalmodulens funksjon
' Modulen kan progrmmeres inntil signal vises
' ===========================================
' les programlager
read Programlager,Program
' programmer modulens funksjon
Prog:
  ' vis klar for programmering
  for X=2 to 62 step 2
    pins=X
    pause 150
  next X
  pins=0
  pause Blink
  ' les innganger
  X=pins
  ' sett signalbilde dersom modulen er programmert
  ' og modulen ikke skal omprogrammeres
  if X=0 and Program<>0 then SettSignalBilde
  ' restart programmering ved manglende input
  if X=0 then Prog
  ' flytt signal 22 til rett sted
  Y=X*32
  Y=Y/32
  X=X/32
  X=X+Y
  ' lagre program
  lookup X,(0,"XBxEbe",0),Program
  write Programlager, Program
  ' Vis tilbakemelding
  lookdown Program,("EXBexb"),X
  lookup X,(%00011010,%00010010,%00010100,%00100100,%00101000,%00101010),Y
  for X=1 to 10
    pins=Y
    pause Blink
    pins=0
    pause Blink
  next X 
' sett standard signalbilde
SettSignalBilde:
  lookdown Program,("EXBexb"),X
  lookup X,(SignalStopp,SignalStopp,SignalKjor,SignalStopp,Signalstopp,SignalKjor),pins
' =========================
' HOVEDPROGRAM
' =========================
Loop: