İçindekiler:

INA219 Voltaj/Akım Sensörlü Sinilink WiFi Switch Modifikasyonu: 11 Adım
INA219 Voltaj/Akım Sensörlü Sinilink WiFi Switch Modifikasyonu: 11 Adım

Video: INA219 Voltaj/Akım Sensörlü Sinilink WiFi Switch Modifikasyonu: 11 Adım

Video: INA219 Voltaj/Akım Sensörlü Sinilink WiFi Switch Modifikasyonu: 11 Adım
Video: How to use Allegro ACS712 AC/DC Current Sensor with Arduino 2024, Temmuz
Anonim
INA219 Voltaj/Akım Sensörlü Sinilink WiFi Switch Modifikasyonu
INA219 Voltaj/Akım Sensörlü Sinilink WiFi Switch Modifikasyonu

Sinilink XY-WFUSB WIFI USB anahtarı, takılı bir USB cihazını uzaktan açmak/kapatmak için hoş ve küçük bir cihazdır. Ne yazık ki, bağlı cihazın besleme Voltajını veya kullanılan Akımını ölçme yeteneğinden yoksundur.

Bu talimat, USB anahtarımı bir INA219 Voltaj/Akım sensörüyle nasıl değiştirdiğimi gösterir. Bu değişiklikle, bağlı bir cihazın güç tüketimini izleyebilirsiniz, örn. bir akıllı telefon, e-kitap okuyucu vb., şarj sırasında takılı cihaza giden gücü %100'e şarj etmeden önce kapatmak için otomatikleştirin ve (belki) entegre LiPo pilin ömrünü uzatın.

Bu değişikliğin sonunda modülün çıkışına 5V girişinde hafif bir voltaj düşüşüne neden olduğunu unutmayın.

Adım 1: Ön Koşullar/Parçalar

Aşağıdaki parçalara ihtiyacınız olacak:

  • Sinilink XY-WFUSB WIFI USB anahtarı
  • INA219 Voltaj/Akım sensör modülü (daha küçük olanı daha iyidir)
  • 0.4mm çapında emaye tel
  • 2-3A akımı kaldırabilen kalın tel
  • kalın tel ile eşleşen ısıyla daralan makaron
  • 25,4 mm çapında ısıyla daralan makaron
  • Lehim, lehim, flux gibi olağan araçlar
  • Tasmota'yı INA219 desteği ile derleyebileceğiniz PC

Adım 2: Genel Modül Açıklaması

USB anahtar modülünün çok iyi bir genel açıklaması, parçaları ve nasıl açılacağı, Andreas Spiess'in bağlantılı videosunda yapılmıştır. Bu video, bir INA219 sensör modülü ile modülümde değişiklikler yapmam için bana ilham verdi.

3. Adım: ESP8285 Kullanılmayan GPIO'lar

ESP8285 Kullanılmayan GPIO'lar
ESP8285 Kullanılmayan GPIO'lar

ESP8285'in hangi Pinlerinin/GPIO'larının bağlı olmadığını anlamak için çipi modülden çıkardım. Bunu yapmanıza gerek yok, sadece resme bakın.

Sökülmüş çip ve ESP8285 veri sayfası ile aşağıdaki Pinlerin/GPIO'ların kullanılmadığını görebilirsiniz:

  • PIN10 / GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19 / GPIO10
  • … ve dahası …

INA219 modülüne I2C bağlantıları (SDA + SCL) için sadece iki taneye ihtiyacınız var. İlk önce PIN18 + PIN19'u seçtim ama lehimlerken pedleri yok ettim çünkü (henüz) o pin aralığında iki adet 0,4 mm'lik kabloyu yan yanayken lehimleyecek kadar yetenekli değilim.

Adım 4: Akım Taşıyan Telleri PCB'ye Lehimleyin

Akım Taşıyan Telleri PCB'ye Lehimleyin
Akım Taşıyan Telleri PCB'ye Lehimleyin
Akım Taşıyan Telleri PCB'ye Lehimleyin
Akım Taşıyan Telleri PCB'ye Lehimleyin
Akım Taşıyan Telleri PCB'ye Lehimleyin
Akım Taşıyan Telleri PCB'ye Lehimleyin

Akımı ölçmek için INA219 modülünün, anahtarlamalı MOSFET ile USB çıkış portu arasındaki +5V çıkış beslemesine takılması gerekir.

