pakapong16
Jr. Member
Offline
Posts: 33
|
|
« on: November 08, 2009, 11:17:14 PM » |
|
แก้ไขยังงัยครับ
ขอคำแนะนำด้วยครับ
|
|
|
Logged
|
|
|
|
smitdh
Administrator
Hero Member
Offline
Gender:
Posts: 381
อาจารย์ที่ปรึกษา
|
|
« Reply #1 on: November 09, 2009, 12:49:37 PM » |
|
ให้ข้อมูลน้อยไปนิดครับ - เช่นใช้เป็นอินพุตแบบไหนใช้ R pullup หรือ pull down แล้วเวลามันรีเซ็ทนะ ตอนไหน ตอนกดปุ่มหรือ ตั้งแต่เริ่มจ่ายไฟเลย - ใช้ฟังก์ชั่นอะไรในการอ่านค่าอินพุต - ใช้ตัวโปรแกรมอะไร แบบ PICKIT2 หรือเปล่า ขา MCLR ต่อไว้อย่างไร ใช้เบอร์อะไรในการทดลองครับ
|
|
|
Logged
|
|
|
|
pakapong16
Jr. Member
Offline
Posts: 33
|
|
« Reply #2 on: November 10, 2009, 08:56:07 PM » |
|
จ่ายอินพุตเป็นรูปของสัญญาณไฟฟ้า Monophasic Damped Wave ผ่านวงจรแบ่งแรงดันจาก 200-3000 Vpk. ให้เหลือเพียง 0-5 V.
ใช้ตัวโปรแกรมอะไร แบบ PICKIT2 ขา MCLR ต่อกับสวิตช์กดรีเซ็ต ใช้ PIC 16F877 ครับ
ใช้คำสั่งการอ่านค่า ADC จากอนาลอกเป็นดิจิตอล แล้วให้โชว์ค่าที่สูงสุดค้างไว้
|
|
|
Logged
|
|
|
|
smitdh
Administrator
Hero Member
Offline
Gender:
Posts: 381
อาจารย์ที่ปรึกษา
|
|
« Reply #3 on: November 10, 2009, 11:00:59 PM » |
|
การอ่านค่าแรงดัน 200-3000 Vpk.(รู้สึกว่า length มันกว้างจัง) ด้วยวงจรแบ่งแรงดันให้เหลือเพียง 0-5 V แล้วมันเป็นไฟ DC หรือ AC ครับ Source มันคืออะไรเช่น จากอุปกรณ์สร้างแรงดันเพื่อใช้ทดสอบในห้องแลป หรือ generator ประเภทใดทำไม length มันถึงได้กว้างขนาดนั้นครับ หากเป็นแหล่งกำเนิดแรงดันสูง แล้วมาต่อกับ MCU มันไม่เสถียรอยู่แล้วครับ เพราะถ้าใช้กราวน์ร่วมกัน - หากเป็น AC ก็ควรใช้หม้อแปลงแบ่งแรงดันลงมาดีกว่าครับ เพราะมันแยกขดกัน ทำให้กราวน์แยกจากกัน - หากเป็น DC ก็ใช้พวก Opto เข้าช่วยก็ได้ครับ
|
|
|
Logged
|
|
|
|
pakapong16
Jr. Member
Offline
Posts: 33
|
|
« Reply #4 on: November 11, 2009, 09:19:46 PM » |
|
มันเป็นไฟ DC จากเครื่องกระตุกหัวใจ(Defibrillator) ครับ ที่ระดับพลังงานน้อยๆๆ(2,5,7,10J) MCU อ่านได้อยู่ครับ
แต่พอระดับพลังงาน20 J ขึ้นไป MCU ก้อเกิดการรีเซ็ต เมื่อมีการ shock ให้อินพุตเข้า MCU ขาAN0
สาเหตุเกิดจากอะไรหรอครับ
|
|
|
Logged
|
|
|
|
smitdh
Administrator
Hero Member
Offline
Gender:
Posts: 381
อาจารย์ที่ปรึกษา
|
|
« Reply #5 on: November 11, 2009, 11:50:36 PM » |
|
- การวัดไฟค่าที่สูงกว่าระดับแรงดัน VDD (+5V)ที่จ่ายให้ MCU นั้นจะต้องใช้ - ในวงจรแบ่งแรงดันประกอบไปด้วย R1 กับ R2 เราจะนำแรงดันที่ตกคร่อม R2 มาเข้ากับ MCU ซึ่งแรงดันสูงสุดที่ตกคร่อม R2 นี้จะต้องไม่เกิน 5V - แสดงว่าแรงดัน ที่ระดับพลังงาน20 J ทำให้แรงดันที่ตกคร่อม R2 เกิน 5 V จะทำให้ MCU ทำงานผิดพลาดได้ (ถึงแม้ว่าที่ขา I/O ของ PIC จะมี Zener diode อยู่แล้วก็ตาม ) - ให้ลองลดค่า R1 ลง - ให้ลองต่อค่า C ค่าน้อยๆ (0.001-0.1) คร่อม R1
- การต่อแหล่งกำเนิดแรงดันสูง กับ MCU ควรจะหาวิธีแยกกราวน์ให้ได้ครับ ***จำเป็น
|
|
|
Logged
|
|
|
|
pakapong16
Jr. Member
Offline
Posts: 33
|
|
« Reply #6 on: November 18, 2009, 01:47:26 AM » |
|
ถ้าอยากเขียนให้ mcu นับเวลาอินพุตว่าเป็นระยะนานเท่าไหร่
เริ่มต้นยังงัยดีครับ
|
|
|
Logged
|
|
|
|
|
pakapong16
Jr. Member
Offline
Posts: 33
|
|
« Reply #8 on: December 11, 2009, 02:57:51 PM » |
|
ถ้าอยากเขียน ให้มันยกกำลัง เช่น 2.54 ยกกำลัง X-1
เขียนใน MCU ที่เป็นภาษา C ยังงัยครับ
|
|
|
Logged
|
|
|
|
smitdh
Administrator
Hero Member
Offline
Gender:
Posts: 381
อาจารย์ที่ปรึกษา
|
|
« Reply #9 on: December 14, 2009, 12:49:49 AM » |
|
ในภาษาซี เขียนเป็น 2.54e-1 ครับ
|
|
|
Logged
|
|
|
|
|