heb een probleem met de pic 16F877A. Ik werk met mikrobasic en een velleman K8076 programmer.Eerste keer dat ik met deze pic werk (heb wel al heel wat gedaan met een 16F628A), dus wou ik eerst een standard blinkled progje proberen.
16F877A op eilandjesprint gezet, 20MHZ kristal met twee c's, en een RCR netwerk op de MCLR (weerstand van 10 K, 6K en 23µFof 1µF elco),en beide vss en vdd aangesloten..
Heb de fuses in mikrobasic allemaal op "off" gezet, behalve HS_osc en powerup timer. Na compileren nochmaals in velleman picprog aleen HS_osc en PWRUP Timer aangevinkt (instellingen worden niet allemaal overgenomen zoals bij de 16F628, wat ik al vreemd vond.)
dan de hexfile in de pic geladen via ICSP, en de leds beginnen idd direct na het programmeren te knipperen. probleem is dat als ik de voedingsspanning uitschakel en terug aanzet, de pic niet opnieuw opstart?
Ik moet de mclr pin altijd exact 2 keer na elkaar even met de ground verbinden voor de pic terug opstart! Er gaat dus iets mis tijden het opstarten? Heb al een andere 16F877A geprobeerd, en deze doet zelfs helemaal niets!!
Heb al met een weerstand van 1K ipv 6k geprobeerd, met de VDD direct aan de voedingsspanning, met 33K, met 1µF... buiten de configuratie 10K-6K-23µF werkt er zelfs helemaal niks.
Iemand een idee wat ik fout doe? Het ligt vast aan de fuses, maar naast powerup timer en HS_osc moet er toch niks aanstaan dacht ik? (zo deed ik het altijd bij 16F628A).
alvast erg bedankt,
Niels
(heb op het forum een vergelijkbaar probleem gevonden, daar had het ook blijkbaar met de fuses te maken...welke fuses moeten aanstaan?
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
watchdog moet uit staan.
als je progger software de settings in de .hex file niet overneemt zou ik die persoonlijk nooit meer gebruiken.
Zet jij een cap naar massa op de MCLR - lijn? Niet doen! Geen caps op die lijn zetten. Wel op je voedingslijnen. Pull die lijn up met 47K naar Vdd of volgens de specs van je programmer.
de watchdog staat uit, was al zo trouwens. de meeste setting van fuses worden in het programma overgenomen, op enkele na.
Zal de cap weghalen, het staat nochtans wel zo in de datasheet van de pic.
gekke is nu, heb een display aan de pic gehangen, en nu start hij soms wel zonder resetten op, met noch steeds dezelfde settings!
De tweede 16F877A doet nog steeds niks...(grrr, nu al stuk?, en dat voor een pic van 8€...)
heb toch de indruk dat er nog steeds iets fout is. iemand een idee wat er nog kan schelen?
Niels
Post eens je schema en je code. Je PIC is goed geaard en gevoed? Houd eens de voedingspanning en de reset-lijn id gaten met een O-scoop op rariteiten.
En koppel je programmer LOS na het programmeren, druk dan op reset.
[Bericht gewijzigd door Tech_Makes_Sense op (75%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Op de MCLR lijn moet wel een condensator, maar niet zo'n lompe... (100nF)
De condensator weglaten is vragen om moeilijkheden.
bron? Op mijn PIC staat gene en nog nooit problemen gehad. Een klein capje kan idd geen kwaad, het beschermt je tegen ESD en evt storingen die resetlijn zouden kunnen triggeren.
Volgens mij is een cap plaatsen vragen om moeilijkheden, zeker een grote (zelf al ervaren)
[Bericht gewijzigd door Tech_Makes_Sense op (21%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
>> bron?
De datasheet. 
Zonder condensator heb je van de geringste storing al last (reset). Zeker in industrieele omgevingen. Vaak is dan zelfs 10k pull-up al te hoog. (Wij gebruiken dan meestal 3k3 ~ 4k7)
EdwinNadorp
Koop hier uw kristallen bol - in 2008 ga ik m'n projecten afmaken, echt waar ....... nouja in 2009 dan ..... ehh 2010 ....
Ik doe naast de wdt_off meestal ook de lvp_off aan.
Let zoals gezegd goed op je signalen. Ik heb het ook eenmaals gehad, bij mij bleek de interrupt dusdanig snel te klapperen dat hij geheel niet meer toe kwam aan het programma.
Een scoop heeft mij toen geholpen, met een multimeter zie je dat niet.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Een elco direct aan de MCLR lijn *mag niet*. Als je een elco wil (tegen pieken, voor de tijdconstante) zet dan nog een weerstand tussen de elco en de MCLR, bv 1 .. 33k.
Heb helaas geen scope, anders had ik idd al een en ander kunnen checken. Het is voor me nogal moeilijk een schetsje van de hardware te maken, maar zal dit miss toch nog proberen. Voedig is met 7805 schakeling, alles is voorzien van de nodige 100nf caps, zoals ik met andere pics deed, dus zou het sterk vinden moest hier iets "basis" aan schelen.
De software stelt al helemaal niks voor, gewoon trisB en dan PortB aan en af, en hij werkt perfect op 16F628A, dus die is zeker correct. Het is trouwens het voorbeeld dat bij mikrobasic zat dacht ik.
Heb nog enkele uurtjes gesukkeld, en gewoon eens systematisch alle fuses aan/af gezet.
Blijkt nu, als ik in picprog de fuses HS_OSC, write enable en power-up timer en Debug aanzet, start hij zonder problemen! Enkele IO's zijn niet te gebruiken omdat hij in debug mode draait, maar das niet zo'n probleem.
De tweede 16F877A die ik heb werkt ook met deze settings niet, maar ik kan hem toch nog steeds schrijven en herschrijven zonder problemen...ik ga er maar vanuit dat hij stuk is.
Kleiner dan 1UF aan de MCLR had ik nog niet geprobeerd, zal nu even met 100nf proberen. Gek dat ze in de datasheet voor de cap geen aanbevolen waarde opgeven. Overigens start hij zoals hierboven vermeld ook prima zonder enige cap, dus of het dat is...
Ik kan nog steeds niet geloven dat dit normaal is. Heb al wat gebouwd met 16F628A's maar deze deden nooit zo onvoorspelbaar...
bedankt voor de hulp,
Niels
Hoe groot is de waarde van je X-tal?
Kan je je schema niet eens tekenen in Eagle? Volgens mij is dat een gratis programma.
[Bericht gewijzigd door Tech_Makes_Sense op (55%)]