Ik ben bezig met een projectje. Namelijk een complete keyless entry and go systeem voor in de auto.
Hiervoor heb ik al een RFID alarmsysteem (uit Amerika) met centrale vergrendeling in mijn bezit. Een systeem ala Renault. Ben ik ongeveer 2 meter in de buurt van de auto dan schakeld het alarm zich uit en ontgrendelen de portieren. Loop ik weg dan gaan de deuren weer opslot en gaat het alarm er weer op.
Nu heeft dit alarm een paar universele uitgangen. 1 hiervan wil ik gebruiken om een startknopcircuit onder spanning te zetten zodat ik de auto met een startknop kan starten.
Hier ben ik dan ook mee aan het stoeien. Het hart van het startknopcircuit is een PIC. Hiervoor heb ik de picbasic.nl site doorgestipt, een picprogrammer aangeschaft, een picsimulater en compiler gedownload.
Ik heb het programma geschreven in picbasic, maar het programma doet niet wat ik wil.
Even het hele rfid gebeuren en de diverse diverse beveiligingen (zoals snelheidsdetectie,draaiende motor detectie) buiten beschouwing gelaten wil ik een pic die het volgende doet:
Situatie 1:
Als de schakelaar kort wordt ingedrukt dan moet het acc-relais (het contact van de auto) bekrachtigd zijn.
Als de schakelaar nog eens kort wordt ingedrukt dan het acc-relais laten afvallen.
Situatie 2
Als de schakelaar kort wordt ingedrukt dan moet het acc-relais (het contact van de auto) bekrachtigd zijn.
Als de schakelaar langer wordt ingedrukt dan het start-relais bekrachtigen net zolang tot de schakelaar wordt vastgehouden.
Als de schakelaar kort wordt ingedrukt dan acc-relais van auto uitzetten.
Het lukt me niet om deze twee situties te programmeren. Het ziet er simpel uit maar het lukt me niet.
Dit is mijn programmatje:
Device 16F628A
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
Dim TIJD As Word
Dim LAST As Word
Dim LUS As Word
Symbol AAN = 1 ;Schakelaar aan = hoog (0)
Symbol UIT = 0 ;Schakelaar uit = laag(1)
Symbol ACCRELAIS = PORTA.0 ;Poort A.0 heeft nu de naam ACCRELAIS
Symbol STARTRELAIS = PORTA.1 ;Poort A.1 heeft nu de naam STARTRELAIS
Symbol BUZZER = PORTA.2 ;Poort A.2 heeft nu de naam BUZZER
Symbol KNOP = PORTB.0 ;Poort B.0 heeft nu de naam KNOP
Symbol ACC = PORTB.1 ;Poort B.1 heeft nu de naam ACC
Symbol RPM = PORTB.2 ;Poort B.2 heeft nu de naam RPM
Symbol KM = PORTB.3 ;Poort B.3 heeft nu de naam KM
PORTB_PULLUPS On ;On-chip pull-up weerstanden actief
Clear ;Wis alle RAM geheugen
While 1 = 1
TIJD = 0
LAST = 0
LUS = 0
While KNOP = AAN
DelayMS 10
TIJD = TIJD + 1
LUS = 1
If TIJD < 10 And ACCRELAIS = UIT Then
High ACCRELAIS
LAST = 1
EndIf
If TIJD > 100 And TIJD < 990 Then High STARTRELAIS
If TIJD > 1500 Then Low ACCRELAIS
Wend
Low STARTRELAIS
If ACC = AAN And LAST <> 1 And TIJD > 0 Then Low ACCRELAIS
Wend
End
Wat gaat hier niet goed?? Al diverse varianten geprobeert, maar de ene keer valt het acc-relais gelijk af, de andere keer met geen mogenlijkheid uit te schakelen.
(let op: beveiligingsignalen worden in dit programmatje nog niet meegenomen(draaiende motor ect).
ps. het lukt me niet om de pic-code een beetje netje te posten, welke ubb-code moet ik hier voor gebruiken?
Hiervoor heb ik al een RFID alarmsysteem (uit Amerika) met centrale vergrendeling in mijn bezit. Een systeem ala Renault. Ben ik ongeveer 2 meter in de buurt van de auto dan schakeld het alarm zich uit en ontgrendelen de portieren. Loop ik weg dan gaan de deuren weer opslot en gaat het alarm er weer op.
Nu heeft dit alarm een paar universele uitgangen. 1 hiervan wil ik gebruiken om een startknopcircuit onder spanning te zetten zodat ik de auto met een startknop kan starten.
Hier ben ik dan ook mee aan het stoeien. Het hart van het startknopcircuit is een PIC. Hiervoor heb ik de picbasic.nl site doorgestipt, een picprogrammer aangeschaft, een picsimulater en compiler gedownload.
Ik heb het programma geschreven in picbasic, maar het programma doet niet wat ik wil.
Even het hele rfid gebeuren en de diverse diverse beveiligingen (zoals snelheidsdetectie,draaiende motor detectie) buiten beschouwing gelaten wil ik een pic die het volgende doet:
Situatie 1:
Als de schakelaar kort wordt ingedrukt dan moet het acc-relais (het contact van de auto) bekrachtigd zijn.
Als de schakelaar nog eens kort wordt ingedrukt dan het acc-relais laten afvallen.
Situatie 2
Als de schakelaar kort wordt ingedrukt dan moet het acc-relais (het contact van de auto) bekrachtigd zijn.
Als de schakelaar langer wordt ingedrukt dan het start-relais bekrachtigen net zolang tot de schakelaar wordt vastgehouden.
Als de schakelaar kort wordt ingedrukt dan acc-relais van auto uitzetten.
Het lukt me niet om deze twee situties te programmeren. Het ziet er simpel uit maar het lukt me niet.
Dit is mijn programmatje:
Device 16F628A
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
Dim TIJD As Word
Dim LAST As Word
Dim LUS As Word
Symbol AAN = 1 ;Schakelaar aan = hoog (0)
Symbol UIT = 0 ;Schakelaar uit = laag(1)
Symbol ACCRELAIS = PORTA.0 ;Poort A.0 heeft nu de naam ACCRELAIS
Symbol STARTRELAIS = PORTA.1 ;Poort A.1 heeft nu de naam STARTRELAIS
Symbol BUZZER = PORTA.2 ;Poort A.2 heeft nu de naam BUZZER
Symbol KNOP = PORTB.0 ;Poort B.0 heeft nu de naam KNOP
Symbol ACC = PORTB.1 ;Poort B.1 heeft nu de naam ACC
Symbol RPM = PORTB.2 ;Poort B.2 heeft nu de naam RPM
Symbol KM = PORTB.3 ;Poort B.3 heeft nu de naam KM
PORTB_PULLUPS On ;On-chip pull-up weerstanden actief
Clear ;Wis alle RAM geheugen
While 1 = 1
TIJD = 0
LAST = 0
LUS = 0
While KNOP = AAN
DelayMS 10
TIJD = TIJD + 1
LUS = 1
If TIJD < 10 And ACCRELAIS = UIT Then
High ACCRELAIS
LAST = 1
EndIf
If TIJD > 100 And TIJD < 990 Then High STARTRELAIS
If TIJD > 1500 Then Low ACCRELAIS
Wend
Low STARTRELAIS
If ACC = AAN And LAST <> 1 And TIJD > 0 Then Low ACCRELAIS
Wend
End
Wat gaat hier niet goed?? Al diverse varianten geprobeert, maar de ene keer valt het acc-relais gelijk af, de andere keer met geen mogenlijkheid uit te schakelen.
(let op: beveiligingsignalen worden in dit programmatje nog niet meegenomen(draaiende motor ect).
ps. het lukt me niet om de pic-code een beetje netje te posten, welke ubb-code moet ik hier voor gebruiken?