สารบัญ:

การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแสไฟ INA219: 11 ขั้นตอน
การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแสไฟ INA219: 11 ขั้นตอน

วีดีโอ: การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแสไฟ INA219: 11 ขั้นตอน

วีดีโอ: การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแสไฟ INA219: 11 ขั้นตอน
วีดีโอ: Street DIY รีวิวและการตั้งค่าDC Digital multifuction meter ที่สายโซล่าเซลต้องสนใจ 2024, กรกฎาคม
Anonim
การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแส INA219
การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแส INA219

สวิตช์ Sinilink XY-WFUSB WIFI USB เป็นอุปกรณ์เล็กๆ ที่ดีในการเปิด/ปิดอุปกรณ์ USB ที่เชื่อมต่อจากระยะไกล น่าเสียดายที่มันขาดความสามารถในการวัดแรงดันไฟจ่ายหรือกระแสไฟที่ใช้ของอุปกรณ์ที่ต่ออยู่

คำแนะนำนี้แสดงให้คุณเห็นว่าฉันแก้ไขสวิตช์ USB ด้วยเซ็นเซอร์แรงดัน / กระแส INA219 ได้อย่างไร ด้วยการปรับเปลี่ยนนี้ คุณสามารถตรวจสอบการใช้พลังงานของอุปกรณ์ที่เชื่อมต่อได้ เช่น สมาร์ทโฟน เครื่องอ่าน ebook ฯลฯ ระหว่างการชาร์จและปิดเครื่องโดยอัตโนมัติไปยังอุปกรณ์ที่เชื่อมต่อก่อนที่จะชาร์จถึง 100% เพื่อ (อาจ) ยืดอายุของแบตเตอรี่ LiPo ในตัว

โปรดทราบว่าในท้ายที่สุด การปรับเปลี่ยนนี้ส่งผลให้แรงดันไฟฟ้าตกเล็กน้อยของอินพุต 5V ไปยังเอาต์พุตของโมดูล

ขั้นตอนที่ 1: ข้อกำหนดเบื้องต้น/ชิ้นส่วน

คุณจะต้องมีชิ้นส่วนต่อไปนี้:

  • สวิตช์ Sinilink XY-WFUSB WIFI USB
  • INA219 โมดูลเซ็นเซอร์แรงดัน/กระแส (อันที่เล็กกว่าจะดีกว่า)
  • ลวดเคลือบเส้นผ่านศูนย์กลาง 0.4 มม.
  • ลวดหนาซึ่งรับกระแสได้ 2-3A
  • ท่อหดความร้อนเข้าคู่กับลวดหนา
  • ท่อหดความร้อนขนาดเส้นผ่านศูนย์กลาง 25.4 มม.
  • เครื่องมือทั่วไป เช่น หัวแร้ง บัดกรี ฟลักซ์
  • พีซีที่คุณสามารถคอมไพล์ Tasmota ด้วยการสนับสนุน INA219

ขั้นตอนที่ 2: คำอธิบายโมดูลทั่วไป

คำอธิบายทั่วไปที่ดีมากของโมดูลสวิตช์ USB ส่วนประกอบและวิธีการเปิดนั้นทำได้ในวิดีโอที่เชื่อมโยงจาก Andreas Spiess วิดีโอนี้เป็นแรงบันดาลใจให้ฉันทำการเปลี่ยนแปลงโมดูลด้วยโมดูลเซ็นเซอร์ INA219

ขั้นตอนที่ 3: ESP8285 GPIO ที่ไม่ได้ใช้

ESP8285 GPIO ที่ไม่ได้ใช้
ESP8285 GPIO ที่ไม่ได้ใช้

ในการหาว่าพิน/GPIO ใดของ ESP8285 ไม่ได้เชื่อมต่อ ฉันได้ถอดชิปออกจากโมดูล คุณไม่จำเป็นต้องทำเช่นนี้เพียงแค่ดูภาพ

