BeneluxSpoor.net forum

Vraag en antwoord => Elektronica en analoog => Topic gestart door: MMTB op 04 May 2010, 11:55:23

Titel: Stoplicht/looplicht schakeling
Bericht door: MMTB op 04 May 2010, 11:55:23
Goedenmiddag,

Voor mijn trambaan wil ik werkende Duitse tramseinen gaan plaatsen. Het seinstelsel werkt grotendeels met het Nederlandse stoplichtstelsel en is daardoor niet rechtstreeks aanstuurbaar door Koploper. Het enige wat ik wil is dat het sein even op groen springt en na 10 seconden op oranje en dan terug naar permanent rood. Het is in feite niet meer dan een looplicht wat je activeert met een logische actie in koploper. Nu heb ik al nagevraagd of het mogelijk was met een OM32, maar hiervoor werd geadviseerd om te wachten tot de OC32 met lichtorgelfuncties.

Nu kan het volgens mij ook simpeler door een looplichtschakeling te maken die door een schakeldecoder door Koploper wordt geactiveerd. Nu is mijn kennis op het gebied van schakelingen beperkt en ik kwam al snel uit op meerdere timers en relais per schakeling. Heeft iemand een idee hoe ik dit eenvoudig kan oplossen?

Wat moet de schakeling kunnen:

Permanent rood > groen 10 sec > oranje 2 seconden > permanent rood.
Het mooist zou zijn als je de groenfase met een potmeter nog enigszins kunt bijstellen per sein.

Alvast bedankt!
Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Robert B. op 04 May 2010, 13:07:52
Nu kan het volgens mij ook simpeler door een looplichtschakeling te maken die door een schakeldecoder door Koploper wordt geactiveerd. Nu is mijn kennis op het gebied van schakelingen beperkt en ik kwam al snel uit op meerdere timers en relais per schakeling. Heeft iemand een idee hoe ik dit eenvoudig kan oplossen?

Een Velleman looplicht kitje aanschaffen bij de plaatselijke elektronica zaak?
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 04 May 2010, 13:30:48
Daar heb ik al naar zitten kijken, maar bij dit soort zelfbouw modules kan je niet verschillende tijden opgeven tussen de het verspringen van het lampjes. 9 van de 10 hebben een vast patroon en de ik wil graag dat de groenfase langer duurt dan de oranje fase.

Gr, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Hansepansje op 04 May 2010, 14:24:56
... Permanent rood > groen 10 sec > oranje 2 seconden > permanent rood.
... ik wil graag dat de groenfase langer duurt dan de oranje fase.

Hoi Mark,

Een beetje looplicht heeft tien uitgangen. Zorg er voor dat het looplicht telkens maar één cyclus doorloopt en dan weer stopt. Koploper kan vast wel een signaal genereren wat de start van de cyclus moet markeren, en dat moet je dan aansluiten op de start van je looplicht schakeling.
Sluit 5 uitgangen via diodes aan op je groene ledje, de volgende op de gele en de rest op de rode. Stel nu de kloktijd in op 2 seconden en je hebt wat je zoekt.

Groets, Hans
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 04 May 2010, 16:10:42
Dank je wel hans!

Ik heb gezocht naar een schema voor een 10 kanaals looplicht en ik kwam het volgende tegen: http://www.circuitsonline.net/schakelingen/14/lichteffecten/looplicht.html (http://www.circuitsonline.net/schakelingen/14/lichteffecten/looplicht.html)

Als ik nu de verbinding van het laatste kanaal naar de reset weglaat, blijft dan het looplicht stil staan, of gaat hij dan helemaal uit? Hier zou je volgens mij iets aan kunnen hangen van een relais, zodat hij naar permanent rood schakelt. Of zit ik iets mafs te bedenken?

Groeten, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: sander306 op 04 May 2010, 16:21:20
Ik wil wel even kijken of ik een dergelijk iets in een klein micro-controllertje kan schieten, ledjes schakelen is niet zo moeilijk. Zal er zo eens naar kijken. Er zijn vast meer mensen die zoiets zoeken...
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 04 May 2010, 16:34:04
@ Sander306: Tams heeft van die kleine schakelingen, waar ze telkens de microcontroller vervangen en dan hebben de 5 uitgangen weer een andere functie. Het zou handig zijn als zo'n microcontroller hier in zou passen. Je heb dan tevens een functietoets als input.

