nassus Postat Aprilie 26, 2009 Partajează Postat Aprilie 26, 2009 Salut,Vreau sa folosesc un PIC care sa faca urmatoarea treaba: sa "traga" spre GND un fir suficient de tare incat un alt dispozitiv sa "simta" schimbarea de stare. Datele problemei sunt cam asa: tensiunea de alimentare PIC: 5V, tensiunea de alimentare a dispozitivului: 12V, Sper ca poza o sa clarifice ce doresc defapt. Link spre comentariu
cirip Postat Aprilie 26, 2009 Partajează Postat Aprilie 26, 2009 Salut,Nu se poate comanda o tensiune de 12V direct din PIC. Ca sa comuti 12V trebuie adaugat un tranzistor pe care sa-l comanzi cu 5V de la pic si sa folosesti 12V din colector.De asemenea, daca iti sunt suficienti maxim 8V, poti folosi direct RA4.Trebuie sa dai mai multe detalii. Ce tensiuni vrea acel "alt dispozitiv" pentru 1 sau 0 logic?De asemenea, notatia "4.5mA" intre doua puncte este confuza. Nu poti avea curent intre 2 puncte, ci o tensiune.Cirip Link spre comentariu
nassus Postat Aprilie 26, 2009 Autor Partajează Postat Aprilie 26, 2009 Am notat cu 4.5 mA, curentul masurat intre masa si firul respectiv. Pe mine ma intereseaza sa ii dau 0 logic dar nu stiu ce inseamna acel 0 logic din punctul de vedere al dispozitivului. Ma gandesc la faptul ca PIC-ul nu are nimic de suferit daca "trage" la masa acel fir prin rezistenta de 2.5k pt ca pinul PIC-ului rezista pana la 20 mA. Am realizat circuitul dar PIC-ul parca nu trage suficient. Am adaugat si o dioda dar degeaba. Partea interesanta e ca acel dispozitiv comuta daca pun o rezistenta intre fir si masa. Deci help... Link spre comentariu
puiu Postat Aprilie 26, 2009 Partajează Postat Aprilie 26, 2009 Utilizeaza un PIC16UV540. Link spre comentariu
nassus Postat Aprilie 26, 2009 Autor Partajează Postat Aprilie 26, 2009 poate ai vreo documentatie ceva pt ca eu nu gasesc nimic pe net despre elOricum nu am cum sa folosesc alt PIC. Link spre comentariu
Vizitator Postat Aprilie 26, 2009 Partajează Postat Aprilie 26, 2009 Nu e bine pusa dioda.La schema din primul tau post, cea fara dioda, intre rezistenta si microcontroller pui in loc de sarma o dioda cu anodul la R si catodul la RA0. Link spre comentariu
cirip Postat Aprilie 27, 2009 Partajează Postat Aprilie 27, 2009 Nu ne intelegem. Nu vorbim aceeasi limba. Problema e cand picul scoate 1, nu 0. Cei 4.5mA rezulta din 12V/2.5K.Ca sa n-o mai lungim, incearca schema din poza atasata. Emitorul tranzistorului se conecteaza la masa picului.[attachment=0]PIC12V.GIF[/attachment] Link spre comentariu
nassus Postat Aprilie 27, 2009 Autor Partajează Postat Aprilie 27, 2009 Nu vad care ar fi problema cand PIC-ul scoate 1..Oricum...Nu exista nici o sansa sa nu folosesc un tranzistor? Sunt foarte limitat in ceea ce priveste modificarea schemei initiale. Dar daca nu se poate nici cum atunci am sa folosesc modificarea propusa. :( Am pus si dioda intre pic si dispozitiv dar degeaba.. Link spre comentariu
Liviu M Postat Aprilie 27, 2009 Partajează Postat Aprilie 27, 2009 Da' PICul e programat bine? Ai probat sa vezi daca el chiar pune masa acolo? Ai reusit sa aprinzi un LED cu pinul ala? Nu de alta, da' la unii pici RA0 are prostul obicei de a fi, dupa reset, intrare analogica. Daca n-ai programat bine picul, datorita circuitului intern ai un potential necunoscut acolo, ceea ce te face sa crezi ca el functioneaza in conditiile in care el n-o face. Referitor la cele 2 tensiuni, 5V (alimentare PIC) si 12 V, ca sa n-ai surprize cu PIC ars (de exemplu), e bine sa separi putin lucrurile. Cel mai simplu e s-o faci asa cum recomanda cirip, cu un tranzistor (cred ca e cel mai simplu level-shifter). Link spre comentariu
nassus Postat Aprilie 27, 2009 Autor Partajează Postat Aprilie 27, 2009 PIC-ul este programat bine pt ca am avut grija sa opresc toate perifericele care aveau treaba cu RA0. Am aprins si un LED. Chestia e ca din cate am citit in specificatiile PIC-ului, se considera 0 logic o tensiune de sub 0.6V si ma gandesc la faptul ca e prea mult si 0.6V...Alte idei? Link spre comentariu
Liviu M Postat Aprilie 27, 2009 Partajează Postat Aprilie 27, 2009 Poti pune bucata de cod de initializare/activare iesire aici, s-o vedem si noi? Ma refer in special la TRISA si ADCONx (parca).Si eventual si circuitul care urmeaza si care nu vrea sa comute? Link spre comentariu
nassus Postat Aprilie 27, 2009 Autor Partajează Postat Aprilie 27, 2009 Cam asta ar fi initializarea: OSCCON=0b01110001; OSCTUNE=0x00; OPTION=0b10001111; //pull-up disable,tmr0 Internal clock,Prescaler is assigned to WDT, 1:128 LCDEN=0;LCDA=0;VLCDEN=0;SLPEN=1; LVDCON=0x00;LCDCON=0x00;LCDSE0=0x00; LCDSE1=0x00;LCDSE2=0x00;LCDPS=0x00; ANSEL=0x00; ADCON0=0x00; ADCON1=0x00; CCP1CON=0x00; CCP2CON=0x00; CMCON0=0x07; //toate comparatoarele sunt oprite CMCON1=0x00; PIE2=0x00; TRISA=0b00001000;Initializarile nu sunt problematice.. Link spre comentariu
cirip Postat Aprilie 27, 2009 Partajează Postat Aprilie 27, 2009 Nu vad care ar fi problema cand PIC-ul scoate 1..Am pus si dioda intre pic si dispozitiv dar degeaba..1 scos de pic e de 5V. Daca pragul dipozitivului este de 6V, atunci dispozitivul nu va vedea niciodata 1. Varianta cu tranzistor iti asigura excursia maxima de tensiune, indiferent unde e pragul dispozitivului in intervalul 0-12V. E o solutie acoperitoare. Fara sa stii exact cerintele la intrare ale dispozitivului, e orbecaiala.Dioda, asa cum e pusa, bineinteles ca nu face nimic. Este polarizata invers permanent, deci e ca si cum nu ar fi.Cirip Link spre comentariu
nassus Postat Aprilie 27, 2009 Autor Partajează Postat Aprilie 27, 2009 dispozitivul vede "1" daca leg la masa intrarea lui si "0" daca o las libera...Pana la urma ramane tranzistorul ca si solutie..:( Link spre comentariu
Liviu M Postat Aprilie 27, 2009 Partajează Postat Aprilie 27, 2009 Nestiind cu ce PIC lucrezi, nu putem decat sa te credem pe cuvant.La PIC16F877 ADCON1=0x00 inseamna RA<5:0> = intrari ADC.Nu stiu ceilalti cum sunt, da' eu apreciez grozav bogatia informatiilor pe care le oferi si cat de usor la scoti. 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