สารบัญ:

อุปกรณ์ทดสอบสเต็ปเปอร์มอเตอร์: 3 ขั้นตอน
อุปกรณ์ทดสอบสเต็ปเปอร์มอเตอร์: 3 ขั้นตอน

วีดีโอ: อุปกรณ์ทดสอบสเต็ปเปอร์มอเตอร์: 3 ขั้นตอน

วีดีโอ: อุปกรณ์ทดสอบสเต็ปเปอร์มอเตอร์: 3 ขั้นตอน
วีดีโอ: Stepper Motor เสียหรือเปล่า ? วิธีการตรวจเช็คเบื้องต้นหาก stepper motor ไม่หมุน 2024, พฤศจิกายน
Anonim
Image
Image
การเดินสายไฟ
การเดินสายไฟ

ฉันมีประสบการณ์เพียงเล็กน้อยหรือไม่มีเลยในการขับรถสเต็ปเปอร์มอเตอร์ ดังนั้นก่อนที่จะออกแบบ พิมพ์ ประกอบและตั้งโปรแกรมนาฬิกาอะนาล็อกแก้ไขอัตโนมัติ 'โบราณ' (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) โดยใช้สเต็ปเปอร์มอเตอร์ ฉันตัดสินใจออกแบบและทดสอบซอฟต์แวร์โดยใช้ฟิกซ์เจอร์ทดสอบที่ง่ายกว่ามาก หากคุณในฐานะฉันไม่มีประสบการณ์เกี่ยวกับสเต็ปเปอร์มอเตอร์เลยหวังว่าคำสั่งสั้น ๆ นี้พร้อมซอร์สโค้ดจะช่วยได้

ฟิกซ์เจอร์ทดสอบต้องการส่วนประกอบต่อไปนี้:

  • บอร์ดต้นแบบ.
  • Adafruit Feather ESP32 พร้อมส่วนหัวของเพศหญิง
  • บอร์ดควบคุมสเต็ปปิ้งตาม ULN2003
  • สเต็ปเปอร์มอเตอร์ 28BYJ-48 5vdc
  • สายจัมเปอร์ชายกับหญิงบางส่วน
  • แบตเตอรี่ลิเธียม Adafruit 3.7vdc
  • เข็มบ่งชี้ที่พิมพ์ 3 มิติ

ตัวควบคุมสเต็ปเปอร์ สเต็ปเปอร์มอเตอร์ และสายจัมเปอร์ที่ฉันใช้รวมอยู่ในแพ็ค 5 อันที่ฉันซื้อเป็นชุดทางออนไลน์ (ค้นหา "TIMESETL 5 ชิ้น DC 5V Stepper Motor 28BYJ-48 + 5 ชิ้น ULN2003 Driver Board + 40 ชิ้นสายจัมเปอร์ตัวเมีย ")

แบตเตอรี่เป็นอุปกรณ์เสริม หมายเหตุแบตเตอรี่เอาต์พุต 3.7vdc แต่บอร์ดควบคุม stepper และ stepper เป็น 5vdc ฟิกซ์เจอร์ทดสอบจะทำงานโดยใช้พลังงานจากแบตเตอรี่เท่านั้น แม้กระทั่งที่แรงดันไฟฟ้าต่ำกว่า

ฉันได้รวมวิดีโอที่แสดงขั้นตอนที่จำเป็นในการดาวน์โหลดซอฟต์แวร์ไปยัง ESP32 ต่อสาย ESP32 เข้ากับตัวควบคุมสเต็ปเปอร์มอเตอร์ และเสียบสเต็ปเปอร์มอเตอร์และแบตเตอรี่

ขั้นตอนที่ 1: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

ฉันใช้สายจัมเปอร์ตัวผู้/ตัวเมียที่รวมอยู่ในชุดอุปกรณ์เพื่อต่อสายกับฟิกซ์เจอร์ทดสอบ ต้องใช้สายไฟหกเส้นและใส่ดังนี้:

  1. ESP32 พิน 14 (ตัวผู้) กับพินบอร์ดสเต็ป IN4 (ตัวเมีย)
  2. ESP32 พิน 32 (ตัวผู้) กับพินบอร์ดสเต็ป IN3 (ตัวเมีย)
  3. ESP32 พิน 15 (ตัวผู้) ถึงพินบอร์ดสเต็ป IN2 (ตัวเมีย)
  4. ESP32 พิน 33 (ตัวผู้) กับพินบอร์ดสเต็ป IN1 (ตัวเมีย)
  5. ESP32 ปักหมุด "GND" (ตัวผู้) เข้ากับหมุดบอร์ดสเต็ปปิ้ง "-" (ตัวเมีย)
  6. ESP32 พิน "USB" (ตัวผู้) สำหรับการใช้งาน USB หรือ "BAT" (ตัวผู้) สำหรับการใช้งานแบตเตอรี่ กับพินบอร์ดสเต็ป "+" (ตัวเมีย)

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