ด้วยชิป desoldered และแผ่นข้อมูล ESP8285 คุณจะเห็นว่าไม่ได้ใช้ Pins/GPIO ต่อไปนี้:

  • PIN10 / GPIO12
  • PIN12 / GPIO13
  • PIN18 / GPIO9
  • PIN19 / GPIO10
  • … และอื่น ๆ …

คุณต้องการเพียงสองการเชื่อมต่อ I2C (SDA + SCL) กับโมดูล INA219 ครั้งแรกที่ฉันเลือก PIN18 + PIN19 แต่ฉันทำลายแผ่นอิเล็กโทรดเมื่อทำการบัดกรีเพราะฉันยังไม่ชำนาญพอที่จะบัดกรีสาย 0.4 มม. สองเส้นที่พินนั้นเมื่ออยู่เคียงข้างกัน

ขั้นตอนที่ 4: บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB

บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB

ในการวัดกระแส จำเป็นต้องเสียบโมดูล INA219 ลงในเอาต์พุต +5V feed ระหว่าง MOSFET สวิตช์และพอร์ตเอาต์พุต USB

ขั้นแรกให้ยกขาของช่องเสียบ USB

ที่สอง บัดกรีลวดหนา (สีแดง) เข้ากับแผ่นบน PCB ซึ่งเป็นเอาต์พุตของ MOSFET ที่อีกด้านหนึ่งของ PCB ลวดนี้จะไปที่ "Vin+" ของ INA219

จากนั้นบัดกรีลวดหนา (สีดำ) เข้ากับพินของซ็อกเก็ต USB ซึ่งจะไปที่ "Vin-" ของ INA219

ฉันใส่เทป Kapton ทนความร้อนระหว่างพวกเขาในขณะที่บัดกรีและหลังจากนั้นก็เพิ่มท่อหดความร้อนรอบลวดสีดำ ฉันยังทิ้งเทป Kapton ไว้เหมือนเดิม

ขั้นตอนที่ 5: ประสานสายข้อมูลกับ ESP8285 Pins

ประสานสายข้อมูลเข้ากับหมุด ESP8285
ประสานสายข้อมูลเข้ากับหมุด ESP8285

งอสายไฟล่วงหน้าก่อนที่จะบัดกรีเข้ากับชิป คุณไม่ควรใส่แผ่นอิเล็กโทรดที่ติดอยู่กับหมุดของชิปมากเกินไป

บัดกรีสายไฟสองเส้นเพื่อยึดชิป 10 และ 12

ดังที่คุณเห็นในภาพ ฉันเผาหมุด 18 และ 19 ทางด้านขวาของชิปทิ้งไป ดังนั้นพยายามรักษาความร้อนให้ต่ำและระยะเวลาในการบัดกรีให้สั้นลง

ฉันยังติดสายทั้งสองที่ขอบกระดานเพื่อคลายความเครียดเล็กน้อย

ขั้นตอนที่ 6: ประสานสาย Vcc/Gnd เข้ากับตัวควบคุม 3V3 และพอร์ต USB

บัดกรีสาย Vcc/Gnd ไปยังตัวควบคุม 3V3 และพอร์ต USB
บัดกรีสาย Vcc/Gnd ไปยังตัวควบคุม 3V3 และพอร์ต USB

บัดกรีสายไฟเข้ากับเอาต์พุตของตัวควบคุมแรงดันไฟฟ้า AMS1117 3V3 ซึ่งจะไปที่ "Vcc" ของโมดูล INA219 (ขออภัยภาพไม่สวย)

บัดกรีสายไฟเข้ากับพิน Gnd ของแจ็คตัวผู้ USB ซึ่งจะไปที่ "Gnd" ของโมดูล INA219

ขั้นตอนที่ 7: บัดกรีสายไปยังโมดูล INA219