http://www2.conrad.nl/goto.php?artikel=210160

Gr, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: sander306 op 04 May 2010, 17:35:12
Dat moet wel te doen zijn. Ik heb nog een aantal van die kleine pic's liggen. Ik ga het eerst eens proberen op dat microchip demo board met een 20 pins monster, als dat werkt moet het te doen zijn de code zo om te bouwen dat het werkt in een kleinere versie.

Nu eens kijken of ik de datasheets van dat tams ding kan vinden...

gr,
Sander
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Hansepansje op 04 May 2010, 22:52:42
... Als ik nu de verbinding van het laatste kanaal naar de reset weglaat, blijft dan het looplicht stil staan, of gaat hij dan helemaal uit? Hier zou je volgens mij iets aan kunnen hangen van een relais, zodat hij naar permanent rood schakelt. Of zit ik iets mafs te bedenken?

Hoi Mark,

Ik weet het niet precies meer, maar hij blijft dan bij de eerste of de laatste pen hangen. Als je daar dus in ieder geval rood op zet (plus op de resterende pennen waar geen groen of geel aan hangt), dan hoef je zelfs niks met relais te doen.

Groets, Hans
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: sander306 op 05 May 2010, 12:31:02
Wat dacht je hier van? In een pic12f675, past dus in een tams-licht-print.

http://www.youtube.com/watch?v=oYsU8xjZ3Nk

/*
Project: Tramlicht
Datum: 4-mei-2010
Programmeur: Sander Brugmans

Aanpassingen: Geen
*/

#include <pic.h>

__CONFIG(UNPROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTIO);

void delay(long i){
  while(i--);
}

void main(void){
GPIO = 0x08;
TRISIO = 0x08;
ANSEL = 0x00;

  char puls = 0;

while (1){
if (GPIO3 == 1){
delay(1000);
if (GPIO3 == 1)
puls++;
}

if (puls == 0)
GPIO = 0x01;
else{
GPIO = 0x04;
delay(150000);
GPIO = 0x02;
delay(40000);
GPIO = 0x01;
puls = 0;
}
}
}
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 05 May 2010, 18:18:44
Hallo Sander,

Dat is precies wat ik zoek!  (y)

Ik neem aan dat het looplicht één loop maakt als je de functieuitgang van een puls voorziet? Als ik zo het filmpje bekijk gaat de geelfase wel erg snel. Zou je deze tijd kunnen verdubbelen?

Groeten, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Marcel (BR643 Talent) op 06 May 2010, 11:08:00
Mark,

Als je naar de code van Sander kijkt, dan lijkt me dat je de geelfase eenvoudig kunt verlengen door de waarde tussen haakjes achter delay te verhogen (in het onderste stukje code).


Groeten, Marcel
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: gvandersel op 06 May 2010, 12:33:04
Marcel,

Volgens mij geeft deze schakeling het nederlandse stoplicht weer. Er wordt gezocht naar een duitse variant. Dus iets meer aanpassen.

Groeten,

Gerard van der Sel
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 06 May 2010, 13:17:30
Als je naar de code van Sander kijkt, dan lijkt me dat je de geelfase eenvoudig kunt verlengen door de waarde tussen haakjes achter delay te verhogen (in het onderste stukje code).


Groeten, Marcel
Daar zat ik later ook aan te denken, alleen kan ik zelf geen pics programmeren.

@ Gerard: Het tramlicht moet ook het nederlandse stoplichtstelsel hebben en daardoor is het verlengen van de delay voldoende.

Groeten, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: sander306 op 06 May 2010, 20:01:32
http://www.youtube.com/watch?v=SxAbVczb0KE

Dit beter?

Aanpassen kan inderdaad door de waarde achter de delay te verhogen. In de nieuwe versie is nog het een en ander aangepast, zo blijft hij groen als de input "1" blijft nadat de tijd verstreken is.

/*
Project: Tramlicht
Datum: 4-mei-2010
Programmeur: Sander Brugmans
*/

