- Her zaman parlaklık seviyesi 3'te açılan gece lambasını seviye 1'e düşürmek için, güç verildiğinde düğmeye üç kez otomatik basan ATtiny85 tabanlı bir PCB yaptı
- Kapasitif düşürücü güç kaynağı yalnızca birkaç mA sağlayabildiği için ESP8266 veya Raspberry Pi Zero yerine, 1MHz'te 1mA'den az tüketen ve uyku modunda μA seviyesine inen ATtiny85 seçildi
- 8.3V'u 3.3V'a düşüren HT7333 ve düğmeyi toprağa kısa devre eden 2N3904 etrafında devre kuruldu; tasarım ve üretim için EasyEDA ve JLCPCB kullanıldı
- Çip, Raspberry Pi 3'ün GPIO'su ve avrdude ile programlandı; Home Assistant gece lambasını açtığında kısa bir beklemenin ardından düğmeye üç kez basarak otomatik olarak en düşük parlaklığa geçiyor
- Tasarım dosyaları ve C kodu MIT lisansı ile yayımlandı; ancak yalnızca iç gerilimi 4~12V olan ve düğme girişi toprağa kısa devre edilen cihazlarda kullanılabiliyor, transformatörsüz şebeke elektriğiyle çalışan cihazlarda ise özellikle dikkat gerekiyor
Her gün tekrarlanan üç düğme basışı
- Home Assistant, telefon uyku odak moduna geçtiğinde Zigbee duvar prizi üzerinden gece lambasını açacak şekilde yapılandırılmıştı
- Ucuz gece lambasında otomatik yanmayı belirleyen bir anahtar ve parlaklık seviyesini değiştiren bir düğme vardı, ancak güç her verildiğinde parlaklık seviyesi 3'ten başlıyordu
- Düğmeye bir kez basınca seviye 4, tekrar basınca seviye 5, üçüncü basışta ise seviye 1 oluyordu
- İstenen en düşük parlaklığı elde etmek için her gece düğmeye üç kez basmak gerekiyordu
- İçini açtı ama çipin adı görünmüyordu ve ayar için bir trimpot da yoktu
- Düğmeye yaklaşık 10 saniye basılı tutarak EEPROM'daki varsayılan parlaklığı değiştirme yöntemi de bu üründe çalışmadı
Sınırlı güce uygun mikrodenetleyici
- Düğme girişini otomatik üretmek için en uygun çözüm mikrodenetleyici oldu
- Gece lambası, transformatör yerine kapasitörle şebeke gerilimini düşürdüğü için güç bölümünden yalnızca birkaç mA sağlanabiliyordu
- Wemos D1 Mini üzerindeki ESP8266, açılışta ve kablosuz özelliği etkinleştirirken yüzlerce mA gerektiriyor
- Raspberry Pi Zero ise işletim sistemi açılması gereken tam bir Linux bilgisayarı
- Her iki cihaz da ayrı bir güç kaynağına ya da açılış anını karşılayacak büyük bir depolama kapasitörüne ve ek devrelere ihtiyaç duyuyordu
- Son seçim olan ATtiny85, klasik Arduino'lar gibi AVR ailesinden ve kodu Arduino IDE ile yazılabiliyor
- 1MHz'te çalışırken akım tüketimi 1mA'nin altında
- Uyku durumunda kuvars saatlere benzer μA seviyesine iniyor
- Gece lambasının LED'i, ATtiny85'ten binlerce kat fazla güç tüketiyor
Gerçek düğme basışını taklit eden devre
- Gece lambasının iç güç hattı 8.3V olduğundan ve ATtiny85 için 3.3V gerektiğinden HT7333 voltaj regülatörü kullanıldı
- 2N3904 transistörü, düğme sinyal hattını toprağa kısa devre ederek gerçek düğme basışını taklit ediyor
- Çevre bileşenler akım sınırlama, hatalı giriş önleme ve güç kararlılığı görevini üstleniyor
- ATtiny85 ile transistör arasındaki 1kΩ direnç, transistöre giden sürme akımını sınırlandırıyor
- 10kΩ direnç, güç verilirken transistörü kapalı tutarak istenmeyen düğme girişini önlüyor
- Üç küçük kapasitör, voltaj regülatörü ve çipe giden beslemeyi filtreliyor
- 3 pinli header, güç, toprak ve düğme sinyal hattına bağlanıyor
- Belirli sayıda düğme basışını taklit eden genel amaçlı bir cihaz olarak kullanabilmek ve PCB üretim sürecini öğrenmek için ayrı bir kart olarak tasarlandı
EasyEDA'de şema ve kart tasarımı
- EasyEDA içinde önce bileşenler ve bağlantılar şema olarak çizildi
GND,3V3gibi aynı ada sahip bağlantı noktaları router tarafından birbirine bağlanıyor- Gerçek kullanılacak bileşenler seçildiğinde PCB yerleşimi ve malzeme listesi hazırlamada kullanılabiliyor
- PCB düzenleme aşamasında bileşen yerleri, iz yolları, kart şekli ve baskı öğeleri doğrudan belirlenebiliyor
- Kart üzerine açık kaynak donanım logosu ve kullanıcı adı basıldı
- Devre basit olduğu için tek katmanlı kart olarak yapıldı; karmaşık izleme veya hat uzunluğu/şekil düzeltmesi gerekmedi
JLCPCB üretimi ve parça montajı
- JLCPCB üzerinde gerçek bileşenler ve montaj seçeneği belirlenerek kart sipariş edildi
- Minimum sipariş miktarı 5 adetti ama yalnızca 1 karta ihtiyaç vardı, bu yüzden parçaların çoğu elle lehimlendi
- Çok küçük direnç ve kapasitörlerde ek maliyet düşük olduğundan JLCPCB'nin montaj hizmeti kullanıldı
- Siparişten sonra kart 4 gün içinde teslim alındı
ATtiny85 programlama ve ön doğrulama
- Boş bir ATtiny85'te bootloader olmadığı için Arduino gibi doğrudan USB'ye bağlanamıyor; ayrı bir programlayıcı gerekiyor
- Programlama için Raspberry Pi 3'ün GPIO'su ve avrdude kullanıldı
- Pi header'ı ile çip altı jumper kabloyla bağlandıktan sonra tek bir komut çalıştırıldı
- Gece lambasına doğrudan bağlamadan önce çıkış pinine LED takılarak çalışma önce doğrulandı
- Nihai davranış, üç kez yanıp sönüp sonra durmak şeklinde
- Test videosunda gereken sayı sonradan değiştirildiği için dört kez yanıp sönüyor
Kurulum süreci ve şebeke elektriği güvenliği
- Tamamlanan kart gece lambasının içine lehimlendi; parçalar ve alan çok küçük olduğu için çalışma zordu
- Mevcut karttaki büyük kapasitör ters polaritede takılmıştı ve bu durum multimetre ölçümü ile doğrulandı
- Gece lambasında transformatör olmadığından ek PCB takıldığında tüm devre şebeke elektriğine bağlı hale geliyor
- ATtiny85, cihaza yerleştirilmeden önce flash'lanmalı
- Kurulumdan sonra USB kablosu veya Raspberry Pi tekrar bağlanmamalı
Uyku otomasyonu ve nihai çalışma şekli
- Saat, uyku durumunu telefona iletiyor; telefon Home Assistant'a haber veriyor ve Home Assistant da Zigbee priz üzerinden gece lambasını açıyor
- Güç alan PCB, gece lambasının hatalı davranmaması için kısa bir süre bekledikten sonra düğmeye üç kez basarak parlaklığı seviye 1'e geçiriyor
- Difüzörün arkasında iç kabloların gölgesi görünse de odanın duvarına yansımadığı için gerçek kullanımda sorun olmadı
Açık kaynak dosyalar ve kullanım koşulları
- tymscar/button-presser içinde şu materyaller MIT lisansı ile yayımlandı
- Aynı kartı üretebilmek için Gerber dosyaları
- Malzeme listesi ve şema
- ATtiny85 üzerinde çalışan kısa C kodu
- Uygulamadan önce README'de anlatılan iki multimetre kontrolü yapılmalı
- Bu devre yalnızca içinde 4~12V güç hattı bulunan ve düğmeye basıldığında sinyalin toprağa kısa devre edildiği cihazlarda çalışıyor
- Birçok ucuz cihaz bu koşulları sağlasa da tüm ürünler için geçerli değil; şebeke elektriğiyle çalışan cihazlarda işlem öncesinde güvenlik talimatları kontrol edilmeli
Henüz yorum yok.