Programmeren 16F88

Hoi Allen,

In de hoop dat jullie mij een beetje kunnen helpen:
Ik ben bezig om de tiRGBled controller te bouwen van http://rgbled.org (Linkje naar projectfile met source, schema's etc.)
Nu krijg ik als het goed is deze week de laatste connectortjes binnen, om de print helemaal af te bouwen.
Dus ik dacht, ik zal de PIC 16F88 vast "even" programeren.
En dat wil dus niet helemaal lukken (andersom is ook goed: helemaal niet..)

Om de PIC te programeren heb ik een wisp648 (FW versie 1.29) aangeschaft, welke ik op mijn (windows XP laptop) com1 poort heb hangen, en voed dmv een adapter, welke 9V. op de Wisp648 zet.
Daar ik helaas niet de PIC kan programeren op de schakeling zelf (tiRGB != icsp) probeer ik de PIC op breadboard te programeren.

Netjes de pinnetjes in de datasheet en in de manual van de wisp648 opgezocht, en deze daarop aangesloten.
Als ik de 9v op de programmer zet, zie ik netjes het ledje van de programmer 3x knipperen (wat die volgens de handleiding ook zou moeten doen)

Alleen, als ik de hex in de PIC probeer te schieten dmv xwisp2w.exe,
Dan zie ik dat:
-de programmer netjes herkend wordt door xwisp2
-De PIC niet automatisch herkend wordt.
-(ff meten = weten) er 5v. op de PIC staat (vdd-vss) en 13V op de Master Clear pin. (Als ik probeer te flashen)

Probleem 1 is dat de PIC niet automatisch herkend wordt, en xwisp2w komt dan met een melding dat de PIC niet automatisch herkend wordt, en dat ik deze met op de commandline mee moet geven.
Als ik dit doe dan verstuurd xwisp2w.exe netjes de hex naar de pic, en geeft ook aan dit successvol gedaan te hebben; alleen krijg ik meteen daarna:
"write-verify operation failed"
Ook als ik de optie VERIFY probeer, geeft hij aan dat er op in de pic 3FFF staat, terwijl de hex iets anders bevat (Ik meen ergens te hebben gelezen dat 3FFF leeg betekent?)

Daar ik 0 kaas heb gegeten van zowel electronica als PIC projecten, heb ik even geen idee meer waar ik moet zoeken om het alsnog aan de gang te krijgen.
Hopelijk hebben jullie genoeg info om hier een nuttig antwoord op te kunnen geven, zoniet, dan zal ik vanavond (ik heb hier niet de spullen bij de hand, vanavond pas) even de info aanvullen, eventueel met de exacte meldingen welke ik terug krijg.

Note: In de lijst met components voor dit project, staat dat je een:
1 16F87 or 16F88 PIC microcontroller
nodig hebt, maar als ik kijk op de chips die ik binnen heb gekregen, staat: 16F88E/P, maakt dit uit? kan dit de reden zijn dat het niet werkt? heb ik de verkeerde chips besteld?

Alvast bedankt!

Staan bij het branden van de pic de fusebits voor code protectie aan? Ikzelf trap er ook steeds in, programmeren ok, verify fout. Hmm. Opnieuw. En dan besef je je ineens dat je programmer de chip inderdaad niet uit mag lezen.

Je hebt de chip toch wel los aan de programmer hangen, en niet in de schakeling?

Wat betreft de vraag of je de juiste chips hebt, zoek de verschillen op in de datasheet, daar staat alles in wat je weten wilt. Ook wat de letters achter het type betekenen.

Op 23 augustus 2010 11:44:23 schreef mbbneon:
Staan bij het branden van de pic de fusebits voor code protectie aan? Ikzelf trap er ook steeds in, programmeren ok, verify fout. Hmm. Opnieuw. En dan besef je je ineens dat je programmer de chip inderdaad niet uit mag lezen.

Uh, watte? :) zo te zien heb ik weer wat te lezen! hoe kan ik dit controleren (en, heb je misschien ook nog wat leesvoer, zodat ik snap wat ik aan het controleren ben?)

Je hebt de chip toch wel los aan de programmer hangen, en niet in de schakeling?

Ja ik heb de PIC niet in de schakeling, maar op een breadboard (zonder enige schakeling)

Wat betreft de vraag of je de juiste chips hebt, zoek de verschillen op in de datasheet, daar staat alles in wat je weten wilt. Ook wat de letters achter het type betekenen.

ok, zal eens verder zoeken, kreeg het in eerste instantie niet gevonden, maar misschien dat de batterijen van mn bril vervangen helpt :-P
update:
Ik heb even gezocht wat gevonden: Ik had niet de -E/P maar de 16LF88-I/P besteld. Wat ik er van begrijp is dat de -I/P de industriele variant is, welke een lager power-supply feature heeft.
Ook lees ik dat de LF versie max op 10 Mhz kan draaien en de F versie op 20. Alleen, krijg ik dit niet echt in de datasheet terug gevonden. Op de site van mouser (waar ik ze besteld heb) staat bij beide chips in de specs dat ze op 20 Mhz draaien. Kan hier iemand wat duidelijkheid in scheppen?

