Hallo,
Ik ben bezig met de PIC BASIC cursus. Ben bij les 8 en heb al verschillende (test) schakelingen werkend gekregen. Zonder problemen.
Vanmorgen wilde ik een andere schakeling op het bordje zetten, maar wat ik ook deed, niets werkte.
Ten einde raad heb ik de schakeling uit les 1 op mijn bordje gemaakt en de PIC ervoor geprogrammeerd. (schakeling om een LED te laten knipperen) Ik heb deze schakeling al eerder gemaakt en dat werkte zonder problemen.
Nu gaat er echter iets helemaal mis, want de PIC lijkt niet op te willen starten.
Het gaat om dit schema:
De schakeling op mijn bordje:
En de code:
DEVICE 16F628A ;We gebruiken een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
Opnieuw: ;Label met zelf te verzinnen naam
TOGGLE PORTA.1 ;Aan moet uit, uit moet aan
DELAYMS 500 ;500 milliseconden = 0,5 seconde
GOTO Opnieuw ;Spring naar 'Opnieuw' en ga zo steeds door
END ;Einde programma- De PIC is goed geprogrammeerd (dat weet ik zeker)
- De Schakeling is volgens mij ook goed
- De voeding is netjes 5 volt (+ en - goed aangesloten)
Maar wat ik ook probeer, het Ledje gaat niet aan.
Toen ik de schakeling naliep trok ik per ongeluk de + draad van de PIC los (pootje 14 Vcc) Toen brandde het ledje wel een klein beetje. Draadje weer vastgemaakt, en dan gaat het ledje uit. (en blijft uit) LED zit dus goed gemonteerd.
Ik heb intussen ook een andere (nieuwe)PIC van hetzelfde type geprobeerd, maar geen resultaat.
Ik denk dat er 2 mogelijkheden zijn....
1) Met programmeren gaat er iets fout. (lijkt mij stug want als ik de PIC inlees met de programmer staat daar netjes de code die ik erop gezet heb.
2) De PIC start niet op (kapotte PIC lijkt mij niet, want programmeren gaat zonder foutmeldingen)
Iemand een idee waar dit aan kan liggen en wat ik nog kan doen om de schakeling werkend te krijgen?
Graag jullie hulp hierbij!!!
Groet,
Theo
falaigai
Leren kan je alleen maar door te Doen
of je ledje zit aan een fout pinnetje .
Of je hebt de voedingsspanning omgedraaid .
ik denk dat het het laatste is ( als + rood is en - zwart)
edit : foto nog eens bekeken . En ik denk dat het toch juist is ...
[Bericht gewijzigd door falaigai op (20%)]
Voeding zit goed. (zwart op - rood op +) Voor de zekerheid nagemeten met de multimeter en het klopt.
Op pin 14 Vcc staat netjes 5 volt. Op de LED staat op de + ook 5 volt en achter de weerstand die aan de LED zit staat ook spanning (poort A1).
De rest van de draadjes voor de zekerheid ook even doorgemeten en geen draadbreuken...
Groet,
Theo
Stan1
Read the fuc.... manual and read the fuc.... datasheet! {Proton IDE: V2.0.1.2 / Proton Compiler: V3.5.4.5}
Hai,
In ieder geval mis ik de Tris instelling nog!
DEVICE 16F628A ;We gebruiken een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
TrisA.1 = 0 ; << Deze.
Opnieuw: ;Label met zelf te verzinnen naam
TOGGLE PORTA.1 ;Aan moet uit, uit moet aan
DELAYMS 500 ;500 milliseconden = 0,5 seconde
GOTO Opnieuw ;Spring naar 'Opnieuw' en ga zo steeds door
END
Tris is niet nodig, zit in de Toggle.
En dit is een bestaand, vaak gebruikt programma.
Op de foto is niet te zien hoe de PIC op het breadboard zit, graag een heldere foto van bovenaf.
Probeer eens in plaats van toggle gewoon een voor een HIGH en LOW (of tris / Output en dan port.pin = 0 en port.pin = 1)
Het toggle commando werkt bij mij vaak op onverklaarbare manier niet. Vast een bug in Proton...
Stan1
Read the fuc.... manual and read the fuc.... datasheet! {Proton IDE: V2.0.1.2 / Proton Compiler: V3.5.4.5}
Het toggle commando werkt bij mij vaak op onverklaarbare manier niet. Vast een bug in Proton...
Heb ik ook wel gehad en wanneer ik dan van de betreffende port het
Tris register op output zet, werkte het wel!
Tevens is het een goede gewoonte om de volgende instellingen
in te stellen:
PCON.3 = 1 ; INTOSC Oscillator Frequency bit = 4MHZ
CMCON = 7 ; Comparator off
[Bericht gewijzigd door Stan1 op (29%)]
jij zet de voeding op de led.
Bij de cursus zetten ze dacht ik de massa op de led en komt de + van de controller.
Misschien heb je hierdoor toch de led verkeerd om gedaan?
Voor een knipperled maakt het niet uit of de LED aan de plus of massa hangt... zolang de polariteit van de LED maar zo is dat er een stroom kan lopen.
@ Tysie: het is het orgineel van Picbasic, dus dat zit wel goed.
@ Henry: met een beetje inzoomen is de inkeping op de pic wel te zien.
Als jij een nieuwe HEX in de pic stopt, wis jij die van te voren wel?
theove
Take care to get what you like or you will be forced to like what you get
TheBasher
Don't build anything you can't take apart
Regeltje toevoegen misschien dat die helpt:
En inderaad CMCON = 7 zet ik er ook vaak bij, zet je de comparators uit. Gooien soms roet in het eten ondanks dat je zegt all_digital true
Xtal = 4Waarom zou die simpele code uit picbasi.nl les1 niet werken zonder die extra regels?
Hardware fout of vergeten te wissen.
Meet anders even met een multimeter of er wel spanning op komt te staan.(porta.1)
Dan weet je of het aan de led of aan de controller ligt
@tysie Als er spanning op PORTA.1 staat dan zal de LED in dit geval juist NIET branden.
Pas als de spanning op PORTA.1 naar nul gaat, dan zal er stroom door de LED en weerstand gaan lopen en de LED dus gaan branden.
-edit- Inderdaad, wat @rew hieronder al zegt.
[Bericht gewijzigd door Sonytech op (11%)]
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
de zoveelste keer dat iemand over de led verkeerdom begint.....
TS heeft zelf uitgezocht dat ie goed om zit. Als ie de voeding van de pic weghaalt gaat de PIC zijn voedingsstroom proberen te pakken uit de LED en licht de led zachtjes op. TS heeft zelf al gemeld dat ie daarom denkt dat de led goed om zit. En daar ben ik het mee eens.
Dank voor alle reacties!!!!
Ik heb ondertussen nog even wat zaken geprobeerd, maar alles zonder resultaat.
Er blijft spanning staan op poort A.1
Zelfs wanneer ik alle code weg haal en alleen
TrisA.1 = 0 ;erin zet, dan blijft de LED uit.
Zou het kunnen zijn dat mijn programmer is overleden en dat de programmer de PIC sloopt? Is dit te meten op de PIC?
Ik heb nu ook andere schakelingen geprobeerd en andere PIC. Maar geen enkele schakeling werkt. Ten einde raad alle componenten vervangen door nieuwe (ongebruikte), geen resultaat. Het enige wat ik dus kan bedenken is dat, of de programmer niet goed meer is, of dat de PIC kapot is.
Test gedaan met de programmer.
- nieuwe (lege) PIC erin en geprogrammeerd.
- PIC uit de programmer gehaald en de programmer los gekoppeld van de computer.
- Computer opnieuw opgestart en programmer eraan gekoppeld
- PIC in de programmer en de PIC uitgelezen.
_ code in de PIC is gelijk aan de code die ik erin gezet heb.
Ik gebruik MicroBurn als software en deze programmer:
http://www.ebay.nl/itm/260836647623?ssPageName=STRK:MEWNX:IT&_trksid=p…
Kan het met de instellingen te maken hebben?
Het vreemde is dat ik tot aan gisteren alles werkend heb gekregen. Ook deze schakeling met de LED. Simpelweg was het de PIC programmeren en in de schakeling plaatsen, en het werkte.
Nu dus niet meer...
Ben nu zover dat ik denk dat ik alles geprobeerd heb. van componenten wisselen tot compleet andere, simpele schakelingen, niets helpt. Zelfs heel boos kijken naar de schakeling helpt niet 
Voor ik overga tot reparatie met een hamer (LOL) zou ik graag horen of er nog andere mogelijkheden zijn die ik zou kunnen proberen......
Groet,
Theo
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Kun je de pic wel uitlezen, en is de inhoud dan hetzelfde als de originele file?
De chip kan wel vast komen te zitten door het bekende 'MCLR/TIMER1/INTOSC' probleem, maar dan zou de programmer de hele chip niet meer moeten kunnen herkennen...
Op 17 november 2011 11:14:02 schreef Arco:
Kun je de pic wel uitlezen, en is de inhoud dan hetzelfde als de originele file?
Klopt. Ik kan de PIC uitlezen en leeg maken/programmeren.
Groet,
Theo
Arabel
Re-integratiecoach uitgerangeerde en degoutante electronen
je kunt deze proberen
100ms /50% dutycycle op A.0
:100000002528072007200720072007200800C830E0
:100010001228643012282830122814301228023096
:1000200012280A30A000C730A1000130A200A10BA5
:100030001A28A20B1728A00B1328003483160030AF
:10004000850000308600831208001E20051407205A
:0600500005100720262820
:02400E00103F61
:00000001FF
save as blinktest.hex
outputport is A.0 (17) ipv A.1(18)
Je moet een lagere uitgangsspanning meten dan 5 volt. 2,5 volt
edit: ik zie net dat de delay routines voor 8 Mhz zijn,maar dat maakt voor de werking niet veel uit.
toch wel een 628A en geen 628-04?
[Bericht gewijzigd door Arabel op (16%)]
Ik denk dat ik eruit ben....
Proton bleek de boosdoener.
Omdat het HEX bestandje van @Arabel wel werkte, ben ik verder gaan zoeken en kreeg het idee dat het wel eens aan de software kon liggen.
Dus eerst MicroBurn opnieuw erop gezet, dat gaf geen verandering, toen maar heel Proton eraf gegooid en opnieuw erop gezet.
En voila, het werkt weer allemaal.
Geen enkel idee wat er mis was met Proton, maar het probleem is opgelost....
(pffffffffffff)
Ik wil iedereen bedanken voor de tips en het meedenken. Ik waardeer dit echt!!!
Groet,
Theo