#include <pic.h>

__CONFIG(UNPROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTIO);

void delay(long i){
  while(i--);
}

void main(void){
GPIO = 0x00; // Poort A = laag
TRISIO = 0x08; // A0, 1, 2, 4 & 5 zijn output, A3 is input
ANSEL = 0x00; // Geen analoog in

   char puls = 0;

while (1){
if (GPIO3 == 1){ // Beetje debounce
delay(1000);
if (GPIO3 == 1)
puls++;
}

if (puls == 0)
GPIO = 0x01; // Rode LED
else{
GPIO = 0x04; // Groene LED
delay(250000); // Vertraging
while(GPIO3 == 1); // Zolang er op port RA3 een 1 wordt aangeboden blijft het groen
GPIO = 0x02; // Gele/oranje LED
delay(80000); // Vertraging
GPIO = 0x01; // Rode LED
puls = 0; // Clear puls
}
}
}

Als er nog iemand een duitse versie wil hoor ik het wel.
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 06 May 2010, 20:28:07
Hallo Sander,

Dank je wel! Zo is het precies wat ik mijn gedachte had.

Is het mogelijk dat je een aantal microcontrolers kan programeren die ik in mijn tams bouwsetjes kan zetten? (Tegen betaling uiteraard)

Alvast bedankt!
Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: sander306 op 06 May 2010, 20:38:39
Ik heb er nu 3 liggen, die kunnen morgen nog op de bus. Als je er meer nodig hebt moet ik die even bestellen (bij Dick Best, €1,58).
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 06 May 2010, 20:51:20
Als je er in totaal 10 kan programeren, dan kan ik weer heel wat jaren voorruit. Ik stuur je wel even een PM.

Groeten, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: sander306 op 11 May 2010, 00:07:47
Nog even het een en ander aangepast en dit is het uiteindelijke resultaat:
http://www.youtube.com/watch?v=sUbOI65EDFQ

/*
Project: Tramsein
Datum: 10-mei-2010
Programmeur: Sander Brugmans

GPIO0 = TAMS_JP3.1 = rode LED
GPIO1 = TAMS_JP3.2 = gele LED
GPIO2 = TAMS_JP3.3 = groene LED
GPIO3 = TAMS_JP2   = input
GPIO4 = TAMS_JP3.4 = rode LED overweg
GPIO5 = TAMS_JP3.5 = rode LED overweg
*/

#include <pic.h>

__CONFIG(UNPROTECT & BORDIS & MCLRDIS & PWRTEN & WDTDIS & INTIO); // Basis instellingen

char puls, pulsrt = 0;
char sec2 = 0;
char sec1 = 0;
char overweg = 0;
char r, o, g, ow0, ow1 = 0;
char tmr1count = 0;
char tmr0count = 0;


//-----------------------------------------------------------------------------------------------------
// Delay
void delay(long i){
  while(i--);
}

//-----------------------------------------------------------------------------------------------------
// Interrupts
void interrupt vector(void){

if (T0IF == 1){
T0IF = 0;
tmr0count++;
if (tmr0count == 15){
tmr0count = 0;
sec1 = !sec1;
}
TMR0 = 0x00;
}

if (TMR1IF == 1){
TMR1IF = 0;
tmr1count++;
if (tmr1count == 4){
sec2 = 1;
GIE = 0;
PEIE = 0;
PIE1 = 0;
T1CON = 0b00110100;
tmr1count = 0;
}
else
TMR1H = 0x0B; // timer 1 (0,5sec) laden)
TMR1L = 0xDB;
GIE = 1;
PEIE = 1;
PIE1 = 1;
T1CON = 0b00110101;
}
}

