跳至主要内容

用PWM输出控制直流有刷电机、舵机


控制原理:
用STM32的定时器的PWM Generation功能,来生成特定频率、不同占空比的PWM信号。
通过设定定时器的时钟、定时器的PSC和ARR来确定出信号的频率,然后通过设置CCRx的值来确定占空比。

直流电机:
确定好频率、确定好占空比

舵机:
频率是固定的,50Hz,也就是每个周期为20ms。高电平1.5ms时是舵机角度中位。范围在0.5ms到2ms之间,但要配合示波器来实测,因为不同舵机这个数值不一样。

PWM信号的频率和占空比,最好用示波器去测试,以便调整代码。

评论

此博客中的热门博文

昨天星舰第一次测试,我又想玩KSP了

星舰再次推迟后,终于在昨天测试了,整个过程,让我想起了之前作为小小航天人的那几年,那些痴迷火箭的日子。是那段工作经历让我理解了什么是庞大工程,也让我接触了KSP,我永远也忘不了我在KSP里第一次登月成功时的那个旅程。。。好像真的一样。特别特别。。。真实! 最近几年没时间玩KSP了,但是今天突然又想捡起来了,不是为了别的,就是为了星辰大海而已~

STM32CubeIDE中生成HEX文件的方法

好吃的蓝药片 使用STM32CubeIDE时(不是CubeMX),默认在debug文件夹中不生成hex文件,但是用STM官方的STM32 Flash loader demonstrator需要有hex文件啊,不然烧写啥呢。所以需要添加1个post-build的参数,方法如下: 在stm32Cube里,左侧栏中project上右键选属性(properties) 然后在post-build steps的command处输入: && arm-none-eabi-objcopy -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" && 然后apply保存后,直接build,在debug文件夹中就会生成hex文件了。 注意,要是build报错,应该是复制上面命令行参数时双引号字符有问题,可以手敲一下,不用担心。 我是在这个帖子里找到答案的: http://www.openstm32.org/forumthread925

3.5mm音频接口母座学习

今天要做音频座选型,突然懵了,发现好像完全看不懂,而且我还有一个非常普通的需求,就是一个3.5mm音频座,插入音频线(也可以看做耳机线)之前用自带扬声器播放声音,插入后声音就转到了音频线(耳机)上,最后看到了一篇很好的文章,写的非常清楚,记录一下: understanding-audio-jack-switches-and-schematics 几张主要的图,一看就明白了: 公头插入母座后