ประเภท: วงจรไมโครคอนโทรลเลอร์
จำนวนการดู: 13565
ความเห็นเกี่ยวกับบทความ: 0

คุณสมบัติการเชื่อมต่ออุปกรณ์กับ Arduino

 

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

หากแอคทูเอเตอร์และกลไกบางตัวเชื่อมต่อไม่ถูกต้องคุณสามารถเบิร์นพอร์ต arduinka ได้ วิธีที่จะไม่เผา Arduino) และถ้าคุณไม่รู้วิธีจัดการอุปกรณ์ดิจิตอล - อย่างดีที่สุดคุณก็จะไม่สามารถสร้างการเชื่อมต่อได้

คุณสมบัติการเชื่อมต่ออุปกรณ์กับ Arduino

ฉันซื้อโมดูลหลายตัวสำหรับ arduino จะต้องทำอย่างไรต่อไป

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

แผ่นข้อมูลหรือแผ่นข้อมูลเป็นเอกสารทางเทคนิคสำหรับผลิตภัณฑ์ เอกสารดังกล่าวสามารถดาวน์โหลดไปยังชิปหรือเซ็นเซอร์ใด ๆ โดยปกติแล้วพวกเขาจะอยู่ในเว็บไซต์ของผู้ผลิต นอกจากนี้ยังมีทรัพยากรพิเศษบนเครือข่ายซึ่งมีการรวบรวมเอกสารทางเทคนิคจำนวนมาก

อ่านข้อมูลจากแผ่นข้อมูลอย่างระมัดระวัง แต่สิ่งที่ฉันควรมองหา? ประการแรกชิปนอกเหนือจากส่วนหลักของชื่อมักจะมีส่วนตัวแปรหรือคำนำหน้า - ส่วนใหญ่มักจะเป็นตัวอักษรหนึ่งตัวหรือมากกว่า

สิ่งนี้บ่งชี้คุณลักษณะบางอย่างของ microcircuit เฉพาะตัวอย่างเช่นกำลังไฟสูงสุด, แรงดันไฟฟ้าที่จ่ายและระดับลอจิก (ถ้าอุปกรณ์เป็นดิจิตอล), อาจเป็นไปได้ว่ามันถูกใช้งาน ฯลฯ

หากคุณไม่พบข้อมูลโภชนาการและบันทึกในแผ่นข้อมูล ระดับติดต่อชุมชนที่พูดภาษารัสเซียของ arduino ในฟอรั่มของพวกเขาคุณสมบัติของโมดูลทั่วไปทั้งหมดได้รับการพิจารณา

