UM2300 X-CUBE-SPN14 การขยายซอฟต์แวร์ไดรเวอร์ Stepper Motor สำหรับ STM32Cube User Manual

การแนะนำ
แพ็คเกจเสริม X-CUBE-SPN14 สำหรับ STM32Cube ช่วยให้คุณควบคุมการทำงานของสเต็ปเปอร์มอเตอร์ได้อย่างเต็มที่
เมื่อรวมเข้ากับบอร์ดขยาย X-NUCLEO-IHM14A1 หนึ่งตัวหรือมากกว่า ซอฟต์แวร์นี้จะช่วยให้บอร์ดพัฒนา STM32 Nucleo ที่เข้ากันได้สามารถควบคุมสเต็ปเปอร์มอเตอร์ได้ตั้งแต่หนึ่งตัวขึ้นไป
มันถูกสร้างขึ้นบนเทคโนโลยีซอฟต์แวร์ STM32Cube เพื่อการพกพาที่ง่ายดายผ่านไมโครคอนโทรลเลอร์ STM32 ที่แตกต่างกัน
ซอฟต์แวร์มาพร้อมกับ asampการใช้งานสำหรับสเต็ปเปอร์มอเตอร์หนึ่งตัว เข้ากันได้กับบอร์ดพัฒนา NUCLEO-F401RE, NUCLEOF334R8, NUCLEO-F030R8 หรือ NUCLEO-L053R8 ที่มีบอร์ดขยาย X-NUCLEO-IHM14A1 ติดตั้งอยู่ด้านบน
ลิงก์ที่เกี่ยวข้อง
เยี่ยมชมระบบนิเวศ STM32Cube web หน้า www.st.com สำหรับข้อมูลเพิ่มเติม
ตัวย่อและตัวย่อ
ตารางที่ 1. รายการตัวย่อ
|
คำย่อ |
คำอธิบาย |
| เอพีไอ |
อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน |
|
บีเอสพี |
แพ็คเกจสนับสนุนบอร์ด |
| CMSI |
มาตรฐานอินเทอร์เฟซซอฟต์แวร์ไมโครคอนโทรลเลอร์ Cortex® |
|
ฮาล |
ชั้นนามธรรมของฮาร์ดแวร์ |
| ไอดีอี |
สภาพแวดล้อมการพัฒนาแบบบูรณาการ |
|
นำ |
ไดโอดเปล่งแสง |
เกินview
แพ็คเกจซอฟต์แวร์ X-CUBE-SPN14 ขยายฟังก์ชันการทำงานของ STM32Cube คุณสมบัติที่สำคัญ ได้แก่ :
- เลเยอร์ไดรเวอร์สำหรับการจัดการที่สมบูรณ์ของอุปกรณ์ STSPIN820 (ไดรเวอร์สเต็ปเปอร์มอเตอร์พลังงานต่ำ) ที่รวมอยู่ในบอร์ดส่วนขยาย X-NUCLEO-IHM14A1
- โหมดอ่านและเขียนพารามิเตอร์ของอุปกรณ์, การกำหนดค่า GPIO, PWM และ IRQ, ไมโครสเต็ปปิ้ง, ตำแหน่งทิศทาง, ความเร็ว, การเร่งความเร็ว, การชะลอตัวและการควบคุมแรงบิด, การจัดการสวิตช์แบบเต็มขั้นตอนอัตโนมัติ อิมพีแดนซ์สูงหรือหยุดการเลือกโหมดหยุด เปิดใช้งานและการจัดการสแตนด์บาย
- การจัดการขัดจังหวะข้อผิดพลาด
- การควบคุมสเต็ปเปอร์มอเตอร์เดี่ยว sampแอปพลิเคชัน
- พกพาสะดวกในตระกูล MCU ต่างๆ ด้วย STM32Cube
- ฟรี เงื่อนไขการอนุญาตที่ใช้งานง่าย
ซอฟต์แวร์ใช้การลงทะเบียนหลอกและคำสั่งการเคลื่อนไหวโดย:
- การกำหนดค่าตัวจับเวลาที่ใช้ในการสร้างนาฬิกาขั้นตอนและปริมาตรtage อ้างอิง
- การจัดการพารามิเตอร์ของอุปกรณ์ เช่น การเร่งความเร็ว การชะลอตัว นาที และสูงสุด ความเร็ว ตำแหน่งที่ความเร็ว profile ขอบเขต, ตำแหน่งเครื่องหมาย, โหมดไมโครสเต็ปปิ้ง, ทิศทาง, สถานะการเคลื่อนไหว ฯลฯ
ซอฟต์แวร์จัดการอุปกรณ์ STSPIN820 หนึ่งเครื่อง
ที่จุดสิ้นสุดของตัวจับเวลาติ๊กแต่ละครั้ง การโทรกลับจะดำเนินการเพื่อเรียกตัวจัดการนาฬิกาสเต็ปซึ่งควบคุมการเคลื่อนไหวของมอเตอร์
โดยการจัดการ:
- สถานะการเคลื่อนไหว (เช่น หยุดมอเตอร์ที่ปลายทางเป้าหมาย)
- ทิศทางมอเตอร์ผ่านระดับ GPIO
- ตำแหน่งมอเตอร์สัมพัทธ์และสัมบูรณ์ในไมโครสเต็ป
- ความเร็วผ่านศูนย์ ความเร่งบวกและลบ
ความเร็วถูกกำหนดโดยการเปลี่ยนแปลงความถี่สัญญาณนาฬิกาของขั้นตอน และโหมดขั้นตอน (ไม่บังคับ) เมื่อเปิดใช้งานคุณสมบัติสวิตช์แบบเต็มขั้นอัตโนมัติ ตัวจับเวลาที่ใช้สำหรับนาฬิกาขั้นตอนได้รับการกำหนดค่าในโหมดเปรียบเทียบผลลัพธ์ ค่ารีจิสเตอร์เปรียบเทียบการดักจับใหม่จะคำนวณในการเรียกตัวจัดการนาฬิกาแต่ละขั้นตอนเพื่อให้สามารถควบคุมความถี่ได้
ความเร็วเป็นฟังก์ชันเชิงเส้นตรงของความถี่นาฬิกาทีละขั้นตอนสำหรับโหมดไมโครสเต็ปปิ้งที่กำหนด ซึ่งซอฟต์แวร์สามารถเปลี่ยนแปลงได้ตั้งแต่ขั้นเต็มจนถึงขั้นที่ 1/256
ในการใช้ไลบรารีไดรเวอร์ STSPIN820 คุณต้องเรียกใช้ฟังก์ชันการเริ่มต้นซึ่ง:
- ตั้งค่า GPIO ที่จำเป็นเพื่อเปิดใช้งานบริดจ์และจัดการพินข้อผิดพลาด EN\FAULT, MODE1 เฉพาะ,
หมุดเลือกขั้นตอน MODE2 และ MODE3, พิน DIR สำหรับทิศทางมอเตอร์, พิน DECAY สำหรับโหมดการสลายตัว
การเลือกและพินรีเซ็ตสแตนด์บาย STBY\RESET; - ตั้งค่าตัวจับเวลาในโหมดเปรียบเทียบเอาต์พุตสำหรับพิน STCK และตัวจับเวลาอ้างอิง voltage generation ในโหมด PWM สำหรับพิน REF;
- โหลดพารามิเตอร์ไดรเวอร์ด้วยค่าจาก stspin820_target_config.h หรือกำหนดไว้ในฟังก์ชันหลักโดยใช้โครงสร้างการเริ่มต้นเฉพาะ
พารามิเตอร์ไดรเวอร์สามารถแก้ไขได้หลังจากการเริ่มต้นโดยการเรียกใช้ฟังก์ชันเฉพาะ คุณยังสามารถเขียนฟังก์ชันการโทรกลับและแนบไปกับ: - ตัวจัดการขัดจังหวะแฟล็กเพื่อดำเนินการบางอย่างเมื่อมีการรายงานกระแสเกินหรือสัญญาณเตือนความร้อน
- ตัวจัดการข้อผิดพลาดที่ไลบรารีเรียกเมื่อรายงานข้อผิดพลาด คำสั่งการเคลื่อนไหวที่ตามมา ได้แก่:
- BSP_MotorControl_Move เพื่อย้ายจำนวนขั้นตอนที่กำหนดในทิศทางที่กำหนด
- BSP_MotorControl_GoTo, BSP_MotorControl_GoHome, BSP_MotorControl_GoMark เพื่อไปยังตำแหน่งเฉพาะโดยใช้เส้นทางที่สั้นที่สุด
- BSP_MotorControl_CmdGoToDir เพื่อไปยังตำแหน่งที่เฉพาะเจาะจง
- BSP_MotorControl_Run ให้ทำงานไม่มีกำหนด
ความเร็วโปรfile ถูกจัดการโดยไมโครคอนโทรลเลอร์อย่างสมบูรณ์ มอเตอร์เริ่มเคลื่อนที่ที่การตั้งค่าความเร็วต่ำสุดของ BSP_MotorControl_SetMinSpeed ซึ่งจะถูกเปลี่ยนในแต่ละขั้นตอนโดย
BSP_MotorControl_SetAcceleration ค่าการเร่งความเร็ว
หากตำแหน่งเป้าหมายของคำสั่งการเคลื่อนไหวอยู่ไกลเพียงพอ มอเตอร์จะเคลื่อนที่เป็นรูปสี่เหลี่ยมคางหมูโดย:
- การเร่งความเร็วด้วยพารามิเตอร์การเร่งความเร็วของอุปกรณ์
- คงตัวที่ความเร็วสูงสุด BSP_MotorControl_SetMaxSpeed
- ชะลอตัวลงโดย BSP_MotorControl_SetDeceleration
- หยุดที่ปลายทางเป้าหมาย
หากตำแหน่งเป้าหมายอยู่ใกล้เกินกว่าที่มอเตอร์จะไปถึงความเร็วสูงสุด มอเตอร์จะทำการเคลื่อนที่เป็นรูปสามเหลี่ยมที่เกี่ยวข้องกับ: - การเร่งความเร็ว
- การชะลอความเร็ว
- หยุดที่ปลายทางเป้าหมาย
คำสั่งการเคลื่อนไหวสามารถหยุดได้ตลอดเวลาด้วย BSP_MotorControl_SoftStop ที่ค่อยๆ ลดความเร็วโดยใช้พารามิเตอร์การชะลอตัวหรือคำสั่ง BSP_MotorControl_HardStop ซึ่งจะหยุดมอเตอร์ทันที สะพานส่งกำลังถูกปิดใช้งานโดยอัตโนมัติเมื่อมอเตอร์หยุดทำงาน หากตั้งค่าโหมดหยุด HIZ_MODE ไว้ก่อนหน้านี้ (BSP_MotorControl_SetStopMode)
สามารถเปลี่ยนทิศทาง ความเร็ว ความเร่ง และลดความเร็วได้เมื่อมอเตอร์หยุดทำงานหรือเมื่อมีการร้องขอการเคลื่อนไหวผ่าน BSP_MotorControl_Run
ในการบล็อกคำสั่งใหม่ก่อนที่คำสั่งก่อนหน้าจะเสร็จสิ้น BSP_MotorControl_WaitWhileActive จะล็อกการทำงานของโปรแกรมจนกว่ามอเตอร์จะหยุด
BSP_MotorControl_SelectStepMode สามารถเปลี่ยนโหมดขั้นตอนจากขั้นตอนเต็มเป็นขั้นตอนที่ 1/256 เมื่อเปลี่ยนโหมดขั้นตอน อุปกรณ์และตำแหน่งปัจจุบันและความเร็วจะถูกรีเซ็ต
สถาปัตยกรรม
การขยายซอฟต์แวร์นี้สอดคล้องกับสถาปัตยกรรม STM32Cube อย่างสมบูรณ์ และขยายเพื่อรองรับการพัฒนาแอปพลิเคชันโดยใช้ไดรเวอร์สเต็ปเปอร์มอเตอร์
รูปที่ 1. สถาปัตยกรรมซอฟต์แวร์ X-CUBE-SPN14

