Sari la conținut
ELFORUM - Forumul electronistilor

Numarator cu PIC16F628A


Postări Recomandate

Vă salut.

Am încercat să-mi construiesc un numărător cu PIC16F628A, pentru a-l ataşa la o mşină de bobinat. Maşinăria este gata, dar nu am reuşit să construiesc numărătorul pentru ea. Am încercat două scheme, până acum.

 

Cea de aici: http://radio-hobby.org/modules/news/article.php?storyid=1000, am executat-o după indicaţiile din link. Am desenat cablajul cu Sprint-Layout, am folosit componente cu valorile din schemă. Am renunţat la contactoarele de la pinii 4 şi 16, dar au rămas rezistenţele R2 şi R4, la fel şi la rezistenţele R5-R12. Am folosit  două dual-digit cu anod comun verzi TOD 5261BG, iar la pinul 15 am montat un foto micro-senzor SX3019-P2 http://www.farnell.com/datasheets/1928437.pdf. Hex-ul folosit este cel scris de iniţiatorul proiectului. Din păcate, când porneşte şi funcţionează (mai şi minte la numărătoare, câteodată), când se blochează şi nu mai pot face nimic, până nu scot integratul din soclu. PIC-ul l-am programat cu un programator construit tot după o schemă luată din internet: http://pic-microcontroller.com/how-to-build-your-own-pic-programmer-using-pic12c50x/, utilizând WinPic.

 

 

Apoi, dacă nu am fost mulţumit de primul, am incercat varianta de numărător de aici: http://josepino.com/microcontroller/four_digits_counter. De asemenea, am folosit două dual-digit cu anod comun verzi ELD-436GWB/P16 http://www.datasheetarchive.com/dl/Datasheet-023/DSA00406927.pdf şi am legat pinul 3 al PIC-ului la Vss (în descrierea funcţionării este specificat că pot fi folosite ambele variante de display LED). Hex-ul l-am scris cu ajutorul aceluiaşi programator în PIC. Acum, diferenţa este doar de microcontroller: în schemă este PIC16F628, eu am folosit PIC16F628 A. Ideea este că montajul nu funcţionează, iar display-ul nu se luminează. Există diferenţe între aceste două microcontroller-e (ştiu că există ceva) încât să nu funcţioneze în această schemă? Am greşit ceva la cablaj? Mulţumesc pentru sfaturi.

 

Link spre comentariu
  • Răspunsuri 70
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

La prima variantă ai probabil probleme de decuplări , zgomote pe alimentare ,  culegere paraziți, etc . Greu de spus de la distanță . Poate ar fi utile ceva poze cu montajul și cablajul , detalii despre cum e alimentat și folosit , etc . 

La a doua nu prea are cum să meargă cu PIC16F628A dacă ai folosit același .hex. Trebuie dezactivat comparatorul . S-ar putea să fie probleme și la programare dar nu știu sigur acum . 

Link spre comentariu

Am incercat si eu o simulare a numaratorului, dar la o viteza mai mare de 10 impulsuri pe secunda nu numara corect.

Cu ce frecventa lucreaza microcontrollerul?

In program ar trebui lucrat cu timer0, 1...

Daca a lucrat doar cu count++ si delay(x); numaratorul nu o sa-ti satisfaca cerintele. 

 

P.S. iti recomand sa  folosesti mai intai un simulator. Chiar daca nu i-ti da exact timpii reali ( la frecvente mari, depinde si de calculator,...) dar totusi esti mai sigur ca ceea ce vrei sa realizezi va functiona si o alta recomandare, foloseste un breadboard pentru o simulare reala, si apoi la treaba. Te ajuta un breadbord la astfel de lucrari tinand cont ca este o schema simpla.

Link spre comentariu

Nu sunt diferente semnificative intre 628 si 628a:

 

Ai dreptate , îmi cer scuze pentru gafă. Orbit de ”documente” de pe internet , n-am citit DS de la 628 și am trăit cu impresia că nu are comparator . Verificând acum am observat că structura comparatoarelor este fix aceeași la 628 și 628A . Învățătură de minte , RTFM .... 

