สารบัญ:
- ขั้นตอนที่ 1: ข้อกำหนดเบื้องต้น/ชิ้นส่วน
- ขั้นตอนที่ 2: คำอธิบายโมดูลทั่วไป
- ขั้นตอนที่ 3: ESP8285 GPIO ที่ไม่ได้ใช้
- ขั้นตอนที่ 4: บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
- ขั้นตอนที่ 5: ประสานสายข้อมูลกับ ESP8285 Pins
- ขั้นตอนที่ 6: ประสานสาย Vcc/Gnd เข้ากับตัวควบคุม 3V3 และพอร์ต USB
- ขั้นตอนที่ 7: บัดกรีสายไปยังโมดูล INA219
- ขั้นตอนที่ 8: การประกอบ
- ขั้นตอนที่ 9: สร้าง Tasmota ด้วย INA219 Support
- ขั้นตอนที่ 10: การกำหนดค่า Tasmota สำหรับ INA219
- ขั้นตอนที่ 11: ผลลัพธ์สุดท้าย
วีดีโอ: การปรับเปลี่ยนสวิตช์ Sinilink WiFi ด้วยเซ็นเซอร์แรงดัน/กระแสไฟ INA219: 11 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
สวิตช์ 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 ที่ไม่ได้ใช้
ในการหาว่าพิน/GPIO ใดของ ESP8285 ไม่ได้เชื่อมต่อ ฉันได้ถอดชิปออกจากโมดูล คุณไม่จำเป็นต้องทำเช่นนี้เพียงแค่ดูภาพ
ด้วยชิป desoldered และแผ่นข้อมูล ESP8285 คุณจะเห็นว่าไม่ได้ใช้ Pins/GPIO ต่อไปนี้:
- PIN10 / GPIO12
- PIN12 / GPIO13
- PIN18 / GPIO9
- PIN19 / GPIO10
- … และอื่น ๆ …
คุณต้องการเพียงสองการเชื่อมต่อ I2C (SDA + SCL) กับโมดูล INA219 ครั้งแรกที่ฉันเลือก PIN18 + PIN19 แต่ฉันทำลายแผ่นอิเล็กโทรดเมื่อทำการบัดกรีเพราะฉันยังไม่ชำนาญพอที่จะบัดกรีสาย 0.4 มม. สองเส้นที่พินนั้นเมื่ออยู่เคียงข้างกัน
ขั้นตอนที่ 4: บัดกรีสายไฟที่มีกระแสไฟเข้ากับ PCB
ในการวัดกระแส จำเป็นต้องเสียบโมดูล INA219 ลงในเอาต์พุต +5V feed ระหว่าง MOSFET สวิตช์และพอร์ตเอาต์พุต USB
ขั้นแรกให้ยกขาของช่องเสียบ USB
ที่สอง บัดกรีลวดหนา (สีแดง) เข้ากับแผ่นบน PCB ซึ่งเป็นเอาต์พุตของ MOSFET ที่อีกด้านหนึ่งของ PCB ลวดนี้จะไปที่ "Vin+" ของ INA219
จากนั้นบัดกรีลวดหนา (สีดำ) เข้ากับพินของซ็อกเก็ต USB ซึ่งจะไปที่ "Vin-" ของ INA219
ฉันใส่เทป Kapton ทนความร้อนระหว่างพวกเขาในขณะที่บัดกรีและหลังจากนั้นก็เพิ่มท่อหดความร้อนรอบลวดสีดำ ฉันยังทิ้งเทป Kapton ไว้เหมือนเดิม
ขั้นตอนที่ 5: ประสานสายข้อมูลกับ ESP8285 Pins
งอสายไฟล่วงหน้าก่อนที่จะบัดกรีเข้ากับชิป คุณไม่ควรใส่แผ่นอิเล็กโทรดที่ติดอยู่กับหมุดของชิปมากเกินไป
บัดกรีสายไฟสองเส้นเพื่อยึดชิป 10 และ 12
ดังที่คุณเห็นในภาพ ฉันเผาหมุด 18 และ 19 ทางด้านขวาของชิปทิ้งไป ดังนั้นพยายามรักษาความร้อนให้ต่ำและระยะเวลาในการบัดกรีให้สั้นลง
ฉันยังติดสายทั้งสองที่ขอบกระดานเพื่อคลายความเครียดเล็กน้อย
ขั้นตอนที่ 6: ประสานสาย Vcc/Gnd เข้ากับตัวควบคุม 3V3 และพอร์ต USB
บัดกรีสายไฟเข้ากับเอาต์พุตของตัวควบคุมแรงดันไฟฟ้า AMS1117 3V3 ซึ่งจะไปที่ "Vcc" ของโมดูล INA219 (ขออภัยภาพไม่สวย)
บัดกรีสายไฟเข้ากับพิน Gnd ของแจ็คตัวผู้ USB ซึ่งจะไปที่ "Gnd" ของโมดูล INA219
ขั้นตอนที่ 7: บัดกรีสายไปยังโมดูล 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
ขั้นตอนแรกคือการปรับเปลี่ยนเทมเพลตให้ตรงกับการปรับเปลี่ยน
ไปที่ "การกำหนดค่า" -> "กำหนดค่าเทมเพลต" เลือกค่า "ผู้ใช้ (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 โอห์มเป็นกระแสไฟฟ้า คุณจะได้รับแรงดันไฟฟ้าตกจากอินพุตไปยังเอาต์พุต ทั้งนี้ขึ้นอยู่กับแหล่งจ่ายไฟและ "ความฉลาด" ของอุปกรณ์ที่ต่ออยู่ จึงสามารถชาร์จได้ช้ากว่าเมื่อก่อน
แนะนำ:
Tiny V/A Meter พร้อม INA219: 9 ขั้นตอน (พร้อมรูปภาพ)
มิเตอร์ V/A ขนาดเล็กพร้อม INA219: เบื่อกับการเสียบปลั๊กมัลติมิเตอร์ใหม่เมื่อคุณต้องการวัดทั้งแรงดันและกระแสไฟในโครงการขนาดเล็กใช่หรือไม่ มิเตอร์ V/A ขนาดเล็กคืออุปกรณ์ที่คุณต้องการ! เซ็นเซอร์กระแสไฟด้านสูง INA219 ไม่มีอะไรใหม่ มีโครงการดีๆ มากมายจาก
Arduino Wattmeter - แรงดันไฟ กระแสไฟ และการใช้พลังงาน: 3 ขั้นตอน
Arduino Wattmeter - แรงดันไฟฟ้า กระแสไฟ และการใช้พลังงาน: อุปกรณ์สามารถใช้วัดพลังงานที่ใช้ไป วงจรนี้ยังสามารถทำหน้าที่เป็นโวลต์มิเตอร์และแอมมิเตอร์ในการวัดแรงดันและกระแส
ESP8266 RGB LED STRIP WIFI ควบคุม - NODEMCU เป็นรีโมท IR สำหรับ Led Strip ที่ควบคุมผ่าน Wifi - RGB LED STRIP การควบคุมสมาร์ทโฟน: 4 ขั้นตอน
ESP8266 RGB LED STRIP WIFI ควบคุม | NODEMCU เป็นรีโมท IR สำหรับ Led Strip ที่ควบคุมผ่าน Wifi | การควบคุมสมาร์ทโฟน RGB LED STRIP: สวัสดีทุกคนในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ nodemcu หรือ esp8266 เป็นรีโมท IR เพื่อควบคุมแถบ LED RGB และ Nodemcu จะถูกควบคุมโดยสมาร์ทโฟนผ่าน wifi โดยพื้นฐานแล้ว คุณสามารถควบคุม RGB LED STRIP ได้ด้วยสมาร์ทโฟนของคุณ
เครื่องวัดความต้านทานโอห์มมิกต่ำพร้อมเซ็นเซอร์กระแส INA219: 5 ขั้นตอน
เครื่องวัดความต้านทานโอห์มมิกต่ำพร้อมเซ็นเซอร์กระแส INA219: นี่คือมิเตอร์มิลลิโอห์มราคาถูกซึ่งสามารถประกอบเข้าด้วยกันได้โดยใช้เซ็นเซอร์กระแส 2X INA219, Arduino nano, จอ LCD 2X16, ตัวต้านทานโหลด 150 โอห์ม และรหัส Arduino อย่างง่ายที่ห้องสมุดสามารถพบได้ออนไลน์ . ความงดงามของโครงการนี้ไม่มีมาก่อน
เครื่องทดสอบเส้นโค้งการชาร์จ TP4056 ปลอมด้วย INA219: 4 ขั้นตอน
เครื่องทดสอบเส้นโค้งการชาร์จ TP4056 ปลอมด้วย INA219: เหตุใดจึงจำเป็น ฉันจึงใช้โมดูล TP4056 มาระยะหนึ่งแล้ว และเพิ่งพบว่ามีโมดูลปลอมจำนวนมากในขณะนี้ เป็นการยากที่จะหาชิป TP4056 ของแท้ บล็อกนี้มีโครงร่างที่ดี