Ik ben al een tijdje bezig met een project om een groep LEDs te dimmen.
Ik ben hiermee bezig om dit te doen met een PIC10F206.
Ik heb het werkend gehad met een PIC18F2220.
Maar nu ik met de PIC10F206 begin werkt niets meer.
Ik kan wel bijvoorbeeld een LED aan of uit doen maar geen potmeter inlezen doormiddel van een RCin functie.

Een schakelaar werkt soms wel en soms niet.
Ik heb volgens mij al 2 PICjes opgeblazen.
Bij een kreeg ik nog maar 1.5V als ik een LEDje vanuit de poort aan wilde zetten in plaats van de normale 5V.

Ik weet dat GP3 alleen als ingang gebruikt kan worden.
Daarom zet ik hier de schakelaar op dit werkte in het begin heel goed.
En ik kon met alle andere I/Os een FET aansturen om daarmee de LEDs aan te zetten.
Maar ik krijg het niet werkend om dit door de potmeter te laten regelen.
Ik gebruikt het onderstaande programma :

Device 10F206
Config MCLRE_OFF, CP_OFF, WDT_OFF, IntRC_OSC
Xtal 4                              ;OSCCON register op 8MHZ zetten

;Extra configuratie
All_Digital TRUE                    ;Alle ingangen Digitaal

Dim Duty As Byte                    ;Maak variabele Duty aan
Symbol LED = GPIO.0                 ;PortGP.2 is de LED
Symbol POTMETER = GPIO.2            ;PortGP.0 is de Potmeter
Symbol S1 = GPIO.3                  ;PortGP.1 is een Schakelaar
Symbol POWER = GPIO.1               ;PortGP.3 is een Status LED

Symbol AAN = 1                      ;AAN staat voor 1

Clear                               ;Wis alle RAM geheugen

;Hoofdprogramma
High POWER                          ;Status LED aan
While 1 = 1                         ;Altijd doorlopende lus
  If S1 = AAN Then                  ;Als de schakelaar 1 is dan mag hij door
    High POTMETER                   ;Ontladen condensator
    DelayMS 1                       ;Wachten totdat hij is ontladen
    Duty = RCIn POTMETER, 255       ;Geef de potmeterwaarde aan Duty
    PWM LED, Duty, 5                ;Functie PWM gebruiken samen met de Duty
  EndIf
Wend                          

End

De 206 heeft geen ADC, enkel een analoge comparator.
Je kunt dus geen analoge waarde inlezen als maat voor je duty cycle.

Kun je wel een potmeter waarde inlezen op een andere manier?
Of is dat helemaal niet mogelijk?

Kijk hier eens:
http://www.picbasic.nl/
Kijk bij picbasic les_5.
http://www.picbasic.nl/beginners5.htm

[Bericht gewijzigd door Lambiek op (23%)]

Ja dat heb ik gedaan dus dan zou het eigenlijk wel moeten kunnen.
Want ik maak gebruik van de RCin functie die onderaan in deel 5 wordt uitgelegd.
Want de PIC16F628A die in de cursus wordt gebruikt heeft ook geen ADC.
Want ik heb precies deze schakeling op een andere PIC wel werkend gekregen dus ik begrijp niet wat ik verkeerd doe?

Weet iemand of er misschien nog speciale dingen zijn aan de PIC10F206?
Ik weet al dat GP3 alleen een input is maar misschien is er nog wel meer?

Het kan ook nog aan je instellingen (fusses / CONFIG) liggen, als die niet goed staan kan het ook zijn dat het niet goed werkt (je hebt tenslotte een ander type pic). Zelf gebruik ik wel altijd een pic met een analoge ingang als dat nodig is, vindt de pot_instructie een nood oplossing, dus dat gebruik ik nooit.

EDIT:
Je moet de instructie POT gebruiken, en niet RCIN.

[Bericht gewijzigd door Lambiek op (10%)]

Ik heb de POT instructie ook gebruikt maar de RCIN was beter.
Want ik heb een LCD display aangesloten met daarop de waarde van de potmeter.
En de waarde met RCIN was veel mooier en van 0 tot 255 in plaats van de POT instructie deze hing dan weer af van de schaal.
Maar deze kreeg ik niet goed ingesteld hierdoor heb ik dus voor RCIN gekozen.

Ik kan wel LEDjes aan en uit zetten of een drukknop gebruiken.
Dus ik denk niet dat het aan de configuratie kan liggen.
Of wat denken jullie dat er misschien fout zou kunnen zijn aan de configuratie?

OK, dat kan dat RCIN voor jou beter uitkomt.

Heb je hier al eens gekeken.
http://www.microchip.com/search/searchapp/searchhome.aspx?q=10F206&amp…
Er staan 186 voorbeelden.

