Jump to content
ELFORUM - Forumul electronistilor

Eroare pickit2


Recommended Posts

Salut!

De cateva zile incerc sa programez cu o clona pickit2 ( cumparata de pe net, nu este "diy") un pic 16f628A dar nu reusesc. Imi da eroarea 0x000000 (vezi poza) si nu reusesc sa il scriu. Ba mai mult in unele situatii nu imi recunoaste pic-ul (no device found). Tensiunea pe vss si vdd este de ~4,75 v deci zic eu ca e ok.

Am citit pe net si zicea " This error indicates that the data was corrupted during the programming

sequence. If this error is displayed, try writing the program to the device again. "

Imi poate spune cineva de ce imi apare aceasta eroare si nu pot scriu pic-ul?

Imagine: http://s17.postimage.org/xdk8hqthr/untitled.jpg

O zi buna.

Link to comment
  • Replies 27
  • Created
  • Last Reply

Top Posters In This Topic

Este 16F628A. Acolo la hex arata pt ca asa l-am redenumit. Am rezolvat problema de mai sus dar acum am alta problema. Am facut un program care sa imi aprinda 3 leduri , ledurile fiind pe pe A0, A1, A2. Am pus sa mi se aprinda pe rand adica, se aprinde A0 ramane apris1 secunda, apoi se stinge. Se aprinde A1 apoi ramane aprins o secunda si se stinge, si se aprinde apoi A3 ramane aprind o secunda si apoi se stinge. Bine inteles l am facut sa se repete la infinit. Dar dupa ce programez pic-ul si fac montajul pe breadboard , nu mi se aprind ledurile in ordine cum am spus mai sus, ci mi se aprinde ledul de pe pinul A0 sta vreo 10 secunde apoi se stinge si se aprinde ledul de pe pinul A1 si nu se mai stinge. Oare de ce face figurile astea?

Link to comment

Incerca sa vezi cu un osciloscop daca ai semnal de clock.Din cate imi amintesc comportamentul asta apare in momentul in care nu-i configurat bine quartz-ul sau nu sunt pusi condensatorii de decuplare.Eroarea de la prima postare apare fiindca nu ai destula tensiune la portul USB.Pic-urile din familia "midrange" au nevoie de cel putin 4,7V pentru un "bulk erase", daca nu este acea tensiune nu poate sa-l stearga si atunci da eroarea cu adresa 0x00.Incearca sa pornesti alimentarea din programator si sa masori cu un voltmetru tensiunea de la iesirea din programator, iar daca nu ai 5V (sau cat ai setat) incearca o recalibrare, daca nu foloseste o sursa externa de alimenare.

Link to comment

Am rezolvat cu eroarea. Tensiunea este de 4,75 v. Problema era ca eu programam pic-ul folosind un breadboard. Acum i-am facut un pcb si merge brici. :101 Am rezolvat si cu problema pic-ului cu cele 3 iesiri pt leduri. Dar din pacate am probleme la alt "program". La programul unui modul de pornire a motorului de pe telecomanda. Acela nu merge cum ar trebui. Adica in mod normal ar trebui sa semnalizeze ca a primit comanda de pornire, sa puna contactu, sa porneasca demaratorul, apoi sa astepte cateva sec, si sa verifice daca motorul e pornit , si apoi sa semnalizeze cat timp motorul este pornit.Daca motorul nu porneste din prima mai incearca de inca 2 ori, apoi daca nu a pornit intra pe "fail" adica semnalizeaza de 3 ori si se opreste contactul. Mie momentan imi merge asa: semnalizeaza ca a primit comanda, pune contactul, porneste demaratorul, asteapta cateva sec, verifica daca motorul a pornit ( motorul este pornit), apoi semnalizeaza de 3 ori rapid ( ca si la fail ) si se opreste contactul. De ce oare?

Link to comment

Aveti in prima serie de linkuri, de mai jos, programul in Flowcode si .hex-ul lui.

In a doua serie aveti montajul pe pcb + breadboard. Adica am folosit leduri in loc de relee. Am pus si un videoclip in care se vede cum functioneaza modulul. ( nu functioneaza corect)

In a 3 a serie aveti tot montajul pe breadboard. Si aici in loc de relee am pus leduri. Aici problema este ca nu porneste deloc. De ce? (ps: in poza nu este adaugata o rezistenta spre minul la pinul B0; in realitate am adaugat-o)

 

Prima serie:

http://fisierulmeu.ro/61OZGSW2B0ZV/start-fcf.html

http://fisierulmeu.ro/61PC2V3ZJO7I/start-hex.html

A doua serie:

http://fisierulmeu.ro/611XJRVVD1BS/DSC00114-JPG.html

http://fisierulmeu.ro/61EYBQUXOCA1/DSC00115-JPG.html

http://fisierulmeu.ro/61X49LNM0YH6/DSC00116-JPG.html

http://fisierulmeu.ro/61QVSINQGISL/DSC00117-JPG.html

