VID_20220313_221014
经过停更的这段时间,这次是储备了一个大的彩蛋。我是一个乒乓球爱好者,虽然乒乓球技术不咋地,但是还是很好学的,想通过勤能补拙来实现提高乒乓技术,但是社区老大爷们的技术还是很牛的,基本上看不上我这菜鸟,所以很少愿意给我喂球,所以就有了一个想法,那不如自己做一个乒乓球发球机吧,我们也可以把它叫做乒乓球训练机器人。
这个乒乓球发球机包含了,包含了硬件,软件,结构,先上两张图吧!
先看看结构,结构看似还是比较简单的,我们从上往下看,最上面是一个发球球机筒,这是有一个垃圾桶代替的,当然他是一个新的干净的垃圾桶,我们在垃圾桶旁边开了一个口,用于出球。这个口连接着一段软管连接到一个五十毫米的pvc水管,然后是在水管上装了两个电机,形成一个发球头部件,pvc水管固定在一个舵机上,舵机连接在一个可前后左右调节的手机支架上,然后手机支架固定在一块小木头上,然后再固定到木制的底座上。在另一头,连接着发球桶,这大概就是整个结构。
下面的说说硬件,硬件除了上面提到的电机和舵机,还在淘宝上买了一个电机驱动板lm319,可通过pwm波形进行驱动,实现调速调频。还有一个红外接收头板,一个红外遥控器,最后是我们主角:phytec控制板。
画一个硬件架构图:
最后说说软件,软件可以分为驱动层和应用层。驱动层主要有串口驱动,pwm波驱动。应用层主要有创建几个task,队列,信号量,定时器。初始化io,uart等。然后就是根据红外接收头的信号来实现乒乓球速度,方向,频率等的逻辑控制。另外这里还实现了手动模式和自动模式。
处于手动模式时,*键或#号分别保存所有当前的电机参数。在自动模式时,可以调出来之前保存的电机参数。
p1手动模式:
- 可以手动调节上下电机的速度,A键决定调节上一个,b对应下一个,下面下按键减速,下面上按键加速。
- 手动调节左右摇摆角度,下面中间左右按键ok
3.c键对应手动调节送球速度,下面上键加速,下键减速
4.d键对应手动调节送球周期即频率,下面上键加时间(变慢),下键减时间(变快)
p2自动模式:
- 上下旋组合模式
- 长短球组合模式
- 落点组合模式
最后总结一下,可以说是纯手工打造的一台自动发球机训练机器人,经过一代代改良,终于达到我想要的效果:可发上下旋,侧旋,长短球,可左右摇摆发球,可发一跳或两跳球。可远程遥控。几乎用尽了我毕生所学。球技涨不涨就看你了。
|