Kendin yap sinyal jeneratörü çıkış katı

semih_s

Hobici
Katılım
16 Aralık 2020
Mesajlar
1,969
Atölyemde bir sinyal jeneratörü yok. Hantek DSO2D10 osiloskoba entegre bir awg war ve bunu kullanıyorum. Yalnız üretilen sinyal bence çok kısıtlı. Frekansı yüksek 25MHz ama genlik düşük ve kontroller zahmetli. Hem de bu osiloskobu fazla elimde tutmayacağım. Bu yüzden basit ama kolay kontrol edilebilen bir sinyal jeneratörü yapmaya heveslendim ve geçenlerde bir çıkış katı tasarladım.

sinyal_proto_şema.jpg


Amacım üretilen sinyalin genliğini artırmak ve bu sinyale yeterince offset verebilmek. Yani 1Vpp sinüs dalgayı 12 volta veya -12 volta taşıyabilmeliyim. Sinyal üreteci 3Vpp sinyal üretse de bunu yükseltebilmeliyim. Bunun için iki opamp kullandım. Opampın biri sinyali yükseltiyor, diğeri de offseti kontrol ediyor. Devreyi test etmek için deliksiz şekilde dizdim ve bastım.

Ekran Görüntüsü (62).png
sinyal_proto_foto1.jpg


Hantek'le 100Hz 1V ofsetli 1V p-p sinüs üretip devreye verdim. Mor sinyal giriş sinyali, Sarı sinyal çıkış sinyali (VO+) ve mavi sinyal ofset(VO-) . sarı ve mavi sinyallerin grafikteki referans noktaları aynı.

1678820032951.png


Ofset inputuna potansiyometre bağladım. Bununla ofsetin çıkışını değiştirebiliyorum. Çıkış katının offset inputunu Mcu'dan PWM+LowPass ile beslemek mümkün. Bunun bant genişliği önemsiz. Aşağıda ofseti değiştirdiğim durumlar var.

1678820421436.png
1678820617443.png


Bu devreye neyle nasıl sinyal üreteceğime karar vermedim. Önce 8 bit r2r ile bir mcu'nun bir portuyla sinyal üretmeyi düşündüm. Sonra esp32'nin dahili DAC'ını kullanmayı denedim ama frekans düşük kaldı. En azından 100KHz civarı bir sinyal almak istiyorum. Sinüs, kare, üçgen ve testere formunda dalgalar başlangıç için kafi.
 

Ekler

Frekansı biraz yükseltince dalga formunda bozulma oldu. 5KHz'de aşağıdaki gibi. Buna anlam veremedim. Bozulma 2,5V civarında oluyor. Bu TL431'in çıkış voltajına denk geliyor ama ben bunu gerilim bölücüyle 1,7V gibi bir değerde veriyorum opampın referans girişine.
Opampı da -9V +12V ile besliyorum.

LM358-5KHz.jpg


Şimdi TL072 taktım sinyal opampının yerine. Durum düzeldi. Ofset opampı yine lm358.
TL072-5KHz.jpg


TL072 ile devam ederim. Birkaç frekansta test ettim. Sinüs 100KHz ve kare 100KHz. ve kare 300KHz.
TL072-100KHz.jpg
TL072-100KHz-kare.jpg


1678824245064.png


LM358'in bant genişliğinin düşük olması normal ama dalga formunun 2,5 voltta çarpılmasını anlamadım.
 

Ekler

  • LM358-100KHz-kare.jpg
    LM358-100KHz-kare.jpg
    68.8 KB · Görüntüleme: 118
Devrede çıkış sinyaline offset nasıl uygulanıyor anlamadım. Ben iki ayrı devre görüyorum. Birisi DC offset sinyalini buffer'layıp gain uyguluyor, diğeri de asıl sinyali buffer'layıp gain uyguluyor :bilmem3:
 
Devrenin çıkışı offset çıkışı ile sinyal çıkışı arasında. Offseti mesela -10 ile +13 arasında kontrol edince, sinyal offset çıkışına göre farklı potansiyelde oluyor.
Bunu osiloskopta sarı ve mavi sinyallerle göstermem gerekti. Çünkü ürettiğim giriş sinyali izole değil (Toprağa göre referanslı) ve osiloskobun GND'sini devrenin offset çıkışına bağlayınca Offset toprağa kısadevre oluyor. Topraksız bir priz ayarlayayım masama böyle durumlarda gerekiyor.
 