ArduinoUno มีแหล่งจ่ายไฟและระดับตรรกะ 5 V หากอุปกรณ์ภายนอกทำงานในช่วง 3.3 V คุณจะต้องจัดรูปแบบคุณสามารถจัดเรียงกำลังไฟโดยใช้ LDO stabilizer (เชิงเส้นที่มีการลดลงต่ำเพื่อให้มีเสถียรภาพอย่างน้อย 1.3 โวลต์ของ ปัจจุบันเทียบกับ 2 โวลต์บนตัวสร้างความมั่นคงของซีรีย์ 78xx ซึ่งช่วยให้คุณได้รับ 3.3 โวลต์จาก 4.5 โวลต์ (แบตเตอรี่สามนิ้ว)

โคลง LDO

เอกสารทางเทคนิคสำหรับเซ็นเซอร์และอุปกรณ์ดิจิตอลยังระบุชื่อของโปรโตคอลที่ "สื่อสาร" ซึ่งกันและกัน สิ่งเหล่านี้สามารถเป็นโปรโตคอลเดี่ยวและมาตรฐานเดียวกัน:

  • UART;

  • I2C;

  • SPI

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


การปรับสภาพสัญญาณและการขยายสัญญาณ

คำถามเกี่ยวกับการจับคู่อุปกรณ์และแอคทูเอเตอร์กับ arduino เกิดขึ้นบ่อยครั้งในผู้เริ่มต้น เราจะพิจารณาเรื่องทั่วไป:

1. จับคู่วงจรแรงดันไฟฟ้า

2. การประสานพลังของขาออกและแอคทูเอเตอร์กล่าวอีกนัยหนึ่งคือการขยายแรงดันและ / หรือกระแส


การจับคู่ระดับ

ฉันควรทำอย่างไรถ้าระดับตรรกะในโมดูลของฉันคือ 3.3 โวลต์และใน arduino 5 โวลต์ มันค่อนข้างง่ายในการใช้ตัวแปลงระดับตรรกะ สามารถประกอบได้จากองค์ประกอบที่ไม่ต่อเนื่องหรือคุณสามารถซื้อโมดูลสำเร็จรูปบนบอร์ดตัวอย่างเช่น:

การจับคู่ระดับ

ตัวแปลงดังกล่าวเป็นแบบสองทิศทางคือ มันลดระดับสูงและเพิ่มการตอบสนองต่ำ LV (1,2,3,4) - แพลตฟอร์มสำหรับการเชื่อมต่อสัญญาณระดับต่ำ, HV (1,2,3,4) - ระดับสูง, HV และ LV ที่ไม่มีตัวเลข - เป็นแรงดันไฟฟ้าที่ 5 และ 3.3 โวลต์เช่นเดียวกับแหล่งสัญญาณแปลง GND - สายดินหรือสายลบ ในบางกรณีมี 4 ช่องอิสระ


การจับคู่วงจรที่มีความแตกต่างของแรงดันไฟฟ้าขนาดใหญ่

หากคุณกำลังจะเริ่มสัญญาณเช่นจากวงจรไฟฟ้าแรงสูงเช่น 220 V คุณต้องใช้ออปโตคัปเปลอร์สิ่งนี้จะช่วยให้แยกกระแสไฟฟ้าและการป้องกันการระเบิดแรงดันสูงของอินพุตของไมโครคอนโทรลเลอร์ วงจรดังกล่าวใช้สำหรับรับสัญญาณและส่งสัญญาณจากไมโครคอนโทรลเลอร์ไปยังเครือข่ายรวมทั้ง เพื่อควบคุม triacs ในโซ่

การจับคู่วงจรที่มีความแตกต่างของแรงดันไฟฟ้าขนาดใหญ่

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

หากมีการก้าวกระโดดครั้งใหญ่ optocoupler จะทำการเบิร์นภาพคือ PC8171 แต่คุณจะไม่โอเวอร์โหลดพอร์ตของไมโครคอนโทรลเลอร์


การเชื่อมต่อผู้บริโภคที่มีประสิทธิภาพ

เนื่องจากไมโครคอนโทรลเลอร์สามารถควบคุมการทำงานของอุปกรณ์ได้เท่านั้นคุณจึงไม่สามารถเชื่อมต่อผู้ใช้ที่มีประสิทธิภาพเข้ากับพอร์ตได้ ตัวอย่างของผู้บริโภคดังกล่าว:

  • ถ่ายทอด;

  • solenoids;

  • มอเตอร์ไฟฟ้า

  • เซอร์โว


1. การเชื่อมต่อ Servo

ภารกิจหลักของเซอร์โวไดรฟ์คือการกำหนดตำแหน่งของโรเตอร์ที่เชื่อมต่อกับแอคชูเอเตอร์เพื่อควบคุมและเปลี่ยนแปลงโดยใช้ความพยายามเพียงเล็กน้อย นั่นคือคุณด้วยความช่วยเหลือของโพเทนชิออมิเตอร์หากไดรฟ์เซอร์โวได้รับการออกแบบให้หมุนภายในครึ่งรอบการปฏิวัติ (180 องศา) หรือด้วยตัวเข้ารหัสหากจำเป็นต้องหมุนเป็นวงกลม (360 องศา) คุณสามารถควบคุมตำแหน่งของเพลาเซอร์โว

เซอร์โวสำหรับ Arduino

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

แผนภาพการเชื่อมต่อ Servo

ในบริการขนาดเล็กสำหรับมือสมัครเล่นจะมีบอร์ดที่มีเซ็นเซอร์ตำแหน่งและอิเล็กทรอนิกส์รวมอยู่ในเคส สามสายมักจะออกมาจากพวกเขา:

  • พลังแดงบวกพลังถ้าไดรฟ์อันทรงพลังเชื่อมต่อกับแหล่งจ่ายไฟภายนอกได้ดีกว่าไม่ใช่กับบอร์ด Arduino

  • สีดำหรือสีน้ำตาล - ลบ, การเชื่อมต่อรวมทั้งบวก;

  • สีเหลืองหรือสีส้ม - สัญญาณควบคุม - มันถูกป้อนจากขาดิจิตอลของไมโครคอนโทรลเลอร์ (สัญญาณออกดิจิตอล)

มีไลบรารีพิเศษสำหรับจัดการเซิร์ฟเวอร์การเข้าถึงมันถูกประกาศไว้ที่จุดเริ่มต้นของรหัสด้วยคำสั่ง "#include servo.h"



การเชื่อมต่อมอเตอร์

ในการขับเคลื่อนกลไกและปรับความเร็วการหมุนได้ง่ายที่สุดคือการใช้ DPT (มอเตอร์แปรงถ่าน DC พร้อมการกระตุ้นจากแม่เหล็กถาวร) คุณอาจเห็นมอเตอร์ดังกล่าวในรถยนต์ที่ควบคุมด้วยวิทยุ พวกมันกลับด้านได้ง่าย (เปิดเพื่อหมุนไปในทิศทางที่ถูกต้อง) คุณแค่ต้องเปลี่ยนขั้ว อย่าพยายามเชื่อมต่อพวกเขากับหมุดโดยตรง!

ควรใช้ทรานซิสเตอร์ จะพอดี สองขั้วใด ๆอย่างน้อย direct (pnp), conductivity อย่างน้อย reverse (npn) ฟิลด์ใช้งานได้เช่นกัน แต่เมื่อเลือกรายการใดรายการหนึ่งตรวจสอบให้แน่ใจว่าชัตเตอร์ทำงานด้วยระดับตรรกะหรือไม่

ไม่เช่นนั้นจะไม่เปิดอย่างสมบูรณ์หรือคุณจะเผาเอาต์พุตดิจิตอลของไมโครคอนโทรลเลอร์ในขณะที่ชาร์จความจุประตู - พวกเขาใช้ไดรเวอร์วิธีที่ง่ายที่สุดคือการปั๊มสัญญาณผ่านทรานซิสเตอร์สองขั้ว ด้านล่างเป็นวงจรควบคุมผ่าน ทรานซิสเตอร์สนามผล.

แผนภาพการเชื่อมต่อมอเตอร์

หากไม่มีตัวต้านทานระหว่าง G และ S ดังนั้นชัตเตอร์ (G) จะไม่ถูกดึงลงสู่พื้นและอาจ "เดิน" จากการรบกวนโดยธรรมชาติ

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

ข้อมูลจำเพาะของทรานซิสเตอร์
ข้อมูลจำเพาะของทรานซิสเตอร์

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

revs ของมอเตอร์ทั้งสองประเภทนี้สามารถปรับได้ง่ายโดยการเปลี่ยนแปลงแรงดันไฟฟ้าที่แตกต่างกัน สิ่งนี้สามารถทำได้หากฐานทรานซิสเตอร์เชื่อมต่อไม่ได้อยู่ในรูปแบบดิจิตอล (สัญญาณดิจิตอล) แต่ด้วยพิน (~ pwm) ค่าที่พิจารณาจากฟังก์ชั่น "analogWrite ()"


รีเลย์และโซลีนอยด์

สำหรับวงจรสวิตชิ่งที่ไม่จำเป็นต้องมีกฎข้อบังคับและการสวิตชิ่งบ่อยครั้งจะสะดวกต่อการใช้รีเลย์ คุณสามารถสลับกระแสและแรงดันไฟฟ้าใด ๆ ด้วยการสูญเสียความนำไฟฟ้าและความร้อนของสายไฟน้อยที่สุด

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

ขดลวดแม่เหล็กไฟฟ้า

โซลีนอยด์เป็นขดลวดหรือ แอคทูเอเตอร์แม่เหล็กไฟฟ้า.

ตัวอย่าง:

  • ไดรฟ์ล็อคประตูรถ

  • โซลินอยด์วาล์ว;

  • แม่เหล็กไฟฟ้าในการผลิตโลหะ

  • โรงไฟฟ้าของปืน Gaussian และอีกมากมาย

ไม่ว่าในกรณีใด ๆ วงจรทั่วไปสำหรับการเชื่อมต่อคอยล์ DC กับไมโครคอนโทรลเลอร์หรือลอจิกจะมีลักษณะดังนี้:

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

การเชื่อมต่อหลอดไฟผ่านรีเลย์

อุปกรณ์อินพุตและเซ็นเซอร์

คุณสามารถควบคุมระบบของคุณด้วยปุ่มตัวต้านทานตัวเข้ารหัส ใช้ปุ่มคุณสามารถส่งสัญญาณไปยังอินพุตดิจิตอลของระดับ arduino high (high / 5V) หรือระดับต่ำ (ต่ำ / 0V)

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

เชื่อมต่อปุ่มเข้ากับ Arduino

เมื่อกดปุ่มบนความต้านทานแรงดันไฟฟ้าจะลดลงนั่นคือระดับสูง เมื่อไม่ได้กดปุ่มจะไม่มีกระแสในวงจรศักยภาพของตัวต้านทานจะต่ำสัญญาณ "Low / 0V" จะถูกนำไปใช้กับอินพุต เงื่อนไขนี้เรียกว่า "ขาถูกดึงลงกับพื้นและตัวต้านทานคือ" ดึงลง "

หากคุณต้องการให้ไมโครคอนโทรลเลอร์รับ 0 แทน 1 เมื่อคุณคลิกที่ปุ่มให้เชื่อมต่อปุ่มที่ปิดตามปกติในลักษณะเดียวกันหรืออ่านวิธีเปิดโดยปกติ

เชื่อมต่อปุ่มเข้ากับ Arduino

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

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


ตัวแบ่งแรงดันและสัญญาณอินพุตจากโพเทนชิออมิเตอร์และตัวต้านทานแบบอะนาล็อก


 

ตัวแบ่งแรงดัน

ตัวแบ่งแรงดันไฟฟ้าใช้สำหรับเชื่อมต่อความต้านทานผันแปรเช่นเทอร์มิสเตอร์เทอร์มิสเตอร์ เนื่องจากความจริงที่ว่าหนึ่งในตัวต้านทานเป็นค่าคงที่และตัวแปรที่สอง - คุณสามารถสังเกตเห็นการเปลี่ยนแปลงแรงดันไฟฟ้าที่จุดกึ่งกลางของพวกเขาในภาพด้านบนจะแสดงเป็น Ur

ดังนั้นจึงเป็นไปได้ที่จะเชื่อมต่อเซ็นเซอร์แอนะล็อกต่าง ๆ ของตัวต้านทานชนิดและเซ็นเซอร์ซึ่งภายใต้อิทธิพลของแรงภายนอกทำให้เปลี่ยนสภาพนำไฟฟ้า เช่นเดียวกับโพเทนชิโอมิเตอร์

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

การเชื่อมต่อของโพเทนชิโอมิเตอร์และเซ็นเซอร์

ผลการวิจัย

ในการเชื่อมต่อโมดูลใด ๆ และนอกเหนือจากไมโครคอนโทรลเลอร์โดยไม่มีข้อผิดพลาดคุณจำเป็นต้องรู้พื้นฐานของวิศวกรรมไฟฟ้ากฎหมายของโอห์มข้อมูลทั่วไปเกี่ยวกับแม่เหล็กไฟฟ้ารวมถึงพื้นฐานของการทำงานของอุปกรณ์เซมิคอนดักเตอร์ ในความเป็นจริงคุณสามารถมั่นใจได้ว่าสิ่งนี้ทำได้ง่ายกว่าฟังคำศัพท์ที่ซับซ้อนเหล่านี้ ใช้ไดอะแกรมจากบทความนี้ในโครงการของคุณ!

ดูได้ที่ e.imadeself.com:

  • วิธีจัดการโหลด 220 โวลท์อย่างปลอดภัยโดยใช้ Arduino
  • ควบคุมมอเตอร์และเซอร์โวด้วย Arduino
  • วิธีการเชื่อมต่อตัวเข้ารหัสแบบเพิ่มหน่วยกับ Arduino
  • การเชื่อมต่อเซ็นเซอร์อะนาล็อกกับ Arduino อ่านเซ็นเซอร์
  • การวัดอุณหภูมิและความชื้นบน Arduino - การเลือกวิธีการ

  •