Sari la conținut
ELFORUM - Forumul electronistilor

Numarator cu PIC16F628A


Postări Recomandate

Am incercat aseara destul de tarziu, pe un breadboard, montajul. Nu a functionat (nu s-a luminat display-ul) nici cu sursa aferenta bredboardului si nici cu alimentare externa. O sa fac un cablaj imprimat, zilele astea si vad daca este functional. Nu prea pun baza in breadboardul respectiv.

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

Top autori în acest subiect

Vizitator

Ceva nu a mers cum trebuie. Si cred ca la programare. Vezi daca nu cumva ai de facut ceva setari la softul pe care il folosesti pentru programarea microcontrollerului. Sau poate afisajul nu este cu anod comun. La mine a functionat din prima pe breadboard.

 

Editat de Vizitator
Link spre comentariu

Asa, si o schema ai pentru colegul nostru? 

Pentru ca am senzatia ca sunt putin luat la rost pentru topicul meu am sa spun ca as fi pus un BC 557 in loc de 547 cu emiterul legat la +5v si colectorul la anodul x al afisajului si as fi comandat din PIC cu "0" in loc de "1" afisajul.

De asemenea eu as fi renuntat la a afisa punctul digital caruia nu-i vad rostul, as fi legat intrarile a-f pe portul B1-B7 iar B0 l-as fi folosit ca intrerupere pentru numarare. PIC-ul ar fi executat afisarea multiplexata iar in momentul cand s-ar fi declansat intreruperea pur si simplu ar fi incrementat numarul care apoi ar fi aparut pe afisaj. E nevoie si de un debouncing al butonului care face incrementarea care se rezolva prin-un simplu delay  de 15 ms si testarea butonului dupa aceasta intarziere. E nevoie de debouncing si asta e cel mai simplu pentru ca butonul va genera o intrerupere si la revenirea din pozitia apasat si atunci nu vrem sa incrementam. S-ar putea ca lucrurile astea sa se mai fi spus pe aici dar n-am avut rabdarea de a citi tot ce s-a scris asa ca scuze daca repet ceva.

 

De asemenea as fi folosit oscilatorul intern intrucat nu am nevoie de precizie

Link spre comentariu

smg_1967 nu ai fost luat la rost la topicul tau, poate ai vrut sa zici postarea ta - #48 - din acest topic.
Iar modificari se pot face cate vrei. Daca as fi folosit si un 74HC595, as fi avut mai multe intari digitale (cat mi-ar fi permis si memoria microcontrollerului)...

 

Schema postata de mine nu este cu multiplexare? Da ce fel de afisaj folosesc in schema? Este multiplexat sau nu?
 
Daca cel care a deschis topicul, Lonerider, ar fi cerut si alte functii poate mi-as fi perdut din timpul meu si pentru alte modificari in program.

 

Da, oscilator intern se poate. 

Editat de Vizitator
Link spre comentariu

Da din pacate nu sunt foarte familiar cu forumul si nu prea stiam diferenta intre topic si postare. Abia acum observ ca schema era postata de tine si nu de initiatorul topicului si asta ma face sa inteleg usoara iritare. Da, schema ta este cu multiplexare si este corecta dar in situatia data utilizarea unui 595 sau 4094 e inutila intrucat sunt suficienti pini la microcontroler pentru jobul solicitat. Mi se pare aiurea sa pui un cip in plus numai sa arati ca stii sa faci conversie serial-paralel si sa-ti ramana o gramada de pini nefolositi la microcontroler. Daca microcontrolerul ar fi avut si altceva de facut care ar fi necesitat niste pini atunci da sunt de acord cu tine. Desi si aici e o discutie legata de cat de practic este sa pui un convertor serial-paralel sau sa utilizezi un um microcontroler cu mai multe porturi(legata de costuri, marimea circuitului, proiectare cablaj, s.a.m.d.) Si cu asta am incheiat discutia, daca parerea mea a deranjat imi cer scuze.

Editat de smg_1967
Link spre comentariu

Fara Quartz, frecventa interna de 4MHz. Fara tranzistori.

In locul tranzistoarelor am folosit UDN2981 (imi este mai usor sa folosesc acest circuit decat tranzistorii).

Link spre comentariu

Salut. Se pare ca breadboard-ul meu are ceva pe la lamelele de sub gauri, fac si nu fac contact. Maine imi corodez o placa cu circuitul desenat si, daca mai apuc, lipesc si componentele sa incerc functionarea. Imi fac si un alt programator pentru PIC (am deja cablajul facut dupa o alta schema: http://www.circuitsonline.net/schakelingen/142/computer-en-microcontroller/pic-programmer-met-externe-voeding.html), desi ar fi trebuit sa mearga si cel care il am acum, cu aceleasi setari cu care am scris si celalalt cod .hex de a functionat la frecventa mica.

 

Pentru postarea de aici: http://www.elforum.info/topic/114502-numarator-cu-pic16f628a/?p=1360762, numaratorul cu incrementare/decrementare (din ce am inteles de la 0 - 9999 - 0), atasez arhiva cu documentatia.

Link spre comentariu

Eu pentru programarea microcontrollerului folosesc PICKIT 3 original, si nu mi-am batut capul cu astfel de programatoare pe port serial. 

Si eu am folosit un cod de numarator UP/DOWN pe care l-am adaptat cerintelor tale. Inca mai am proiectul pe breadbord, ultima varianta, cea fara oscilator extern. Il pastrez pentru teste pana finalizezi proiectul.

Link spre comentariu

Am facut cablaj (dupa desenul cam neclar de mai jos), am montat componentele. Maine incerc sa caut pe cineva care sa-mi scrie codul in PIC cu alt tip de interfata, sa vad ce gasesc. LED display-ul este sigur cu anod comun, conform datasheet atasat. Cred ca am notat gresit, pe desen, anozii (unitati-pin 2, zeci-pin 1, sute-pin 17, mii-pin 18), dar o sa fiu atent la conectarea firelor, in rest nu vad sa fie alte erori in proiectarea cablajului (mai putin faptul ca e mai dezordonat)

 

 

Link spre comentariu

Cred ca acuma este mai clar:

Posted Image7segment and push button_04.PNG

Mii      RA3/Pin2

Sute   RA2/Pin1 

Zeci    RA1/Pin17

Unitati RA0/Pin18

Salut. Era clar si inainte, am gresit eu la notarea pe cablaj... RA3-pin2, RA2-pin1, RA1-pin18, RA0-pin17.

Functioneaza, numara si la 1200 rpm, nu stiu cat de corect ca nu pot urmarii cifrele. Mai sus de 400 rpm nu risc sa folosesc "masina", ca e prea mare viteza de rotatie (doar asa ca sa adun sarma pe mosor). Multumesc de ajutor si timpul acordat. Ar trebui sa ma revansez cumva...

 

https://youtu.be/3Sn_mcgIqYA

Link spre comentariu

:aplauze  si felicitari pentru proiect.

Ma bucur ca ti-am putut fi de folos.

Eu am testat in simulator cu 200Hz (200 rotatii pe secunda) si a functionat perfect, folosind un frecventmetru si un numarator. Asta inseamna cam 12000 de rpm.

Link spre comentariu
  • 1 lună mai târziu...

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