摘要:ps2手柄是索尼的playstation2游戏机的遥控手柄。索尼的psx系列游戏主机在全球很是畅销。不知什么时候便有人打起ps2手柄的主意,破解了通讯协议,使得手柄可以接在其他器件上遥控使用,比如遥控我们熟悉的智能小车。突出的特点是这款手柄性价比极高,按键丰富,方便扩展到其它应用中。
图片来自网络图片来自网络 1.ps2手柄控制 ps2手柄由手柄与接收器两部分组成,手柄主要负责发送按键信息;接收器与单片机(也可叫作主机,可直接用在ps2游戏机上)相连,用于接收手柄发来的信息,并传递给单片机,单片机也可通过接收器,向手柄发送命令,配置手柄的发送模式。
图片来自网络 2.ps2手柄时序 1、cs线在通讯期间拉低,通信过程中cs信号线在一串数据(9个字节,每个字节为8位)发送完毕后才会拉高,而不是每个字节发送完拉高。
2、do、di在在clk时钟的下降沿完成数据的发送和读取。
“ 下降沿:数字电平从高电平(数字“1”)变为低电平(数字“0”)的那一瞬间叫作下降沿。
” 3、clk的每个周期为12us。若在某个时刻,clk处于下降沿,若此时do为高电平则取“1”,低电平则取“0”。连续读8次则得到一个字节byte的数据,连续读9个字节就能得到一次传输周期所需要的数据。di也是一样的,发送和传输同时进行。
以stm32与ps2手柄 通信为例:
1、 首先stm32拉低cs片选信号线,然后在每个clk的下降沿读一个bit,每读八个bit(即一个byte)clk拉高一小段时间,一共读九组bit。这九个byte如下表
对应的的手柄读取代码如下
//读取手柄数据void ps2_readdata(void){ volatile u8 byte=0; volatile u16 ref=0x01; cs_l; ps2_cmd(0x01); //开始命令 ps2_cmd(0x42); //请求数据 for(byte=2;byte<9;byte++) //开始接受数据 { for(ref=0x01;ref<0x100;ref
pa1cs->pa2clk->pa3
” 4.电机实物接线图解 图片来自平衡之家小车 一般的小直流电机只引出两个线,怎么这个电机有 6个线,而且还有两个大焊点呢?其实,那两个焊点分别和黄线和棕线是连接在一起的。也就是说只有6 个线,而6p 排线中,中间的四根线(红绿白黑)是编码器的线,只是用于测速,和直流电机本身没有联系。在实现开环控制的时候无需使用。我们只需控制施加在黄线和棕色线两端的直流电压大小和极性即可实现调试和换向。
5.tb6612fng使用说明 要实现调试和换向功能,可以使用单片机实现的,但是单片机io的带负载能力较弱,而直流电机是大电流感性负载,所以我们需要功率放大器件,在这里选择tb6612fng。
tb6612fng是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流mosfet-h桥结构,双通道电路输出,可同时驱动2个电机。也许大家更熟悉l298n,其实这两者的使用基本一致的。而且,相比 l298n的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。对于 pwm信号输入频率范围,高达100 khz的频率更是足以满足我们大部分的需求了。
以下是tb6612fng 的主要参数:最大输入电压:vm = 15v最大输出电流:iout = 1.2a正反转/短路刹车/停机功能模式内置过热保护和低压检测电路以下是tb6612 模块测试一个电机的接线图:
图片来自平衡之家小车 vm直接接电池即可,vcc 是内部的逻辑供电,一般给3.3 或者5v 都行,模块的3 个gnd 接任意一个即可,因为都是导通的,stby置高模块才能正常工作。
完成上面的接线之后,我们就可以开始控制电机了,上图中红色部分的5个引脚控制一路电机,蓝色部分的控制另外一路电机,这里只讲其中的a 路,b路的使用是一样的。ao1 和ao2 分别接到电机的+和-。然后通过pwma、ain2、ain1控制电机。其中pwma 接到单片机的pwm 引脚,一般10khz 的pwm 即可,并通过改变占空比来调节电机的速度。下面是真值表:
ain1接 3.3~5v、 ain2 接gnd、 pwma接 3.3 ~5v。这样相当于控制电机满占空比正转;ain1接 gnd、 ain2 接3.3~ 5v、 pwma接 3.3~5v。这样相当于控制电机满占空比反转;
6.舵机转向控制 关于舵机的控制我在前面的一篇文章已经具体的说明了!
点击查看:stm32驱动舵机的原理与实现
后台回复:ps2小车,即可获取项目源码!
一文详解雷电接口的前世今生
详解Nginx负载均衡配置误区
新时代新发展,西部最大年度盛会闪耀登场!
沪电股份5G+汽车板驱动增长 毫米波雷达用PCB增添新动力
MAX4999 USB 2.0差分8:1复用器
基于STM32的PS2遥控小车
可编程直流电子负载的电压范围
找到安卓“替代品”?华为对次消息暂无回应
智慧交通建设过程中存在什么难点
工控机在汽车检测行业中有着怎样的应用
创维A4演绎极简智能生活新潮流,免遥控的新智能时代
Arcolectric与BioCote开发独特的抗菌电子器件
lm1117稳压电路图
Si3933 125KHz三通道低功耗唤醒接收器芯片概述
是否可以同时安装多个版本的AD软件
传统汽车产业链将发生颠覆性变革
区块链:打造公益慈善新模式
对话馨联动力张天锷:混合动力专用变速箱、两挡减速器正成为自主零部件企业下一个竞逐点
手持农业气象环境监测仪产品介绍说明
智能制造下的智慧供应链变革