Botona basılı tutarak *10 ve*100

Başlatan sezgin05, 06 Haziran 2006, 13:48:13

sezgin05

Arkadaşlar artık %100 kendimize ait olan bir Pic kontrollu Gerilim&Akım ayarlı bir güç kaynağı yapmak istiyorum.Gerilimi ve akımı ayarlı yapınca en az 4 tane buton koymak gerekiyor.Hatta mAmper ve mVolt da ayarlardanız 8 tane buton koymalısınız.Bu yüzden Rotary Encoder kullanmayı düşündüm ama pahalı olur diye vazgeçtim.En son olarak Volt için 2 Akım için 2 buton kullanmaya karar verdim. Ve butona basınca birer birer 1/10 volt&amper arttıracak.Ayarlamada zaman kaybını önlemek için butona basılı tuttuğumda *10 dahada basılı tuttuğumda *100 olarak arttıracak bir kod arıyorum.Teşekkürler..

ete

@Sezgin05,

Kodu ben yazayım. Devren hazırmı acaba?.
Aynı iş için ben hazır devreye program yazdım. Ufak bir tadilatla senin istediğin hale getirebilirim.
Benim sistemde Amper için 4 ve voltaj için 4 adet olmak üzere 8 buton kullandım. Senin bahsini ettiğin sistemi başka bir projede gerçekleştirdim. Önce Güç kaynağında da aynı sistemi kullandım ama devreyi çalıştırınca hoşuma gitmedi. İnsan butonlara ve set değerine hakim olmak istiyor. Bu şekilde bir sistem hakimiyeti biraz zorlaştırıyor. Gerçi karar kişiden kişiye değişebilir.
Sana bir kod hazırlayacağım. Sonra buraya koyarım.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ete

Bir şeyler karaladım. Daha da geliştirilebilir. Ancak programın gerisi olmadan daha fazla bir şey yapmak mümkün değil.

Varsayım olarak sisteme 2 adet voltaj artır - azalt, 2 adet amper artır-azalt olmak üzere toplam 4 adet buton koyduğumuzu varsaydım.
Artırma veya azaltma değeri başlangıçta 1 ve butona basılı tutuldukça bu değer önce 10 sonrada 100 oluyor.

Umarım işe yarar.

Ete

Buton_Oku:
 '    volt ve akım değişkenleri word tipinde 
	ek=1:Z=0
      while PortB.0=0
        Z=Z+1:if Z=0 then Z=255
       if Z>10 then EK=10
       if Z>100 then Ek=100
        Volt_set=Volt_set+EK
        if Volt_set>Max_Volt Then Volt_Set=Max_volt
        PAUSE 100
        goto CIK
      wend  
      
      While Portb.1=0
	      Z=Z+1:if Z=0 then Z=101
              if Z>10 then EK=10
              if Z>100 then Ek=100
	     volt_set=volt_set-EK
		  if volt_set>50000 then volt_Set=0
	   pause 100
	   Goto CIK
       wend
       
       WHILE PORTB.2=0
         Z=Z+1:if Z=0 then Z=101
         if Z>10 then EK=10
         if Z>100 then Ek=100
         akim_set=akim_set+EK
         if akim_set>Max_Akim then akim_Set=Max_Akim
         pause 100
         Goto CIK
       wend   
       
       while PortB.3=0 THEN
          Z=Z+1:if Z=0 then Z=101
          if Z>10 then EK=10
          if Z>100 then Ek=100
         akim_set=akim_set-EK
         if akim_set>50000 then akim_Set=0
         pause 100
       wend
             
CIK:
       return          
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

sezgin05


Ustam her zamanki gibi erken yardımın için teşekkürler. Ben resimdeki gibi yapımı kolay bir devre düşünüyorum.İlk üç digit 25.5 şeklinde voltaj-son üç digit de 9.99 şeklinde akım gösterecek.

ete

Benim merak ettiğim husus işin kontrol kısmı. Display kısmı kolay. 7 segment olur LCD olur önemli değil.
Voltajı nasıl üreteceksin akımı nasıl kontrol edeceksin.
Bunları sırf merakımdan soruyorum. Yanlış anlama. Son bir ay içinde bu konuya bende çok fazla kafa yordum. Bazı devreler yaptım. Hazır devreleri inceledim. Biraz bilgi birikimim var.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

sezgin05

ETE ustam ben aşağıdaki adresteki devreden yola çıktım.PWM kısmınıda aynen uygulayabilirim.O devrede gördüğüm eksikleri telafi edip arkadaşlarla paylaşırız inşallah.Eksikler gereksiz yere 74164 ve 6 tane transistör kullanılmış.Akım ayarıda yok.Birde rotary encoder kullanılmış bulmak ve almak zor iş.Yada stepden modifiye etmek lazım.7Segment kullanmamın sebebi hem tasarruf hemde taşrada LCD her zaman bulunamayabilir...
Bench Power

aYe

Herhangi bir ayar durumunda;

Ayarlanan çıkış voltajı Av
Ayarlanan  çıkış akımı Aa
Gerçek çıkış voltajı V
Gerçek çıkış akımı A
'olsun.

