Vizitator cris1309 Postat Iulie 30, 2016 Partajează Postat Iulie 30, 2016 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
mars01 Postat Iulie 30, 2016 Partajează Postat Iulie 30, 2016 (editat) 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 Iulie 30, 2016 de mars01 Link spre comentariu
Vizitator cris1309 Postat August 1, 2016 Partajează Postat August 1, 2016 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
mars01 Postat August 1, 2016 Partajează Postat August 1, 2016 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 Postat August 3, 2016 Partajează Postat August 3, 2016 (editat) 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 August 3, 2016 de cris1309 Link spre comentariu
Vizitator cris1309 Postat August 3, 2016 Partajează Postat August 3, 2016 acum ce sa zic varianta cu port-ul USB sa fie deocamdata optionala dar sigur ar fi de preferinta Link spre comentariu
puriu Postat August 4, 2016 Partajează Postat August 4, 2016 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
mars01 Postat August 4, 2016 Partajează Postat August 4, 2016 (editat) 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 August 4, 2016 de mars01 Link spre comentariu
Vizitator cris1309 Postat August 18, 2016 Partajează Postat August 18, 2016 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
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum