当前位置:   article > 正文

PS2手柄移植到STM32上进行LED和步进电机的控制_手柄连接串口调适助手

手柄连接串口调适助手

手上有一个PS2手柄,于是想着接到STM32的开发板上用手柄控制STM32进行点灯和驱动步进电机。
一、准备工作:
1.准备一个PS2手柄和接收器,两节5号电池给PS2手柄供电
2.准备一个STM32开发板及下载线,我用的主控是STM32F103C8T6
3.准备一个USB转TTL模块,方便后续进行串口调试,观察现象
4.准备一个DRV8825电机驱动模块和12V的步进电机,以及一个PWM发生器(非必须,选配)
5.准备一个12V电源用于给电机驱动器供电


二、确保手上的东西都是正常可以使用的
1.将串口调试助手插上USB,如果是第一次使用的话,需要安装对应的驱动,用杜邦线将TX和RX短接,打开串口调试助手,可以看到接收到的数据和发送的数据一样,说明USB转TTL模块是好的,如下图。
  

2.确保开发板是好的,那么先下载一个程序进去,只是做验证的话,肯定就点灯了,打开原理图可以看到开发板上的LED连接诶到了PA1上,配置GPIOA.1即可控制LED的亮灭状态。以正点原子的程序为模版进行修改,程序下载可以看到LED亮,说明开发板以及下载线都是好的。
  

3.用纯硬件的方式进行接线,通过DRV8825模块来驱动12V步进电机,首先我的步进电机是12V 60Ω的两相四线,通过这个参数先确定四个线哪两个为同一相。如下图,通过万用表测量可以知道1.2脚为同一相;3.4脚为同一相。
 

介绍了电机,再来看看DRV8825模块,这是一个步进电机驱动器,淘宝上很容易就可以搜到,这个模块需要用到的引脚如下,扩展板已经引出来了。我们如果只想要让电机动起来的话,只需要三个信号脚即可,就是DIR、STEP、EN
DIR:接GND电机正转、接3.3V电机反转
STEP:调节频率输出方波可以对电机进行调速,但每个电机都有一个工作频率,太高或太低电机都不会转
EN:低电平使能,即必须这个脚接GND,电机才能转起来。
所以我们想要通过模拟电路让电机转起来,其实只需要一个信号,即STEP接PWM发生器输出方波,之所以用一个PWM发生器,就是因为可以很方便的调节频率,便于观察不同频率下电机的转动情况,待摸索到一个合适的频率,后面可以通过单片机的定时器来输出PWM,从而取代PWM发生器。所以PWM发生器只是中途一个测试的工具而已。
通过调节PWM发现,只有在500HZ--800HZ电机才转动比较平稳,在这个范围内,频率越高,转动速度越快。在这个范围之外的话,电机都会震动从而无法正常的运转。
   


4.前戏准备的差不多了,这个时候主角要登场了,那就是PS2手柄,接下来就是让PS2手柄和单片机进行通信。PS2手柄分为两部分,手柄主体和接收器,手柄的六个引脚可以理解为两个电源脚和四个信号脚。电源接VCC_3.3V和GND,四个信号脚通信协议和SPI一样。具体连线如下
GND----------MCU_GND
VCC----------MCU_3.3V
DAT----------MCU_PB12
CMD---------MCU_PB13
CS-----------MCU_PB14
CLK----------MCU_PB15
  摇杆有两个模式,一个红灯模式,一个绿灯模式。红灯模式下推动摇杆会输出一个0-255的数字量,而且摇杆按下有输出。
而绿灯模式下,推动摇杆没有输出,当摇杆推到极限的时候,和按下上下左右键效果一样。通过按下手柄上的MODE键可以切换红灯和绿灯模式。
 
 

5.做一个简单的总结,将上面的操作综合起来,即可以通过PS2手柄进行LED和电机的控制。在代码中增加switch的判断,从而进行三种简单的工况处理。
工况一:按方向上,LED亮,电机转动
工况二:按方向下,LED亮,电机不转
工况三:不进行按键操作,LED灭,电机不转


  

PS:综上所述,这次的PS2移植到STM32上控制LED和步进电机的整个流程结束了。
本文更多的是从整个项目的构思到最终实现的过程做了一个梳理,用模块化的思维来实现一个小项目。对于部分技术的原理未做深入的讲解,有感兴趣的小伙伴可以自行查阅资料进行学习。由于时间的紧迫,这个小项目其实还有很多可以完善的地方,譬如我最开始也说过了,PWM发生器是可以用STM32的定时器来替换的,同时也可以将DIR脚接到单片机上,这样就可以控制方向了,而如果多接几个电机,就可以DIY一个简单的遥控车来玩耍了。同时PS2上的按键有十几个,可以搭配其他各种外设相信也可以产生很多不一样的化学反应。后面如果有时间我会把定时器输出PWM的代码贴上来,大概就这么多吧。
---------------------
作者:王小琪
链接:https://bbs.21ic.com/icview-3194462-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/501067
推荐阅读
相关标签
  

闽ICP备14008679号