05 PWM控制电机
-
软件仿真参数:
- DARMSTM.DLL
- -pSTM32F103C8
-
1、认识PWM
- 参数如何描述PWM
- 参数如何描述PWM
-
2、PWM设置
- 根据我们小车原理图我们知道是 PA11和PA8两个引脚要设置为PWM输出 这里为什么小车原理图要这样设计那?
- 根据A4950电机驱动的使用要求
- 根据STM32F103C8T6的定时器复用功能重映射
- 根据我们小车原理图我们知道是 PA11和PA8两个引脚要设置为PWM输出 这里为什么小车原理图要这样设计那?
-
我们这先介绍原因:
- 原因1:介绍电机驱动后,我们会说明
- 原因2: 因为STM32中文参考手册介绍了,
- TIM1_CH1和TIM1_CH4可以复用功能重映射到PA8和PA11
-
3、我们使用软件配置 PA11和PA8这里配置
-
设置PA8和PA11,为定时器1的通道1,4
-
在Time定时器中设置psc预分频和arr重装载值
-
设置两个通道的输出脉冲时长(即占空比)30为30%
-
然后我们生成代码
-
4、PWM输出的配置就已经完成了,但是不能输出产生PWM波
-
因为Cube在生成代码时,有很多外设初始化完后默认是关闭的,需要我们手动开启。
-
5、我们软件仿真一下、查看PA11与PA8波形
-
那么频率就是 1/0.002 = 500HZ
-
我们可以使用这个宏来修改占空比(40%)
- HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 40);
- HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 40);
-
6、PWM测试方法
上面我们生成了PWM下面我们测试一下
-
KEIL软件仿真方法:
-
选择软件仿真,并且输出参数
上面第一个点击(使用软件仿真)
- 参数:
- DARMSTM.DLL
- -pSTM32F103C8
- 设置时钟频率-板子外部晶振8Mhz 这里我们选择8Mhz
(新版的keil5那个设置频率见👆)
-
7、开启仿真
-
打开逻辑分析仪器(Logic Analyzer)
-
添加(set up)要观察的引脚PORTA.8/11,选bit(二进制)
-
点击全速运行
-
8、使用仿真器硬件仿真
- 选择仿真器仿真-检测已经识别出芯片ID(选隔壁的)
- 选择仿真器仿真-检测已经识别出芯片ID(选隔壁的)
-
一样的可以开启仿真
-
但是硬件仿真好像目前还不能使用过逻辑分析仪、但是硬件仿真是在硬件上跑的
-
可以向硬件输入数据或者由硬件输出数据、比如按键仿真的时候就可以使用硬件仿真。