##ช่วยทีจ้าพอดี โปรเจคผมทำเครื่องวัดกระแสไฟฟ้าของตู้เย็นอะ คับ## จอ LCD เป็นภาษาต่างดาว

Started by ppzakub1, March 14, 2013, 07:24:31 PM

Previous topic - Next topic

ppzakub1

Quote from: MicroX on March 15, 2013, 09:17:53 AM
Quote
ตรง Load อะคับ เสียบปลั๊กตู้เย็นมา > ACS712 จะทำการวัดกระแส แล้วส่งค่าผ่าน ขา Vout แล้วมาต่อเข้า Ardunio ขา Analog 0

คุณอ่านกระแส และอุณหภูมิเพื่อมาแสดงผลเท่านั้น คุณไม่ได้ ON\OFF คอมฯ ตู้เย็นเองใช่ไหมครับ (ตัวตู้เย็นตัดเอง)

คับ ตัวตู้เย็น มันทำงานเอง ครับไม่ได้ไปยุ่งกับมัน / แต่ปัญหาอยู่ที่มันทำความเย็นเสร็จแล้ว เมื่อถึงจุดที่มันทำความเย็นที่เราตั้งไว้ มัน ก็ จะหยุด แต่พอตู้เย็น มัน เริ่มทำให้ความเย็นอีกที ตู้เย็นมันจะมีเสียงดัง(คือเริ่มทำงาน) ตอนนั้นแหละที่ทำให้ จอ LCD เป็นต่างดาวไปเลย

**ไม่ทราบว่าผมควรจะ ต่อ C กับไดโอด ที่ที่ขา Vccของ LCD เพื่อกันกระแส ที่มากเกินไปจะดีรึป่าว

ppzakub1

Quote from: RoLRoR on March 15, 2013, 01:25:00 AM
ลองใส่ ac line filter  ดู และเพิ่ม L+C กรองเหมือนท่าน MicroX ว่าร่วมด้วย

ผมก็เคยเจอปัญหานี้ ใช้ปลั๊กไฟ AC ร่วมกัน ไฟกระชากมาจาก Relay ,Magnetic Contacter
,คอมเพรสเซอร์ทำงาน หรือ มอเตอร์อื่นๆ  จอ LCD ชอบ Error แต่ Micro ยังทำงานอยู่นะ
เลยทำปุ่มสำหรับเรียก initial LCD อีกครั้ง
หรือเขียนโปรแกรม ตั้งเวลา สัก 10-20วินาที เรียก Initial LCD อีกที ซะเลย.

ใช่เลยคับ

firmware.c

IAR Embedded Workbench for ARM
AVR-Studio + AVR-GCC
CodeBlocks + MinGw
CodeBlocks + Gtk+


ppzakub1

ขอบคุณ ทุกคนมากๆ เลย จ้า ตอนนี้ Work แล้ว จ้า คือ ผมเขียนโปรแกรมเพิ่มใน ส่วน ให้มันเซ็ต ค่า lcd.begin ใหม่ ทุกๆ 1 นาที คือการเซ็ตจอ ใหม่ เลยทำให้ ค่า ออกมาเป้นเหมือนเดิม ปกติ อย่างเช่น ถ้า จอเป้นภาษาต่างด้าว อีก 1 นาที มันก็จะเซ็ต จอใหม่ ประมาณนั้นแหละคับ ^^ ขอบคุณทุกคนที่ช่วยผมมาตั้งแต่ ต้น ขอบคุณมากๆคับ ขอบคุณ Electoday ที่มีสมชิกที่มีน้ำใจมาช่วยผมในปัญหาครั้งนี้ด้วยคับ ขอบคุณคับ

firmware.c

ไม่ใช่การแก้ปัญหาที่ถูกต้องเท่าไหร่ครับ ที่ถูกต้องคือหาให้เจอว่าเป็นที่ตรงไหนแล้วแก้ที่ตรงนั้น
IAR Embedded Workbench for ARM
AVR-Studio + AVR-GCC
CodeBlocks + MinGw
CodeBlocks + Gtk+

MicroX


QuotePosted by: firmware.c
ไม่ใช่การแก้ปัญหาที่ถูกต้องเท่าไหร่ครับ ที่ถูกต้องคือหาให้เจอว่าเป็นที่ตรงไหนแล้วแก้ที่ตรงนั้น

เห็นด้วยกับคุณ firmware.c ครับ ปัญหายังซ่อนอยู่ แล้วเดี๋ยวมันอาจจะกลับมาเอาคืนทีหลัง

MicroMan

อาการแบบนี้เจอบ่อยกับ LCD ของจีน สาเหตุที่เคยเจอมาคือ LCD Controller มันโดนไฟกระชากแล้วทำงานผิดพลาดไปเลย แต่ MCU และระบบรอบนอกยังทำงานอยู่ได้ วิธีแก้หลักๆก็ป้องกันทางด้านแหล่งจ่ายแบบที่หลายๆท่านแนะนำมานั่นแหละ แต่อาจแค่ช่วยลดปัญหาจากหนักเป็นเบา ปัญหาหลักมันอยู่ที่ LCD ถ้าจะแก้แบบถาวรหน่อยก็คือ เลือก LCD ยี่ห้อดีๆที่ใช้ชิพ controller เป็นชิพไอซีมีชาติตระกูลหน่อย แต่ถ้าเลือกใช้ LCD ที่ใช้ชิพแบบเป็นก้อนดำๆต้องทำใจ การแก้ปัญหาแบบทำการ Initial LCD ใหม่ก็เป็นอีกทางเลือกหนึ่งที่พอช่วยได้ พวกงาน controller ที่โหลดหนักๆ มีส่วนประกอบของมอเตอร์ตัวใหญ่ๆ ต้องพยายามหลีกเลี่ยงการแสดงผลด้วย LCD ให้เปลี่ยนไปใช้ด้วย 7 Segment แทนจะดีกว่า

RoLRoR

เห็นด้วยครับ อย่างไรก็ควรจะทำให้ระบบปลอดภัย ให้ได้มากที่สุดก่อน
จะทำให้น่าไว้ใจได้มากขึ้นครับ

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

ลองหา Line Filter แบบนี้มาใส่ไว้เพิ่มหน้า adapter แบบเป็นปลั๊กก็ราคา20-30บาท เองครับ
http://img.directindustry.com/images_di/photo-g/power-line-emi-filter-35095-2828155.jpg
และไฟออกจากแหล่งจ่ายไฟ ทำ LC Filter แบบนี้อีกสักชุด (เห็นสายไฟแหล่งจ่ายยาวจัง)
ก่อนจ่ายเข้า MCU และ LCD
http://www.tpub.com/neets/book7/27i.htm
และเปลี่ยนใช้หม้อแปลงที่คุณภาพดีๆ ด้วยนะครับ

ที่แนะนำไว้ให้คอยเรียก initial lcd
นั้นเป็นส่วนทางเลือกเสริม หลังจากที่ต้องทำการลดสัญญาณกวนเข้าให้ได้มากที่สุด
และทำระบบให้สถียรได้มากที่สุดก่อนครับ. 

เพิ่มเติม:::เห็นด้วย จอ lcd จีน เจอบ่อยไวต่อแรงดันกระชาก ครับ