//-----------------------------------------------------------------------------------------------------
// Main
void main(void){
GPIO = 0x00; // Poort A = laag
TRISIO = 0x08; // A0, 1, 2, 4 & 5 zijn output, A3 is input
ANSEL = 0x00; // Geen analoog in

r = 1; // Rode LED is aan

TMR0 = 0x00;
OPTION = 0b11000111;
T0IE = 1;

while (1){
GPIO0 = r;
GPIO1 = o;
GPIO2 = g;
GPIO4 = ow0;
GPIO5 = ow1;

puls = 0;

if (GPIO3 == 1){ // Beetje debounce
delay(2000);
if (GPIO3 == 1)
puls = 1;
}
pulsrt = GPIO3;

if (puls && r){
r = 0;     // Rode LED is uit
g = 1; // Groene LED is aan
sec2 = 0; // 2 seconde flag naar 0
overweg =1;

TMR1H = 0x0B; // timer 1 (0,5sec) laden)
TMR1L = 0xDB;
GIE = 1;
PEIE = 1;
PIE1 = 1;
T1CON = 0b00110101;
}

if (sec2 && g && !pulsrt){
g = 0; // Groene LED is uit
o = 1; // Oranje LED is aan
sec2 = 0; // 2 seconde flag naar 0

TMR1H = 0x0B; // timer 1 (0,5sec) laden)
TMR1L = 0xDB;
GIE = 1;
PEIE = 1;
PIE1 = 1;
T1CON = 0b00110101;
}

if (sec2 && o){
o = 0; // Oranje LED is uit
r = 1; // Rode LED is aan
sec2 = 0; // 2 seconde flag naar 0
overweg = 0;
}

if (overweg && sec1){
ow0 = 1;
ow1 = 0;
}

if (overweg && !sec1){
ow0 = 0;
ow1 = 1;
}

if (!overweg){
ow0 = 0;
ow1 = 0;
}

if (pulsrt)
tmr1count = 0;
}
}
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: gvandersel op 11 May 2010, 08:15:11
Sander ik denk dat MMTB er 1010 wil hebben (y)
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 11 May 2010, 10:48:40
Hoi Sander,

Ik heb gisteren mijn eerste (proef) tramsein binnen gekregen, dus dat komt mooi uit.
http://www.modellbahnwerk.de/shop/Verkehrsampeln-in-H0/Bus-Srassenbahnampel.html

Ik heb het filmpje en de code bekeken en het ziet er super uit! De knipperlichten gaan mooi langzaam aan en uit, alleen zou je de oranjefase met 1 seconden willen verlengen? Dat is hij helemaal af. Ik zal bij Conrad de benodige Tams printjes gaan bestellen.

Heel erg bedankt!!
Groeten, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Klaas Zondervan op 11 May 2010, 11:15:58
...alleen zou je de oranjefase met 1 seconden willen verlengen?
De oranjefase, dat is toch Koninginnedag? ;D

Bij verkeerslichten heet die kleur geel, net als bij spoorseinen.

De meest gebruikelijke lengte voor de geelfase bij verkeerslichten is 2 seconden.
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: MMTB op 11 May 2010, 11:55:21
Ik verwar het altijd met oranje, maar geel is natuurlijk de juiste benaming. Ik vond de 2 seconden in het filmpje net te kort, vandaar mijn wens van 3 seconden. Het tramsein zelf werkt met symbolen in plaats van kleuren, maar de opzet is gelijk aan een nederlands stoplicht. (zie link in mijn vorige post)

Groeten, Mark
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Private SNAFU op 11 May 2010, 17:33:12
De oranjefase, dat is toch Koninginnedag? ;D

Bij verkeerslichten heet die kleur geel, net als bij spoorseinen.

De meest gebruikelijke lengte voor de geelfase bij verkeerslichten is 2 seconden.

Klaas,

Dan gaan we toch even mierenn*uken, officieel wordt de kleur aangeduid met amber.

Gr,
Bart
Titel: Re:Stoplicht/looplicht schakeling
Bericht door: Klaas Zondervan op 11 May 2010, 19:19:50
Merkwaardig dat er steeds weer mensen opduiken met desinformatie.
Ik heb 10 jaar lang onderhoud gedaan aan verkeersinstallaties. In die tijd veel handleidingen gezien en vakliteratuur gelezen.
De benaming amber ben ik alleen tegengekomen in Engelstalige geschriften. In het Nederlands werd altijd zonder uitzondering de benaming geel gebruikt. Ook de verkeersdeskundige in wiens opdracht ik werkte bevestigde dat geel de enig juiste benaming is voor die kleur.