reeds een tijdje klaar maar nu eventjes tijd om er wat over te schrijven
hier de hand regelaar met maar 4 druk toetsen om te kunnen rijden op het rangeer terrein of verzorging depot
(https://scontent-ams3-1.xx.fbcdn.net/hphotos-xap1/t31.0-8/12466078_1069540713098077_6032300097926483214_o.jpg)
groen en blauw is optrekken en afremmen
zwart is over spanning om achteruit te rijden
en rood is nood stop waarbij het spoor volledig stroom loos gemaakt word wat bij de andere knoppen niet gebeurt
nu wat filmpkes
https://www.youtube.com/watch?v=3iN40E6b_t0
eerste proef en de loco reeds dus toppy
https://www.youtube.com/watch?v=UxbZr5caFws
hoe langzaam kunnen we gaan met analoge motoren uit de jaren stilletjes
https://www.youtube.com/watch?v=9pmBpH4aMRw
is er ook nog wat kracht over met deze pwm regelaar
met 6 wagons en dan een verbruik van 280 miliamp ben ik tevreden
https://www.youtube.com/watch?v=NcCOm9EqWQo
een andere loco en hoe snel kunnen we gaan maar kunnen we ok langzaam
hier zie je ook dat het omschakelen perfect werkt
dus een tevreden man
de code van de regelaar
Device 16F628A ;Gebruik een 16F628A type
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
Declare Xtal 4
Declare All_Digital TRUE ;Alle ingangen digitaal
Declare PortB_Pullups On
Declare CCP1_Pin PORTB.3
HPWM 1, 0, 2000 ;Reset de CCP/PWM module (Op 0% = constant laag)
; 76543210
TRISA = %00000000 ;in uit
TRISB = %11110000 ;in uit
PORTA = %00000000
PORTB = %11110000
;Variabele declareren
Dim Duty As Byte ;'Duty' is de variabele die de snelheid v.d. motor bepaalt
Dim pauze As Word
Symbol s1 = PORTB.4
Symbol s2 = PORTB.5 ;gas
Symbol s3 = PORTB.6
Symbol s4 = PORTB.7
Symbol relay = PORTB.2
Symbol led1 = PORTA.2
Clear
led1 = 1
DelayMS pauze
;ingangen aan poortb 4 5 6 7
;uitgangen aan B 3
start:
While 1 = 1 ;Oneindige lus
If Duty < 10 Then led1 = 1
If Duty > 150 Then led1 = 1
If s2 = 0 Then GoSub gas ;gas
If s4 = 0 Then GoSub reme ;remmen
If s1 =0 Then GoSub test ;noodstop
If s3 = 0 Then GoSub regelen ;regelen
HPWM 1, Duty, 5000
If Duty < 40 Then pauze = 10
If Duty > 40 Then pauze = 2
Wend ;Terug naar WHILE
gas:
led1 = 1
If s2 = 0 And Duty < 254 Then Duty = Duty + pauze
If Duty > 254 Then Duty = 255
While s2 = 0 ;Zolang S2 is ingedrukt...
Wend
led1 = 0
Return
reme:
led1 = 1
If s4 = 0 And Duty > 4 Then Duty = Duty - 2
If Duty < 5 Then Duty = 4
While s4 = 0 ;Zolang S4 is ingedrukt...
Wend
led1 = 0
Return
test:
led1 = 1
For Duty = Duty To 0 Step - 20
If Duty < 1 Then Duty = 0
HPWM 1,Duty, 5000
Next
While s1 = 0 ;Zolang S1 is ingedrukt...
Wend
led1 = 0
Return
regelen:
led1 = 1
Duty = 0
HPWM 1,Duty,5000
relay = 1
DelayMS 400
relay = 0
While s3 = 0 ;Zolang S3 is ingedrukt...
Wend
Duty = 4
HPWM 1,Duty,5000
led1 = 0
Return
meer filmpkes als de schakeling aan de baan is aan gesloten en er echt op het verzorging depot kan rond gereden worden
gr raf
Maar dat ziet er prima uit Raf.
Klasse. Ik heb nog niet je code uitgeplozen maar hoe heb je de verlichting gedaan?
grt Piet.
piet doordat alles analoog rijd kan ik dus omdat ik ledjes heb ingebouwd deze laten branden
ik kan dus de pwm puls zo kort zetten dat de motor niet meer draait (ronkt)maar de ledjes nog branden
met normale lampjes lukt dit dus niet
de code kan altijd nog beter denk maar ja ik programmeer nog op de oude manier die ook nog steeds werkt
ik heb wel een trafo moeten ombouwen om te kunnen schakelen zie hier het schema
(https://scontent-ams3-1.xx.fbcdn.net/hphotos-xpf1/v/t1.0-9/11988478_1044302468955235_3916656346052342290_n.jpg?oh=be623c7b2e67547c86903b3699a798c2&oe=57445098)
ik heb dus een aftakking gemaakt aan het overspanning contact en de diode bruggen moet en zo aangesloten worden anders krijg je kort sluiting
ik rij dus analoog gelijkstroom hou daar dus wel rekening mee
gr raf