İçindekiler:
- Adım 1: Özellikler ve Maliyet
- Adım 2: Şematik ve Çalışma Teorisi
- Adım 3: PCB ve Elektronik
- Adım 4: Kasa ve Montaj
- Adım 5: Arduino Kodu
- 6. Adım: Java Kodu
- Adım 7: Başarı
Video: Dijital Pille Çalışan Güç Kaynağı: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Hiç yakınınızda bir priz olmasa bile hareket halindeyken kullanabileceğiniz bir güç kaynağı istediniz mi? Ayrıca çok hassas, dijital ve PC üzerinden kontrol edilebilir olsaydı harika olmaz mıydı?
Bu talimatta size tam olarak nasıl inşa edeceğinizi göstereceğim: arduino uyumlu ve USB üzerinden PC üzerinden kontrol edilebilen, dijital pille çalışan bir güç kaynağı.
Bir süre önce eski bir ATX PSU'dan bir güç kaynağı yaptım ve harika çalışırken oyunumu dijital bir güç kaynağıyla hızlandırmak istedim. Daha önce de belirtildiği gibi, pillerle çalışır (kesin olarak 2 lityum pil) ve 1 A'da maksimum 20 V sağlayabilir; Bu, kesin bir güç kaynağı gerektiren projelerimin çoğu için yeterli.
Tüm tasarım sürecini göstereceğim ve tüm proje dosyaları GitHub sayfamda bulunabilir:
Başlayalım!
Adım 1: Özellikler ve Maliyet
Özellikleri
- Sabit voltaj ve sabit akım modları
- Güç kaybını en aza indirgemek için öncesinde bir izleme ön düzenleyicisinin bulunduğu düşük gürültülü bir doğrusal düzenleyici kullanır
- Projeyi erişilebilir kılmak için elle lehimlenebilir bileşenlerin kullanılması
- Arduino IDE ile programlanmış ATMEGA328P ile güçlendirilmiştir
- Mikro USB üzerinden Java uygulaması ile PC iletişimi
- 2 korumalı 18650 Lityum İyon hücre ile güçlendirilmiştir
- BNC adaptörleriyle uyumluluk için 18 mm aralıklı banana fişler
Özellikler
- 0 - 1A, 1 mA'lık adımlar (10 bit DAC)
- 0 - 20V, 20 mV'lik adımlar (10 bit DAC) (gerçek 0V işlemi)
- Voltaj ölçümü: 20 mV çözünürlük (10 bit ADC)
-
Mevcut ölçüm:
- < 40mA: 10uA çözünürlük (ina219)
- < 80mA: 20uA çözünürlük (ina219)
- < 160mA: 40uA çözünürlük (ina219)
- < 320mA: 80uA çözünürlük (ina219)
- > 320mA: 1mA çözünürlük (10 bit ADC)
Maliyet
Tüm güç kaynağı, tüm tek seferlik bileşenlerle birlikte bana 135 dolara mal oldu. Piller en pahalı kısımdır (2 hücre için 30 $), çünkü 18650 lityum pil ile korunurlar. Pil işlemi gerekmediğinde maliyeti önemli ölçüde düşürmek mümkündür. Pilleri ve şarj devresini çıkardığınızda fiyat yaklaşık 100$'a düşüyor. Bu pahalı görünse de, çok daha düşük performansa ve özelliklere sahip güç kaynakları genellikle bundan daha pahalıya mal olur.
Bileşenlerinizi ebay veya aliexpress'ten sipariş etmeyi sorun etmezseniz, pilli fiyat 100 dolara, pilsiz 70 dolara düşecektir. Parçaların gelmesi daha uzun sürüyor, ancak bu uygun bir seçenek.
Adım 2: Şematik ve Çalışma Teorisi
Devrenin çalışmasını anlamak için şemaya bakmamız gerekecek. Daha kolay anlaşılması için fonksiyonel bloklara ayırdım; İşlemi de bu şekilde adım adım anlatacağım. Bu kısım oldukça derin ve iyi bir elektronik bilgisi gerektiriyor. Sadece devreyi nasıl kuracağınızı bilmek istiyorsanız, bir sonraki adıma geçebilirsiniz.
Ana blok
İşlem, LT3080 çipine dayanmaktadır: bu, bir kontrol sinyaline bağlı olarak voltajları azaltabilen doğrusal bir voltaj regülatörüdür. Bu kontrol sinyali bir mikrodenetleyici tarafından üretilecektir; Bunun nasıl yapıldığı daha sonra ayrıntılı olarak açıklanacaktır.
Voltaj ayarı
LT3080'in etrafındaki devre, uygun kontrol sinyallerini üretir. İlk olarak, voltajın nasıl ayarlandığına bir göz atacağız. Mikrodenetleyiciden gelen voltaj ayarı, bir alçak geçiren filtre (C9 & R26) tarafından filtrelenen bir PWM sinyalidir (PWM_Vset). Bu, istenen çıkış voltajıyla orantılı olarak - 0 ile 5 V arasında - bir analog voltaj üretir. Çıkış aralığımız 0 - 20 V olduğundan, bu sinyali 4 faktörle yükseltmemiz gerekecek. Bu, U3C'nin ters çevirmeyen opamp konfigürasyonu ile yapılır. Ayarlanan pinin kazancı R23//R24//R25 ve R34 tarafından belirlenir. Bu dirençler, hataları en aza indirmek için %0,1 toleranslıdır. Geri besleme döngüsünün bir parçası oldukları için R39 ve R36 burada önemli değil.
Şimdiki ayar
Bu ayar pimi, ikinci ayar için de kullanılabilir: mevcut mod. Akım çekişini ölçmek ve istenen akımı aştığında çıkışı kapatmak istiyoruz. Bu nedenle, mikrodenetleyici tarafından üretilen, şimdi düşük geçişli filtrelenmiş ve 0 - 5 V aralığından 0 - 2 V aralığına gitmek için zayıflatılmış bir PWM sinyali (PWM_Iset) ile yeniden başlıyoruz. Bu voltaj şimdi, opamp U3D'nin karşılaştırıcı konfigürasyonu tarafından akım algılama direncindeki (ADC_Iout, aşağıya bakın) voltaj düşüşüyle karşılaştırılır. Akım çok yüksekse, bu bir led yanar ve ayrıca LT3080'in ayarlanan hattını (Q2 aracılığıyla) toprağa çeker, böylece çıkışı kapatır. Akımın ölçümü ve ADC_Iout sinyalinin üretimi aşağıdaki gibi yapılır. Çıkış akımı, R7 - R16 dirençlerinden geçer. Bunlar toplam 1 ohm; 1R'yi ilk etapta kullanmamanın nedeni iki yönlüdür: 1 direncin daha yüksek bir güç derecesine sahip olması gerekir (en az 1 W dağıtması gerekir) ve% 10'luk dirençleri paralel olarak kullanarak, daha yüksek bir hassasiyet elde ederiz. Tek bir %1 direnç ile. Bunun neden işe yaradığına dair güzel bir video burada bulunabilir: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Bu dirençlerden akım geçtiğinde, ölçebileceğimiz bir voltaj düşüşü oluşturur ve bu LT3080'in önüne yerleştirilir, çünkü üzerindeki voltaj düşüşü çıkış voltajını etkilememelidir. Voltaj düşüşü, 2 kazançlı bir diferansiyel yükseltici (U3B) ile ölçülür. Bu, 0 - 2 V'luk bir voltaj aralığı ile sonuçlanır (daha sonraları), dolayısıyla akımın PWM sinyalindeki voltaj bölücüsü. Tampon (U3A), R21, R32 ve R33 dirençlerine akan akımın, okumasını etkileyecek olan akım algılama direncinden geçmediğinden emin olmak için oradadır. Ayrıca bunun bir raydan raya opamp olması gerektiğine dikkat edin, çünkü pozitif girişteki giriş voltajı besleme voltajına eşittir. Ters çevirmeyen amplifikatör yalnızca rota ölçümü içindir, ancak çok hassas ölçümler için gemide INA219 çipimiz bulunmaktadır. Bu çip çok küçük akımları ölçmemizi sağlar ve I2C üzerinden adreslenir.
Ek şeyler
LT3080'in çıkışında biraz daha malzememiz var. Her şeyden önce, bir akım alıcısı (LM334) var. Bu, LT3080'i stabilize etmek için 677 uA (direnç R41 tarafından ayarlanır) sabit bir akım çeker. Bununla birlikte, toprağa değil, bir negatif voltaj olan VEE'ye bağlıdır. Bu, LT3080'in 0 V'a kadar çalışabilmesi için gereklidir. Toprağa bağlandığında, en düşük voltaj yaklaşık 0,7 V olacaktır. Bu, yeterince düşük görünebilir, ancak bunun güç kaynağını tamamen kapatmamızı engellediğini unutmayın. Zener diyot D3, 22 V'un üzerine çıkarsa çıkış voltajını kelepçelemek için kullanılır ve direnç bölücü, çıkış voltajı aralığını 0 - 20 V ila 0 - 2 V (ADC_Vout) arasında düşürür. Ne yazık ki, bu devreler LT3080'in çıkışındadır, bu da onların akımlarının ölçmek istediğimiz çıkış akımına katkıda bulunacağı anlamına gelir. Neyse ki, voltaj sabit kalırsa bu akımlar sabittir; böylece yük ilk kesildiğinde akımı kalibre edebiliriz.
Şarj pompası
Daha önce bahsettiğimiz negatif voltaj, merak uyandıran küçük bir devre tarafından üretilir: şarj pompası. Çalışması için buraya başvuracağım: https://www.youtube.com/embed/1WAhTdWErrU&t=1s Mikrodenetleyicinin %50 PWM'si (PWM) tarafından beslenir.
Yükseltici dönüştürücü
Şimdi ana bloğumuzun giriş voltajına bir göz atalım: Vboost. 8 - 24V olduğunu görüyoruz ama bekle, seri halinde 2 lityum hücre maksimum 8,4 V veriyor? Gerçekten de, bu yüzden, sözde yükseltici dönüştürücü ile voltajı artırmamız gerekiyor. İstediğimiz çıkış ne olursa olsun, voltajı her zaman 24 V'a yükseltebiliriz; ancak bu, LT3080'de çok fazla güç israfına neden olur ve işler kızışacak! Bunu yapmak yerine voltajı çıkış voltajından biraz daha fazla artıracağız. Akım algılama direncindeki voltaj düşüşünü ve LT3080'in bırakma voltajını hesaba katmak için yaklaşık 2,5 V daha yüksek uygundur. Voltaj, yükseltici dönüştürücünün çıkış sinyali üzerindeki dirençler tarafından ayarlanır. Bu voltajı anında değiştirmek için, SPI aracılığıyla kontrol edilen MCP41010 adlı bir dijital potansiyometre kullanıyoruz.
Pil doldurma
Bu bizi gerçek giriş voltajına götürür: piller! Korumalı hücreler kullandığımız için, onları seri hale getirmemiz yeterli ve işimiz bitti! Hücrelerin aşırı akım veya aşırı deşarjını ve dolayısıyla zarar görmesini önlemek için burada korumalı hücrelerin kullanılması önemlidir. Yine akü voltajını ölçmek ve kullanılabilir bir aralığa düşürmek için bir voltaj bölücü kullanıyoruz. Şimdi ilginç kısma gelelim: şarj devresi. BQ2057WSN çipini bu amaç için kullanıyoruz: TIP32CG ile birlikte, temelde doğrusal bir güç kaynağı oluşturuyor. Bu çip, hücreleri uygun bir CV CC yörüngesi aracılığıyla şarj eder. Pillerimde sıcaklık probu olmadığı için bu giriş pil voltajının yarısına bağlanmalıdır. Bu, güç kaynağının voltaj düzenleme bölümünü tamamlar.
5V regülatör
Arduino'nun 5 V besleme gerilimi bu basit voltaj regülatörü ile yapılmaktadır. Ancak en kesin 5 V çıkış değildir, ancak bu aşağıda çözülecektir.
2.048 V voltaj referansı
Bu küçük çip, çok doğru bir 2.048 V voltaj referansı sağlar. Bu, ADC_Vout, ADC_Iout, ADC_Vbatt analog sinyalleri için bir referans olarak kullanılır. Bu yüzden bu sinyalleri 2 V'a indirmek için voltaj bölücülere ihtiyaç duyduk. Mikrodenetleyici Bu projenin beyni ATMEGA328P, Arduino Uno'da kullanılan çipin aynısı. Çoğu kontrol sinyalini zaten gözden geçirdik, ancak yine de bazı ilginç eklemeler var. Döner kodlayıcılar, arduino'nun yalnızca 2 harici kesme pinine bağlanır: PD2 ve PD3. Bu, güvenilir bir yazılım uygulaması için gereklidir. Altındaki anahtarlar dahili bir çekme direnci kullanır. Sonra potansiyometrenin (Pot) çip seçme hattında bu garip voltaj bölücü var. Bir çıkışta voltaj bölücü, bu ne işe yarar; diyebilirsin. Daha önce de belirtildiği gibi, 5 V beslemesi kesin olarak doğru değildir. Bu nedenle, bunu doğru bir şekilde ölçmek ve PWM sinyalinin görev döngüsünü buna göre ayarlamak iyi olacaktır. Ancak artık ücretsiz girişim olmadığı için, bir pin pull çift görev yapmak zorunda kaldım. Güç kaynağı önyüklendiğinde, bu pin ilk önce bir giriş olarak ayarlanır: besleme rayını ölçer ve kendini kalibre eder. Daha sonra, bir çıkış olarak ayarlanır ve çip seçme hattını çalıştırabilir.
Ekran sürücüsü
Ekran için, yaygın olarak bulunan ve ucuz bir hitachi lcd ekran istedim. 6 pin ile çalıştırılıyorlar ama pinim kalmadığından başka bir çözüme ihtiyacım vardı. Kurtarma için bir vardiya kaydı! 74HC595, ekranı kontrol etmek için SPI hattını kullanmama izin veriyor, bu nedenle sadece 1 ek çip seçme hattına ihtiyaç duyuyor.
FTDI
Bu güç kaynağının son kısmı, zalim, dış dünya ile bağlantıdır. Bunun için seri sinyalleri USB sinyallerine dönüştürmemiz gerekiyor. Bu, kolay bağlantı için bir mikro USB bağlantı noktasına bağlanan bir FTDI yongası tarafından yapılır.
Ve hepsi bu kadar!
Adım 3: PCB ve Elektronik
Artık devrenin nasıl çalıştığını anladığımıza göre, onu oluşturmaya başlayabiliriz! PCB'yi en sevdiğiniz üreticiden çevrimiçi olarak sipariş edebilirsiniz (benim maliyetim yaklaşık 10 $), gerber dosyaları malzeme listesiyle birlikte GitHub'ımda bulunabilir. PCB'nin montajı, temel olarak, serigrafiye ve malzeme listesine göre bileşenlerin yerinde lehimlenmesi meselesidir.
İlk adım, SMD bileşenlerini lehimlemektir. FTDI yongası ve mikro USB konektörü dışında, çoğu elle yapmak kolaydır. Bu nedenle, bu 2 bileşeni kendiniz lehimlemekten kaçınabilir ve bunun yerine bir FTDI devre kartı kullanabilirsiniz. Bunun lehimlenebileceği başlık pimleri sağladım.
SMD işi bittiğinde, tüm açık delik bileşenlerine geçebilirsiniz. Bunlar çok basit. Çipler için doğrudan karta lehimlemek yerine soketleri kullanmak isteyebilirsiniz. Arduino önyükleyicili bir ATMEGA328P kullanmak tercih edilir, aksi takdirde ICSP başlığını (burada gösterilmektedir) kullanarak yüklemeniz gerekecektir.
Biraz daha dikkat edilmesi gereken tek kısım, açılı olarak monte edilmesi gerektiğinden lcd ekrandır. Plastik parça ekranın alt tarafına bakacak şekilde bazı erkek açılı başlıkları lehimleyin. Bu, ekranın pcb'ye iyi bir şekilde yerleştirilmesine izin verecektir. Bundan sonra, diğer tüm delik bileşenleri gibi yerinde lehimlenebilir.
Geriye sadece ön plakadaki banana terminallerine bağlanacak 2 adet kablo eklemek kalıyor.
Adım 4: Kasa ve Montaj
Yapılan pcb ile kasaya geçebiliriz. PCB'yi bu hammond kasasının etrafında özel olarak tasarladım, bu nedenle başka bir kasa kullanılması önerilmez. Ancak, aynı boyutlara sahip bir kasayı her zaman 3B yazdırabilirsiniz.
İlk adım, son paneli hazırlamaktır. Vidalar, anahtarlar vb. için bazı delikler açmamız gerekecek. Bunu elle yaptım, ancak bir CNC'ye erişiminiz varsa, bu daha doğru bir seçenek olacaktır. Delikleri şemaya göre yaptım ve vida deliklerine vidaladım.
Şimdi birkaç ipek ped eklemek ve bunları küçük bir damla süper yapıştırıcı ile yerinde tutmak iyi bir fikirdir. Bunlar, LT3080 ve TIP32'yi arka plakadan izole ederken, yine de ısı transferine izin verir. Bunları unutmayın! Çipleri arka panele vidalarken, izolasyonu sağlamak için bir mika yıkayıcı kullanın!
Artık yerinde kayan ön panele odaklanabiliriz. Artık banana jakları ve döner kodlayıcılar için düğmeleri ekleyebiliriz.
Her iki panel de yerindeyken artık montajı kasaya yerleştirebilir, pilleri ekleyebilir ve hepsini kapatabiliriz. Korumalı piller kullandığınızdan emin olun, hücrelerin patlamasını istemezsiniz!
Bu noktada donanım tamamlandı, şimdi geriye kalan tek şey yazılımla ona biraz hayat vermek!
Adım 5: Arduino Kodu
Bu projenin beyni Arduino IDE ile programlayacağımız ATMEGA328P'dir. Bu bölümde kodun temel işleyişinden geçeceğim, detaylar kodun içinde yorum olarak bulunabilir.
Kod temel olarak şu adımlar arasında dolaşır:
- Java'dan seri verileri oku
- Anket düğmeleri
- Voltajı ölçün
- Akımı ölçün
- INA219 ile akımı ölçün
- Java'ya seri veri gönder
- Boostconvertor'ı yapılandırın
- Pil şarjı alın
- Güncelleme ekranı
Döner kodlayıcılar, mümkün olduğunca yanıt vermelerini sağlamak için bir kesme servis rutini tarafından işlenir.
Kod artık mikro USB bağlantı noktası aracılığıyla karta yüklenebilir (çip bir önyükleyiciye sahipse). Kart: Arduino pro veya pro mini Programcı: AVR ISP / AVRISP MKII
Şimdi Arduino ve PC arasındaki etkileşime bir göz atabiliriz.
6. Adım: Java Kodu
Verileri kaydetmek ve güç kaynağını PC üzerinden kontrol etmek için bir java uygulaması yaptım. Bu, kartı bir GUI aracılığıyla kolayca kontrol etmemizi sağlar. Arduino kodunda olduğu gibi, tüm ayrıntılara girmeyeceğim, ancak genel bir bakış vereceğim.
Düğmeler, metin alanları vb. ile bir pencere yaparak başlıyoruz; temel GUI öğeleri.
Şimdi eğlenceli kısım geliyor: jSerialComm kitaplığını kullandığım USB bağlantı noktalarını eklemek. Bir bağlantı noktası seçildiğinde, Java gelen verileri dinleyecektir. Ayrıca cihaza veri gönderebiliriz.
Ayrıca, gelen tüm veriler daha sonra veri işleme için bir csv dosyasına kaydedilir.
.jar dosyasını çalıştırırken öncelikle açılır menüden doğru portu seçmeliyiz. Bağlandıktan sonra veriler gelmeye başlayacak ve ayarlarımızı güç kaynağına gönderebiliriz.
Program oldukça basit olsa da, bir PC üzerinden kontrol etmek ve verilerini günlüğe kaydetmek çok faydalı olabilir.
Adım 7: Başarı
Tüm bu çalışmalardan sonra artık tamamen işlevsel bir güç kaynağımız var!
Ayrıca bazı insanlara destekleri için teşekkür etmeliyim:
- Proje, EEVBLOG'un uSupply projesine ve Rev C şemasına dayanıyordu. Bu nedenle, şemalarını açık kaynak lisansı altında yayınladığı ve tüm bilgilerini paylaştığı için David L. Jones'a özel teşekkürler.
- Bu projenin prototiplerini ürettiği için Johan Pattyn'e çok teşekkürler.
- Ayrıca Cedric Busschots ve Hans Ingelberts, sorun giderme konusundaki yardımları için övgüyü hak ediyor.
Artık diğer harika projeler üzerinde çalışırken kullanışlı olacak kendi ev yapımı güç kaynağımızın keyfini çıkarabiliriz! Ve en önemlisi: yol boyunca birçok şey öğrendik.
Bu projeyi beğendiyseniz, lütfen güç kaynağı yarışmasında bana oy verin, gerçekten minnettar olurum!https://www.instructables.com/contest/powersupply/
Güç Kaynağı Yarışmasında İkincilik Ödülü
Önerilen:
Raspberry Pi'ye de Güç Verebilen Taşınabilir Pille Çalışan Bir Monitörün Nasıl Yapılacağını Öğrenin: 8 Adım (Resimlerle)
Ahududu Pi'ye Güç Verebilen Taşınabilir Pille Çalışan Bir Monitörün Nasıl Yapılacağını Öğrenin: Hareket halindeyken python kodlamak veya Raspberry Pi Robotunuz için bir ekran çıkışına sahip olmak istemiş miydiniz ya da dizüstü bilgisayarınız için taşınabilir bir ikincil ekrana ihtiyacınız oldu mu? veya kamera? Bu projede, taşınabilir pille çalışan bir monitör inşa edeceğiz ve
Pille Çalışan Hareketle Çalışan LED Lamba: 4 Adım
Pille Çalışan Hareketle Çalışan LED Lamba: Kablolamaya uygun olmayan bir yere ışık koymak istiyorsanız, ihtiyacınız olan şey bu olabilir
Pille Çalışan Cihaz için Güç Kaynağını Kullanma: 5 Adım (Resimlerle)
Pille Çalışan Cihaz için Güç Kaynağının Kullanılması: Bir arkadaşım bana bu ışıklı balon köpek oyuncağını getirdi ve bunun yerine bir güç kaynağıyla çalışmasını sağlayıp sağlayamayacağımı sordu, çünkü pilleri her zaman değiştirmek çok acı verici ve çevresel olarak felaketti. 2 x AA pil (toplam 3v) bitti
220V - 24V 15A Güç Kaynağı - Anahtarlamalı Güç Kaynağı - IR2153: 8 Adım
220V - 24V 15A Güç Kaynağı | Anahtarlamalı Güç Kaynağı | IR2153: Merhaba dostum bugün 220V - 24V 15A Güç Kaynağı yapıyoruz | Anahtarlamalı Güç Kaynağı | ATX güç kaynağından IR2153
Dijital USB C Powered Bluetooth Güç Kaynağı: 8 Adım (Resimlerle)
Dijital USB C Powered Bluetooth Güç Kaynağı: Hiç yakınınızda bir duvar prizi olmasa bile hareket halindeyken kullanabileceğiniz bir güç kaynağı istediniz mi? Ayrıca çok hassas, dijital ve PC ve telefonunuz üzerinden kontrol edilebilir olsaydı harika olmaz mıydı? Bu talimatta size tam olarak nasıl inşa edeceğinizi göstereceğim