|
本帖最后由 mmuuss586 于 2018-12-14 14:01 编辑 基于STM32F0+L6474步进驱动开源分享:源码+原理图+BOM表等全部开源 基本功能:细分设置、电流设置、软件启动、停止、正反转、加减速、回原点、回参考点等你想到的功能都有 主芯片:STM32F030R8T6(NUCLEO板都支持) 软件:KEIL MDK打开(5.0以上版本) 资料下载:见附件 原创:游名 //----- Increase deceleration while running /* Increase deceleration of device 0 to 480 step/s^2 */ //减速度测试 BSP_MotorControl_SetDeceleration(0,480); //设置减速度为480 HAL_Delay(5000); //延时5S' j7 ?& v- s# K( d/ x /* Decrease speed of device 0 to 1200 step/s */ BSP_MotorControl_SetMaxSpeed(0,1200); //设置最高速度为1200 HAL_Delay(5000); //延时5S3 M4 b3 W a- q: q. ]7 O: N, j /* Get current speed */5 I* o1 W- {& f: I mySpeed = BSP_MotorControl_GetCurrentSpeed(0); //获取当前速度 9 _; n R5 A- s! W+ @* Q. ] 9 \3 N; I, ?% P1 Z: _ //----- Soft stopped required while running //电机运转时:软件停止电机运转测试 /* Request soft stop of device 0 */$ q' Q3 u2 T8 T( y7 Q2 `: l BSP_MotorControl_SoftStop(0); //发送软件停止指令# I5 Q2 i+ b: I N& @) E9 N4 J; ` * r8 v- c% w: }) q9 x7 J5 J. ]% P /* Wait for the motor of device 0 ends moving */ 6 t9 C$ s0 H# ?/ } BSP_MotorControl_WaitWhileActive(0); //等待电机停止运转& \/ u: q3 |6 m# Z+ K4 u2 d5 f /* Wait for 2 seconds */$ h5 c: t/ s, C HAL_Delay(2000); //延时2S' I$ h$ p3 O+ H9 A ( {' r% |) ~/ \/ V //----- Run stopped by hardstop 4 _4 H$ m# u2 f( C7 r /* Request device 0 to run in FORWARD direction */ ; P- x; \4 j) h6 _7 M BSP_MotorControl_Run(0,FORWARD); //电机正转, V) d0 X. h9 E* I. o7 y HAL_Delay(5000); //延时5S" A. e2 t( D7 N2 L- n6 }. T * B0 h' C- Q- c% J1 N /* Request device 0 to immediatly stop *// q1 p5 X# J1 X BSP_MotorControl_HardStop(0); //电机硬件停止 K4 M% K# |1 L2 i& S' K. v% ~7 X BSP_MotorControl_WaitWhileActive(0); //等待电机停转 * w: H( h7 q6 [/ W" X: `7 m+ |4 m /* Request device 0 to disable bridge */: ~0 n2 \# P4 m4 Y, {5 U6 I BSP_MotorControl_CmdDisable(0); //关闭电机驱动H桥, 关闭后,手旋转电机就可以转的动,要不然转不动;8 f, Y- ]. `4 | c3 x /* Wait for 2 seconds */ HAL_Delay(2000); //延时2S 8 r0 C) T3 a8 y8 l1 f5 P \$ \. q3 f+ d3 n //----- GOTO stopped by softstop //移动到目标点过程中:软件停止测试 ) E5 m2 `- @$ } /* Request device 0 to go to position 20000 */3 t: ^2 @' p$ V; e+ Q3 \" y BSP_MotorControl_GoTo(0,20000); //发送移动20000步命令 HAL_Delay(5000); //延时5S /* Request device 0 to perform a soft stop */) j: c2 S9 a9 y7 h BSP_MotorControl_SoftStop(0); //软件停止3 G1 p" c4 a; R. o2 i9 S2 j' Z+ v BSP_MotorControl_WaitWhileActive(0); //等待电机停止7 h2 H8 s( i8 [- X( j /* Wait for 2 seconds */ HAL_Delay(2000); //延时2S |
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
微信公众号
手机版
呵呵,谢谢支持;
其实没啥意义
嗯嗯,有几段程序,自己测试过,才明白
谢谢支持;
谢谢支持
不客气
感谢支持;