อุปกรณ์ที่มีกระแสสูงกว่า (มอเตอร์โซเลนอยด์ไฟ ฯลฯ ) สามารถควบคุมโดย Arduino ได้อย่างไร


18

ฉันกำลังมองหาโซลูชันที่สามารถใช้ได้อย่างกว้างขวางซึ่งสามารถปรับให้เข้ากับโครงการที่หลากหลาย

ขณะนี้ฉันกำลังทำงานในหลายโครงการที่แต่ละคนต้องการอุปกรณ์ควบคุมตั้งแต่ 800mA ถึง 2A จาก Arduino Uno มอเตอร์สเต็ปปิ้งหนึ่งตัวควบคุมหนึ่งตัวควบคุม 12vdc โซลินอยด์วาล์วและหนึ่งตัวควบคุมวาล์วนิวเมติก 12vdc

ตัวอย่างเช่น:

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

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

ความเร็วในการทำต้นแบบชิ้นส่วนมาตรฐานและต้นทุนต่ำเป็นปัจจัยขับเคลื่อน การเปลี่ยนความเร็วอายุการใช้งานและเสียงรบกวนก็สำคัญเช่นกัน

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


1
คณะกรรมการนี้จะควบคุมอะไร ความต้านทานหรือแรงดันไฟฟ้า? หรืออุปกรณ์ตัวเอง?
hichris123

บอร์ดจะควบคุมอุปกรณ์เอง ฉันได้เพิ่มรายละเอียดให้กับคำถาม
jlbnjmn

กำหนด "กระแสสูง"
jippie

คำตอบ:


13

ในการขับกระแสสูงดังกล่าวคุณอาจต้องแยกทรานซิสเตอร์หลาย ๆ ตัว (คุณสามารถใช้ทรานซิสเตอร์ดาร์ลิงตัน ) มีอาร์เรย์ของดาร์ลิงตันติดตั้งอยู่ในชิป (เช่น ULN2803A มี 8 ทรานซิสเตอร์ดาร์ลิงตัน แต่ จำกัด 500mA)

คุณอาจจะต้องจัดการกับทรานซิสเตอร์กำลังที่สูงขึ้น เป็นตัวอย่างที่ฉันพบว่า STMicroelectronics TIP110ซึ่งสามารถรองรับการสลับกระแส 2A (สูงสุด 4A) แต่มันอาจจะต้องใช้ฮีทซิงค์เพื่อกระจายความร้อน

โปรดทราบว่าฉันสงสัยว่าสเตปเตอร์ของคุณต้องการกระแส 2A หรือไม่ สำหรับ steppers โดยทั่วไปคุณสามารถหา IC ที่สามารถขับได้ง่ายเช่น L293D แต่อันนี้สามารถขับได้ "เพียง" 600mA)

โดยสรุปแล้วฉันเกรงว่าคุณจะไม่พบโซลูชัน "ขนาดเดียวที่เหมาะกับทุกคน" เนื่องจากอุปกรณ์ทั้งหมดของคุณแตกต่างกันและควรได้รับการขับเคลื่อนด้วยวงจรที่เหมาะสม

แก้ไข:

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

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

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

เกี่ยวกับราคามี MOSFET หลายชนิดที่แตกต่างกันออกไป แต่ฉันคิดว่าคุณสามารถหาหนึ่งที่เหมาะกับความต้องการของคุณ (12V, 2A) ในราคาต่ำกว่า $ 1

ผมแนะนำให้คุณดูบทความที่ดีเกี่ยวกับหัวข้อนี้


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

1
โปรดทราบว่าแม้จะมี TIP110 คุณอาจจะต้องเพิ่มทรานซิสเตอร์ขนาดเล็กลงระหว่างมันและขาออก Arduino เนื่องจาก TIP110 สามารถวาด 50mA บนฐานซึ่งสูงเกินไปสำหรับขา Arduino
jfpoilpret

ผมคิดว่า TIP 120 เหมาะสำหรับการนี้เป็นไปตามแผ่นข้อมูลมันคือความสามารถในการจัดการกระแสถึง 5A & 6V - fairchildsemi.com/datasheets/TI/TIP120.pdf
Yasitha Chinthaka

7

มีหลายวิธีในการสลับโหลดที่สูงขึ้นและ jfpoilpret ได้อธิบายตัวเลือกที่ดีบางอย่าง ฉันจะสรุปโซลูชันที่ใช้รีเลย์สองสามตัวซึ่งส่วนใหญ่จะเหมาะสมสำหรับความเร็วในการสลับค่อนข้างช้า (เช่นมักจะไม่เหมาะสำหรับ PWM)

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

ภายในพวกเขามักจะประกอบด้วย MOSFETs และไทริสเตอร์หรือคล้ายกัน สิ่งนี้สามารถทำให้พวกเขาบรรลุความเร็วการสลับค่อนข้างสูงในทางทฤษฎี แต่ในทางปฏิบัติยิ่งมีพลังมากขึ้นเท่าไหร่มันก็ยิ่งเปลี่ยนได้เร็วขึ้นเท่านั้น นั่นหมายถึงความเร็วสูง + พลังงานสูงอาจมีราคาแพง

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

