本帖最后由 巅峰残狼 于 2017-8-26 15:00 编辑 " \- N; S) S6 H6 [' J! M 目的:学习ST的电机6步换向算法控制方法 学前准备:' z6 Y( g* Y, u5 \* K 软件:ST电机软件包en.X-CUBE-SPN7(X-CUBE-SPN7)1 F- @' r# C1 H9 z% ` 硬件:P-NUCLEO-IHM002套件(含控制板+电机驱动板+电源适配器)' L5 h7 a+ x- X \& D1 j8 R* h + V2 J" l8 t5 Q; M: h" \ 一、下载ST电机软件包en.X-CUBE-SPN7% j! n/ c5 {+ {7 Y" x4 P! Q: n: H 二、解压后,按照路径C:\Users\111\Desktop\ST社区电机资料下载\硬件\en.X-CUBE-SPN7\STM32CubeExpansion_SPN7_V1.1.0\Projects\Multi\Examples\MotorControl\MDK-ARM\STM32F302R8-Nucleo,这个路径下的工程就是基于STM32F302R8的6步换向算法的工程文件,打开工程结构如下: 三、打开User下拉文件,即可看到此工程的main函数,我们即将在main函数中实现我们电机的简单控制3 L/ v- P$ G# |! _* c5 G! ^ 四、先定义一个全局变量num,用来记录按键的次数,在main函数的用户代码区,写入如下代码: switch(num)+ p1 i- s( m+ I1 |( o/ S+ G { case 0: MC_StopMotor();//电机停止 break; case 1: MC_StartMotor();//电机启动 break; case 2:' h4 j4 W/ G0 b& U; [4 ]/ D MC_Set_Speed(3000);//设置电机速度值为3000转每分钟( _5 D/ X: I5 M, U break; case 3: MC_Set_Speed(6000);//设置电机速度值为6000转每分钟- x3 J O' I# c& [8 L break;8 V6 @, d) r( X9 K" I7 j3 r) I case 4: MC_Set_Speed(9000);//设置电机速度值为9000转每分钟! `# c6 U) O3 H4 _ break;- o* ^1 J3 Q: X2 E3 V- K4 p R default:break; } 在外部中断函数EXTI15_10_IRQHandler(void)中按照如下编辑8 q! c" {0 ]3 {- v5 s1 P void EXTI15_10_IRQHandler(void)2 O: u# n: ]. k5 F3 H; D, G {" b; E1 x9 e9 ~. ^5 l /* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */7 W/ {1 y& m% w& Y& b k' g7 P* f, W& C HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);//清除中断标志位6 ~' V3 g. x* E$ \ /* USER CODE BEGIN EXTI15_10_IRQn 1 */ num++;//每次中断加一,即没按下一次用户按键加一 if(num > 5)//当累加次数为5次时,记录值清零4 e8 F9 S5 P: W/ {/ X- d { num=0; } /* USER CODE END EXTI15_10_IRQn 1 */ }% a6 T- @8 U# Y; t& m; M 五、上述程序编译后,下载到我们的控制板,给电机驱动板上电,电机连接好后,即可实验我们所要的功能,即 y: y4 W# I4 m3 ~1 W C 第一次按下:启动电机 第二次按下:电机速度设置为3000转/分钟 第三次按下:电机速度设置为6000转/分钟, O0 H4 X1 L1 J& L! _0 y 第四次按下:电机速度设置为9000转/分钟6 K8 |+ ]" {: d9 I5 U 第五次按下:电机停止六、电机控制库,提供了关于电机的大部分控制函数,方便用户调用,即使对电机不甚熟悉,像我这种小白,也是很快就可以实现电机的转动控制,是不是相当方便? 1 B4 W3 d% E8 L3 g $ @$ b5 R2 n% \! j; v * ~2 L/ }& R U* n |
STM32F302R8-Nucleo.rar
下载6.29 MB, 下载次数: 884
请问 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);//清除中断标志位 这个函数是在哪里定义的呢? |
没有程序 空壳一个 |
为何我打开后里面没有源码的了 |
多谢分享! |
!!!!!!!!!!!!!!!! |
谢谢分享 |
谢谢分享 |
谢谢楼主分享。谢谢 |
谢谢 |
mark( a/ W' k( B6 X |
不错啊,学习下6步换向算法3 m9 ]/ W5 n3 h+ j- M9 B |
谢谢分享 下载了先保存 |
谢谢分享; R3 M) d, M, C& Q; `& x |
看看看,, |