http://fisierulmeu.ro/61B666UOGJ3C/DSC00118-JPG.html

http://fisierulmeu.ro/61HNS28R2VVA/star ... a-mp4.html

 

A 3-a serie:

http://fisierulmeu.ro/61L6GW73LZQJ/DSC00112-JPG.html

http://fisierulmeu.ro/612O0FY9P0V9/DSC00113-JPG.html

Link to comment

Eu dupa doua fisiere m-am lasat pagubas... Pune fisierele aici pe site sau pe un site unde se pot vedea mai usor, fara 89 secunde asteptare...In primul post cand nu reuseai sa programezi configul nu era 3F18. Chiar daca il programai nu functiona.L.E. Am reusit sa descarc videoclipul... Se comporta ciudat... Ca si cum imediat dupa ce porneste motorul se deschide usa... Care hex l-ai folosit in videoclip?

Link to comment

Am descarcat fisierele si am testat. Ti-am spus sa schimbi intrarea B1 (frana de mana) activ LOW era activ HIGH. Frana de mana asa lucreaza, cand o ridici, ea "da la masa". Am schimbat acea intrare si am compilat. A functionat "la prima cheie"... A durat mai mult convertirea fisierului video. Ai in arhiva fisierul flowcode corectat, hexul si filmarea in care se vede ca functioneaza. Succes! Primul buton din stanga este start din telecomanda si al doilea este butonul de usa. Se vede in filmare cand apesi butonul usii ca intra in fail.

Link to comment
  • 1 month later...

Din pacate am revenit cu alta problema tot in legatura cu modulul de pornire de mai sus ,si anume:

Am montat modulul pe masina, si am conectat toate firele. Ii dau comanda la modul ( folosesc canalul de la deschiderea portbagajului de la inchiderea centralizata), pune contactul, actioneaza demaratorul apoi verifica daca a pornit masina (daca masina a pornit nu trebuie sa am masa pe pinul B3). Daca masina a pornit din prima, atunci apare urmatoarea problema. Problema este ca dupa "y" secunde actioneaza din nou demaratorul chiar daca masina a pornit. Daca a pornit din a 2a sau a 3a incercara nu apare problema de mai sus.

De ce oare apare aceasta problema? Tin sa precizez ca am pus un filtru pe firul care alimenteaza inchiderea respectiv modulul.

 

 

timpul "y"

|----------|-----------------------------------|----------------------------------------------

Act. Act1 Act2 demarator

Contact demarator

 

Tin sa precizez ca, daca, eu deschid usa, sau "las" frana de mana in "timpul "y"" nu mi se opreste motorul desi ar trebui. Timpul "Y" variaza intre 15-80 secunde. Spre exemplu daca Timpul "y" = 80sec. Modulul normal ar trebui sa functioneze asa: pune contact, actioneaza demarator, verifica daca motorul a pornit, daca motorul a pornit ramane contactul pornit pana la urmatoarea comanda(daca las frana de mana jos, sau deschid usa motorul se opreste), daca motorul nu a pornit mai incearca de 2 ori. Cum imi functioneaza mie acum: pune contactul, actioneaza demaratorul, verifica daca masina a pornit, daca nu a pornit mai actioneaza demaratorul de 2 ori, daca a pornit ramane contactul pus.Sa presupunem ca motorul a pornit din prima incercare. Problema este ca dupa 80 de sec mai actioneaza o data demaratorul chiar daca motorul este pornit , iar eu in alea 80 de sec pot sa deschid usa, respectiv sa las frana de mana ca masina nu se opreste, desi ar trebui dupa cum am explicat mai sus la functionarea lui corecta.Dupa 80 sec dupa ce a actionat a doua oara demaratorul, daca las frana de mana jos sau deschid usa atunci se opreste motorul.

Am notat in "Desenul" de mai sus "Act2 demarator" , actionarea deamaratorului dupa 80 sec.Tin sa precizez ca, daca motorul nu a pornit din prima, si a pornit din a 2a sau a 3a incercare nu imi face figurile astea, decat daca a pornit din prima incercare.

Inca ceva: In casa, modulul functioneaza perfect, doar pe masina functioneaza anapoda.

Sper ca nu v-am bagat in ceata. :nas:

Multumesc!

 

EDIT: Se pare ca desenul meu nu ramane la fel cum l-am facut. Pentru a-l vedea corect va rog "citati" postul meu.

Link to comment

Pe mine m-ai pierdut cu explicatiile...Ultima oara stabilisem ca schimbam logica la sonda de ulei. In locul diodei spre sonda si rezistenta de 10 K spre masa trebuie pus un divizor din doua rezistente (egale spre ex de 10 K) si o dioda zener de 5,1 cu catodul la pin si anodul la masa sau, mai simplu, o sursa de 5 volti In momentul in care motorul este oprit la pin vei avea +5v iar cand motorul a pornit, la pin vei avea 0v

post-7378-139829542203_thumb.gif

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines