Sari la conținut
ELFORUM - Forumul electronistilor

demultiplicator de impulsuri cu pic si memorie imp


Vizitator cris1309

Postări Recomandate

Vizitator cris1309

am si eu o rugaminte ma poate ajuta cineva  la crearea unui demultiplicator de impulsuri adica sa introduc 10 impulsuri la intrare si sa scoata la iesire 1 impuls pe care sa il memoreze deci tot ce bag la intrare sa se imparta la iesire cu 10 iar iesirea sa aiba memorie care sa poata fi descarcata ulterior dintr-un switch 

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

Top autori în acest subiect

Enuntul problemei este foarte vag. Clarificati.

 

Un exemplu pur fictional cu un minim de informatii care trebuie furnizate:

 

" Am un semnal format din impulsuri dreptunghiulare. Doresc ca la fiecare 10 impulsuri ale semnalului (tranzitii LOW to HIGH), un contor intern uC-ului sa se incrementeze cu 1.

Numarul maxim de impulsuri numarate de contorul intern va fi 2 la puterea 64 (adica ~18.5 miliarde de miliarde).

Frecventa maxima a semnalului de intrare este de 100Hz.

In momentul in care apas un buton extern (pe tranzitia HIGH to LOW), vreau ca impulsurile care vin la intrare sa fie ignorate, sa se trimita pe interfata seriala continutul contorului si dupa ce transmisia a fost efectuata cu succes, contorul va fi setat la zero si monitorizarea semnalului se va relua."

Editat de mars01
Link spre comentariu
Vizitator cris1309

Voi descrie ceia ce vreau mai precis aici multumesc

--Divizor programabil cu:1 adica cand la intrare apare 1 impuls  la iesire sa iasa 1 impuls 1:1
                       5 adica la intrare apar 5 imp la iesire tot 1 imp 5:1
                      10 adica la intrare apar 10 impulsuri la iesire tot 1 impuls 10:1
                si cu 50 adica la intrare intra 50 imp la iesire iese 1 impuls 50:1  Setarea sa se faca ori prin 4 led-uri care sa imi indice starea divizorului adica la cat imparte 1,5,10,sau 50 setabil prin switch sau jump-eri
 
adica o divizor setabil cu 1-5-10 si 50.Frecventa la intrare poate fi de pana la 30 hz adica 30 impulsuri pe secunda iar  la iesirea dupa memorie frecventa sa fie constanta de 4 hz, impulsurile
 de la iesire sa fie gestionate intr-o memorie pana cand la intrare nu mai apar impulsuri  timp de 3 sec  dupa ce nu mai apar impulsuri la intrare adica dupa un interval de 3 sec
 sa se aprinda un led de confirmare ca in memorie se afla impulsuri iar printr-un buton tip switch sa pot trimite impulsurile din memorie cu o frecventa constanta de 4 hz la iesire pe un contor electromecanic sau electronic la sfarsit led-ul sa se stinga indicand astfel ca memoria a fost golita m-ar interesa mai multe astfel de montaje multumesc si astept o parere 
Link spre comentariu

Memorie ... ce fel de memorie? Volatila sau nonvolatila? Ce inseamna aceasta este urmatorul lucru: daca montajul se opreste din cine stie ce motive, numarul de impulsuri stocat pana la acel moment in contorul intern trebuie sa ramana memorat astfel incat la repornire sa porneasca de unde a ramas? Sau in cazul incare se opreste montajul informatia partiala numai este de interes?

 

Informatia din contorul intern se trimite doar catre un numarator extern sau se doreste trimiterea informatiei si catre PC pe portul USB si salvarea intr-un fisier .CSV (care se poate deschide cu Microsoft Excell)?

Link spre comentariu
Vizitator cris1309

O MEMORIE CARE SA SE STEARGA DUPA DESCARCAREA IMPULSURILOR SI SA ASTEPTE URMATOARELE IMPULSURI CRED CA O MEMORIE NONVOLATILA ''daca montajul se opreste din cine stie ce motive, numarul de impulsuri stocat pana la acel moment in contorul intern trebuie sa ramana memorat astfel incat la repornire sa porneasca de unde a ramas'' ASA TREBUIE si daca informatia m,ai este trimisa si catre un port USB SI SALVAREA INTR-UN FISIER AR FI MULT MAI OK si sa fie deschis in excell multumesc

Editat de cris1309
Link spre comentariu

Sunt mai multe variante de rezolvare a problemei. Cea mai simpla este numararea impulsurilor si apoi impartirea rezultatului la 1,5,10,sau 50. Se poate folosi, mai complicat, si memoria nevolatila din PIC. Daca MC se cupleaza la un PC este cel mai simplu. Se poate folosi si un PIC ieftin cu 8 pini, fara nici o alta componenta. Acesta comunica (bilateral) cu PC prin interfata seriala (RS 232) sau printr-un adaptor serial-USB din care se alimenteaza si PIC-ul.  Toata treaba o face calculatorul pentru care trebuie scris un programel. Switch-urile, LED-urile si tot ce mai este necesar sunt desenate pe forma ce apare pe ecran. Se poate da click pe ele, iar programul se ocupa de restul. Rezultatele numerice pot fi afisate pe forma si pot fi gestionate de calculator dupa nevoie (tabele, grafice, documente .doc, .xls, txt, etc.). Depinde de imaginatia si experienta in programare a utilizatorului.

Link spre comentariu

Daca montajul are o destinatie mai degraba mobila, adica in principal se foloseste fara a fi conectat la calculator (conectarea la PC fiind o treaba pur optionala) atunci eu as zice ca se poate face cu un controler PIC care are Interrupt on Change sau External Interrupt si o memorie FRAM.

 

Memoria FRAM aduce avantajele unei memorii non volatile (numarul posibil de scrieri/citiri este enorm, cca 100 trilioane) cu accesul rapid caracteristic memoriilor RAM (timpul de acces este limitat de modalitatea de comunicare cu PIC-ul, I2C sau SPI).  

 

As face un debouncing exten HW pentru pinul controller pe care intra semnalul folosindu-ma de un trigger Schmidt si un filtru trece jos simplu (rezistor la VCC si condensator la GND), iar pinul va fi unul care ofera IoC sau external Interrupt.

 

Daca e static, adica are un PC pe langa,  atunci este mai simplu (cum a sugerat colegul Puriu) sa se folosesaca un controler PIC conectat la PC prin USB si o aplicatie grafica pe PC din care sa se faca controlul dar aceasta iese din scopul acestui topic (e destul de usor de facut in C#, PyQT sau altceva).

Editat de mars01
Link spre comentariu
  • 2 săptămâni mai târziu...
Vizitator cris1309

toata treaba consta in :memorare impulsuri si scoatere impulsuri memorate ca si nr. de impulsuri intrate la o ferecventa constanta de 5.5Hz,impulsurile sa fie memorate ca si numar intrat iar iesirea sa se faca printr-un buton de golire memorie la frecventa de 5.5Hz iar numarul impulsurilor out sa fie egal cu numarul impulsurilor intrate in memorie.Mentionez ca frecventa maxima la intrarea in memorie sa fie de 20HZ ADICA SA POATA MEMORA SI IMPULSURI VENITE LA ACEASTA FRECVENTA dupa 4 secunde de cand sa oprit impulsurile la intrare sa se semnalizeze printr-un led ca exista impulsuri in memorie adica memoria trebuie golita.Maximul de impulsuri care ar trebui inmagazinat este de 2000 imp SI LA CAT SE RIDICA COSTUL ACESTUI PROIECT PENTRU SA ZICEM 50 BUC MULTUMESC

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