Bu durumda Av*Aa=V(Av'den büyük olmamak şartıyla)*A eşitliği sağlanmalı.

Örnek;
Av = 5
Aa = 10
V = ?
A = 20

Değerleri yerlerine koyarsak;

5*10=V.20

V = 50/20 = 2.5V bulunur.

Yani çıkış akımı gözlenerek, ayarlanan limitin üzerine çıktığında bu formüle uygun olarak çıkış voltajı düşürülerek gücün sabitlenmesi gerekli.

Diye diye aklımdan geçti, kural kabul etmeyin doğruluğuna emin değilim :)

İyi çalışmalar.
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

ete

Denediğim devrelerden birisi bu benim. Devre derken zaten pek çok değer şemada verilmemiş. Bu devreyi biraz geliştirerek kullandım. Bir program yazdım. Güzel çalışıyor. Programla hem voltaj kontrolü hemde akım kontrolü sağlayabiliyorum. Tek bir Tip 147 neredeyse 4-5 Amperi kaldırabiliyor hemde fazla ısınmadan. Bu yönleri güzel, sevmediğim yönü ise her şeyin programdan kontrol edilmesi.  Ama yinede bu devreden ümitliyim biraz daha geliştirip sonrada yayınlamayı düşünüyorum.

Tabiiki devreyi LCD display ile çalıştırıyorum. 7 segment displayler güzelde montaj sorunları nedeni ile kullanmayı sevmiyorum. Tak bir arka ışıklı LCD her şeyi gör. Üstelik bazı ilave özelliklerde LCD de gösterilebilir.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

ete

@Tatlisukurnazi,

Prensibin doğru ancak uygulamada ben sistemi bu mantığa uygun olarak  başka türlü kontrol ettim.

Set Voltajı  bildiğiniz gibi PWM ile ayarlanıyor. Buna karşılık set ettiğiniz Amper yalnızca bir karşılaştırma değeri olarak kullanılıyor.
Devreden çekilen amperi okuyorsunuz ve set edilen amper ile karşılaştırıyorsunuz. Şayet çekilen amper, set değerinden fazla ise voltajı ayarlayan PWM değerini biraz düşürüyorsunuz yani voltajı kısarak devrenin çekilen amperi karşılamasını sağlıyorsunuz. Yetmedi tekrar kısıyorsunuz. Sonuçta sizin formüle uygun olarak voltaj bir değere kadar düşüyor ve amper eşitleniyor. Bir yerde sizin formül uygulanmış oluyor neticede.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

aYe

Alıntı yapılan: "ete"@Tatlisukurnazi,
Sonuçta sizin formüle uygun olarak voltaj bir değere kadar düşüyor ve amper eşitleniyor. Bir yerde sizin formül uygulanmış oluyor neticede.

Ete

Evet hocam kesinlikle aynı şey.

Bu mantık PID türü kontrol teknikleriyle desteklenebilir.
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

ise

@ete
pwm kullanılacaksa yüksek akımlı fetlerde kullanılabilir.  akım koruması isterse akımı sabit tutup gerilim düşürülerek ister çıkışı kapatarak olabilir. fet kullanılırsa ısının daha da düşüceği inancındayım. direkt olarak anakartlarda olduğu gibi harici bir pwm kontrollerde kullanılabilir(60amper 1,5-2 volt gibi  bu değer referansla değiştirilebilir.  max1937-8-9 ) tek dezavantajı voltajda dalgalanmayı engellemek için çok yüksek kapasite kullanılması.

sezgin05

Tarnsistör yerine MOSFET kullanmayı bende düşünüyorum ama piayasada P kanal FET bulmak sıkıntılı olabiliyor.Çünkü genelde N kanal FET mevcut.

aYe

Alıntı yapılan: "sezgin05"Tarnsistör yerine MOSFET kullanmayı bende düşünüyorum ama piayasada P kanal FET bulmak sıkıntılı olabiliyor.Çünkü genelde N kanal FET mevcut.

N kanal'ı P kanal gibi kullanma yöntemlerini biraz araştırın, daha önce forum içersinde izolasyon trafosu ile (1cm*1cm 10tur-15tur gibi) bu işin nasıl yapılabileceğine dair şema vermiştim ama yerini hatırlamıyorum.

Seviye kaydırmalı  veya HP'nin mos drive optolarıda çözüm olabilir ama teknik ve ekonomik açıdan en iyisi  izolasyon trafosu.

İyi çalışmalar.
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

Erol YILMAZ

N kanal Mosfet ler mümkün olan daha düşük Rds direnci sebebi ile piyasada daha iyi bir yere sahip. Dolayısı ile daha az sıcaklık artışı vs.

Tasarımı duruma göre biraz daha zor olsa da yine de N kanal Mosfet kullanmaya bakın...

1.durum:
istediğim akım : 5A
Ölçülen akım: 5.1A   sonuç : PWM'i % 0.1 kıs !

2.durum:
istediğim akım : 5A
Ölçülen akım: 8A   sonuç : PWM'i % 0.1 kıs !

2. durumda gerçek değere oturma çok uzun sürecek...
Bu yüzden en azından P kontrol yapılmalı.
PID de işin kaymaklı yanı... Parametre ayarları da var unutmadan :D

sezgin05

@EROL ustam:
20Mhz kristalli bir picde %0.1 duty azaltması hissedilir bir gecikme sağlarmı sizce?
Çünkü birim döngü zamanı 20/4=5Mhz eder.
T=1/5000000=0,2mikrosn. bence oldukça hızlı sayılır.Transistör bu hıza zaten ulaşamaz gibi geliyor...