ซอฟต์แวร์นี้ใช้ STM32CubeHAL hardare abstraction layer สำหรับไมโครคอนโทรลเลอร์ STM32 แพ็คเกจขยาย STM32Cube ด้วยแพ็คเกจรองรับบอร์ด (BSP) สำหรับบอร์ดขยายการควบคุมมอเตอร์และไดรเวอร์ส่วนประกอบ BSP สำหรับ STSPIN820 โวลุ่มต่ำtagอี ตัวขับสเต็ปเปอร์มอเตอร์
เลเยอร์ซอฟต์แวร์ที่ใช้โดยซอฟต์แวร์แอปพลิเคชันคือ:
- ชั้น STM32Cube HAL: ชุด API ที่เรียบง่าย ทั่วไป และหลายอินสแตนซ์ (อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน)
เพื่อโต้ตอบกับแอปพลิเคชันด้านบน ไลบรารี และสแต็กเลเยอร์ ประกอบด้วย API ทั่วไปและส่วนขยายตาม
บนสถาปัตยกรรมทั่วไป เพื่อให้เลเยอร์ที่สร้างขึ้นบนเลเยอร์นั้น เช่น เลเยอร์มิดเดิลแวร์ สามารถทำงานได้โดยไม่ต้องมีการกำหนดค่าฮาร์ดแวร์ของไมโครคอนโทรลเลอร์ (MCU) ที่เฉพาะเจาะจง โครงสร้างนี้ปรับปรุงความสามารถในการใช้รหัสไลบรารีซ้ำ และรับประกันการพกพาที่ง่ายดายบนอุปกรณ์อื่นๆ
แพ็คเกจสนับสนุนบอร์ด (BSP) เลเยอร์: รองรับอุปกรณ์ต่อพ่วงบนบอร์ด STM32 Nucleo ยกเว้น
มช. ชุด API แบบจำกัดนี้มีอินเทอร์เฟซการเขียนโปรแกรมสำหรับอุปกรณ์ต่อพ่วงเฉพาะบางบอร์ด เช่น LED และปุ่มผู้ใช้ และช่วยในการระบุเวอร์ชันของบอร์ดเฉพาะ BSP ควบคุมมอเตอร์ให้อินเทอร์เฟซการเขียนโปรแกรมสำหรับส่วนประกอบไดรเวอร์มอเตอร์ต่างๆ เชื่อมโยงกับส่วนประกอบ BSP สำหรับไดรเวอร์มอเตอร์ STSPIN820 ในซอฟต์แวร์ X-CUBE-SPN14
โครงสร้างโฟลเดอร์

ซอฟต์แวร์อยู่ในสองโฟลเดอร์หลัก:
- ไดรเวอร์ด้วย:
- STM32Cube HAL fileในโฟลเดอร์ย่อย STM32L0xx_HAL_Driver, STM32F0xx_HAL_Driver, STM32F3xx_HAL_Driver หรือ STM32F4xx_HAL_Driver เหล่านี้ fileถูกนำมาโดยตรงจากเฟรมเวิร์ก STM32Cube และรวมเฉพาะที่จำเป็นในการรันไดรเวอร์มอเตอร์เช่นampเลส.
- โฟลเดอร์ CMSIS ที่มี CMSIS (มาตรฐานอินเทอร์เฟซซอฟต์แวร์ไมโครคอนโทรลเลอร์ Cortex®) เลเยอร์การแยกฮาร์ดแวร์ที่ไม่ขึ้นกับผู้จำหน่ายสำหรับซีรีส์โปรเซสเซอร์ Cortex-M จาก ARM โฟลเดอร์นี้ไม่มีการเปลี่ยนแปลงจากเฟรมเวิร์ก STM32Cube
- โฟลเดอร์ BSP ที่มีรหัส fileสำหรับการกำหนดค่า X-NUCLEO-IHM14A1, ไดรเวอร์ STSPIN820 และ API การควบคุมมอเตอร์
- โครงการ, ซึ่งมีการใช้งานหลายอย่างเช่นampไดรเวอร์มอเตอร์ STSPIN820 สำหรับแพลตฟอร์ม STM32 Nucleo ที่แตกต่างกัน
โฟลเดอร์ BSP
ซอฟต์แวร์ X-CUBE-SPN14 ประกอบด้วย BSP ที่อธิบายไว้ในส่วนย่อยต่อไปนี้
STM32L0XX-Nucleo/STM32F0XX-Nucleo/STM32F3XX Nucleo/STM32F4XX-Nucleo BSPs
BSP เหล่านี้มีอินเทอร์เฟซสำหรับบอร์ดพัฒนา STM32 Nucleo ที่เข้ากันได้แต่ละบอร์ดเพื่อกำหนดค่าและใช้อุปกรณ์ต่อพ่วงกับบอร์ดขยาย X-NUCLEO-IHM14A1 แต่ละโฟลเดอร์ย่อยมี two.c/.h file คู่:
- stm32Xxxx_nucleo.c/h: เฟรมเวิร์ก STM32Cube ที่ไม่ได้แก้ไขเหล่านี้ fileมีปุ่มผู้ใช้และฟังก์ชั่น LED สำหรับบอร์ด STM32 Nucleo เฉพาะ
- stm32Xxxx_nucleo_ihm14a1.c/h: เหล่านี้ fileใช้สำหรับการกำหนดค่า PWM, GPIO และการเปิด/ปิดอินเตอร์รัปต์ที่จำเป็นสำหรับการทำงานของบอร์ดขยาย X NUCLEO-IHM14A1
การควบคุมมอเตอร์BSP
BSP นี้มีอินเทอร์เฟซทั่วไปในการเข้าถึงฟังก์ชันไดรเวอร์ของไดรเวอร์มอเตอร์ต่างๆ เช่น L6474, powerSTEP01, L6208 และ STSPIN820 ผ่าน MotorControl/motorcontrol.c/h file คู่.
เหล่านี้ fileกำหนดการกำหนดค่าไดรเวอร์และฟังก์ชั่นการควบคุมทั้งหมด จากนั้นจะจับคู่กับฟังก์ชั่นของส่วนประกอบไดรเวอร์มอเตอร์ที่ใช้บนบอร์ดขยายที่กำหนดผ่านโครงสร้าง motorDrv_t file (กำหนดไว้ใน Components\Common\motor.h.) โครงสร้างนี้กำหนดรายการของพอยน์เตอร์ฟังก์ชันซึ่งถูกเติมระหว่างการสร้างอินสแตนซ์ในส่วนประกอบไดรเวอร์มอเตอร์ที่เกี่ยวข้อง สำหรับ X-CUBE-SPN14 โครงสร้างเรียกว่า stspin820Drv (ดู file: BSP\Components\stspin820\stspin820.c)
เนื่องจาก BSP ของตัวควบคุมมอเตอร์เป็นเรื่องปกติสำหรับบอร์ดขยายไดรเวอร์มอเตอร์ทั้งหมด ฟังก์ชันบางอย่างจึงไม่พร้อมใช้งานสำหรับบอร์ดส่วนขยายที่กำหนด ฟังก์ชันที่ไม่พร้อมใช้งานจะถูกแทนที่ด้วยพอยน์เตอร์ว่างระหว่างการสร้างอินสแตนซ์ของโครงสร้าง motorDrv_t ในส่วนประกอบไดรเวอร์
ส่วนประกอบ STSPIN280 BSP
ส่วนประกอบ STSPIN820 BSP มีฟังก์ชันไดรเวอร์ของไดรเวอร์มอเตอร์ STSPIN820 ในโฟลเดอร์
stm32_cube\Drivers\BSP\Components\STSPIN820
โฟลเดอร์นี้มี3 files:
- stspin820.c: ฟังก์ชันหลักของไดรเวอร์ STSPIN820
- stspin820.h: การประกาศฟังก์ชันไดรเวอร์ STSPIN820 และคำจำกัดความที่เกี่ยวข้อง
- stspin820_target_config.h: ค่าที่กำหนดไว้ล่วงหน้าสำหรับพารามิเตอร์ STSPIN820 และสำหรับบริบทของอุปกรณ์มอเตอร์
โฟลเดอร์โครงการ
สำหรับแต่ละแพลตฟอร์ม STM32 Nucleo หนึ่งรายการampไฟล์โปรเจ็กต์มีอยู่ใน stm32_cube\Projects\Multi\Exampไฟล์\MotionControl\:
- IHM14A1_เช่นampleFor1Motor อดีตampฟังก์ชันการควบคุมสำหรับการกำหนดค่ามอเตอร์เดี่ยว
อดีตampไฟล์มีโฟลเดอร์สำหรับ IDE ที่เข้ากันได้แต่ละตัว:
- EWARM สำหรับ IAR Embedded Workbench
- MDK-ARM สำหรับ ARM/Keil µVision
- STM32CubeIDE สำหรับสภาพแวดล้อมการพัฒนาแบบรวมสำหรับ STM32
รหัสต่อไปนี้ fileรวมถึง:
- inc\main.h: ส่วนหัวหลัก file
- inc\ stm32xxxx_hal_conf.h: การกำหนดค่า HAL file
- inc\stm32xxxx_it.h: ส่วนหัวสำหรับตัวจัดการการขัดจังหวะ
- src\main.c: โปรแกรมหลัก (รหัสของ exampตามไลบรารีควบคุมมอเตอร์สำหรับ STSPIN820)
- src\stm32xxxx_hal_msp.c: รูทีนการเริ่มต้น HAL
- src\stm32xxxx_it.c: ตัวจัดการขัดจังหวะ
- src\system_stm32xxxx.c: การเริ่มต้นระบบ
- src\clock_xx.c: การเริ่มต้นนาฬิกา
ซอฟต์แวร์ที่ต้องใช้ทรัพยากร
การควบคุม MCU ของ STSPIN820 เดียว (บอร์ด X-NUCLEO IHM14A1) และการสื่อสารระหว่างทั้งสองได้รับการจัดการผ่าน GPIO เจ็ดตัว (STBY\RESET, EN\FAULT, MODE1, MODE2, MODE3, DIR, พิน DECAY) และ PWM สำหรับพิน REF . GPIO สำหรับพิน STCK ได้รับการกำหนดค่าเพื่อใช้เป็นฟังก์ชันสำรอง TIMER OUTPUT COMPARE
สำหรับการจัดการกระแสไฟเกินและสัญญาณเตือนอุณหภูมิเกิน ซอฟต์แวร์ X-CUBE-SPN14 ใช้อินเทอร์รัปต์ภายนอกที่กำหนดค่าไว้บน GPIO ที่ใช้สำหรับพิน EN\FAULT หลังจากที่เปิดหรือปิดพาวเวอร์บริดจ์แล้ว
ตารางที่ 2. รีซอร์สที่จำเป็นสำหรับซอฟต์แวร์ X-CUBE-SPN14
|
แหล่งข้อมูล F4xx |
แหล่งข้อมูล F3xx | แหล่งข้อมูล F0xx | ทรัพยากร L0xx | เข็มหมุด | คุณสมบัติ (บอร์ด) |
| พอร์ต A GPIO 10
EXTI15_10_IRQn |
พอร์ต A GPIO 10
EXTI15_10_IRQn |
พอร์ต A GPIO 10
EXTI4_15_IRQn |
พอร์ต A GPIO 10
EXTI4_15_IRQn |
D2 |
EN/ผิดพลาดT (ภาษาอังกฤษ) |
|
พอร์ต B GPIO 3 ไทม์เมอร์2 Ch2 |
พอร์ต B GPIO 3
ไทม์เมอร์2 Ch2 |
พอร์ต B GPIO 3
ไทม์เมอร์15 Ch1 |
พอร์ต B GPIO 3
ไทม์เมอร์2 Ch2 |
D3 |
stck
(ซีแอลเค) |
|
พอร์ต B GPIO 4 |
D5 |
การผุพัง
(ธ.ค. ) |
|||
| พอร์ต A GPIO 8 |
D7 |
ทิศทาง (ป.ป.ช.) |
|||
| พอร์ต A GPIO 9 |
D8 |
STBY/รีเซ็ต (เตรียมพร้อม) |
|||
|
Pหรือ C GPIO 7 ไทม์เมอร์3 Ch2 |
พอร์ต C GPIO 7
ไทม์เมอร์3 Ch2 |
พอร์ต C GPIO 7
ไทม์เมอร์3 Ch2 |
พอร์ต C GPIO 7
ไทม์เมอร์22 Ch2 |
D9 |
การอ้างอิง PWM
(อ้างอิง) |
|
พอร์ต A GPIO 7 |
D11 |
โหมด 3
(ม.3) |
|||
|
พอร์ต A GPIO 6 |
D12 |
โหมด 2 (ม.2) |
|||
| พอร์ต A GPIO 5 |
D13 |
โหมด 1 (ม.1) |
|||
APIs
X-CUBE-SPN14 API ถูกกำหนดไว้ใน BSP ควบคุมมอเตอร์ ฟังก์ชันประกอบด้วยคำนำหน้า “BSP_MotorControl_”
บันทึก: ฟังก์ชันทั้งหมดของโมดูลนี้อาจไม่พร้อมใช้งานสำหรับ STSPIN820 และด้วยเหตุนี้บอร์ดส่วนขยาย X-NUCLEO-IHM14A1
ฟังก์ชัน API ผู้ใช้แบบเต็มและคำอธิบายพารามิเตอร์ถูกคอมไพล์ใน HTML file ในโฟลเดอร์เอกสารประกอบซอฟต์แวร์
Sampคำอธิบายแอปพลิเคชัน
อดีตampแอปพลิเคชันที่ใช้บอร์ดส่วนขยาย X-NUCLEO-IHM14A1 กับบอร์ดพัฒนา STM32 Nucleo ที่ใช้งานร่วมกันได้นั้นมีให้ในไดเร็กทอรี Projects พร้อมสร้าง IDE หลายตัว (ดูหัวข้อ 2.3.2 โฟลเดอร์โปรเจ็กต์)
คู่มือการตั้งค่าระบบ
คำอธิบายฮาร์ดแวร์
- STM32 นิวคลีโอ
บอร์ดพัฒนา STM32 Nucleo มอบวิธีที่ไม่แพงและยืดหยุ่นสำหรับผู้ใช้ในการทดสอบโซลูชันและสร้างต้นแบบด้วยไมโครคอนโทรลเลอร์รุ่น STM32
การสนับสนุนการเชื่อมต่อ Arduino และตัวเชื่อมต่อ ST morpho ทำให้ง่ายต่อการขยายการทำงานของ
STM32 Nucleo แพลตฟอร์มการพัฒนาแบบเปิดพร้อมบอร์ดขยายเฉพาะทางมากมายให้เลือก
บอร์ด STM32 Nucleo ไม่ต้องการโพรบแยกกัน เพราะมันรวมเอาดีบักเกอร์ ST-LINK/V2-1/
โปรแกรมเมอร์
บอร์ด STM32 Nucleo มาพร้อมกับไลบรารี HAL ของซอฟต์แวร์ STM32 ที่ครอบคลุม พร้อมด้วยซอฟต์แวร์แพ็คเกจต่างๆ เช่นampไฟล์สำหรับ IDE ต่างๆ (IAR EWARM, Keil MDK-ARM, STM32CubeIDE, mbed และ GCC/ LLVM)
ผู้ใช้ STM32 Nucleo ทุกคนสามารถเข้าถึงทรัพยากรออนไลน์ mbed ได้ฟรี (คอมไพเลอร์, C/C++ SDK และนักพัฒนา)
ชุมชน) ที่ www.mbed.org เพื่อสร้างแอปพลิเคชันที่สมบูรณ์ได้อย่างง่ายดาย
รูปที่ 3 บอร์ด STM32 Nucleo