สายบัดกรีไปยังโมดูล INA219
สายบัดกรีไปยังโมดูล INA219
สายบัดกรีไปยังโมดูล INA219
สายบัดกรีไปยังโมดูล INA219

บัดกรีสายไฟหกเส้นเข้ากับโมดูล INA219 รักษาพื้นที่ว่างเพียงพอระหว่าง PCB หลักและโมดูลเพื่อใส่ฝาครอบสีน้ำเงินของอุปกรณ์ Sinilink

  • Vin+ - (สีแดง) จากแผ่นบน PCB
  • Vin- - (สีดำ) จากพินของซ็อกเก็ตเอาท์พุต USB
  • Vcc - จากตัวควบคุมแรงดันไฟฟ้า AMS1117 3V3
  • Gnd - จากพิน Gnd ของแจ็คตัวผู้ USB
  • SCL - จาก PIN12 / GPIO13 (สามารถเปลี่ยน SCL/SDA ได้ในการกำหนดค่า Tasmota)
  • SDA - จาก PIN10 / GPIO12 (สามารถเปลี่ยน SCL/SDA ได้ในการกำหนดค่า Tasmota)

ขั้นตอนที่ 8: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ

ตัดช่องบางช่องลงในฝาครอบสีน้ำเงินของอุปกรณ์ Sinilink เพื่อผ่านสายเคเบิลที่คุณใช้

ใส่ฝาครอบระหว่าง Sinilink PCB และโมดูล INA219 แล้วงอสายไฟให้ชิดกับเคส

ใช้ท่อหดความร้อนรอบทั้งสองโมดูล

ขั้นตอนที่ 9: สร้าง Tasmota ด้วย INA219 Support

คุณต้องคอมไพล์ Tasmota ด้วยการสนับสนุน INA219 ซึ่ง tasmota-sensors.bin มาตรฐาน ซึ่งมีการรองรับ INA219 นั้นใหญ่เกินไปที่จะใส่ลงใน ESP8285

ต่อไปนี้คือคำอธิบายสั้นๆ เกี่ยวกับกระบวนการสร้างโดยใช้นักเทียบท่า รายละเอียดเพิ่มเติมที่นี่

สร้างไดเร็กทอรี:

$ mkdir /opt/docker/tasmota-builder

สร้าง docker-compose.yml

$ cat /opt/docker/tasmota-builder/docker-compose.yml เวอร์ชัน: "3.7" บริการ: tasmota-builder: container_name: tasmota-builder ชื่อโฮสต์: tasmota-builder restart: "no" # แหล่งที่มา: https://hub.docker.com/r/blakadder/docker-tasmota image: blakadder/docker-tasmota:latest user: "1000:1000" volumes: # docker container ต้องถูกเริ่มต้นโดยผู้ใช้คนเดียวกับที่เป็นเจ้าของ # ซอร์สโค้ด -./tasmota_git:/tasmota

โคลนที่เก็บ git และเปลี่ยนเป็น Tasmota ที่ติดแท็กเฉพาะ:

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

/opt/docker/tasmota-builder/tasmota_git (ต้นแบบ) $ git ชำระเงิน v8.5.1

เพิ่มไฟล์แทนที่เพื่อรวมการสนับสนุน INA219:

$ 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: การใช้การตั้งค่าจากไฟล์นี้ ****#ifndef USE_INA219#define USE_INA219#endif

เริ่มสร้าง:

"-e tasmota" หมายความว่ากำลังสร้างเฉพาะไบนารี tasmota.bin เท่านั้น ไม่มีอะไรอื่น

/opt/docker/tasmota-builder $ docker-compose run tasmota-builder -e tasmota; นักเทียบท่า-เขียนลง

ผลลัพธ์ไบนารี tasmota.bin จะอยู่ใน:

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