Thnx!

PIC Fusebits
Als ik het een beetje goed gelezen heb, zijn fusebits eigenlijk niets anders als instellingen die je op de PIC kunt zetten, dmv deze in de hex mee te compileren. Begrijp ik dit zo goed?
Een van deze instellingen (code protection) zorgt er op die manier dus voor dat je niet achteraf met een programmer de chip uit kunt lezen.
Hoe kan ik nou controleren of de IC wel netjes is geprogrammeerd? (behalve door m op de schakeling uit te proberen)

@mbbneon Ik las op de site van het projectje, dat er een paar bedrijven waren die zonder toestemming met de bron aan de haal zijn gegaan, en dat daarom de source offline is gehaald. Het lijkt me dat de code-protection bit bewust is aangezet.

[Bericht gewijzigd door Henry S. op maandag 23 augustus 2010 14:58:14 (19%)

probeer eens een 10 nf condensatortje tussen de Master Clear pin en massa te zetten? op die manier heb ik al min 4 pic's weer kunnen programeren die het eerst (met dezelfde fout maar wel met een wisp 628) niet meer werkten.
Misschien dat een grotere of kleinere condensator ook werkt (verder niet meer geprobeert) Vaak programeert de pic eerst wel een aantal keer en stopt er dan ineens mee. met deze oplossing (er van uitgaande dat alles goed is aangesloten) kreeg ik ze allemaal weer aan de praat. condensator zit er bij mij nu standaard in en nooit meer problemen gehad.
zelf heb ik het idee dat de ladingspomp die gebruikt wordt soms toch
de schakelfrequentie nog doorlaat ondanks de weerstand en afvlak elco die intern gebruikt word.
Laat aub nog even weten of het gelukt is

Falcon

- probeer je voeding eens op 12V te zetten 9V is net wat weinig marge
- gebruik xwisp
- bij je target chip moet wel een 100n C over de voesingspinnen staan!
- maak een plaatje van je target opstelling en post dat hier

Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog

Hoi Allen,

Dank voor jullie antwoorden!
Ik ben helaas zeer weinig thuis deze week, dus, van het weekend weer verder!
Sorry als ik noobish vragen stel hoor, maar zowel electronica als PIC's etc is allemaal nieuw voor mij (@wouter, vandaar de bestelling voor de onderdelen bij het 50 PIC opdrachten boek :) )

Als ik jullie goed begrijp:
1. zet ik de PIC op het breadboard
2. ipv voeding/massa rechstreeks op pootje nu op de rail, zodat:
3. er een 10 nf condensatortje tussen de Master Clear pin en massa kan
4. er een 100n C tussen de +5v en de voedingspin kan. (noob vraag 1: wouter, bedoel je hier een 100nf condensator?)
5. voedinkje controleren, 12 ipv 9v.
6. Plaatjes en printscreens maken van resultaten.

---
Losstaand vraagje @Wouter:
In het boek staat dat je je breadboard moet "beveiligen" met onderdeeltjes op de hoeken (heb boek ff niet bij de hand) alleen, zijn de plaatjes in het boek zwart wit, en dus is het allemaal bijna niet te zien.
Zijn deze plaatjes ook op het internet (met kleur) beschikbaar?
Zo had ik al problemen met het controleren van het tutorial project of ik alles wel goed had aangesloten. (heb er dus ook nog maar geen spanning op gezet.)

Los vraagje 2:
naast een boek mbt PIC had ik ook een boek basiscursus electronica gekocht, maar deze is helaas gejat! :( Dus nu ik er toch weer een opnieuw moet kopen, welke zouden jullie aanraden, als in electronica voor de absolute beginner? ik vond het boek wat ik had niet echt fijn namelijk.

> 3. er een 10 nf condensatortje tussen de Master Clear pin en Massa

wat mij betreft: niet!!

> 4. (noob vraag 1: wouter, bedoel je hier een 100nf condensator?)

ja

> In het boek staat dat je je breadboard moet "beveiligen" met

gewoon een diode (1N4004 ofzo) die de voeding kortsluit als ie verkeerdom zit. is aan te raden, beveiligd je tegen jezelf. en dan gelijk wat 100n 's rebij, en zelf doe ik ook vaak nog een LEDje, dan kan je zien of de power er is.

> Zijn deze plaatjes ook op het internet (met kleur) beschikbaar?

geen idee, ik ben de auteur niet.

> Dus nu ik er toch weer een opnieuw moet kopen, welke zouden jullie aanraden, als in electronica voor de absolute beginner?

Kijk in een bieb en neus een paar boekjes door?

Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog

op verzoek, deze keer met plaatjes:
de opstelling:
http://i109.photobucket.com/albums/n49/cpt_sponder/tiRGB/IMAG0027.jpg

met de PIC erbij:
http://i109.photobucket.com/albums/n49/cpt_sponder/tiRGB/IMAG0029.jpg
Met xwisp kreeg ik alleen ook met deze opstelling een foutmelding:
http://i109.photobucket.com/albums/n49/cpt_sponder/tiRGB/xwisp_err.jpg

*edit: plaatjes link aangepast.

Zo te zien is de +5V van de PIC niet aangesloten,.

en de beschrem diode moet niet in serie met de plus, maar aan de + en de -, zodanig dat hij spert als het goed is aangesloten.

[Bericht gewijzigd door Wouter van Ooijen op zaterdag 28 augustus 2010 13:36:43 (58%)

Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
marcob

Golden Member

Volgens mij heeft je PIC geen + 5 Volt Pen 14 .
De condensator kan het best gelijk over de pennen 5 en 14

Edit: Plaatje van www.picbasic.nl

http://www.picbasic.nl/images/schema_wisp-pic.gif

[Bericht gewijzigd door marcob op zaterdag 28 augustus 2010 13:37:32 (32%)

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years

die 5V komt toch van de voedingsrail, middels die 100n C? of snap ik m helemaal verkeerd?

marcob

Golden Member

Dat heb je niet goed. De condensator komt over de + en -.

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years

Op 28 augustus 2010 13:39:32 schreef cpt.sponder:
die 5V komt toch van de voedingsrail, middels die 100n C?

Een condensator werkt als zeer hoge weerstand voor gelijkstroom... dus zal je Pic geen spanning krijgen.

En als je op je breadboard boven en onder je voedingsspanning wilt hebben, zou ik hem daar dus ook aansluiten. En van daar af de verbindingen naar de Pic maken.

volgens mij issie gelukt! :)
http://i109.photobucket.com/albums/n49/cpt_sponder/tiRGB/16f88_success.jpg

bedankt voor jullie hulp!

oeps, wat te voorbarig geweest..
http://i109.photobucket.com/albums/n49/cpt_sponder/tiRGB/16f88_vrfy_err.jpg

dit is nu de opstelling:
http://i109.photobucket.com/albums/n49/cpt_sponder/tiRGB/IMAG0032.jpg

[Bericht gewijzigd door cpt.sponder op zaterdag 28 augustus 2010 14:33:05 (17%)

de diode zit nu verkeerd, zat wel goed bij plaatje IMAG0027.jpg, het is dan wel een beschermdiode, want de stroom kan dan niet andersom lopen, als je de plus en min verwisselt.

mvg,
noone.

483726095 / Een foto zegt meer dan 1000 woorden.

Volgens mij is de diode aangesloten zoals Wouter het zei... parallel aan de voeding in sper.

Zo bescherm je je Pic... maar niet je voeding.

Op 28 augustus 2010 18:05:46 schreef Franzki:
Zo bescherm je je Pic... maar niet je voeding.

Een 7805 of 78L05 voeding heeft hier geen probleem mee, de meeste labvoedingen veroorzaken ook geen probleem als ze niet op een al te hoge stroom worden gezet. Een functie van de LED is ook dat je merkt dat je het verkeerd doet: de power LED licht niet op ... meteen de voeding weer losmaken! En zonder die diode gedraagd de PIC zich als een soort diode...

Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog

als ik de diode omdraai licht de led niet op en wordt de programmer warm (snel losmaken zoals wouter zei).

Als je diode omdraait... dan sluit je je voeding kort. Niet aan te bevelen.

Op 28 augustus 2010 18:24:13 schreef cpt.sponder:
wordt de programmer warm (snel losmaken zoals wouter zei).

Wat warm wordt is de 7805 in de programmer. die heeft een ingebouwde stoombeperking (iets van 1.5A ofzo) en een ingebouwde thermische beveiliging. Niet makkelijk stuk te krijgen. Eigenlijk heeft de diode het zwaarder: die is maar gespecificeerd op 1A en kijgt dan ~1.5A. Maar voor een korte tijd overleeft ie dat wel.

Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog

Ik ken het schema van de Wisp niet. Maar als Wouter zegt dat daar een 7805 rechtstreeks de voeding verzorgt, zal het inderdaad geen problemen geven.

Die zijn goed beveiligd.

Ik heb de datasheet van de pic er nog eens bijgepakt, en zag dat pgm op pin 9 zat, maar hoe dan ook krijg ik dit resultaat:

de pic wordt nu wel herkend, maar het flashen gaat nog steeds fout.

004 target PIC chip will be autodetected
OK
005 GO
hardware: Wisp648 1.29 (fast)
target: 16f88, device code 0760 revision bits 08
OK
006 VERIFY
hardware: Wisp648 1.29 (fast)
target confirmed: 16f88, revision bits 08

verification failure: different data at address 0000: file=3007 target=3FFF
ERROR

edit: typo

Dat is vreemd, maar niet erg om je zorgen over te maken: het GO commando doet al een verificatie.

Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog

ik heb de pic even geprobeerd, maar helaas gebeurt er niets..