- X-NUCLEO-IHM14A1 บอร์ดขยายไดรเวอร์สเต็ปเปอร์มอเตอร์
บอร์ดขยายไดรเวอร์มอเตอร์ X-NUCLEO-IHM14A1 ใช้ไดรเวอร์เสาหิน STSPIN820 สำหรับสเต็ปเปอร์มอเตอร์
เป็นโซลูชันที่ราคาไม่แพงและใช้งานง่ายสำหรับการขับเคลื่อนสเต็ปเปอร์มอเตอร์ในโครงการ STM32 Nucleo ของคุณ โดยใช้แอปพลิเคชันการขับมอเตอร์ เช่น เครื่องพิมพ์ 2D/3D หุ่นยนต์ และกล้องรักษาความปลอดภัย
STSPIN820 ใช้การควบคุมกระแส PWM โดยสามารถปรับเวลา OFF คงที่ผ่านตัวต้านทานภายนอกและความละเอียดไมโครสเต็ปปิ้งได้ถึงขั้นที่ 256
บอร์ดขยาย X-NUCLEO-IHM14A1 เข้ากันได้กับขั้วต่อ Arduino UNO R3 และขั้วต่อ ST morpho ดังนั้นจึงสามารถเสียบเข้ากับบอร์ดพัฒนา STM32 Nucleo และซ้อนกับบอร์ดขยาย X-NUCLEO เพิ่มเติมได้

