DRV8825: ไดรเวอร์สำหรับสเต็ปเปอร์มอเตอร์

drv8825

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

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

ทำไมต้องมีคนขับ?

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

ประเภทไดรเวอร์

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

  • ไดร์เวอร์สำหรับมอเตอร์แบบ unipolar: เป็นวิธีที่ง่ายที่สุดในการควบคุมเนื่องจากกระแสที่ไหลผ่านขดลวดจะไปในทิศทางเดียวกันเสมอ งานของคนขับก็ต้องรู้ว่าขดลวดใดที่ต้องเปิดใช้งานในแต่ละพัลส์ ตัวอย่างของคอนโทรลเลอร์ประเภทนี้จะเป็น ULN2003A
  • ไดรเวอร์สำหรับมอเตอร์สองขั้ว: มอเตอร์เหล่านี้มีความซับซ้อนมากกว่าและไดรเวอร์ก็เช่นกันเช่น DRV8825 ในกรณีนี้สามารถเปิดใช้งานด้วยกระแสไฟฟ้าในทิศทางเดียวหรืออีกทิศทางหนึ่ง (เหนือ - ใต้และใต้ - เหนือ) เป็นตัวขับเคลื่อนที่กำหนดทิศทางในการเปลี่ยนขั้วของสนามแม่เหล็กที่ผลิตภายในมอเตอร์ วงจรที่รู้จักกันดีที่สุดสำหรับการกลับทิศทางเรียกว่า Punete H ทำให้เครื่องยนต์หมุนได้ทั้งสองทิศทาง H-bridge นั้นประกอบด้วยทรานซิสเตอร์หลายตัว

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

DRV8825

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

DRV8825 ช่วยให้สามารถทำงานกับแรงดันไฟฟ้าได้สูงกว่าที่ใช้โดย A4988 เนื่องจาก สามารถเข้าถึง 45v แทนที่จะเป็น 35v ของ A4988 นอกจากนี้ยังสามารถรองรับกระแสที่สูงขึ้นโดยเฉพาะ 2.5A ซึ่งมากกว่า A4988 ถึงครึ่งแอมป์ นอกจากนั้นไดรเวอร์ใหม่นี้ยังเพิ่มโหมด 1/32 microstepping ใหม่ (1/16 สำหรับ A4988) เพื่อให้สามารถเคลื่อนย้ายเพลามอเตอร์ได้อย่างแม่นยำยิ่งขึ้น

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

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

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

ไมโครสเต็ปปิ้ง

ไมโครสเต็ปปิ้ง

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

แต่แน่นอนว่าคุณไม่สามารถรับสัญญาณอนาล็อกนั้นได้เพราะ เราทำงานกับสัญญาณดิจิทัล. นั่นคือเหตุผลที่สิ่งเหล่านี้ควรได้รับการปฏิบัติเพื่อพยายามจำลองสัญญาณแอนะล็อกผ่านการกระโดดเล็ก ๆ ในสัญญาณไฟฟ้า ความละเอียดของมอเตอร์จะขึ้นอยู่กับสิ่งนี้: 1/4, 1/8, 1/16, 1/32, ...

ในการเลือกความละเอียดที่คุณต้องการคุณต้องควบคุมพิน M0, M1 และ M2 ของโมดูล พินเชื่อมต่อกับกราวด์หรือ GND โดยตัวต้านทานแบบดึงขึ้นดังนั้นหากไม่มีการเชื่อมต่อพวกมันจะเป็น LOW หรือ 0 เสมอในการเปลี่ยนค่านี้คุณจะต้องบังคับให้มีค่าเป็น 1 หรือสูง ค่าของ M0, M1, M2 ตามลำดับสิ่งที่ต้องเป็นไปตามมติคือ:

  • ขั้นตอนเต็ม: ต่ำต่ำต่ำ
  • 1/2: สูงต่ำต่ำ
  • 1/4: ต่ำสูงต่ำ
  • 1/8: สูงสูงต่ำ
  • 1/16: ต่ำต่ำสูง
  • 1/32: ค่าอื่น ๆ ที่เป็นไปได้ทั้งหมด

pinout