Önce USB soketinin ayağını kaldırın.

İkinci lehim, PCB'nin diğer tarafındaki MOSFET'in çıkışı olan PCB üzerindeki pede kalın bir tel (kırmızı), bu tel INA219'un "Vin +" sına gidecektir.

Ardından USB soketinin Pinine kalın bir tel (siyah) lehimleyin, bu INA219'un "Vin-" kısmına gidecektir.

Lehimleme sırasında aralarına ısıya dayanıklı Kapton bant koydum ve ardından siyah telin etrafına bir miktar ısıyla daralan makaron ekledim. Kapton kasetini de yerinde bıraktım.

Adım 5: Veri Kablolarını ESP8285 Pinlerine Lehimleyin

Veri Kablolarını ESP8285 Pinlerine Lehimleyin
Veri Kablolarını ESP8285 Pinlerine Lehimleyin

Telleri çipe lehimlemeden önce bükün, çipin pinlerine takılı olan pedleri fazla zorlamamalısınız.

Çipin 10 ve 12 numaralı pimlerine iki kablo lehimleyin.

Resimde gördüğünüz gibi çipin sağ tarafındaki 18 ve 19 numaralı pinleri yaktım, bu yüzden ısıyı düşük ve lehimleme süresini kısa tutmaya çalışın.

Ayrıca biraz gerilmeyi azaltmak için her iki kabloyu da tahtanın kenarına yapıştırdım.

Adım 6: Vcc/Gnd Tellerini 3V3 Regülatörüne ve USB Bağlantı Noktasına Lehimleyin

Vcc/Gnd Tellerini 3V3 Regülatörüne ve USB Bağlantı Noktasına Lehimleme
Vcc/Gnd Tellerini 3V3 Regülatörüne ve USB Bağlantı Noktasına Lehimleme

AMS1117 3V3 voltaj regülatörünün çıkışına bir tel lehimleyin, bu INA219 modülünün "Vcc" sine gidecektir. (Kötü resim için özür dilerim)

USB erkek jakının Gnd pinine bir tel lehimleyin, bu INA219 modülünün "Gnd" kısmına gidecektir.

Adım 7: Telleri INA219 Modülüne Lehimleyin

INA219 Modülüne Lehim Telleri
INA219 Modülüne Lehim Telleri
INA219 Modülüne Lehim Telleri
INA219 Modülüne Lehim Telleri

Altı kabloyu INA219 modülüne lehimleyin. Sinilink cihazının mavi kapağını takmak için ana PCB ile modül arasında yeterli boşluk bırakın.

  • Vin+ - (kırmızı) PCB üzerindeki pedden
  • Vin- - (siyah) USB çıkış soketinin pininden
  • Vcc - AMS1117'den 3V3 voltaj regülatörü
  • Gnd - USB erkek jakının Gnd pininden
  • SCL - PIN12 / GPIO13'ten (SCL/SDA, Tasmota konfigürasyonunda değiştirilebilir)
  • SDA - PIN10 / GPIO12'den (SCL/SDA, Tasmota konfigürasyonunda değiştirilebilir)

Adım 8: Montaj

toplantı
toplantı
toplantı
toplantı

Kullandığınız kabloların içinden geçmek için Sinilink cihazının mavi kapağına bazı yuvalar açın.

Kapağı Sinilink PCB ile INA219 modülü arasına yerleştirin ve kabloları kasaya yakın bükün.

Her iki modülün çevresinde ısıyla daralan makaron kullanın.

9. Adım: INA219 Desteğiyle Tasmota Oluşturun

Tasmota'yı INA219 desteğiyle derlemeniz gerekiyor, INA219 desteğini içeren standart tasmota-sensors.bin, ESP8285'e sığmayacak kadar büyük.

Aşağıda, docker kullanılarak yapılan oluşturma işleminin çok kısa bir açıklaması yer almaktadır, daha fazla ayrıntı burada.

Bir dizin oluşturun:

$ mkdir /opt/docker/tasmota-builder

docker-compose.yml oluşturun

$ cat /opt/docker/tasmota-builder/docker-compose.yml sürüm: "3.7" hizmetler: tasmota-builder: container_name: tasmota-builder ana bilgisayar adı: tasmota-builder yeniden başlatma: "hayır" # kaynak: https://hub.docker.com/r/blakadder/docker-tasmota resim: blakadder/docker-tasmota:en son kullanıcı: "1000:1000" ciltler: # liman işçisi kapsayıcı, kaynak kodun sahibi olan # kullanıcı tarafından başlatılmalıdır -./tasmota_git:/tasmota