Link spre comentariu

La prima variantă ai probabil probleme de decuplări , zgomote pe alimentare ,  culegere paraziți, etc . Greu de spus de la distanță . Poate ar fi utile ceva poze cu montajul și cablajul , detalii despre cum e alimentat și folosit , etc . 

La a doua nu prea are cum să meargă cu PIC16F628A dacă ai folosit același .hex. Trebuie dezactivat comparatorul . S-ar putea să fie probleme și la programare dar nu știu sigur acum . 

Salut. La prima varianta am executat cablajul exact ca cel din link: http://radio-hobby.org/modules/news/article.php?storyid=1000. Singura diferenta este display-ul compus din doua duale de 7 segmente verzi, cu anod comun si conectate prin fire la cablajul cu microcontrolerul. Alimentarea este facuta cu un adaptor 220Vca/5Vcc-1A in comutatie (de la un router WiFi). Montajul nu este capsulat in nicio cutie, deocamdata. O sa postez si o poza, ceva mai tarziu.

Am incercat si eu o simulare a numaratorului, dar la o viteza mai mare de 10 impulsuri pe secunda nu numara corect.

Cu ce frecventa lucreaza microcontrollerul?

In program ar trebui lucrat cu timer0, 1...

Daca a lucrat doar cu count++ si delay(x); numaratorul nu o sa-ti satisfaca cerintele. 

 

P.S. iti recomand sa  folosesti mai intai un simulator. Chiar daca nu i-ti da exact timpii reali ( la frecvente mari, depinde si de calculator,...) dar totusi esti mai sigur ca ceea ce vrei sa realizezi va functiona si o alta recomandare, foloseste un breadboard pentru o simulare reala, si apoi la treaba. Te ajuta un breadbord la astfel de lucrari tinand cont ca este o schema simpla.

Viteza maxima pe care o dezvolta masinaria este de 22 impulsuri pe secunda, iar eu o voi folosi undeva la maxim 7 impulsuri pe secunda (asta ar fi peste 400 rotatii pe minut, si asta e prea mult). La partea cu simulatorul, m-ai daramat. La fel si cu programarea... Un breadboard m-am gandit si eu sa achizitionez de pe undeva, candva. Cred ca este foarte util.

Editat de Lonerider
Link spre comentariu

Nu intotdeauna un microcontroller e "bun la toate". In cazul de fata rezultate foarte bune ai obtine cu un numarator si convertor pe 7 segmente, exemplu CD4018 si CD4543(CD4511). Afisajul ramane acelasi, am inteles ca folosesti 4 digiti.

Editat de modoran
Link spre comentariu

Primul numarator este un fell de numarator "lent" intrarile care vad ca sunt pe R5-R6 sunt simple intrari e si normal sa piarda numararea mai ales ca oscillator intern este unu-l fix de 4Mhz. 

Ar trebuii utilizat un pin IOC, care are intrerupere hardware la inpuls prin urmare indiferent care parte din cod este executat de PIC, softul este anuntat ca a venit un impuls prin urmare nu se pierd inpulsurile. Intrarea ar trebuii dotata si cu un  circuit "debounce" pentru a mai filtra inpulsurile false la cuplare/decuplare. 

 

Daca esti interesat iti pot face o schema + soft pentru PIC16F628A de preferat cu oscillator extern de 20Mhz.

Editat de bandi12
Link spre comentariu

Salut! Un banal numarator pentru o masina de bobinat era parca prin revistele tehnium. Pe vremea aceeia nu se lucra cu microcontroller era facut cu un banal calculator de buzunar se lipeau doua fire la butonul = unde se conecta un intrerupator cuplat la masina de bobinat si cand facea o tura se inchidea circuitul. Se tasta la calculator 1+1= si  dadeam la manivela  :rade: . Am expus ideea fiindca  poate  sunt persoane care vor sa faca un numarator mai repede si fara prea multe materiale.

Editat de yo9gcc
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări