Underdog
bool SignatureExists { return false; }
Hallo allemaal,
We hebben de PIC Programmer uit de Elektuur van september 2003 gebouwd volgens schema, maar hij wil niet goed werken. De lampjes branden allemaal goed, en het bijgeleverde programma "PicProg" geeft ook aan dat de programmer is aangesloten.
Bij het lezen geeft het programma ook geen foutmelding, maar het maakt niet uit of er een PIC in zit of niet, hij leest alleen maar 0000's.
Als je gaat schrijven, dan geeft hij een foutmelding. Als je bijvoorbeeld op adres 0000 "1234" zet, geeft hij de foutmelding dat hij niet kan programmen op dat adres, en als je daarna opnieuw gaat lezen, staat adres 0000 tot 0029 vol met 3FFF'en. Wat je daarna ook doet, die 3FFF'en blijven, en de rest blijft 0000.
Ook hebben we geprobeerd een PIC uit te lezen waar al een programma in staat, maar die geeft ook alleen maar 0000. Iemand een idee waaraan dit kan liggen? Of iemand die een zetje in de juiste richting kan geven?
Alvast bedankt!
Underdog
bool SignatureExists { return false; }
Ja, heb ik al gedaan, maar dat slaat allemaal op de PIC programmer die op deze site staat. De PIC programmer van de Elektuur is heel anders qua opzet, en is (zover ik weet) ook niet met IC-Prog te gebruiken.
De connector kan trouwens bijna niet verkeerd zetten, want als we de oscilloscoop op de pootjes van de te programmeren chip zetten, zien we de juiste signalen. Alleen bij het programmeren krijgt hij geen enkel signaal. Aangezien er maar een 'datalijn' vanaf de PC naar de programmer loopt, moet de programmer als die fout zit aangesloten helemaal niet functioneren. Dus ik snap er ook niet echt veel meer van.
Niemand die de programmer uit de elektuur aan de praat heeft gekregen?
Heb dus ook problemen gehad met dat programmeren, maar bij mij deed ie het af en toe wel en af en toe niet, ben er achter gekomen dat het kristal niet goed oscilleerde, toen heb ik een externe pulsgenerator gepakt en die aan gesloten en programeerde wel, misschien de oplossing maar misschien even om uit te sluiten.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> We hebben de PIC Programmer uit de Elektuur van september 2003 gebouwd volgens schema, maar hij wil niet goed werken.
Shit, ik kan die elektuur niet vinden. Ik heb bij het artikel een lijstje geplakt met de fouten die ze hebben gemaakt 
Underdog
bool SignatureExists { return false; }
Waarschijnlijk hebben we het probleem gevonden:
We hebben de maker van het programma PicProg gemaild en die zei dat hij de 16F818 en 819 waarschijnlijk niet goed geimplementeerd heeft. We gaan vanavond proberen met een andere paar andere PIC's, ik hou jullie op de hoogte!
Underdog
bool SignatureExists { return false; }
De 16F84A werkt prima, het lag dus inderdaad aan het programma PicProg, waarin de 818 en 819 niet goed waren geïmplementeerd.
Maar ik zou toch wel graag willen weten welke fouten je allemaal gevonden hebt!
Ik zou het ook wel leuk vinden om te weten. ik kwam hier toevallig op en ik ben bezig met het maken van zo'n bordje. alleen de zif hoeft er nog maar op maar nou lees ik dat ie het misschien niet gaat doen... bommer!!!
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 15 februari 2004 12:46:58 schreef Underdog:
Maar ik zou toch wel graag willen weten welke fouten je allemaal gevonden hebt!
Ik heb de betreffende elektuur terug gevonden! Hierbij mijn commentaar.
De Vdd voor de PIC wordt geleverd door een OpAmp. Een 12C PIC heeft maximaal 20mA nodig tijdens programmeren, de TL082 OpAmp is geschikt tot 17mA.
De Vdd wordt na de OpAmp via een digitale schakelaat op de target PIC aangesloten. De absolute maximum voor de stroom door zo'n switch is 25 mA, dan is 20 mA tijdens 'normaal' gebruik aan de hoge kant. De weerstand is ongeveer 40 ohm, dus er nogal valt dan 1 Volt over! Er blijft dan niet veel over van de naukeurigheid waarmee de Vdd is ingesteld. Dit is niet zo heel erg omdat die Vdd vooral van belang is tijdens lezen, en dan is de stroom veel lager.
De signaallijnen van de 874 naar de target PIC zijn keurig gebufferd om het verschil in voedingsspanning te overbruggen. Maar op de terugweg is de taget PIC direct aangesloten op de pinnen van de 874, zelfs zonder serieweerstanden. Dit is volgens mij de grootste misser.
Wat kleinere 'zeur' puntjes: zoals meestal bij een elektuur ontwerp is het nogal ingewikkeld (bv een R-2R DA omzetter. waarom niet de PWM uitgang gebruiken?) en is de print groter dan nodig (een radiale elko! zeker wat de auteur nog in z'n sloopbak had liggen). De ZIF voet heeft maar voor de helft plek om vast te solderen - mechanisch niet zo geslaagd. De seriele aansluiting is een ML10 connector, een DB9 print of edge connector was iets makkelijker geweest. Maar oke, dit is makkelijker ivm plaatsen in een kastje. Maar waarom gaat er +5V naar die seriele connector toe? Een veel gemaakte fout van gebruikers is een te lage ingangsspanning (hier is 15V AC aangegeven). Het zou een kleine moeite zijn (twee weerstanden) om die spanning te meten via de PIC zodat er een fout gemeld kan worden.
En als laatste: voor een 12C PIC is een programmer met een ZIF voet misschien zinnig, maar voor flash PICs (wie gebruikt tegenwoordig nog EPROM PICs?) is in-circuit programmeren toch echt veel handiger. Dus wat brengt elektuur? De zoveelste ZIF-voet progger, en misschien dat de auteur hem later nog geschikt gaat maken voor in-circuit proggen. Verkeerdom!
heb je dan toevallig een beter plan voor het programeren van pic'tjes? niet dat ik hem niet ff afmaak er hoeft alleen nog maar een zif op dan zou hij klaar zijn de foutjes die je opgeeft fix ik dan wel ff. maar met ook op de toekomst zou het natuurlijk best leuk zijn om ook flash-pic'tjes te kunnen programeren.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 20 februari 2004 15:57:04 schreef memmo:
heb je dan toevallig een beter plan voor het programeren van pic'tjes? niet dat ik hem niet ff afmaak er hoeft alleen nog maar een zif op dan zou hij klaar zijn de foutjes die je opgeeft fix ik dan wel ff. maar met ook op de toekomst zou het natuurlijk best leuk zijn om ook flash-pic'tjes te kunnen programeren.
Ik heb zelf een ontwerp dat ik verkoop maar ook beschikbaar stel voor nabouw (www.voti.nl/wisp628), maar dat is uitdrukkelijk
- alleen voor flash PICs (maar dan wel voor mijn alle)
- een 'prtotype' programmer (verificatie bij 1 spanning)
- een ICSP-only programmer (je kan er als je wilt natuurlijk een ZIF voet aan toevoegen)
die site van jou, wouter, is echt super handig... je bent wel hard voor je onzekere lezers 
"This is not a fool's guide: fools are much more fool than I am clever, and fools should not program PICs (nor anything else) anyway."
ik ben zo'n beginnend knutselaartje maar als ik het zeker weet en echt zeker weet heb ik heel veel aan de info op de site 
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> "This is not a fool's guide: fools are much more fool than I am clever, and fools should not program PICs (nor anything else) anyway."
Suggesties voor verbetering zijn altijd welkom, maar dat zinnetje blijft er zeker in!
zou ik ook doen. ik heb denk ik nu bijna heel de site gezien en tis idd niet makkelijk om iets ff te maken.
ik ben van plan zo'n wisp628 kitje te kopen en een 16f877 te programeren zoals je aangaf op je site als goede start pic's. wat ik ook gelezen heb is dat je soms de spanning die je nodig heb om de programmer in te stellen niet haald met een laptop omdat de spanning uit de seriele poort niet hoog genoeg is. is dit probleem te verhelpen door een usb-serieel kabel te kopen (zoals (ook) verkrijgbaar op je site) of is maakt dit niet uit als je een 5v voeding maakt of hebt.
ook zij je dat de software de chip niet kan programeren in nt/2000/xp. ook niet met de usb-kabel? (omdat dit geloof ik een adres probleem is in windows)
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> ik ben van plan zo'n wisp628 kitje te kopen en een 16f877 te programeren zoals je aangaf op je site als goede start pic's.
Als je toch een Wisp628 neemt kan je ook een 16F877A nemen, ietsje goedkoper. Of kijk ook even naar de 18F452, duurder maar wel veel krachtiger.
> wat ik ook gelezen heb is dat je soms de spanning die je nodig heb om de programmer in te stellen niet haald met een laptop omdat de spanning uit de seriele poort niet hoog genoeg is.
Dat geldt voor serial-port-powered programmers, niet voor de Wisp628
> ook zij je dat de software de chip niet kan programeren in nt/2000/xp.
Dat geld voor de WISP software, XWisp werkt juist prima met de recentere Windows versies. Maar gek genoeg *niet* op mijn eigen XP PC met de seriele poort, maar weer wel met een USB/serieel adapter (en ook met de seriele poort van mijn Win98se laptop). Ik heb van 1 andere persoon gehoord dat hij het zelfde probleem had met een totaal andere programmer, dus ik denk dat het met XP (een bepaalde versie?) te maken heeft, niet met XWisp of Wisp628.
ok tnx, ik zal kijken naar die 18f452 - krachtiger == beter
(ik zit niet voor niks in uren in de sportschool)
mooi dat die software werkt op 2000 want ik weiger om terug te stappen op 98se.
o nog een algemeen vraagje. als ik het goed begrijp is pyton de taal die je gebruikt bij het programeren van je chips. ik ben bekent met c/c++ en asm van moterola en de andere instructie set's zijn waarschijnlijk makkelijk te leren maar pyton ken ik niet is dit lastig eigen te maken?
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> als ik het goed begrijp is pyton de taal die je gebruikt bij het programeren van je chips.
Nee. Python is de taal waarin de PC software voor het downloaden (aansturren van de progranmmer) geschreven is. Ik kan je aanraden die taal eens te bekijken, maar met PICs heeft het niets te maken.
Een PIC programmeer je in assembler, C, Jal, Basic, etc. Je moet dus een assembler of compiler vinden of kopen. Voor de 18F's heeft Microchip bv de C18 compiler, heel duur, maar met een gratis demo (tijdslot, gewoon opnieuw installeren).
heb ik voor de 18f452 een 40 Mhz kristal nodig want die staat niet te koop bij jou. kan ik die 33 nogwat mhz dan gebruiken?
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 16 maart 2004 12:28:07 schreef memmo:
heb ik voor de 18f452 een 40 Mhz kristal nodig
Een 18F kan geen 40 MHz kristal aan, ik geloof dat het maximum 25 Mhz is.
Om op 40 MHz te draaien kan je een 10 MHz kristal nemen in combinatie met de interne x4 PLL.
Een 18F kan geen 40 MHz kristal aan, ik geloof dat het maximum 25 Mhz is
het is dus geen probleem als ik een 20Mhz xtal gebruik?
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
Op 16 maart 2004 18:07:57 schreef memmo:
het is dus geen probleem als ik een 20Mhz xtal gebruik?
Pak de datasheet er even bij, dan weet je het zeker.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> het is dus geen probleem als ik een 20Mhz xtal gebruik?
geen probleem, maar wel langzamer dan met een 10 MHz kristal + PLL.
geen probleem, maar wel langzamer dan met een 10 MHz kristal + PLL.
hoe werkt het met pll? zit dat in de chip?