Git deposunu klonlayın ve Tasmota'nın belirli bir etiketli sürümüne geçin:

/opt/docker/tasmota-builder $ git klonu https://github.com/arendst/Tasmota.git tasmota_git

/opt/docker/tasmota-builder/tasmota_git (master) $ git checkout v8.5.1

INA219 desteğini dahil etmek için bir geçersiz kılma dosyası ekleyin:

$ cat /opt/docker/tasmota-builder/tasmota_git/tasmota/user_config_override.h

#ifndef _USER_CONFIG_OVERRIDE_H_#define _USER_CONFIG_OVERRIDE_H_#warning **** user_config_override.h: Ayarları Bu Dosyadan Kullanma ****#ifndef USE_INA219#define USE_INA219#endif

Yapıyı başlatın:

"-e tasmota", yalnızca tasmota.bin ikili dosyasını oluşturduğu anlamına gelir, başka bir şey değil.

/opt/docker/tasmota-builder $ docker-compose çalıştır tasmota-builder -e tasmota; docker-compose down

Ortaya çıkan ikili dosya, tasmota.bin, şurada bulunur:

/opt/docker/tasmota-builder/tasmota_git/build_output/firmware/

Sinilink cihazını, Andreas Spiess'in videosunda anlatıldığı gibi Tasmota ile kurun. İlk önce yanıp sönme ve ardından bu cihaz için şablon/normal GPIO kurulumunun yapılandırılması.

Ya kendi derlenmiş Tasmota ikili dosyanızı kullanın ya da önce standart bir sürüm kullanın ve ardından webgui aracılığıyla kendi derlenmiş sürümünüze yükseltin.

Adım 10: INA219 için Tasmota Yapılandırması

INA219 için Tasmota Yapılandırması
INA219 için Tasmota Yapılandırması
INA219 için Tasmota Yapılandırması
INA219 için Tasmota Yapılandırması

İlk adım, değişikliği eşleştirmek için şablonu değiştirmektir.

"Yapılandırma" -> "Şablonu Yapılandır"a gidin, GPIO12 ve GPIO13 için "Kullanıcı (255)" değerini seçin. "Kaydet"e basın.

Yeniden başlatmanın ardından "Yapılandırma" -> "Şablon Yapılandırması"na gidin, GPIO12 -> "I2C SDA (6)" ve GPIO13 -> "I2C SCL (5)" için seçin. Veya telleri farklı lehimlediyseniz bunları değiştirin. "Kaydet"e basın.

Modülün görüntülenen/rapor edilen hassasiyetini değiştirin. İstediğiniz gibi değiştirin.

"Konsol" a gidin ve aşağıdaki komutları girin.

TelePeriod 30 # her 30 saniyede bir MQTT sensör değerlerini gönder

VoltRes Voltaj ölçümlerinde 3 # 3 basamak hassasiyet WattRes Watt hesaplamalarında 3 # 3 basamak hassasiyet AmpRes Akım ölçümlerinde 3 # 3 basamak hassasiyet

11. Adım: Nihai Sonuç

Son sonuç
Son sonuç
Son sonuç
Son sonuç

Her şey doğru yapıldıysa, takılı USB aygıtı tarafından kullanılan Gerilimi ve Akımı doğrudan Tasmota Web GUI'de izleyebilirsiniz.

Ayrıca Tasmota'nın ölçümü MQTT aracılığıyla bir InfluxDB'ye raporlaması için bir kurulumunuz varsa, zaman içinde şarj akımını göstermek için Grafana aracılığıyla grafikler oluşturabilirsiniz, burada akıllı telefonumun ~%10 ila ~%85 kapasite arasında şarj olmasına bir örnek.

Ve bu kurulumun ardından, akım belirli bir sınırın altına düştüğünde USB anahtarını otomatik olarak kapatmak için Node-RED gibi bir otomasyon aracını kullanabilirsiniz.

INA219, akım şöntü olarak 0,1 Ohm'luk bir direnç kullandığından, güç kaynağınıza ve takılı cihazın "akıllılığına" bağlı olarak girişten çıkışa bir voltaj düşüşü alacağınızı unutmayın, öncekinden daha yavaş şarj olabilir.

Önerilen: