|
本帖最后由 巅峰残狼 于 2017-8-26 15:00 编辑 目的:学习ST的电机6步换向算法控制方法 学前准备: 软件:ST电机软件包en.X-CUBE-SPN7(X-CUBE-SPN7) 硬件:P-NUCLEO-IHM002套件(含控制板+电机驱动板+电源适配器) 一、下载ST电机软件包en.X-CUBE-SPN7 二、解压后,按照路径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函数中实现我们电机的简单控制 四、先定义一个全局变量num,用来记录按键的次数,在main函数的用户代码区,写入如下代码: switch(num) { case 0: MC_StopMotor();//电机停止 break; case 1: MC_StartMotor();//电机启动 break; case 2: MC_Set_Speed(3000);//设置电机速度值为3000转每分钟 break; case 3: MC_Set_Speed(6000);//设置电机速度值为6000转每分钟 break; case 4: MC_Set_Speed(9000);//设置电机速度值为9000转每分钟 break; default:break; } 在外部中断函数EXTI15_10_IRQHandler(void)中按照如下编辑 void EXTI15_10_IRQHandler(void) { /* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);//清除中断标志位 /* USER CODE BEGIN EXTI15_10_IRQn 1 */ num++;//每次中断加一,即没按下一次用户按键加一 if(num > 5)//当累加次数为5次时,记录值清零 { num=0; } /* USER CODE END EXTI15_10_IRQn 1 */ } 五、上述程序编译后,下载到我们的控制板,给电机驱动板上电,电机连接好后,即可实验我们所要的功能,即 第一次按下:启动电机 第二次按下:电机速度设置为3000转/分钟 第三次按下:电机速度设置为6000转/分钟 第四次按下:电机速度设置为9000转/分钟 第五次按下:电机停止六、电机控制库,提供了关于电机的大部分控制函数,方便用户调用,即使对电机不甚熟悉,像我这种小白,也是很快就可以实现电机的转动控制,是不是相当方便? |
STM32F302R8-Nucleo.rar
下载6.29 MB, 下载次数: 836
| 多谢分享! |
| !!!!!!!!!!!!!!!! |
|
谢谢分享 |
| 请问 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);//清除中断标志位 这个函数是在哪里定义的呢? |
| 谢谢分享 |
| 谢谢楼主分享。谢谢 |
| 谢谢 |
|
mark |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版