ATMega328 การเชื่อมต่อ AREF ภายนอก


10

จากแผ่นข้อมูล ATMega328ส่วน 24.9.1:

ตัวเลือกการอ้างอิงแรงดันไฟฟ้าภายในอาจไม่สามารถใช้ได้หากมีการใช้แรงดันอ้างอิงภายนอกกับขา AREF

จากหน้าอ้างอิง Arduino :

หรือคุณสามารถเชื่อมต่อแรงดันอ้างอิงภายนอกกับขา AREF ผ่านตัวต้านทาน 5K ช่วยให้คุณสามารถสลับระหว่างแรงดันอ้างอิงภายนอกและภายใน โปรดทราบว่าตัวต้านทานจะเปลี่ยนแรงดันไฟฟ้าที่ใช้เป็นข้อมูลอ้างอิงเนื่องจากมีตัวต้านทาน 32K ภายในบนขา AREF ทั้งสองทำหน้าที่เป็นตัวแบ่งแรงดันดังนั้น 2.5V ที่ใช้ผ่านตัวต้านทานจะให้ผล 2.5 * 32 / (32 + 5) = ~ 2.2V ที่ขา AREF

แผ่นข้อมูล ATMega328 ยืนยันการอ้างอิง "ตัวต้านทาน 32k ภายใน" ในตารางที่ 29.16 ลักษณะของ ADC ด้วย: ความต้านทานอินพุตอ้างอิง = 32 kOhm

ที่ถูกกล่าวว่าทั้งสองงบข้างต้นดูเหมือนจะค่อนข้างตรงกันข้ามกับอีกคนหนึ่ง ฉันมีแอปพลิเคชันที่มีเซ็นเซอร์บางตัวที่ส่งออกเต็มสเกล 0-5V และอื่น ๆ ที่ส่งออกเต็มสเกล 0-1.8V แอปพลิเคชันจะได้รับประโยชน์จากความละเอียดที่เพิ่มขึ้นของการสลับเป็น 1.8V AREF เมื่อทำการสุ่มตัวอย่างเซ็นเซอร์ 1.8V และเปลี่ยนเป็นการอ้างอิง AVCC ภายในสำหรับเซ็นเซอร์ 5V

หน้าอ้างอิง Arduino แนะนำว่าเป็นเรื่องที่ควรทำเมื่อคุณเชื่อมต่อกับ 1.8V AREF ผ่านตัวต้านทานซีรีย์ 5kOhm และคิดเป็นตัวแบ่งแรงดันไฟฟ้าโดยนัยกับความต้านทานภายใน 32kOhm นี่เป็นเพียงคำแนะนำที่ไม่ดีจากการอ้างอิงของ Arduino หรืออันที่จริงมันเป็นเรื่องธรรมดาที่จะทำสิ่งนี้ คำแถลงของ Atmel ถูก จำกัด อยู่กับแรงดันไฟฟ้าภายนอกที่ใช้กับ AREF โดยไม่มีตัวต้านทาน จำกัด กระแสภายนอก (และถ้าเป็นเช่นนั้นทำไมให้ความต้านทานภายใน 32k ภายใน)?

เห็นได้ชัดว่าเราสามารถบรรลุผลที่คล้ายกันด้วย op-amp ที่สร้างขึ้นอย่างถูกต้องเพื่อปรับขนาดสัญญาณ 1.8V ถึง 5V แต่ความซับซ้อนและชิ้นส่วนที่เพิ่มเข้ามานั้นดูสิ้นเปลืองหาก ADC บนบอร์ดสามารถจัดการได้เช่นกัน โดยใช้ประโยชน์จากการอ้างอิงแรงดันไฟฟ้าที่เปลี่ยนแปลงได้ เช่นเดียวกันหากคุณสามารถโน้มน้าวตัวเองว่าสัญญาณที่รับรู้จะไม่เกิน 1.1V คุณสามารถใช้ประโยชน์จากการอ้างอิงแรงดันภายใน อีกครั้งที่ฉันจะใช้ตัวควบคุม 1.8V ดูสง่างามกว่าฉันกำลังจ่ายไฟให้กับเซ็นเซอร์แรงดันไฟฟ้าต่ำของฉันด้วยเพื่อตั้งค่าการอ้างอิง


นอกจากนี้คุณสามารถป้อนข้อความซ้ำ "คำสั่งของ Atmel ถูก จำกัด ให้ใช้แรงดันไฟฟ้าภายนอกที่ไม่มีข้อ จำกัด กับ AREF หรือไม่" ฉันไม่เข้าใจ "จำกัด เฉพาะที่ไม่มีข้อ จำกัด " ขอบคุณ
Telaclavo

@Telaclavo ผมได้ทำคำสั่งที่ชัดเจน (หวังว่า)
vicatcu

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