ตั้งค่าอุปกรณ์ Sinilink ด้วย Tasmota ตามที่ Andreas Spiess อธิบายในวิดีโอของเขา กะพริบก่อนแล้วจึงกำหนดค่าเทมเพลต/การตั้งค่า GPIO ปกติสำหรับอุปกรณ์นี้

ไม่ว่าจะใช้ไบนารี Tasmota ที่คอมไพล์แล้วหรือเพียงแค่ใช้รีลีสมาตรฐานก่อน จากนั้นอัปเกรดผ่าน webgui เป็นเวอร์ชันคอมไพล์ของคุณเอง

ขั้นตอนที่ 10: การกำหนดค่า Tasmota สำหรับ INA219

การกำหนดค่า Tasmota สำหรับ INA219
การกำหนดค่า Tasmota สำหรับ INA219
การกำหนดค่า Tasmota สำหรับ INA219
การกำหนดค่า Tasmota สำหรับ INA219

ขั้นตอนแรกคือการปรับเปลี่ยนเทมเพลตให้ตรงกับการปรับเปลี่ยน

ไปที่ "การกำหนดค่า" -> "กำหนดค่าเทมเพลต" เลือกค่า "ผู้ใช้ (255)" สำหรับ GPIO12 และ GPIO13 กด "บันทึก"

หลังจากรีบูตไปที่ "การกำหนดค่า" -> "กำหนดค่าเทมเพลต" เลือกสำหรับ GPIO12 -> "I2C SDA (6)" และสำหรับ GPIO13 -> "I2C SCL (5)" หรือสลับสิ่งเหล่านี้หากคุณบัดกรีสายไฟต่างกัน กด "บันทึก"

เปลี่ยนความแม่นยำที่แสดง/รายงานของโมดูล เปลี่ยนตามที่คุณต้องการ

ไปที่ "คอนโซล" และป้อนคำสั่งต่อไปนี้

TelePeriod 30 # ส่งค่าเซ็นเซอร์ MQTT ทุก ๆ 30 วินาที

ความแม่นยำ VoltRes 3 # 3 หลักในการวัดแรงดันไฟฟ้า WattRes ความแม่นยำ 3 # 3 หลักในการคำนวณวัตต์ AmpRes ความแม่นยำ 3 # 3 หลักในการวัดกระแส

ขั้นตอนที่ 11: ผลลัพธ์สุดท้าย

ผลสุดท้าย
ผลสุดท้าย
ผลสุดท้าย
ผลสุดท้าย

หากทำทุกอย่างถูกต้องแล้ว คุณสามารถตรวจสอบแรงดันและกระแสไฟที่ใช้โดยอุปกรณ์ USB ที่เชื่อมต่อได้โดยตรงใน Tasmota Web GUI

หากคุณมีการตั้งค่าให้ Tasmota รายงานการวัดผ่าน MQTT ไปยัง InfluxDB คุณสามารถสร้างกราฟผ่าน Grafana เพื่อแสดงกระแสการชาร์จเมื่อเวลาผ่านไป นี่คือตัวอย่างสมาร์ทโฟนของฉันที่ชาร์จความจุตั้งแต่ ~10% ถึง ~85%

และหลังจากการตั้งค่านั้น คุณสามารถใช้เครื่องมืออัตโนมัติ เช่น Node-RED เพื่อปิดสวิตช์ USB โดยอัตโนมัติเมื่อกระแสไฟต่ำกว่าขีดจำกัดที่กำหนด

โปรดทราบว่าเนื่องจาก INA219 ใช้ตัวต้านทาน 0.1 โอห์มเป็นกระแสไฟฟ้า คุณจะได้รับแรงดันไฟฟ้าตกจากอินพุตไปยังเอาต์พุต ทั้งนี้ขึ้นอยู่กับแหล่งจ่ายไฟและ "ความฉลาด" ของอุปกรณ์ที่ต่ออยู่ จึงสามารถชาร์จได้ช้ากว่าเมื่อก่อน

แนะนำ: