Wie kan me even helpen mijn 1ste PIC projectje tot een goed einde te brengen? Betreft een PIC16F627.Ik heb de programmer van Velleman K8048.
Probleem 1: Ik heb een batterij van 24v, daar moet ik de 5V voor de PIC uithalen, 7805 lijkt me niet te lukken, te hoge ingangsspanning?
Probleem 2: Pic moet volgende doen: 1 input, 5 uitgangen die elke een relais van 24V sturen.
Bij een 1ste puls op de input gaat Rel 1 aantrekken(en blijft aan), bij een 2de puls op de input gaat Rel. 2 aan en blijft aan....enz... tot de 5 relais aangetrokken zijn. Na X-tijd(instelbaar,vb 1 minuut) reset pic zich zodat alle relais terug afslaan.
Iemand die een opgewonden programmeer(n00b) effe wil/kan helpen?
Met dank alvast!
EdwinNadorp
Koop hier uw kristallen bol - in 2008 ga ik m'n projecten afmaken, echt waar ....... nouja in 2009 dan ..... ehh 2010 ....
Waarmee ga je het maken, wat heb je zover al als code?
Volgens de datasheet op pagina kan je tot 35v in gebruiken, dus je 24v moet geen probleem zijn.
Wat is je schema om de 7805 aan te sluiten?
ps: heb je de cursus op picbasic.nl al eens doorlopen?
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
de 7805 is wel de juiste oplossing, maar dan wel met de nodige condensatoren om de spanning af te vlakken om rimpels (= instabiele voedingsspanning) te voorkomen.
Verder; Welke programmeertaal gebruik je?
Ik zou je aanraden eens de cursus op www.picbasic.nl door te nemen.
PICbasic is een erg simpele programmeertaal die gratis is tot een zeker aantal regels (50).
Maar als ik jouw wensen zo bekijk, moet dat te doen zijn.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 25 april 2007 22:40:07 schreef EdwinNadorp:
ps: heb je de cursus op picbasic.nl al eens doorlopen?
Wat zijn we het weer met elkaar eens Edwin 
elektron_
beetje gek
Op 25 april 2007 22:34:03 schreef Xtel:
Probleem 1: Ik heb een batterij van 24v, daar moet ik de 5V voor de PIC uithalen, 7805 lijkt me niet te lukken, te hoge ingangsspanning
Ze een 7812 en een 7805 na mekaar
Waarom zou je de pic zelf moeten resetten ?
[Bericht gewijzigd door elektron_ op ]
Op 25 april 2007 22:46:03 schreef elektron_:
[...]
Ze een 7812 en een 7805 na mekaar
Waarom zou je de pic zelf moeten resetten ?
Dat lijkt me een mooie oplossing, 7812 en 7805 na mekaar zetten, dank je.
Ik heb de picbasic cursus doorlopen en tot zover heb ik dit :
Device 16F627
Config intrc_osc_noclkout, wdt_off, pwrte_on, lvp_off, mclre_off
ALL_DIGITAL true
Symbol rel1=PORTB.0
Symbol rel2=PORTB.1
Symbol rel3=PORTB.2
Symbol rel4=PORTB.3
Symbol rel5=PORTB.4
Symbol S1=PORTA.0
Symbol aan=1
Symbol uit=0
Clear
While 1=1
If S1=aan And rel4=High Then High rel5
If S1=aan And rel3=High Then High rel4
If S1=aan And rel2=High Then High rel3
If S1=aan And rel1=High Then High rel2
If S1=aan Then High rel1
Wend
End
Helaas krijg ik het niet gecompileerd met proton Ide lite, mijn laptop hangt vast als ik compile of 'compile en program' doe in de Proton Ide lite.
Ik gebruik de Velleman K8048 om te proggen en heb die ook ingesteld als programmer in het programma.
Wie helpt me effe hier een .hex van te maken?
Dank!
elektron_
beetje gek
Op 26 april 2007 14:53:49 schreef Xtel:
[...] Dat lijkt me een mooie oplossing, 7812 en 7805 na mekaar zetten,
Dat werkt goed, en je moet geen condensator na de 7812 zetten enkel na de 7805,
Kevinoud
Een zak tuinaarde opescheuren
Device 16F627
Config intrc_osc_noclkout, wdt_off, pwrte_on, lvp_off, mclre_off
ALL_DIGITAL true
Symbol rel1=PORTB.0
Symbol rel2=PORTB.1
Symbol rel3=PORTB.2
Symbol rel4=PORTB.3
Symbol rel5=PORTB.4
Symbol S1=PORTA.0
Symbol aan=1
Symbol uit=0
Clear
While 1=1
If S1 = aan And rel4 = High Then High rel5
If S1 = aan And rel3 = High Then High rel4
If S1 = aan And rel2 = High Then High rel3
If S1 = aan And rel1 = High Then High rel2
If S1 = aan Then High rel1
Wend
End
het eerste wat ik opmerk is dat De pic die je aangeeft in de lite versie niet bestaat.
ik weet niet welke er allemaal bestaan maar heb je een typfout gemaakt ?
EdwinNadorp
Koop hier uw kristallen bol - in 2008 ga ik m'n projecten afmaken, echt waar ....... nouja in 2009 dan ..... ehh 2010 ....
Hum, ja dat is ook zo iets.
Dan maar proberen in mikroBasic lijkt mij (geen idee of die dat wel kan, ben nu niet thuis)
Volgens mij gaat die code niet werken. De code in de while-lus gaat oneindig lang achter elkaar uitgevoerd worden. Zolang uw signaal S1 hoog blijft zal bij de eerste uitvoering van het while-blok de laatste 'if' voldaan zijn, bij de volgende uitvoering zal de voorlaatste 'if' voldaan zijn enz... Uw relais zullen waarschijnlijk allemaal in één keer aanspringen (tenzij uw pulsje heel kort is). Je moet dus ergens in de code een break ofzo inbouwen totdat het signaal terug laag is.
Ibanez
Een atx voeding is geen labvoeding, en je kunt er geen auto mee starten ook
Op 26 april 2007 14:53:49 schreef Xtel:
[...]Dat lijkt me een mooie oplossing, 7812 en 7805 na mekaar zetten, dank je.
Helaas krijg ik het niet gecompileerd met proton Ide lite, mijn laptop hangt vast als ik compile of 'compile en program' doe in de Proton Ide lite.
Ik gebruik de Velleman K8048 om te proggen en heb die ook ingesteld als programmer in het programma.
Wie helpt me effe hier een .hex van te maken?
Dank!
tijp in je prog ipv 16f627 dan 16f628 die kan wel met lite en is bijna gelijk aan de 16f627. zo loste ik dat altijd op.
Ibanez
Een atx voeding is geen labvoeding, en je kunt er geen auto mee starten ook
@willem:
While 1=1
If S1 = aan And rel4 = High Then High rel5
If S1 = aan And rel3 = High Then High rel4
If S1 = aan And rel2 = High Then High rel3
If S1 = aan And rel1 = High Then High rel2
If S1 = aan Then High rel1
Delayms 500 (vertraagt een half seconde)
Wend
Een poort is of ingang of uitgang, niet beide tegelijk, niet echt handig op deze manier.
Die delay verhelpt dat ook niet.
[Bericht gewijzigd door Henry S. op ]
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Je kunt niet helemaal schrijven zoals je het in de dagelijkse taal zult zeggen.
IF Rel5 = HIGH THEN... kan dus niet, je zult moeten schrijven IF Rel5 = 1.
Door bovenaan te zetten SYMBOL ON = 1 dan kun je wel schrijven; IF Rel5 = ON THEN...
Probeer dit eens:
CLEAR
DIM Tijd AS WORD
WHILE 1 = 1
IF S1 = aan AND rel4 = 1 THEN HIGH rel5
IF S1 = aan AND rel3 = 1 THEN HIGH rel4
IF S1 = aan AND rel2 = 1 THEN HIGH rel3
IF S1 = aan AND rel1 = 1 THEN HIGH rel2
IF S1 = aan THEN HIGH rel1
DELAYMS 10 ;Vertraging, tevens tegen dender
WHILE S1 = aan : WEND ;Wacht tot toets wordt losgelaten
IF rel5 = 1 THEN INC Tijd ;Tijd begint te lopen als rel5 aan is
IF Tijd >= 6000 THEN ;6000 * 10mSec = 1 minuut
CLEAR Tijd ;Tijd resetten voor een volgende keer
LOW rel1 ;Alle relais uitzetten
LOW rel2
LOW rel3
LOW rel4
LOW rel5
ENDIF
WEND
Ik heb deze code niet getest maar zoiets zou moeten kunnen.
@Henry: Je kunt een uitgang wel degelijk als "ingang" lezen of deze HOOG of LAAG is, zie voorbeeld hierboven.
Op 26 april 2007 21:09:05 schreef Frits Kieftenbelt:
Je kunt niet helemaal schrijven zoals je het in de dagelijkse taal zult zeggen.
IF Rel5 = HIGH THEN... kan dus niet, je zult moeten schrijven IF Rel5 = 1.
Door bovenaan te zetten SYMBOL ON = 1 dan kun je wel schrijven; IF Rel5 = ON THEN...Probeer dit eens:
CLEAR DIM Tijd AS WORD WHILE 1 = 1 IF S1 = aan AND rel4 = 1 THEN HIGH rel5 IF S1 = aan AND rel3 = 1 THEN HIGH rel4 IF S1 = aan AND rel2 = 1 THEN HIGH rel3 IF S1 = aan AND rel1 = 1 THEN HIGH rel2 IF S1 = aan THEN HIGH rel1 DELAYMS 10 ;Vertraging, tevens tegen dender WHILE S1 = aan : WEND ;Wacht tot toets wordt losgelaten IF rel5 = 1 THEN INC Tijd ;Tijd begint te lopen als rel5 aan is IF Tijd >= 6000 THEN ;6000 * 10mSec = 1 minuut CLEAR Tijd ;Tijd resetten voor een volgende keer LOW rel1 ;Alle relais uitzetten LOW rel2 LOW rel3 LOW rel4 LOW rel5 ENDIF WENDIk heb deze code niet getest maar zoiets zou moeten kunnen.
Krijg deze code niet door de compiler,
Cannot find library file 'REG_LD14.INC'! Make sure its present in the compilers INC folder.
Wat een geklooi altijd met die 'probeerversies', ben al 48 uur aant zoeken om met dat picbasic IDE lite geval iets te testen, maar zo schiet het niet erg op, maar goed, ik hou vol.
Dan doe je toch echt iets verkeerd...
Compiler geinstalleerd in een map met een lange naam of lange padnaam?
Op 26 april 2007 21:09:05 schreef Frits Kieftenbelt:
[...]
@Henry: Je kunt een uitgang wel degelijk als "ingang" lezen of deze HOOG of LAAG is, zie voorbeeld hierboven.
Mooi, weten we dat ook weer, ik dacht dat je ze dan als ingang moest defineren om te kunnen lezen.
Maar dat zal wel achterhaald zijn.
[Bericht gewijzigd door Henry S. op ]
Ik heb Proton IDE lite opnieuw installed, en krijg de foutcode niet meer,
maar als ik mijn code wil compileren, hangt lappie vast...zoals voorheen, dus ben het even beu Ctrl-Alt-Del, 300 maal eer je een interrupt kan forceren en alle openstaande proggies kwijt bent en alles opnieuw moet opstarten.
Kan iemand mijn code even door een compiler halen , aub? En mij de Hex.file toesturen, dan programmeer ik hem wel met men K8048.
Dank U!
Device 16F628A
Config intrc_osc_noclkout, wdt_off, pwrte_on, lvp_off, mclre_off
ALL_DIGITAL true
Symbol rel1=PORTB.0
Symbol rel2=PORTB.1
Symbol rel3=PORTB.2
Symbol rel4=PORTB.3
Symbol rel5=PORTB.4
Symbol S1=PORTA.0
Symbol aan=1
Symbol uit=0
Clear
Dim Tijd As Word
While 1 = 1
If S1 = aan And rel4 = 1 Then High rel5
If S1 = aan And rel3 = 1 Then High rel4
If S1 = aan And rel2 = 1 Then High rel3
If S1 = aan And rel1 = 1 Then High rel2
If S1 = aan Then High rel1
DelayMS 10 ;Vertraging, tevens tegen dender
While S1 = aan : Wend ;Wacht tot toets wordt losgelaten
If rel5 = 1 Then Inc Tijd ;Tijd begint te lopen als rel5 aan is
If Tijd >= 6000 Then ;6000 * 10mSec = 1 minuut
Clear Tijd ;Tijd resetten voor een volgende keer
Low rel1 ;Alle relais uitzetten
Low rel2
Low rel3
Low rel4
Low rel5
EndIf
Een While en een While zonder Wend
Antwoord mijn vraag ook eens, je kan 100 keer verkeerd installeren.
[Bericht gewijzigd door Henry S. op ]
Op 27 april 2007 00:07:07 schreef Henry S.:
Een While en een While zonder WendAntwoord mijn vraag ook eens, je kan 100 keer verkeerd installeren.
Gewoon 'default' installatie, c:\program files\ProtonIDElite
De code is een copy/paste uit een txt. bestand, daarom dat het er zo onoverzichtelijk uitziet.
Hier een betere copy: Als iemand wil compileren en mij de .Hex toesturen, aub?
Device 16F628A
Config intrc_osc_noclkout, wdt_off, pwrte_on, lvp_off, mclre_off
ALL_DIGITAL true
Symbol rel1=PORTB.0
Symbol rel2=PORTB.1
Symbol rel3=PORTB.2
Symbol rel4=PORTB.3
Symbol rel5=PORTB.4
Symbol S1=PORTA.0
Symbol aan=1
Symbol uit=0
Clear
Dim Tijd As Word
While 1 = 1
If S1 = aan And rel4 = 1 Then High rel5
If S1 = aan And rel3 = 1 Then High rel4
If S1 = aan And rel2 = 1 Then High rel3
If S1 = aan And rel1 = 1 Then High rel2
If S1 = aan Then High rel1
DelayMS 10 ;Vertraging, tevens tegen dender
While S1 = aan : Wend ;Wacht tot toets wordt losgelaten
If rel5 = 1 Then Inc Tijd ;Tijd begint te lopen als rel5 aan is
If Tijd >= 6000 Then ;6000 * 10mSec = 1 minuut
Clear Tijd ;Tijd resetten voor een volgende keer
Low rel1 ;Alle relais uitzetten
Low rel2
Low rel3
Low rel4
Low rel5
EndIf
Wend
Nou okee dan
omdat ik morgen vrij ben en me het te heet is om te slapen
slinger ik even mun pic prog pc aan en zal het compileren voor je 
Op 27 april 2007 00:38:22 schreef Gerwinh:
Nou okee danomdat ik morgen vrij ben en me het te heet is om te slapen
slinger ik even mun pic prog pc aan en zal het compileren voor je
Dank je Gerwin!
Ken je iemand die een 2 dagen oude K8048 wil kopen voor de helft van de prijs? Heb al spijt van dat ding....
Op 27 april 2007 00:44:23 schreef Xtel:
[...]Dank je Gerwin!
Ken je iemand die een 2 dagen oude K8048 wil kopen voor de helft van de prijs? Heb al spijt van dat ding....
No prob
en geen idee heb net mijn cheapo RCD progammer klaar
en die werkt perfect 
:100000002F2883178001840AFF3E031D02282A2817
:10001000A301A200FF30A207031CA307031C2A2888
:100020000330A100DF3016200A28A101E83EA0001D
:10003000A109FC30031C1F28A00703181C28A007D7
:100040000000A10F1C2820182528A01C292800002A
:1000500029280800831383120313000008000730C7
:100060009F002030840060300220A0308400503097
:1000700002202030840030300120030105180130B7
:10008000A400030186190130240503194A28061625
:10009000831606128312030105180130A400030120
:1000A0000619013024050319582886158316861170
:1000B0008312030105180130A400030186180130E2
:1000C00024050319662806158316061183120301F9
:1000D00005180130A4000301061801302405031996
:1000E00074288614831686108312051C7A28061439
:1000F0008316061083120A300820051C80287D28EC
:10010000061E8528A50A0319A60A17302602031C15
:10011000A428031D8F2870302502031CA428A601E3
:10012000A50106108316061083128610831686100A
:100130008312061183160611831286118316861107
:0C014000831206128316061283123D285B
:02400E00503F21
:00000001FF
Of
http://www.xs4all.nl/~hummel3/relaiprog/ voor alle andere bestanden die aangemaakt worden indien je die nodig hebt 
Op 27 april 2007 00:17:26 schreef Xtel:
[...]Gewoon 'default' installatie, c:\program files\ProtonIDElite
Prima. En waar zet je broncode neer?
Ik heb me rot gezocht totdat ik ontdekte dat de broncode het beste in de root van een drive gezet kan worden. 'Mijn Documenten' etc. is dus uit den boze, en in c:\program files\ProtonIDElite wil het ook niet.
Op 27 april 2007 19:12:19 schreef Henry S.:
[...]
Prima. En waar zet je broncode neer?
Ik heb me rot gezocht totdat ik ontdekte dat de broncode het beste in de root van een drive gezet kan worden. 'Mijn Documenten' etc. is dus uit den boze, en in c:\program files\ProtonIDElite wil het ook niet.
Dank je Henri, voor je tip, nu heb ik alles opnieuw geinstalleerd, zo kort mogelijk onder de root, broncode zelfs vlak onder de root.....en het is erg frustrerend, maar alles hangt vast, 27 keer Ctrl-Alt-Del en met wat geluk kan ik ertussen, soms ook niet, en moet ik een 'harde stop' doen en laptop terug booten.
Het programma zoals aangepast door 'user Fritz' en gecompileerd door 'user Gerwin' heb ik geladen in de PIC, maar blijkbaar moet er nog wat aan veranderd worden, bij inputpuls gaat led1 aan, maar gaat ook uit als input wegvalt.
Ik zou zo graag wat experimenteren met het programma om uiteindelijk iets werkend te krijgen, ev. met jullie hulp.
Maar als die IDE lite al niet meewil....Ik weet dat het niet mag hier in het forum, maar ik ga toch eens de 'gekende kanalen' afzoeken, misschien vind ik een IDE Pro versie,die wel werkt. (Beter voor mijn bloeddruk, iig)
Jeroen Boere
IF you can't convince them, then confuse them!
doe je meteen de knop F11 drukken (is uit mijn hoofd compile + program)
OF
compileer je eerst alleen je source?
want het zou wel eens kunnen zijn dat je picbasic crasht op het initializeren van je programmer....