@Telaclavo ไม่มี Arduino เฉพาะในใจ Uno จะพอเพียงเป็นตัวอย่าง บนบอร์ดฐาน AREF ไม่ได้เชื่อมต่อกับแหล่งจ่ายแรงดัน แต่เพียงแยกตัวกับ GND ผ่านตัวเก็บประจุ 100nF ถ้าฉันมี 1.8V เร็กกูเลเตอร์บนชิลด์ฉันสามารถเชื่อมต่อมันเข้ากับ AREF โดยใช้เฮดเดอร์ส่วนหัวด้วยตัวต้านทาน 5kOhm เพื่ออ้างอิง ATMega328 ADC ถึง 1.8V จากนั้นเปลี่ยนไปใช้การอ้างอิง AVCC ภายใน (ซึ่ง เชื่อมต่อกับ 5V บน Uno) ในซอฟต์แวร์เพื่ออ้างอิง ATMega328 ADC ถึง 5V
vicatcu

ตกลงก่อนอื่นฉันคิดว่าตัวต้านทาน 5 kohm รวมอยู่ใน Arduinos แต่มันไม่ใช่ ฉันเพิ่งปรับปรุงคำตอบของฉัน และฉันคิดว่าความสับสนของคุณมาจากการไม่ยอมรับว่าตัวต้านทาน 32 kohm เปลี่ยนจาก AREF เป็นกราวด์ ไม่เช่นนั้นฉันจะไม่เข้าใจ "และถ้าเป็นเช่นนั้น
Telaclavo

คำตอบ:


8

ฉันไม่เห็นปัญหาใด ๆ กับการใช้แรงดันภายนอกผ่านตัวต้านทาน 5 kohm ไปยังอินพุตอ้างอิง Arduino หรือดีกว่าด้วยการใช้ตัวแบ่งความต้านทานเพื่อให้คุณเปลี่ยน 5 V เป็นแรงดัน AREF ที่คุณต้องการในขณะเดียวกันก็แสดงความต้านทานแหล่งที่มาประมาณ 5 kohm ข้อกำหนดที่สองนี้ไม่จำเป็นต้องแม่นยำ นั่นเป็นเพียงการ จำกัด กระแสที่จะไหลจาก AVCC ลงกราวด์ผ่านวงจรภายนอก

แผนผัง

หากคุณต้องการจบด้วย 1.8 V ที่อินพุต AREF ของ MCU เพียงเลือก R1 และ R2 VAREF=5·R2||32000R1+(R2||32000)= 1.8 V และ RsโอยูRอี=R1||R2 5 kohm

เมื่อคุณต้องการทำงานกับช่วง [0, 1.8] V ปิดการอ้างอิงภายในกับ ATMega และเมื่อคุณต้องการทำงานกับ [0, 5] V ให้เปิดใช้งานการอ้างอิง AVCC ภายใน (ถ้าเป็น 5 V) . หาก MOSFET ที่แสดงในรูปที่ 24-1 (ที่เชื่อมต่อการอ้างอิงภายในกับสาย AREF) มีความต้านทานต่ำกว่า 5 kohm มาก (ซึ่งฉันคิดว่ามันมี) วงจรภายในจะเห็น AVCC ในสถานการณ์ที่สองนี้ท่อระบายน้ำปัจจุบันจาก AVCC ภายใน (สันนิษฐาน 5 V) ไปยังตัวแบ่งตัวต้านทานภายนอกของคุณจะเป็น 1 mA แต่นั่นไม่ใช่ปัญหา

โดยสรุป: มันจะเป็นคำแนะนำที่ไม่ดีหากมีสิ่งใดเสียหายได้ แต่ 1 mA จะไม่เกิดความเสียหายอะไร


+1 สำหรับการโทรหารูปที่ 24-1 ... ซึ่งแนะนำให้ฉัน (เช่นกัน) ว่าตัวต้านทาน จำกัด ปัจจุบันของ AREF เป็นเดิมพันที่ปลอดภัย
vicatcu

1
ผมคิดว่าผมอยากจะรับแรงดันขนาดเล็กที่ Aref และใช้ตัวต้านทาน 5kOhm เดียวภายนอกที่มาจาก 1.8V ควบคุมแม้ว่า ... แต่ผมพบคำตอบของคุณจะคุ้มค่าของการยอมรับ
vicatcu

1

คำอธิบายที่ยอดเยี่ยมเกี่ยวกับการกำหนดค่าภายในของ Aref PIN และเกี่ยวกับบทบาทที่หมุดนี้เล่นเมื่อใช้ ADC จาก Arduino

นี่คือสองเซ็นต์ของฉัน ฉันเพิ่งปรับเปลี่ยนวงจรเล็กน้อยเพื่อชี้แจงว่าตัวต้านทาน 32 kOhms เป็นภายใน ยิ่งไปกว่านั้นฉันได้รวมการกำหนดค่าทางเลือกเพื่อทำให้การใช้ Vref ภายนอกปลอดภัยยิ่งขึ้นสมการสำหรับ R1 และ R2 นั้นได้รับหลังจาก จำกัด กระแสผ่านที่ 1mA สถานการณ์ที่เลวร้ายที่สุด (ปิดสวิตช์ภายในโดยไม่ตั้งใจ) ได้รับการพิจารณาเพื่อรับสูตรสำหรับ R1 และ R2

ไชโย
ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.