luciann Postat August 10, 2010 Partajează Postat August 10, 2010 As avea nevoie de un microcontroler programat sa dea niste contacte(cam ce face CD4066) la actionarea unui potentiometru.Impulsurile sa fie proportionale cu cursa potentiometrului.. ceva de genu: la fiecare ohm crescut sa dea cate un contact si ele sa fie egale ca timp.Voi avea nevoie de acest lucru pentru un joc... simulator de trenuri(lucrez la un pupitru de comanda pentru a inlocui tastatura)Am cunostinte mult prea generale in ceea ce priveste programarea(mai mult Web) de aceea as avea nevoie de ajutor la scrierea unui program pentru asta.Multumesc. Link spre comentariu
yo9hnf Postat August 10, 2010 Partajează Postat August 10, 2010 VCO - Voltage Controlled Oscillator.Nu iti masoara nimeni "oamenii" de pe curosul potentimetrului, dar o tensiune (divizor rezistiv) este usor de masurat. Ai potentiometru liniar, ai si tensiune liniara. Link spre comentariu
Mikrosha Postat August 11, 2010 Partajează Postat August 11, 2010 Am vorbit cu rokyronnie inainte sa deschida topicul ,treaba-i cam asa:La tren, forta de franare e proportionala cu unghiul facut de maneta fata de o pozitie de "zero"...Oricum, cam ca la pedala de la masina, ca la tramvaiele V3A, ca la...orice. In joc, cand tii apasat pe o tasta, forta de franare creste. Cand tii apasat pe cealalta, forta scade.De fapt, "numarul de impulsuri" poate fi inlocuit cu un singur impuls de durata mai mare. Dar sa fie strict proportional cu cursa manetei de franare. O idee pe care i-am propus-o: Folosind un encoder, apoi sa separe impulsurile pentru "fatza" si "spate", si sa comande un monostabil. Schema n-ar fi prea complicata, dar apar 2 probleme. In primul rand trebuie un unghi destul de mic intre impulsuri, deci e necesar multiplicator mecanic. In al doilea rand, n-am gasit o varianta de debounce perfecta, care sa nu scape nici un impuls aiurea.Alta idee, ceva ce analogic s-ar face destul de complicat: Sample-and-hold la intervale egale, intre doua intervale preia tensiunea de la un potentiometru si o deriveaza, pana ajunge la tensiunea pastrata in hold. Sensul de crestere/descrestere poate sa determine care din taste sa fie apsata. Probabil s-ar face cu un pumn de operationale, rezultand o precizie indoielnica...In schimb cu microcontroller cred ca ar merge bine. Doar sa dea impulsuri de lungime proportionala cu deplasarea. Problema e ca el nu a mai lucrat cu microcontrollere si eu n-am timp sa-i scriu un program... Link spre comentariu
luciann Postat August 12, 2010 Autor Partajează Postat August 12, 2010 Da.. cam asta e ideea.As avea nevoie de cineva care sa imi scrie un program Link spre comentariu
sofian Postat August 12, 2010 Partajează Postat August 12, 2010 deci eu inteleg asa :am un potentiometru de 100ohmi si la fiecare ohm sa dea cite un contact, adica 100 de contacte (pini) trebuie sa aiba picul respectivcontacte egale in timp nu am auzit de asa cevaiar program moca nu stiu ca face cineva de aicite rog explica mai bine ce vrei sa faciSofian Link spre comentariu
luciann Postat August 12, 2010 Autor Partajează Postat August 12, 2010 Da, deci sa mearga in paralel, la fiecare ohm sa corespunda cate un contact Nu 100 de pini, ci 3, un comun si inca 2, pentru ca pe placuta din tastatura ma voi conecta la 3 pini(nu retin care sunt acestia pentru ca nu sunt acasa dar nu are asta importanta pentru voi) "contacte egale in timp nu am auzit de asa ceva" Aici ma refer la timpul cat sta "intrerupatorul" conectat, as avea nevoie de ~60ms Pai dupa cum vam spus, cu programarea nu am avut tangente foarte mari, asa ca nu am o idee foarte buna despre cat de lung ar trebui sa fie codul pentru ce vreau eu.Totusi ar fi solutia cea mai buna Va rog spuneti-mi un pret, in care sa fie inclus si microcontroller-ul necesar ca sa imi fac o idee daca merita sau nu. De bine de rau, exista si alte solutii, dar asta ar fi cea mai buna pentru ce vreau eu sa fac Sper ca am fost explicit, daca aveti nelamuriri, va rog intrebati Link spre comentariu
petre_s Postat August 13, 2010 Partajează Postat August 13, 2010 ce zic si eu..-cursa scurta (in grade) a manetei de frana si implicit variatia mica a potentiometrului se poate rezolva prin mai multe cai... de exemplu prin folosirea unui operational inainte de adc-ul controlerului cu tensiunea de referinta pusa cat trebuie. Apoi controlerul citeste tensiunea si genereza un PWM corespunzator.. De fapt chiar si adc-ul controlerelor permite fixarea referintelor. Recunosc ca m-a amuzat solutia cu multiplicatorul mecanic.. no offenceLegatura cu calculatorul cum o faci? scoti sârme din tastatura, de la contactul tastelor? Ca daca nu esti familiar cu programarea ma indoiesc ca te apuci sa faci interfata usb.. A, ai putea face interfata PS/2 dar dai din lac in put ..In cazul sârmelor din tastatura ti-ar trebui un PWM, nu frecventa variabila cum ai cerut tu.In caz ca vrei interfata adevarata cu compul(usb sau ps/2), ti-as recomanda compilatoarele de la MikroElektronika. Pentru incepatori si hoby-isti sunt aur, datorita multitudinii de biblioteci la botul calului. Dar trebuie sa stii cat de cat un limbaj de programare C/Pascal/Basic Link spre comentariu
Mikrosha Postat August 14, 2010 Partajează Postat August 14, 2010 ce zic si eu..Recunosc ca m-a amuzat solutia cu multiplicatorul mecanic.. no offenceFaza cu AO-ul nu merge la encoder; d-asta am zis multiplicator mecanic. Sa se comporte ca un encoder cu pas mai mic. Ce gasim in comertz dau vro 10 impulsuri la fiecare tura, lui i-ar trebui mai mult. Un schelet de cod la ce i-ar trebui lui ar fi asa:unsigned adc_new; adc_old; //valorile pe care le retine din ADCsigned t;la fiecare intrerupere timer {citeste_adc(adc_new);t=adc_new - adc_old;adc_old=adc_new;if (t>0) { da un numar de t impulsuri pe pinul A0; }else if (t<0) { da un numar de abs(t) impulsuri pe pinul A1,; }sterge flaguri; reporneste ADC;endObservati ca un simplu convertor tensiune-frecventa n-ar fi suficient.In principiu, atat. Eventual si o mediere a ADC-ului pe mai multe esantioane, si alte chichitze d-astea. Mai departe, de la pinii A0 si A1, vine intr-un MMC4066 (comutatoare analogice bilaterale) care fac contactul intre liniile si coloanele de la tastatura. Deci nu-i nevoie de protocol PS/2 sau USB. Nu-i deloc dificil, cu un 12F675 si cateva linii de cod se rezolva. Sincer eu is cam ocupat lunile astea. In plus tot astept sa-mi vina 2 mosfeti IRLM6402 sa-mi termin un programator Pickit 2; JDM mi-a scos destui peri albi cat am lucrat cu el. Din cauza asta nu pot sa-i fac eu proiectul, si i-am spus sa apeleze la bunavointa dvs. Sau daca are cineva o idee cat de vaga cum s-ar putea face cu integrate logice si componente discrete, il rog sa spuna... 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