ผมได้เขียนโปรแกรมโดยใช้บอร์ด nodemcu v2 ซึ่งผมเขียนโค้ดทำ web server รับค่าของ sensor 2 ตัวคือ Ds18b20 waterproof และ ultrasonic Hc-sr04 และมี DC-DC Power Module Multi Output Voltage Conversion โมดูลแปลงไฟ 6.5-12V เป็น 5V และ 3.3V เป็น power supply โดยแปลงไฟจากอเดปเตอร์ 9v 2A ให้กับ nodemcu v2,sensor 2 ตัวและ relay 5v อีกตัว ซึ่งทดสอบใช้งานแล้วพบว่า เวลาที่ relay 5v on การทำงานของ ultrasoinc จะไม่อ่านค่าแต่พอ off ultrasonic ก้อจะกลับมาทำงานเหมือนและอีกปัญหาหนึ่งคือถ้าต่อแหล่งไว้กับ nodemcu และจ่ายไฟเข้า nodemcu จะไม่ทำงานต้องถอดแหล่งจ่ายออกก่อนและเสียบใหม่จึงจะทำงานได้ จึงอยากขอคำแนะนำว่าควรทำยังไงดีครับ สามารถแยกแหล่งได้หรือป่าวครับ วงจรตามรูปครับ
อุปกรณ์ทั้งหมดใช้ไฟไม่เกิน 500mA ดังนั้นปัญหาเรื่องไฟไม่พอข้ามไปครับ
ปัญหาน่าจะอยู่ที่การต่อ ultrasonic
ultrasonic ไม่ต้องมี R 2 ตัวเพื่อลดแรงดัน ต่อตรงได้เลย ต่อแค่ ultrasonic แล้วดูว่าทำงานถูกต้องครับ
ขอสอบถามอีกหน่อยครับ เวลาเปิดแหล่งจ่ายเข้าบอร์ด nodemcu v2 แล้วเสียบขา 3.3v และ gnd ของ ds18b20 ไว้ก่อนแล้วค่อยเปิดบอร์ดจะไม่ทำงานต้องดึงสาย 3.3v และ gnd ออกไปก่อนแล้วปิด-เปิดใหม่จึงจะสามารถทำงานได้แล้วค่อยเสียบกลับ ds18b20 จึงจะสามารถทำงานได้มีวิธีแก้ไขไหมครับ ขอคำแนะนำด้วยครับ
จากข้อมูลที่ให้มาปัญหานี้ไม่ได้เกิดจากตัวอุปกรณ์ เพราะบอกว่าอุปกรณ์ทำงานได้ถูกต้อง
สาเหตุน่าจะมาจากสัญญาณรบกวน ลองต่อ C ค่า 0.1uf และค่า เยอะ ๆ เช่น 1000-2200uf ต่อคร่อมที่ขา VCC กับ GND ของ NodeMCU แล้วทดลองเฉพาะ DS18B20 ครับ
ขอสอบถามเพิ่มเติมนะครับ ถ้าแหล่งไฟของเราเปลี่ยนจากอเดปเตอร์ 9v 2A เป็นแบตเตอรี่แห้ง 12v 12ah จะสามารถต่อเข้าโดยตรงได้ไหมครับหรือต้องมีวงจรคั่นก่อนจะจ่ายไฟเข้าบอร์ด dc-dc-power-module-multi-output-voltage-conversion เพราะที่ดูสเปกของ ams1117 สามารถรับแรงดันได้ถึง 12v จะทำได้ไหมครับขอคำแนะนำด้วยครับ
ASM1117 รับไฟได้สูงสุดถึง 15V ช่วงไฟที่แนะนำอยู่ที่ 9-12V จ่ายกระแสสูงสุด 800mA
ในวงจรน่าจะไม่เกิน 800mA ใช้งานได้ไม่มีปัญหา
หรือถ้าต้องการใช้วงจรเรกูเลตรุ่นอื่นที่เป็น 5V เหมือนกัน ลองดูตัวนี้ครับ
https://www.arduinoall.com/p/1273