1 puan yazan GN⁺ 2 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 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, 3V3 gibi 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.

Henüz yorum yok.