daniels Postat Ianuarie 6, 2023 Partajează Postat Ianuarie 6, 2023 Am acest generator PWM. Cum as putea sa-l modific astfel incat sa-i pun 2 encodere in locul celor 4 butoane? https://www.sigmanortec.ro/modul-generator-semnal-pwm-33-30v-1-150khz-serial-frecventa-si-ciclu-de-lucru-reglabile?gclid=EAIaIQobChMIpsmKpIaz_AIVTfZ3Ch0x4gGTEAQYASABEgLb-PD_BwE Link spre comentariu
validae Postat Ianuarie 6, 2023 Partajează Postat Ianuarie 6, 2023 Nu prea poţi asta simplu.Encoderul dă impulsuri între un pin comun şi două laterale, într-o ordine stabilită de sensul de rotaţie. Butoanele generatorului au două funcţii, diferenţiate de timpul de apăsare. Ar trebui construită o interfaţă care să transforme impulsurile encoderului în semnale corespunzătoare comenzilor date de butoane.Acea interfaţă ar însemna încă un montaj de sine stătător, cel mai probabil cu un microcontroller. Link spre comentariu
merck Postat Ianuarie 6, 2023 Partajează Postat Ianuarie 6, 2023 1 oră în urmă, daniels a spus: Am acest generator PWM. Cum as putea sa-l modific astfel incat sa-i pun 2 encodere in locul celor 4 butoane? Nu poti inlocui un buton cu un encoder. Daca in ecuatie mai pui un microcontroller nu mai ai nevoie de genratorul tau PWM. Ce vrei sa faci mai exact? Link spre comentariu
daniels Postat Ianuarie 6, 2023 Autor Partajează Postat Ianuarie 6, 2023 Butoanele nu sunt practice deloc si as vrea sa il actionez cu encodere. Link spre comentariu
merck Postat Ianuarie 6, 2023 Partajează Postat Ianuarie 6, 2023 (editat) Tu banuiesc ca vrei sa folosesti generatorul PWM pentru a scoate pe iesire PWM de frecventa variabila (sau factor de umplere variabil la o frecventa fixa). Teoretic daca in locul butonului vii cu un semnal dreptunghiular generat asa cum cere generatorul PWM (la sfarsitul mesajului l-am detaliat) poti sa faci acest lucru, insa esti limitat de debouncing-ul din soft (din soft pentru a preveni contactele parazite la apasarea unui buton). Deci nu ai sa poti sa sa cobori sub acel delay din debouncing. Deci practic nu poti realiza o bucla de reglare continua daca constanta de timp a procesului este mica. Daca este un proces lent atunci teoretic poti insa ramane sa convertesti semnalul de la iesirea decodorului in semnal dreptunghiular de frecventa minima acceptat de generatorul PWM (daca cobori sub ea se pierde informatia). Asta o faci cu un microcontroller, dar daca bagi in ecuatie un microcontroller nu isi mai are rost generatorul PWM (este inlocuit de microcontroller). Banuiesc ca ai encodere cu iesire in impulsuri si atunci la iesirea lor ai: si tu citesti pe iesirea lui in permanenta starile: 00, 01, 11, 10. Si tu trebuie sa convertesti in semnal 00 (nu face nimic), 10 (incrementeaza frecventa ), 01 (decrementeaza frecventa) insa nu ai ce cauta cu 11 (este ca si cum apesi concomitent butonul de incrementare si decrementare simultan). Apoi mai apare o problema: encoderul genereaza in continuu impulsuri ori pentru setarea gereratorului ai nevoie doar de o secventa si apoi urmeaza o pauza. Deci fara un microcontroller nu vad cum se poate rezolva problema. Editat Ianuarie 6, 2023 de merck Link spre comentariu
djvas Postat Ianuarie 6, 2023 Partajează Postat Ianuarie 6, 2023 (editat) Se poate simplu. Exista un IC care face exact asta care la baza este un uC cu 8 pini. Se cheama LS7083 sau 7084 dar posbil sa mai fie si altele. Am avut ( si inca mai am in plan ) un proiect care sa faca exact asta cu un PIC cu 8 Pini si un mic PCB direct pe encoder. Nu credeam ca o sa trebuiasca cuiva.... dar vad ca exista interes. Editat Ianuarie 6, 2023 de djvas Link spre comentariu
daniels Postat Ianuarie 6, 2023 Autor Partajează Postat Ianuarie 6, 2023 Peste tot 1 oră în urmă, djvas a spus: .... dar vad ca exista interes. Peste tot, acolo unde sunt necesare mai mult de 3 apasari succesive pe un buton pt a regla ceva, sunt utile si mai usor de folosit. Link spre comentariu
va_cristi Postat Ianuarie 7, 2023 Partajează Postat Ianuarie 7, 2023 Singura solutie este cu un microcontroller. De exemplu folosesti o placa arduino uno si apoi scoti microcontrollerul din soclu dupa programare, si ii faci o placuta mai mica. Un exemplu poti gasi si aici: rotary encoder arduino Circuite dedicate nu prea se gasesc, iar cu circuite integrate logice este mai costisitor: piese multe, si gabarit depasit fata de un singur microcontroller. Am incercat si eu demult sa fac asa ceva cand nu stiam sa programez microcontrollere. De exemplu am incercat aceasta schema decoding encoder , dar problema este ca daca encoderul se afla in starea 10 sau 01 la punerea sub tensiune LED-ul D1 este aprins. Am incercat mai multe scheme si la unele se intampla invers, cand encoderul se gasea in starea 11 sau 00, la punerea sub tensiune unul dintre LED-uri este aprins. Link spre comentariu
nico_2010 Postat Ianuarie 9, 2023 Partajează Postat Ianuarie 9, 2023 Folosind componente SMD se poate realliza una din variantele din foaia de mai jos, fara sa fie nevoie de un microcontroller pentru asta. In ambele cazuri se obtin impulsuri pe una dintre iesiri (CW sau CCW), functie de sensul de rotatie a encoderului. Si o varianta cu un singur circuit TTL, tipul 74(HC)74, care face acelasi lucru. Link spre comentariu
daniels Postat Ianuarie 16, 2023 Autor Partajează Postat Ianuarie 16, 2023 (editat) Am facut ultima schema si nu functioneaza. Daca comand ledurile direct din encoder arata ce trebuie. La encoder firul C (comun) l-am pus la +. In aceasta aplicatie sunt diferente intre 7474 si 74174 ? Editat Ianuarie 16, 2023 de daniels Link spre comentariu
nico_2010 Postat Ianuarie 17, 2023 Partajează Postat Ianuarie 17, 2023 Firul comun al encoderului se conecteaza la GND, nu la +5V, iar pinii A si B, prin rezistente de 10k la +5V. Pentru a-ti clarifica diferentele intre 7474 si 74174 citeste foile de catalog ale celor doua circuite integrate, in special pinout-ul. Sunt diferente semnificative ce influenteaza functionarea montajului. 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