- ส่วนประกอบฮาร์ดแวร์เบ็ดเตล็ด
ในการตั้งค่าฮาร์ดแวร์ให้เสร็จสมบูรณ์ คุณจะต้อง:- สเต็ปเปอร์มอเตอร์แบบไบโพลาร์ 1 ตัว (7 ถึง 45 V)
- แหล่งจ่ายไฟ DC ภายนอกที่มีสายไฟสองเส้นสำหรับบอร์ด X-NUCLEO-IHM14A1
- สาย USB ชนิด A ถึง mini-B USB เพื่อเชื่อมต่อบอร์ด STM32 Nucleo กับ PC
- ข้อกำหนดของซอฟต์แวร์
ส่วนประกอบซอฟต์แวร์ต่อไปนี้จำเป็นสำหรับการตั้งค่าสภาพแวดล้อมการพัฒนาที่เหมาะสมสำหรับ
การสร้างแอพพลิเคชั่นตามบอร์ดขยายไดรเวอร์มอเตอร์:- X-CUBE-SPN14 STM32Cube ส่วนขยายสำหรับ STSPIN820 ระดับเสียงต่ำtage การพัฒนาแอพพลิเคชั่นไดรเวอร์สเต็ปเปอร์มอเตอร์ เฟิร์มแวร์ X-CUBE-SPN14 และเอกสารที่เกี่ยวข้องมีอยู่ใน www.st.com.
- หนึ่งในกลุ่มเครื่องมือการพัฒนาและคอมไพเลอร์ต่อไปนี้:
- คีล เรอัลView ชุดเครื่องมือสำหรับพัฒนาไมโครคอนโทรลเลอร์ (MDK-ARM) V5.27
- IAR Embedded Workbench สำหรับ ARM (EWARM) toolchain V8.50
- สภาพแวดล้อมการพัฒนาแบบบูรณาการสำหรับ STM32 (STM32CubeIDE)
การตั้งค่าฮาร์ดแวร์และซอฟต์แวร์
ตั้งค่าให้ขับมอเตอร์ตัวเดียว
กำหนดค่าจัมเปอร์ต่อไปนี้บนบอร์ด STM32 Nucleo:
- JP1 ปิด
- JP5 (PWR) ด้าน UV5
- JP6 (IDD) บน
กำหนดค่าบอร์ดขยาย X-NUCLEO-IHM14A1 ดังนี้: - ปรับโพเทนชิออมิเตอร์ R7 เป็น 1 kΩ
- ตั้งสวิตช์ S1, S2, S3 และ S4 ไปที่ด้านดึงลง ดังในรูปที่ 4 สเต็ปเปอร์มอเตอร์ X-NUCLEO-IHM14A1
บอร์ดขยายไดรเวอร์ โหมดไมโครสเต็ปปิ้งถูกเลือกผ่าน MODE1, MODE2 และ MODE3
ระดับที่ควบคุมโดยบอร์ด STM32 Nucleo
เมื่อกำหนดค่าบอร์ดอย่างถูกต้องแล้ว: - เสียบบอร์ดขยาย X-NUCLEO-IHM14A1 ที่ด้านบนของบอร์ด STM32 Nucleo ผ่านขั้วต่อ Arduino UNO
- เชื่อมต่อบอร์ด STM32 Nucleo กับพีซีด้วยสาย USB ผ่านขั้วต่อ USB CN1 เพื่อจ่ายไฟให้กับบอร์ด
- เปิดบอร์ดส่วนขยาย X-NUCLEO-IHM14A1 โดยเชื่อมต่อขั้วต่อ Vin และ Gnd กับแหล่งจ่ายไฟ DC
- เชื่อมต่อสเต็ปเปอร์มอเตอร์กับขั้วต่อบริดจ์ X-NUCLEO IHM14A1 A+/- และ B+/-