Nu lijkt het net of ik iets verkeerd aansluit want mijn PIC10F206 werd best heet.
Maar ik heb de PIC met de Vss aan de nul hangen en de VDD aan de 5V.
En dan de pickit2.

Het pijltje noem ik 1
1-MCLR (pootje 8)
2-VDD (pootje 2)
3-Vss (pootje 7)
4-ICSPDAT (pootje 5)
5-ICSPCLK (pootje 4)
6-los

Zou iemand kunnen controleren of dit goed is?
Want volgens mij is het goed.
Alleen 4 ICSPDAT zou fout kunnen zijn.
Maar bij de andere shape van deze PIC staat deze bij CIN+/GP0.
Dus heb ik dat ook maar gedaan

Ik krijg de hele tijd deze melding:
---------------------------------------
Operation: Write Flash
0%
25%
50%
75%
100%

Operation: Verify Flash
0%
PICkit 2 Program Report
18-Dec-2011, 16:57:33
Device Type: PIC10F206

Program Memory Errors

Address Good Bad
000000 000A2E 000000

Press ant key to exit.
---------------------------------------

Ik ga nu nog eens proberen een andere PIC te programmeren.
Om uit te sluiten dat mijn PICKIT kapot is.

Op 18 december 2011 17:01:47 schreef Pieper:
Het pijltje noem ik 1
1-MCLR (pootje 8)
2-VDD (pootje 2)
3-Vss (pootje 7)
4-ICSPDAT (pootje 5)
5-ICSPCLK (pootje 4)
6-los

Maar bij de andere shape van deze PIC staat deze bij CIN+/GP0.
Dus heb ik dat ook maar gedaan.

Waarom gebruik je twee nummeringen? Laat het schema eens zien om misverstanden uit te sluiten. De aanduiding CIN/GP0 hoort bij de pin met ICSPDAT en dat geldt voor alle shapes. Kijk maar in de datasheet.

Dit is het schema wat ik gebruik.

http://img685.imageshack.us/img685/6563/schermafbeelding2011121v.png

Merkwaardig: het zijn nu al drie nummeringen geworden.
Bijvoorbeeld MClr is nr. 1 = pootje 8 = aansluiting 6 in het schema.

Kan het echt niet eenduidig, nl. overal de pinnummering van de PIC10F206 gebruiken? Wat is de package?

Ik weet niet of dit volledig schema is, maar waar zitten de ontkoppel-C's? Ik stel voor een diode op te nemen tussen 5V en R2 om de programmeerspanning Vpp te blokkeren. Ik heb het niet nagerekend maar heeft de ICSPDAT geen last van C1?

[Bericht gewijzigd door BenZ op (34%)]

Sorry het is inderdaad misschien een beetje verwarrend.
Maar ik zou normaal de SOT package gebruiken.
Maar omdat ik nog een beginneling ben heb ik de schakeling eerst op een breadboard opgebouwd met een DIP.

Ik kwam inderdaad eerst al een probleem tegen met programmeren.
Dit kwam bijvoorbeeld door de weerstand en condensator bij PGD.
En door de weerstand bij de schakelaar.

Hierdoor ben ik maar overgegaan naar het programmeren van de PIC zonder iets aangesloten.
En als ik hem geprogrammeerd had hem dan aan te sluiten.
Hierdoor heeft de PIC geen last van de externe schakeling.

Misschien een overbodige vraag: hou je rekening met ESD?

ALS je de juiste pinnummering aanhoudt moet los programmeren met een PICKIT2 geen problemen opleveren.

Ik heb hier inderdaad ook aangedacht.
Maar ik ben niet in de positie om er iets aan te doen.
Want ik heb niet van die polsbandjes.

Maar ik ga nog eens proberen zo minder mogelijk geladen te zijn.
Door bijvoorbeeld de aarde aan te raken als ik het IC in het breadboard stop.
Maar ik vraag me af of dat veel verschil zal geven.

Het is een kwestie van elimineren van risico's en vermijden van lastig zoekwerk naar een oorzaak van een probleem.

Even iets anders, ziet de pickit je pic wel als je hem aansluit?.
Of krijg je misschien een andere melding?.
Wat gebruik je low_volt prog of niet?.
Staat je spanning goed ingesteld op je pickit?.

Op 18 december 2011 17:01:47 schreef Pieper:
Nu lijkt het net of ik iets verkeerd aansluit want mijn PIC10F206 werd best heet...........

Sluit de voedingsspanning van de pickit ook eens aan op de pic, en voed de pic uit de pickit tijdens het programmeren. Dus geen externe spanning aansluiten, en kijk wat er dan gebeurt.