DRV8825 พินเอาต์

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

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

  1. เชื่อมต่อไดรเวอร์กับแรงดันไฟฟ้า โดยไม่ต้องเชื่อมต่อมอเตอร์หรือ microstepping
  2. วัดด้วยมัลติมิเตอร์ ความตึงเครียด ที่มีอยู่ระหว่าง GND และโพเทนชิออมิเตอร์
  3. ปรับโพเทนชิออมิเตอร์ จนกว่าจะได้ค่าที่เหมาะสม
  4. ตอนนี้คุณสามารถ ปิดเครื่อง.
  5. ในขณะนี้ใช่คุณทำได้ เชื่อมต่อมอเตอร์. และเชื่อมต่อไฟฟ้ากับนักประดาน้ำอีกครั้ง.
  6. ด้วยการวัดมัลติมิเตอร์ ความเข้มระหว่างไดรเวอร์และมอเตอร์ ทีละขั้นตอนและคุณสามารถปรับโพเทนชิออมิเตอร์ได้ละเอียดขึ้น
  7. ปิดเครื่องอีกครั้งและ ตอนนี้คุณสามารถเชื่อมต่อกับ Arduino ได้แล้ว.

หากคุณไม่ได้จะใช้ microstepping คุณสามารถปรับความเข้มของตัวควบคุมได้ มากถึง 100% ของกระแสมอเตอร์ที่ได้รับการจัดอันดับ แต่ถ้าจะใช้ต้องลดขีด จำกัด นี้เพราะค่าที่จะหมุนเวียนจะสูงกว่าค่าที่วัดได้ ...

l298n
บทความที่เกี่ยวข้อง:
L298N: โมดูลควบคุมมอเตอร์สำหรับ Arduino

บูรณาการกับ Arduino

แผนผังของ ARduino และ DRV8825

ในการใช้ไดรเวอร์ DRV8825 กับ Arduino การเชื่อมต่อค่อนข้างง่าย ดังที่คุณเห็นที่ด้านบนในแผนผังอิเล็กทรอนิกส์จาก Fritzing:

  • VMOT: เชื่อมต่อกับพลังงานสูงสุด 45v
  • GND: กราวด์ (มอเตอร์)
  • SLP: ที่ 5v
  • RST: ที่ 5v
  • GND: ถึงพื้น (ตรรกะ)
  • STP: ถึง Arduino pin 3
  • DIR: ถึง Arduino pin 2
  • A1, A2, B1, B2: ไปยัง stepper (มอเตอร์)

เมื่อเชื่อมต่อและปรับแต่งอย่างถูกต้องแล้วรหัสสำหรับการควบคุมก็ตรงไปตรงมาเช่นกัน ตัวอย่างเช่นในการควบคุมสเต็ปเปอร์มอเตอร์คุณสามารถใช้สิ่งต่อไปนี้ รหัสใน Arduino IDE:

const int dirPin = 2;
const int stepPin = 3;
 
const int steps = 200;
int stepDelay;
 
void setup() {
   // Configura los pines como salida
   pinMode(dirPin, OUTPUT);
   pinMode(stepPin, OUTPUT);
}
 
void loop() {
   //Se pone una dirección y velocidad
   digitalWrite(dirPin, HIGH);
   stepDelay = 250;
   // Se gira 200 pulsos para hacer vuelta completa del eje
   for (int x = 0; x < 200; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
 
   //Ahora se cambia la dirección de giro y se aumenta la velocidad
   digitalWrite(dirPin, LOW);
   stepDelay = 150;
   //Se hacen dos vueltas completas
   for (int x = 0; x < 400; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
}

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

ไปยัง ข้อมูลเพิ่มเติม เกี่ยวกับสเต็ปเปอร์มอเตอร์การควบคุมและการเขียนโปรแกรม Arduino ฉันขอแนะนำ ดาวน์โหลดหลักสูตรการเขียนโปรแกรมของเราได้ฟรี.


3 ความคิดเห็นฝากของคุณ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   พระเยซู dijo

    สวัสดีฉันกำลังสร้าง CNC แบบโฮมเมดด้วย drv8825 คำถามของฉันคือถ้าฉันสามารถใส่มอเตอร์ nema 23 2.8a ได้เนื่องจากราคาค่อนข้างถูกกว่า 2.5a ฉันจะมีปัญหาหรือไม่? ขอขอบคุณ

    1.    ไอแซก dijo

      สวัสดีพระเยซู
      ขอบคุณที่อ่านเรา สำหรับข้อสงสัยของคุณให้จับตาดูไดรเวอร์ที่คุณกำลังจะใช้เพื่อให้เข้ากันได้กับเครื่องยนต์เหล่านั้น กรณีของ DRV8825 สูงสุด 2.5A มองไปเห็น TB6600 ขึ้นได้ถึง 3.5A ถ้าจำไม่ผิด ...
      ทักทาย!

  2.   Rodolfo dijo

    Salaudos ค่าของตัวเก็บประจุไฟฟ้าที่อยู่ในแหล่งจ่ายไฟของมอเตอร์คืออะไร ขอบคุณ.