mircang9 Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 In schema din fisierul Sch11.jpg RC este un receptor din care iese demodulat semnalul dreptunghiular de 50 bps ( 20 ms durata unui bit ) cu amplitudinea de 2.3 V varf la varf. In ideea de a izola electric fata de tensiunea de 24 V PIC-ul am pus amplificatorulLM339 care scoate semnalul cu o amplitudine de doar 0.6 V varf la varf. Un mesaj de date contine urmatorul protocol: 16 biti de "1" de sincronizare --> bit start P0 --> P1 ... P8 biti de date --> P9 bit de paritate --> P10 bit de stop --->apoi iar P0 bit de start ---> P1 ... P8 biti de date ---> P9 de paritate ---> P10 de stop ---> apoi iar P0 bit de start ---> P1 ... P8 biti de date ---> P9 de paritate ---> P10 de stop ---> apoi 120 ms ( durata a 6 biti ) pauza ---> apoi se reiau cei 16 bitide sincronizare si asa mai departe. In cadrul unui mesaj se transmitdeodata 3 octeti de date. La inceputul fiecarui mesaj sunt 16 biti de sincronizare.Intre mesaje este o pauza de 120 ms ( 6 biti ). La pinul RC3 ( pin de intrare ) vreau sa citesc mesajele ce vin serial.Citesc astfel: dupa detectia celor 16 biti fac temporizare de 10 ms si astfel ma deplasez pe jumatatea unui bit apoi il citesc apoi fac temporizare de 20 mspentru a sari la jumatatea urmatorului bit si tot asa. Temporizarea o fac cu Timer1. Problema este ca la intrare am nivel pentru "1" doar 0.6 V si nu peste 2V cat este minim ( maxim 5 V ). In program bitii de "0" ii verific cuif(RC3 == 0) iar bitii de "1" ii verific cu if(RC3 != 0) dar 0.6 se afla totin intervalul pentru "0" logic. Interesant este ca cei 16 biti de "1" ii detecteaza ca fiind "1" apoi undeva programul prin simulare cu Debug nu detecteaza nici ca e "0" nici ca e "1" si se blocheaza in subrutina de temporizare. Adicatrece si de if(RC3==0) si de if(RC3==1) ca si cum RC3 nu ar fi nici "1" si nici "0". Care sa fie problema ? Trebuie sa amplific semnalul de la 0.6 V neaparat la peste 2V sau sa-l leg direct de la RC la PIC fara LM339 sausa mai bag un trigger-schmidt ? Intamplare nefericita: RC1 este pin de intrare. PIC kit 2 neconectat inrest toate celelalte conectate ca in schema si am incercat sa leg osciloscopul( cu osciloscopul oprit - nealimentat ) si PIC-ul s-a incins supraincalzitpana s-a ars. Ca sa fac apoi RC1 pin de iesire ca sa reglez din programo temporizare de 10 ms fara timer cu for( int i =0; i< N; i++ ){ Nop(); }.Care sa fie cauza ? Pana sa leg osciloscopul am facut si Debugging siam facut si transmisie-receptie seriala de la un terminal din laptopsi nu s-a intamplat nimic rau. :cry: Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 Mai concret si mai pe scurt: trebuie neaparat sa am peste 2V varf la varf sau5V varf la varf pentru ca sa pot citi serial la pinul RC3 in schema atasata ? Link spre comentariu
puiu Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 1. De ce nu-l izolezi galvanic, fata de PIC, oscilatorul? de ex.: cu un optocuplor, avand in vedere ca frecventa este mica.2. In acest caz ai rezolva si alinierea tensiunilor, in sensul ca la intrare vei avea 24V iar la iesire vei avea 5 V . Singurul lucru este ca de regula montajul este si inversor, lucru care se poate corecta din soft sau se poate din hard. Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 Am incercat cu optocuplorul LTV825 si nu merge. Asta am incercat mai demult cu comunicatie RS232 intre doua PIC16F887 chiar la frecventa asta asa mica. Ma asteptam sa mearga. Nu mai stiu exact cum arata semnalul la osciloscop daril strica. Ma tenteaza sa leg direct RC la PIC. Daca s-o arde pinul asta e ... Am vazut undeva un optocuplor HP6N137 intr-o schema de comunicatie RS232.Dar cum am cumparat un LTV825 l-am incercat pe acesta. RC nu este oscilator desi daca ar fi fost oscilator nu schimba datele problemei. RC este un demodulator discriminator in frecventa FSK cu bobine de feritacare reface semnalul digital din semnalul analogic ce vine pe cablu telefonic/fibraoptica de la zeci de Km. Mai exact am legat doua PIC-uri cu RX-TX si TX-RX si nivelele logice nu erau de +5 volti si tot de 0.6 volti la frecventa de 50 Hz. Setam EUSART-ul la 50 bps.Am pus acel LTV825 si n-a mers. Apoi am interpus acest LM339 si a mers.Acum nu-mi dau seama inca de ce nu merge. Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 Schema asta este defapt de pe aceeasi placa facauta de o firma dar care nu mai functionat. Se zice ca a functionat. Cu deosebirea ca in loc de PIC-ul meuerau microcontrollere ATMEL AT89C51. Pe placa sunt 7 asemenea circuite si supravegheaza 27 posturi telecomandate si placa asta este legata prin RS232 la calculator unde este o interfata cu utilizatorul. Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 Sincer nu inteleg rolul lui LM339 pe placa asta. Am zis si eu ca ar avea rolul de izolare, sau adaptare semnal dar in nici un caz amplificare pentru ca semnalul este redus de la 2.3 V la 0.6 V varf la varf. Pentru iesiri pentru telecomenzi este un alt LM339 pentru toate cele 7 x AT89C51 cu deosebirea ca divizorul este cu rezistente de cate 10 K si la iesire este legata o rezistenta de pull-up de 20K la +24V. timp de 60 de minute de la postare, ai timp sa editezi mesajul cu ajutorul butonului MODIFICA. Este situat in dreapta-jos a fiecarei postari. Link spre comentariu
puiu Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 1. Spune-ne ce anume nu merge la LTV825. Cum l-ai legat deoarece este un cuplor cu iesire darligton. Sunt optocuploare care lucreaza la frecvente mai mari, de ce l-ai ales pe acesta? Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 Pe LTV825 l-am ales pentru o automatizare la un grup electrogen prin care comandam niste relee, contactoare. Din cate inteleg de la tine tre sa iau un optocuplor. Ce optocuplor imi recomanzi. Pe LTV825 l-am legat ca in desen. Link spre comentariu
puiu Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 1. Nu l-ai legat bine deoarece trazistorul din optocuplor trebuie sa fie alimentat de la sursa de la care este alimentat cel de al doilea PIC.2. Ma intereseaza cum l-ai legat in aplcatia ta, nu cum l-ai legat la conectarea a doau PIC-uri. Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 Se pare ca se complica treaba daca trebuie sa inlocuiesc LM339 cu optocuplor.Va trebui sa refac cablajul. O sa leg optocuplorul maine la munca sa vad ce iesede data asta asa cum mi-ai zis. Si totusi cum de a "mers" placa asta cu LM339 la vremea ei, nu-mi explic. Cei dinaintea mea mi-au zis ca a "mers" asa de la firma care a facut-o. Firma aia din Bucuresti lucreaza acum cu automate programabile. Link spre comentariu
puiu Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 1. De ce nu pui optocuplorul dupa LM? Sa folosesti LM ca un bafar. Link spre comentariu
sofian Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 Optocuplorul se foloseste ptr o izolatie intre doua surse de curentCeea ce ai facut acolo nu este bineledul se leaga la alimentarea primului pic,iar tranzistorul (+10k) la cel de al doilea pic Link spre comentariu
mircang9 Postat Noiembrie 2, 2010 Autor Partajează Postat Noiembrie 2, 2010 O sa incerc cum ati zis. Totusi tensiunea de 0.6 de la iesirea din LM mi se parecam mica pentru comanda led-ului. Din cate stiu un led incepe sa lumineze dupa 1.6 V. Din datasheet arata: - forward voltage: 1.2 V > 0.6 V. - terminal capacitance: 30 pF, la V = 0, f = 1KHz. - floating capacitance: 0.6 pF, la V = 0, f = 1MHz. - response time ( rise ): max 300 us. - response time ( fall ): max 250 us. Din aceste date led-ul incepe sa lumineze la 1.2 V si deci se pare ca tensiunea de 0.6 V este insuficienta. Response time de 300 us estesuficient de bun pentru un transfer la 50 Hz perioada 20 ms >> 300 us.De aici pare sa rezulte ca nu prea merge pus dupa LM339 si ca ar trebui sa functioneze la rata de 50bps bineinteles cu rezistenta de 10K la plusul pic-ului asa cum ati zis amandoi. Link spre comentariu
Liviu M Postat Noiembrie 2, 2010 Partajează Postat Noiembrie 2, 2010 Dupa parerea mea, la LM in prima schema ai probleme cu pragurile. Pe intrarea inversoare a LM-ului ai ~12 V, da' nu m-am prins ce e cu cei 2.4Vvv la iesirea RC. Sunt astia 2,3V "centrati" pe cei 12V de la intrarea inversoare a LM-ului, sau sunt referiti fata de masa?Daca sunt referiti fata de masa, trebuie sa redimensionezi rezistentele din divizorul de pe intrarea inversoare a LM-ului astfel incat sa ai pe intrarea respectiva o tensiune intre 0 si 2.3V (2V ar fi tocmai buni cred). Link spre comentariu
cirip Postat Noiembrie 3, 2010 Partajează Postat Noiembrie 3, 2010 Dupa parerea mea, la LM in prima schema ai probleme cu pragurile.Punct ochit, punct lovit, tot comentariul lui Liviu M.Ori stii tensiunea de mod comun si calculezi divizorul in consecinta, ori faci translatia aia de valoare medie pe care vad ca ai lasat-o balta. Ai impresia ca am vb la misto, dar eu chiar intentionam sa te ajut.Ca sa clampane, unui comparator trebuie sa i se schimbe relatia (mai mare/mai mica) dintre tensiunile de pe intrari. La tine, cu 12V pe intrarea inversoare si probabil ca mult mai putin pe neinversoare, iesirea este permanent saturata in zero. De acolo provin cei 0.6V. Chiar, cat ai in CC la iesirea din receptor (RC)? Masoara si posteaza.Nu te complica cu optocuploare sau cu nimic altceva, daca nu intelegi cum functioneaza de fapt.Cirip 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