สุดท้าย หากใช้แบตเตอรี่ ให้เสียบเข้ากับขั้วต่อแบตเตอรี่ ESP32

ขั้นตอนที่ 2: ตัวบ่งชี้

ตัวบ่งชี้
ตัวบ่งชี้

สำหรับตัวบ่งชี้บนสเต็ปเปอร์มอเตอร์ ฉันออกแบบและพิมพ์ 3 มิติของเข็มบ่งชี้ "Hand.stl" ฉันพิมพ์เข็มบ่งชี้ที่ความสูงของชั้น.15 มม. เติม 20% โดยไม่มีการรองรับ จากนั้นกดลงบนเพลาของสเต็ปเปอร์มอเตอร์

คุณสามารถใช้เทป กระดาษแข็ง หรือวัสดุอื่นๆ เป็นตัวบ่งชี้แทนได้

ขั้นตอนที่ 3: ซอฟต์แวร์

ซอฟต์แวร์
ซอฟต์แวร์

ฉันเขียนซอฟต์แวร์ทดสอบ stepper ในสภาพแวดล้อม Arduino 1.8.5 หากคุณยังไม่ได้ดำเนินการดังกล่าว ให้ดาวน์โหลดสภาพแวดล้อม Arduino และไดรเวอร์ USB ที่จำเป็นลงในคอมพิวเตอร์ของคุณแล้วติดตั้ง นอกจากนี้ โปรดเยี่ยมชมเว็บไซต์ Adafruit สำหรับซอฟต์แวร์เพิ่มเติมที่เกี่ยวข้องกับ Adafruit ESP32 ฉันพบว่าลิงก์นี้มีประโยชน์มาก: Adafruit ESP32 และ Arduino Environment

ด้วยสาย USB ที่เชื่อมต่อระหว่างคอมพิวเตอร์ของคุณและ ESP32 และโหลด "Stepper.ino" ในสภาพแวดล้อม Arduino ให้ดาวน์โหลด "Stepper.ino" ไปยัง ESP32

เมื่อดาวน์โหลดแล้ว สเต็ปเปอร์ควรก้าว 6 องศาหนึ่งครั้งต่อวินาที

ฉันเขียนซอฟต์แวร์ทดสอบนี้ด้วยเหตุผลสองประการ ขั้นแรก เพื่อเรียนรู้วิธีขับสเต็ปเปอร์มอเตอร์ และวินาที เพื่อแปลง 4096 สเต็ปต่อการหมุนของสเต็ปเปอร์มอเตอร์เป็น "ขีด" 6 องศา 60 วินาทีสำหรับนาฬิกา

ฟังก์ชัน "Step(nDirection)" ขับเคลื่อนสเต็ปเปอร์มอเตอร์ ฟังก์ชันนี้จะรักษาตัวแปรจำนวนเต็ม (คงที่) ในพื้นที่ "nPhase" ซึ่งจะเพิ่มขึ้นหรือลดลงทีละหนึ่ง (ทุกครั้งที่เรียกใช้ฟังก์ชัน) ตามเครื่องหมายของอาร์กิวเมนต์ของฟังก์ชัน nDirection ตัวแปรนี้ถูกจำกัดในช่วง 0 ถึง 7 ซึ่งเมื่อใช้ร่วมกับสวิตช์เคส จะขับเคลื่อนเฟสของมอเตอร์ตามข้อกำหนดของผู้ผลิตสำหรับแต่ละขั้นตอน

ฟังก์ชัน "อัปเดต ()" กำหนดเวลาและจำนวนขั้นตอนที่ต้องทำสำหรับแต่ละขีดเพื่อให้มีพื้นที่เท่ากัน 60 ขีดต่อการหมุน 360 องศา ฟังก์ชันนี้สเต็ปมอเตอร์สเต็ป 68 หรือ 69 สเต็ปสำหรับแต่ละขีด ตัวอย่างเช่น หากฟังก์ชันใช้เพียง 68 ขั้นต่อขีด ดังนั้น (68 ขั้น * 60 ขั้น) = 4080 ขั้นตอนจะไม่เพียงพอสำหรับการหมุน 360 องศา (โปรดจำไว้ว่า stepper ต้องการ 4096 ขั้นตอนสำหรับการหมุน 360 องศา) และหากฟังก์ชันใช้ 69 ก้าวต่อขีด ดังนั้น (69 ก้าว * 60 ก้าว) = 4140 ก้าวมากเกินไป อัลกอริธึมง่ายๆ ที่ฉันเขียนจะกระจายการติ๊ก 68 และ 69 ขั้นตลอดการหมุน 360 องศา และสามารถกำหนดทิศทางการหมุนได้เร็วที่สุดในการนับวินาทีที่ต้องการ (ใช้ในนาฬิกา)

และนั่นคือวิธีที่ฉันออกแบบและทดสอบซอฟต์แวร์สำหรับนาฬิกาอะนาล็อกแก้ไขอัตโนมัติ 'โบราณ'

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

แนะนำ: