|
本帖最后由 mmuuss586 于 2018-12-14 14:01 编辑 . q, u' s/ }" o. x& p 基于STM32F0+L6474步进驱动开源分享:源码+原理图+BOM表等全部开源 基本功能:细分设置、电流设置、软件启动、停止、正反转、加减速、回原点、回参考点等你想到的功能都有 主芯片:STM32F030R8T6(NUCLEO板都支持) 软件:KEIL MDK打开(5.0以上版本) 资料下载:见附件 原创:游名 //----- Increase deceleration while running: m @6 \' |: v/ o) M /* Increase deceleration of device 0 to 480 step/s^2 */ //减速度测试 BSP_MotorControl_SetDeceleration(0,480); //设置减速度为480, t0 s) i; O; _, ]- F1 S0 _) J HAL_Delay(5000); //延时5S /* Decrease speed of device 0 to 1200 step/s */3 b* X2 k: G$ p" m8 X1 n) q, o BSP_MotorControl_SetMaxSpeed(0,1200); //设置最高速度为1200+ r- y9 q3 n! f; B HAL_Delay(5000); //延时5S /* Get current speed */ mySpeed = BSP_MotorControl_GetCurrentSpeed(0); //获取当前速度 ) Q( n# c r% Z; @( a( G: }; h //----- Soft stopped required while running //电机运转时:软件停止电机运转测试& k7 x- M/ Q: O) k: o* r ) B" x; ?% }) u( x+ J! g1 z /* Request soft stop of device 0 */ BSP_MotorControl_SoftStop(0); //发送软件停止指令0 m/ Y5 q; a$ J /* Wait for the motor of device 0 ends moving */ b2 l7 G* @* y3 J1 F BSP_MotorControl_WaitWhileActive(0); //等待电机停止运转3 I2 x5 Y2 j, C0 m" t 4 |7 H) q/ m7 t# X /* Wait for 2 seconds */* o* W% o6 {! I* @8 `0 N HAL_Delay(2000); //延时2S o! a B4 E0 u* a' W3 S ) D( D; N+ _. z) k P$ P //----- Run stopped by hardstop m# s7 p, I- Z2 F5 d /* Request device 0 to run in FORWARD direction */ BSP_MotorControl_Run(0,FORWARD); //电机正转 HAL_Delay(5000); //延时5S/ o0 N, G$ b& \: C/ j /* Request device 0 to immediatly stop */0 g/ [7 H; p# Y BSP_MotorControl_HardStop(0); //电机硬件停止; V8 g2 B" M9 ?/ ~+ L) k/ m& w! _ BSP_MotorControl_WaitWhileActive(0); //等待电机停转9 H6 Y# \8 [+ T 6 P0 K: J% j r( \' [ /* Request device 0 to disable bridge */6 y9 `, |4 N7 f: H4 y+ i BSP_MotorControl_CmdDisable(0); //关闭电机驱动H桥, 关闭后,手旋转电机就可以转的动,要不然转不动;9 D$ _# J) t4 z) {4 J 6 B3 K; @: J" d: V1 z& | /* Wait for 2 seconds */, I- A; j$ B% P6 g HAL_Delay(2000); //延时2S //----- GOTO stopped by softstop //移动到目标点过程中:软件停止测试* g) K6 X/ |& j7 Q / v1 p- P7 R& n( B /* Request device 0 to go to position 20000 */: d2 h9 A, Q* L, w3 a) R) I6 D BSP_MotorControl_GoTo(0,20000); //发送移动20000步命令" s& t5 l1 F" {% G4 B; L* M2 J HAL_Delay(5000); //延时5S* D. w1 i1 k. Q& {$ D ; ~+ J+ I" |+ Q) r! j /* Request device 0 to perform a soft stop */( @2 m3 J0 e# J: l9 c+ P BSP_MotorControl_SoftStop(0); //软件停止0 T: Z9 c1 d! @ m BSP_MotorControl_WaitWhileActive(0); //等待电机停止* I, u9 v5 [. n' `9 b # W5 E: X; E6 k( t# r. u9 [ /* Wait for 2 seconds */ HAL_Delay(2000); //延时2S , r/ K4 q+ H) S5 \. w |
42æ¥è¿çµæºèµæ.rar
下载561.16 KB, 下载次数: 41
IHM01A1-DGï¼BOM表ï¼.pdf
下载44.91 KB, 下载次数: 20
IHM01A1-DGï¼åçå¾ï¼.pdf
下载545.83 KB, 下载次数: 43
IHM01A1-DG-V1.0.1(æºç ).rar
下载4.23 MB, 下载次数: 95
l6474ï¼è¯çæåï¼.pdf
下载950.75 KB, 下载次数: 33
æ¥è¿çµæºæ£å转ï¼å åéæµè¯è§é¢ï¼.rar
下载2.2 MB, 下载次数: 29
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
小白也能明白的STM32的低功耗与唤醒机制
STM32系统中2种数据掉电保护的方法
分享STM32F051中文参考手册(重制书签版)
AI工具训练营-用ChatGPT解决HID Keyboard实现的问题
STM32固件库分享,超全系列整理
STM32小白入门指南:从基础到OTA实现方案
STM32超详细学习笔记
新手必看!STM32单片机应该怎么学?
如果你解决了这些问题,就可以直接学STM32
微信公众号
手机版
呵呵,谢谢支持;
其实没啥意义
嗯嗯,有几段程序,自己测试过,才明白
谢谢支持;
谢谢支持
不客气
感谢支持;