รีเลย์เชิงกลด้วยไฟฟ้า
นี่เป็นวิธีที่ 'ดั้งเดิม' มากขึ้น Electro Mechanical Relay (EMR) เป็นส่วนประกอบที่ค่อนข้างง่ายประกอบด้วยสวิตช์เชิงกลที่ควบคุมโดยขดลวดแม่เหล็กไฟฟ้า หากสวิตช์เปิดอยู่ตามปกติขดลวดจะดึงปิดเมื่อมีการใช้กระแสควบคุม ในทางตรงกันข้ามสวิตช์ที่ปิดตามปกติจะถูกดึงเปิดขึ้นเมื่อมีการใช้กระแสควบคุม

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

แม้ว่าจะมีข้อเสียอยู่หลายประการ แง่มุมทางกลหมายถึง EMR มักจะช้ากว่าโซลูชั่นสวิตชิ่งที่ไม่ใช่เชิงกลมากและอาจได้รับการตีกลับจากการสัมผัส นอกจากนี้พวกเขาสามารถทรุดโทรมทางร่างกายและอาจได้รับผลกระทบจากสิ่งต่าง ๆ เช่นแรงกระแทกการสั่นสะเทือนและ (อาจ) สนามแม่เหล็กอื่น ๆ

เมื่อออกแบบวงจรเพื่อใช้ EMR จำเป็นต้องระวัง back-EMF (แรงเคลื่อนไฟฟ้า) เมื่อมีการใช้กระแสควบคุมขดลวดจะทำหน้าที่เป็นตัวเหนี่ยวนำโดยเก็บประจุทางแม่เหล็กไฟฟ้า เมื่อกระแสควบคุมหยุดประจุที่เก็บไว้สามารถพุ่งกลับผ่านวงจรควบคุมสร้างแรงดันไฟฟ้าเชิงลบที่มีขนาดใหญ่

สไปค์นี้สามารถสร้างความเสียหาย / ทำลายส่วนประกอบใด ๆ ที่แนบมาหรือพินไมโครคอนโทรลเลอร์ โดยทั่วไปจะมีการป้องกัน / บรรเทาด้วยการใส่ไดโอดในสิ่งที่ตรงกันข้ามในหน้าสัมผัสการควบคุมของรีเลย์ ในบริบทนี้บางครั้งเรียกว่า flyback diode และทำให้ EMF กระจายได้อย่างปลอดภัย


คุณจะบอกว่า MOSFET ที่ใช้ตามที่อธิบายไว้ในบทความที่เชื่อมโยงโดย jfpoilpret จะเป็นทางเลือกที่เหมาะสมกับรีเลย์ไฟฟ้าสำหรับงานเหล่านี้หรือไม่?
jlbnjmn

ใช่สำหรับแอปพลิเคชันที่คุณอธิบายฉันคาดหวังว่า MOSFET จะเพียงพอ เพียงจำไว้ว่าพวกมันไวต่อการคายประจุแบบคงที่ดังนั้นโปรดใช้ความระมัดระวังอย่างเหมาะสมเมื่อจัดการกับมัน
Peter Bloomfield

3

ตามที่ jfpoilpret ได้กล่าวไว้แล้วกระแสไฟ MOSFET นั้นยอดเยี่ยมสำหรับการเปิดและปิดกำลังไฟ 12 VDC ไปยังอุปกรณ์ที่ดึงได้ถึง 44 A มี MOSFET พลังงานหลายสิบตัวในราคา $ 1 MOSFET ที่มีราคาแพงกว่านั้นมีอยู่ที่สามารถจัดการกับกระแสและแรงดันไฟฟ้าที่สูงขึ้นได้มาก

โดยหลักการแล้วมันเป็นไปได้ที่จะขับมอเตอร์สเต็ปเปอร์ด้วยไมโครคอนโทรลเลอร์และทรานซิสเตอร์จำนวนหนึ่งและชิ้นส่วนเล็ก ๆ อีกสองสามตัว อย่างไรก็ตามหลายคนชอบที่จะใช้ "ชิปขับ stepper" ดังนั้นจึงเป็นไปไม่ได้ที่ซอฟต์แวร์บั๊กจะเปิดทรานซิสเตอร์โดยไม่ตั้งใจในลักษณะที่ทำให้แหล่งจ่ายไฟสั้นลงถึงพื้น (โดยทั่วไปจะทำลายทรานซิสเตอร์อย่างน้อย 2 ตัว) ชิปขับสเต็ปเปอร์ล่าสุดหลายตัวยังรองรับ microstepping, การ จำกัด กระแสไฟ, การป้องกันโอเวอร์โหลดความร้อนและคุณสมบัติที่ดีอื่น ๆ

ทั้งหมดชิปขับ stepper ที่ผมเคยได้ยินและไม่กี่ปิด -the-shelf ฝ่าวงล้อมบอร์ดที่ใช้ชิปเหล่านั้นมีการระบุไว้ใน http://reprap.org/wiki/stepper_motor_driver

โดยเฉพาะอย่างยิ่งเครื่องพิมพ์ RepRap 3D จำนวนมากที่ฉันเคยเห็นเชื่อมต่อ Arduino กับไดรเวอร์ Pololu stepperสี่ตัว (ต่ำกว่า $ 15 ต่อคน) เพื่อขับมอเตอร์ stepper ห้าตัว


0

ฉันสร้างวงจร Arduino (Arduino Nano) เพื่อจ่ายไฟ 12V Peltier (ซึ่งเป็นแหล่งพลังงานสูง) ด้วยการใช้ทรานซิสเตอร์ MTP3055V MOSFET 60V 12A และวงจรทำงานได้ดีมาก

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