Böyle yapınca tamamen şaseden bağımsız, floating bir çıkış gibi algılanır. Ama öyle değil. Kullanıcı çıkışlardan birini şaseye çektiği anda opamp çıkışı kısa devre edilmiş oluyor ...
 
Şöyle yapsan nasıl olur? Kazancı 1 olan eviren opamp'in eviren girişine sinyali bağlıyorsun, evirmeyen girişe de bir ofset voltajı bağlıyorsun. Çıkış voltajı, offset voltajı olarak verilen değerin iki katı kadar kaydırılıyor. Burada 1 Vpp giriş sinyali var, 4 V offset, dolayısıyla çıkış 7 V ile 9 V arasında değişiyor.

1679072906431.png
 
Böyle yapınca tamamen şaseden bağımsız, floating bir çıkış gibi algılanır. Ama öyle değil. Kullanıcı çıkışlardan birini şaseye çektiği anda opamp çıkışı kısa devre edilmiş oluyor ...
Bir örnek senaryodan konuşalım. 1V ile 2V arasında salınan bir sinüs sinyaim var diyelim. Bunu nasıl taşırım 8V ile 9V arasına? Diyordum ki aklıma geldi bir toplayıcı opamp kullanarak yapmak daha mantıklı olacak.
 
Evet opamp toplayıcı ile de olur. Hatta öyle yapınca offsetin doğrudan kendisi kullanılıyor. Acaba yukarıdaki devreye göre başka artılar eksiler var mıdır?

1679073751049.png
 
Evet opamp toplayıcı ile de olur. Hatta öyle yapınca offsetin doğrudan kendisi kullanılıyor. Acaba yukarıdaki devreye göre başka artılar eksiler var mıdır?

22916 eklentisine bak
:) yeterince çalışmadan uygulamaya geçmişim. Yaptığım devre öngördüğüm şekilde çalışıyor ama toplayıcı opamp kullanmak veya devreyi önceki önerdiğiniz şekilde kurmayı değerlendirmemiştim. Aklıma bile gelmemişti.
Bu iki seçenek de benim uygulamamdan daha avantajlı.
Sinyal üretecinin çözünürlüğün fazla kaybetmeden yüksek-düşük genlikli sinyal almaya çalışacağım. Bunun için kademeli kazanç yapmak yada dijital pot kullanmak geliyor aklıma. Buna göre hangi devreyi kullanmak lazım bir çalışayım.
 
Çıkışa da yüksek voltaj, yüksek akım opamp de değerlendirebilirsin. Mesela OPA551 60V ile çalışabiliyor, 380 mA source edebiliyor.
 
Siglent sinyal jeneratörleri için özel çıkış yükselteci var. 10 W çıkış veriyor, ama tabi bunun bedeli, bant genişliğini öldürüyor :) Sadece 1 MHz bant genişliği var bunun.


1679076336128.png
 
Çıkışa da yüksek voltaj, yüksek akım opamp de değerlendirebilirsin. Mesela OPA551 60V ile çalışabiliyor, 380 mA source edebiliyor.
Pahalı parçaymış nihai devrede kullanılabilir, ama prototiplerde yakarım ben bunu oynarken. Benim üretebileceğim sinyalin bant genişliği ne olacak hatta sinyal üreteci olarak ne kullanacağım belli değil. RP-pico ile yapılmış projeler var. Onları inceleyeceğim.
 
Bu devreye neyle nasıl sinyal üreteceğime karar vermedim. Önce 8 bit r2r ile bir mcu'nun bir portuyla sinyal üretmeyi düşündüm. Sonra esp32'nin dahili DAC'ını kullanmayı denedim ama frekans düşük kaldı. En azından 100KHz civarı bir sinyal almak istiyorum. Sinüs, kare, üçgen ve testere formunda dalgalar başlangıç için kafi.
Bende ufaktan bu işe bir kafa yordum. icl8038 kullanmaya karar verdim.
 

Forum istatistikleri

Konular
7,234
Mesajlar
122,410
Üyeler
2,922
Son üye
Spacetr

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top