mircang9 Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 Salut la toata lumea. Am o problema, in imaginile atasate am la intrare in AO un semnal dreptunghiular ( obtinut prin amplificarea unui semnal sinuisoidal de 1 V varf la varf - aici nici mie nu mi-e clar cum de bag un semnal sinusoidal si apoi iese un semnal "sinusoidal" care il vad ca si cum ar fi digital doar ca are amplitudinea de 17 V ) de 17V si la iesire un semnal de 4.8 V digital. In fine, trecand peste partea cu amplificarea din sinusoidal si iese "digital", ma intereseaza CUM pot face ca valoarea minimaa semnalului de la iesirea AO sa varieze sub 0.8 V ( max ViL la intrarea in PIC pentru zero logic si nu sub 1.2 V cum e acuma pentru ca 1.2 V deja intra in zona interzisa. Ma intereseaza asta ca sa masor corect perioadele si sa fac demodularea FSK bine cu PIC. Am variat rezistentele de 51K dar tot n-am reusit. La fel am incercat cu o dioda 1N4007 cu borna minus la iesirea AO si borna + ( catodul ) la masa si tot degeaba. Ma intereseaza ca palierul de zero al semnalului de la iesirea AO sa fie zerope tot palierul si nu sa varieze de la 1.2V - 0V ca acuma, sau macar sa varieze de la 0.8 V - 0Vpentru ca PIC-u sa vada clar ca ii vine un zero clar la intrare in pinul RC3. Am incercat si cu o poarta logica CD4071BE care am interpus-o intre iesirea AO si PIC cu gandul ca iesirea pentru zero din poarta logica este zero curat, si tot degeaba - semnalul este reprodus la fel ca la iesirea din AO. Link spre comentariu
miron1947 Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 Un divizor rezistiv este solutia cea mai simpla. Link spre comentariu
francezu Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 In primul rand in schema ta AO-ul il folosesti in bucla deschisa, deci ca si comparator. De ce nu utilizezi comparatoarele din PIC ? aici nici mie nu mi-e clar cum de bag un semnal sinusoidal si apoi iese un semnal "sinusoidal" care il vad ca si cum ar fi digital doar ca are amplitudinea de 17 VTocmai pt ca folosesti AO-ul "gresit" si amplifica semnalul foarte mult pana ce iesirea se satureaza.Ce intelegi tu prin semnal sinusoidal?, atunci cand spui ca : "iese un semnal sinusoidal". Nu cumva vrei sa zici periodic ?Faptul ca valoarea minima a tensiunii de iesire a AO este de 1,2V se datoreaza constructiei etajului de iesire (saturarea acestuia). Cauta operationale rail-to-rail output sau, pur si simplu operationale cu praguri de saturatie mai mici - valori ce le gasesti in datasheet.Incearca sa explici mai bine ce vrei sa faci, ce ai la intrare, ce vrei la iesire, si ce face mai departe uC-ul cu acel semnal? Scuze, dar eu nu am inteles mare lucru din postul tau. Link spre comentariu
mircang9 Postat Septembrie 22, 2011 Autor Partajează Postat Septembrie 22, 2011 Un divizor rezistiv este solutia cea mai simpla.[/quote Daca aplic semnalul de 17V de la intrarea in AO si in loc de AO folosesc divizor rezistiv, ma cam indoiesc sa aduc valoarea minima sub 1.2V care exista si in semnalul de 17V de la intrare. O sa incerc si cu divizor rezistiv. Ceea ce vreau sa fac este cred simplu dar nu-mi vine in minte o idee acum, deci ceea ce vreau sa fac este sa aduc valoarea minima a acelui semnal sub 1.2 V adica mai exact sub 0.8V ( ViL de la intrarea pentru PIC ). Cred ca cu asta sunt suficient de explicit. In imagine de mai jos vreau ca distanta D sa fie zero fata de masa ( 0V ) adica in loc de 1.2 V sa fie de maxim 0.8V. Acum ca e sinusoidal sau dreptunghiular cred ca nu este asa important, semnalul este FSK modulat in frecventa si vreau sa-l demodulez masurandu-i perioadele ca sa scot informatia digitala. Ca e sinusoidal sau dreptunghiular cred ca putin conteaza, oricum forma este ca cea din imagini. Acum spuneti-i cum vreti dreptunghiular ori sinusoidal, dar dupa mine este dreptunghiular. M-am gandit sa incerc un circuit Trigger, cu AO desi poate e o prostie. Schema de Trigger am luat-o de la http://en.wikipedia.org/wiki/Schmitt_trigger. Programul in PIC arata asa: #define nop() asm("nop") int contor; void main() { TRISC3 = 1; TRISE1 = 0; ANSEL = 0x00; // dezactivare functia analogica pentru ADC ANSELH = 0x00; while(1) { contor = 0; while( RC3 == 0 ) { nop(); // semialternanta negativa se sare. } while( RC3 == 1 ) // se contorizeaza doar semialternanta pozitiva. { contor++; } if( contor > 34 ) { RE1 = 0; } if( contor <= 34 ) { RE1 = 1; } } // sfarsit while(1) } // sfarsit main() N-am folosit Timer pentru masurarea semiperioadelor pozitive, ci un contor pentru ca mi se pare mai simplu si astfel programul are mai putine setari si instructiuni. Frecventa la care lucreaza PIC-u este 18.430 MHz. Pentru 0 logic am frecventa F1=2430 Hz, iar pentru 1 logic frecventa F2=2490. Frecventa centrala este Fc=2460 Hz. Adica diferenta intre F1 si F2 este foarte mica. Nu este ca in Bell 202 format 1200/2200 Hz ( mark/space ). In program valoarea 34 am gasit-o prin modificari repetate. Mi se pare prea stramta selectia. Ma asteptam sa scot la pin RE1 semnalul demodulat prin ceva de genul: pentru contor > 34, RE1 = 0 pentru contor <= 33 ( macar ), RE1 = 1. Daca pun asa nu mai iese decat doar 1 logic la RE1. La partea de modulare am un emitator FSK cu ferita care emite frecventele pentru 1/0 logic. Apoi filtru de emisie, filtru de receptie ( selecteaza canalul dintre mai multe canale. Canalele sunt apropiate intre ele ) si receptor. Eu vorbesc acum doar de partea de la receptor. Eu vreau sa inlocuiesc bobinele de ferita invechite si iesite din banda cu microcontroller PIC. Schema de la receptorul vechi este in schemele Sch1 si Sch2. Scuze, am reincarcat Sch1 ( era mirror orizontal ). Link spre comentariu
miron1947 Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 Asa cum ati pus diodele se anuleaza una pe alta, trebuie puse in paralel una fata de alta si asa pot limita semnalul de iesire la cca. 0,7V, iar divizorul(solutia este utilizata in toate multimetrele) il puteti realiza de la ce valoare doriti, chiar si de la 17V la 0,7V. Link spre comentariu
mircang9 Postat Septembrie 22, 2011 Autor Partajează Postat Septembrie 22, 2011 Asa cum ati pus diodele se anuleaza una pe alta, trebuie puse in paralel una fata de alta[attachment=0]untitled.JPG[/attachment] si asa pot limita semnalul de iesire la cca. 0,7V, iar divizorul(solutia este utilizata in toate multimetrele) il puteti realiza de la ce valoare doriti, chiar si de la 17V la 0,7V.O sa incerc maine. Mersi mult Miron *** Link spre comentariu
mircang9 Postat Septembrie 22, 2011 Autor Partajează Postat Septembrie 22, 2011 Asa cum ati pus diodele se anuleaza una pe alta, trebuie puse in paralel una fata de alta Link spre comentariu
francezu Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 dupa ce vad cum si ce tre sa pun in exterior la un AO dedicatAi spus ca vrei sa masori perioada unui semnal sinus; asta se face detectand trecerile prin 0, utilizand in acest scop un comparator. Fie ca folosesti un AO in configuratie de comparator, fie ca folosesti un comparator specializat obtii acelasi lucru. Ideal ar fi sa folosesti comparatorul din PIC (C2) impreuna cu Timer1 cu Gate Control, in modul acesta poti masura foarte usor perioada unui semnal analogic, cu un cod(soft) minimal. Timer1 trebuie clock-uit cu o frecventa suficient de mare pentru a masura cu o rezolutie convenabila( maxim 200ns cu cristal de 20MHz). Bineinteles pentru verificarea adaptarii nivelelor si a formarii corecte a semnalului de iesire poti face si extern, dar pentru varianta finala spun ca e pacat sa nu folosesti ce iti ofera uC-ul.Daca semnalul FSK, de pe linia telefonica, are amplitudinea maxima de 1Vp-p, si este centrat pe 0V, atunci nu mai este nevoie de alta amplificare. Semnalul se cupleaza la intrarea pozitiva a comparatorului printr-o rezistenta >1kohm pentru a limita la o valoare convenabila curentul pe pinul de intrare. Cine limiteaza tensiunea, cand semnalul de intrare coboara sub 0V? R: dioda de protectie de pe pin( se afla integrata in uC)- asta daca apuca sa se deschida cu doar 0,5V. Intrarea negativa a comparatorului se leaga la masa. In concluzie : pentru a masura perioada unui semnal sinus cu amplitudine maxima de 1Vp-p, cu ajutorul unui uC ( cu comparator intern) ai nevoie doar de o rezistenta. Link spre comentariu
10vid Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 Din imagini pare mai degraba o problema cu calibrarea sondei (capacitate seriala de compensare insuficienta).Pe de alta parte, spuneai intr-un alt topic, ca pe linie vin vreo 5 frecvente odata. Nu ai ce sa te bagi cu masurarea perioadei, va trebui sa faci analiza spectrala. Link spre comentariu
mircang9 Postat Septembrie 22, 2011 Autor Partajează Postat Septembrie 22, 2011 Din imagini pare mai degraba o problema cu calibrarea sondei (capacitate seriala de compensare insuficienta).Pe de alta parte, spuneai intr-un alt topic, ca pe linie vin vreo 5 frecvente odata. Nu ai ce sa te bagi cu masurarea perioadei, va trebui sa faci analiza spectrala.Da, este posibil sa fie si sonda necalibrata. Ea are o rotita. Cat despre analiza spectrala, o las pe mai tarziu pentru ca deocamdata am filtrele de emisie si receptie. Filtrul de receptie elimina toate celelalte frecvente de la celelalte canale de pe linia telefonica. Le mai acordez cum pot aceste filtre, si am in plan sa le inlocuiesc cu dsPIC prin analiza spectrala, convolutie discreta - etc. Dar asta face parte din alt topic care l-a deschis "cirip". Filtrele astea mai vechi sunt cu bobine de ferita si condensatori cu tolerante de +/-1.25 % deci de precizie ridicata. Asadar avand filtrul de receptie care lasa sa treaca doar frecventele Fc, F1, F2 pentru canalul18 ( la care lucrez ) este posibil sa mearga cu masurarea perioadei.Ceea ce a spus Francezu este bine gandit. Ar mai fi o mica problema pana trec la fapte maine:cand leg semnalul de la iesirea din filtru de receptie de maxim 1Vp-p la intrarea in AO acest semnal se cam strica desi am pus un condensator electrolitic de cuplaj cu + la intrarea de semnal si - la partea spre intrarea in AO. :smt103: Link spre comentariu
miron1947 Postat Septembrie 22, 2011 Partajează Postat Septembrie 22, 2011 acest semnal se cam strica desi am pus un condensator electrolitic de cuplaj cu + la intrarea de semnalPentru semnal dreptunghiular se utilizeaza cuplaj in CC, nu prin condensator, acesta deformeaza "colturile" palierelor. Link spre comentariu
cirip Postat Septembrie 23, 2011 Partajează Postat Septembrie 23, 2011 Salut,Am si eu o rugaminte. Poti sa inregistrezi semnalul ala cu placa de sunet la frecventa de esantionare maxima a placii de sunet si sa il pui pe un sait de file sharing? As fi curios sa ma uit si eu la el un pic. Vreo 5-10 secunde din semnal mi-ar fi suficient. Formatul sa fie .wav si comprimat cu zip sau rar. In felul asta am putea avea o idee mai clara despre cum se poate demodula.Daca nivelul este mare, nu baga direct in calculator. Fa un atenuator 1:10 sau 1:20 cu niste rezistente.Inca ceva. Daca semnalul ala are 17V, nu e cazul sa te chinui cu comparatoare. Doua diode pe intrarea picului ca sa protejeze intrarea, si o rezistenta serie rezolva problema cu brio. Diodele se pun in serie intre Vcc si masa, polarizate invers si pct lor comun la intrarea picului. Asa se face un detector de treceri prin zero conectat direct la priza. Merge de n-are aer. Cirip Link spre comentariu
mircang9 Postat Septembrie 23, 2011 Autor Partajează Postat Septembrie 23, 2011 Salut, Am si eu o rugaminte. Poti sa inregistrezi semnalul ala cu placa de sunet la frecventa de esantionare maxima a placii de sunet si sa il pui pe un sait de file sharing? As fi curios sa ma uit si eu la el un pic. Vreo 5-10 secunde din semnal mi-ar fi suficient. Formatul sa fie .wav si comprimat cu zip sau rar. In felul asta am putea avea o idee mai clara despre cum se poate demodula. Daca nivelul este mare, nu baga direct in calculator. Fa un atenuator 1:10 sau 1:20 cu niste rezistente. Inca ceva. Daca semnalul ala are 17V, nu e cazul sa te chinui cu comparatoare. Doua diode pe intrarea picului ca sa protejeze intrarea, si o rezistenta serie rezolva problema cu brio. Diodele se pun in serie intre Vcc si masa, polarizate invers si pct lor comun la intrarea picului. Asa se face un detector de treceri prin zero conectat direct la priza. Merge de n-are aer. Cirip Am sheruit RecUSILOG_2.rar pe site-ul http://www.4shared.com/get/NvDvuPBj/RecUSILOG_2.htmlpentru [email protected]. Am inregistrat cu Audicity la 96000 Hz esantionare. Am inregistrat cu receptorul FSK vechi de ferita scos adica am inregistrat exact de la iesirea din filtrul de receptie cu iesirea in gol nelegata la receptorul FSK ( unde am acel preamplificator si o parte din receptor am postat-o in imaginile anterioare ). Semnalul FSK este pentru canal 18 cu frecventa centrala 2460 Hz si frecventele pentru zero logic ( Fc-30Hz ) si unu logic ( Fc+30Hz). Am omis sa mentionez ca la intrare in emitator bag un semnal digital de 50 Hz cu amplitudine de 18 V fata de masa, mai exact un tact sau o frecventa de ceas de 50 Hz cu duratele pentru 1/0 logic de cate 10 ms. Mai jos afisez imaginea de la iesirea receptorului cu semnalul digital demodulat ( cu amplitudinea reprodusa mai mare adica 23 V si frecventa 50 Hz - poza b ). Pozele a si c sunt la iesirea in gol ( nelegat la receptorul FSK cu bobine de ferita ) a filtrului de receptie. In poza a se vede ca amplitudinea variaza de la 450 mV - max 600 mV si frecventa capturata cu osciloscopul pentru unu logic adica 2500 Hz. In poza c se vede capturata frecventa pentru zero logic ( 2.439 kHz = 2439 Hz ) cu aceeasi variatie de amplitudine. De fapt ceea ce este in poza a si c este inregistrat in fisierul sheruit RecUSILOG_2.rar. In momentul cand cuplez receptorul FSK la iesirea filtrului de receptie semnalul modulat FSK are o scadere in amplitudine si variaza intre 200 - 250 mV. Dupa cum a spus Francezu ca sa mearga cum a zis el cu comparatorul si diodele din PIC semnalul FSK de la iesire din filtru de receptie trebuie amplificat putin de la 200 mV pana la 1 Vp-p ca sa lucreze bine diodele de la intrarea in comparatorul PICului ( 0.6 V pentru deschidere dioda ). Sau luat semnal din preamplificatorul receptorului FSK ( undeva in etajul de peamplificare semnalul este amplificat in jurul valorii de 3.3 Vp-p si abia la intrare in discriminatorul de frecvente cu bobine de ferita semnalul ajunge la 17 V varf la varf asa cum este postat in imaginile anterioare ). Link spre comentariu
francezu Postat Septembrie 23, 2011 Partajează Postat Septembrie 23, 2011 ...ca sa lucreze bine diodele de la intrarea in comparatorul PICului ( 0.6 V pentru deschidere dioda )Nu trebuie sa lucreze diodele, ele sunt puse in caz ca tensiunea depaseste accidental nivelul acceptat la pin, nu participa activ la procesul de detectie a trecerii prin 0- asta o face doar comparatorul. Daca amplitudinea semnalului depaseste considerabil offset-ul de intrare al comparatorului merge fara probleme; 200mV sunt suficienti. Link spre comentariu
10vid Postat Septembrie 23, 2011 Partajează Postat Septembrie 23, 2011 Frecventa centrala Fc, se transmite si ea? Daca da, asta complica lucrurile si mai tare (ecart 30Hz in loc de 60Hz). Nu era mai bine (daca tot ai tactul de 50Hz ) sa transmiti un semnal pe o frecventa pentru "1" logic, iar "0" logic sa fie interpretat ca fiind absenta semnalului? Se mai castiga astfel diferenta intre semnale si probabil se poate demodula cu un simplu PIC 16F628. 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