เมื่อการตั้งค่าระบบพร้อม:
- เปิด toolchain ที่คุณต้องการ
- ขึ้นอยู่กับบอร์ด STM32 Nucleo เปิดโครงการซอฟต์แวร์จาก:
- \stm32_cube\Projects\Multi\Exampไฟล์\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainNam
e\STM32F401RE-Nucleo สำหรับ Nucleo STM32F401 - \stm32_cube\Projects\Multi\Exampไฟล์\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainNam
e\STM32F030R8-Nucleo สำหรับ Nucleo STM32F334 - \stm32_cube\Projects\Multi\Exampไฟล์\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainName\STM32F030R8-Nucleo สำหรับ Nucleo STM32F030
- \stm32_cube\Projects\Multi\Exampไฟล์\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainName\STM32L053R8-Nucleo สำหรับ Nucleo STM32L053
- \stm32_cube\Projects\Multi\Exampไฟล์\MotionControl\IHM14A1_ExampleFor1Motor\YourToolChainNam
- เพื่อปรับพารามิเตอร์ STSPIN820 เริ่มต้นให้เหมาะกับระดับเสียงต่ำของคุณtage ลักษณะของสเต็ปเปอร์มอเตอร์ อย่างใดอย่างหนึ่ง:
- ใช้ BSP_MotorControl_Init ด้วยตัวชี้ NULL และเปิด stm32_cube\ Drivers\ BSP\Components\ STSPIN820\ STSPIN820_target_config.h เพื่อแก้ไขพารามิเตอร์ตามความต้องการของคุณ
- – ใช้ BSP_MotorControl_Init ด้วยที่อยู่ของโครงสร้าง initDevicesParameters พร้อมค่าที่เหมาะสม
- สร้างใหม่ทั้งหมด files และโหลดภาพของคุณลงในหน่วยความจำเป้าหมาย
- เรียกใช้อดีตampเลอ มอเตอร์สตาร์ทโดยอัตโนมัติ (ดู main.c สำหรับรายละเอียดลำดับการสาธิต)
ประวัติการแก้ไข
|
วันที่ |
เวอร์ชัน | การเปลี่ยนแปลง |
|
17 ต.ค. 2017 |
1 |
การเปิดตัวครั้งแรก |
| 20 ก.ค. 2021 | 2 |
อัปเดตข้อกำหนดของโฟลเดอร์โครงการ 2.3.2 และส่วนที่ 3.2 ของซอฟต์แวร์ ลบส่วนที่ 2 STM32Cube คืออะไร? และแทนที่ด้วยลิงก์ในบทนำ |
ประกาศสำคัญ - โปรดอ่านอย่างละเอียด
STMicroelectronics NV และ บริษัท ในเครือ (“ ST”) ขอสงวนสิทธิ์ในการเปลี่ยนแปลงแก้ไขปรับปรุงแก้ไขและปรับปรุงผลิตภัณฑ์ ST และ / หรือเอกสารนี้ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า ผู้ซื้อควรได้รับข้อมูลล่าสุดที่เกี่ยวข้องเกี่ยวกับผลิตภัณฑ์ ST ก่อนทำการสั่งซื้อ ผลิตภัณฑ์ของ ST จำหน่ายตามข้อกำหนดและเงื่อนไขการขายของ ST ณ เวลาที่รับทราบคำสั่งซื้อ
ผู้ซื้อเป็นผู้รับผิดชอบ แต่เพียงผู้เดียวสำหรับการเลือกการเลือกและการใช้ผลิตภัณฑ์ของ ST และ ST จะไม่รับผิดชอบต่อความช่วยเหลือในการใช้งานหรือการออกแบบผลิตภัณฑ์ของผู้ซื้อ
ST ไม่อนุญาตให้มีใบอนุญาตใดๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยในสิทธิในทรัพย์สินทางปัญญาใดๆ
การขายต่อผลิตภัณฑ์ ST ที่มีข้อกำหนดแตกต่างจากข้อมูลที่กำหนดไว้ในที่นี้ จะทำให้การรับประกันใดๆ ที่ ST ให้ไว้สำหรับผลิตภัณฑ์ดังกล่าวเป็นโมฆะ
ST และโลโก้ ST เป็นเครื่องหมายการค้าของ ST สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้า ST โปรดดูที่ www.st.com/trademarks. สินค้าหรือบริการอื่นๆ ทั้งหมด
ชื่อเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
ข้อมูลในเอกสารฉบับนี้แทนที่และเปลี่ยนแทนข้อมูลที่เคยให้ไว้ก่อนหน้านี้ในเอกสารฉบับก่อนหน้าใดๆ
© 2021 STMicroelectronics – สงวนลิขสิทธิ์
เอกสาร / แหล่งข้อมูล
![]() |
ST UM2300 X-CUBE-SPN14 การขยายซอฟต์แวร์ไดรเวอร์ Stepper Motor สำหรับ STM32Cube [พีดีเอฟ] คู่มือการใช้งาน UM2300, X-CUBE-SPN14 การขยายซอฟต์แวร์ไดรเวอร์สเต็ปเปอร์มอเตอร์สำหรับ STM32Cube, UM2300 X-CUBE-SPN14 การขยายซอฟต์แวร์ไดรเวอร์สเต็ปเปอร์มอเตอร์สำหรับ STM32Cube, X-CUBE-SPN14 การขยายซอฟต์แวร์ไดรเวอร์สเต็ปเปอร์มอเตอร์, การขยายซอฟต์แวร์ไดรเวอร์สำหรับ STM32Cube, การขยายซอฟต์แวร์ไดรเวอร์มอเตอร์ สำหรับ STM32Cube, ส่วนขยายสำหรับ STM32Cube, STM32Cube |




