引言
这期给大家带一个遥控船的教学,做完这个,小白也算是海陆空都接触过了,哈哈哈。
话不多说进入正题~
正文
首先给大家上一段视频吧:
https://www.bilibili.com/video/BV1t64y1i7pm?share_source=copy_web
本次遥控船的项目其实是我一个大项目中的一小部分,因为我觉得遥控船还蛮好玩的,就给大家分享一下教程叭。
这个船是作为我水下通信项目中的移动基站使用的,本来是不需要专门做遥控器的,可是突然回想起了本科做的智能车,所以就自己加了点东西进去,嘿嘿嘿。
教学
首先,我们还是要先确立一个大体的项目思路,大致就是,船+遥控器~,船和遥控器之间需要实现无线通信,然后船上要有主控加电机驱动,和智能车有异曲同工之妙,当然这也是我第一次做船,我也是当成车来做的啦。
主控芯片我们就选择STM32吧,然后电机驱动就用我之前有教学的BTN驱动吧,虽然有些奢侈了,但毕竟不用改电路嘛。
规划好了之后呢,我们就需要一艘船。我就用实验室的废料加上热熔胶大致做了一个。(PS:热熔胶真的是个好东西)
有了船我们就需要开始设计电路了。这部分我们放到下一期进行教学。
不过本期要把整个项目框架提前定好。
首先船不仅要有遥控功能,还需要实现定点,因此我们就要用到自控算法进行船体控制,当然控制就需要有船体的反馈,我们需要角度信息,以及速度信息。
角度信息用陀螺仪就好啦。但是速度信息却困扰了我很久,因为不像智能车,可以用编码器获得速度信息,所以对于船如何得到速度,我考虑了许多方案,首先是GPS,但是由于实验场地在室内,很难接收到准确的信号,所以pass。其次又考虑的UWB,但是经费有限,pass。最后只想到了光流的方式来测速,这是用在无人机上定位的方案,当然单纯的光流测速并不会很准,并且还受特征点的制约。所以效果如何我也不敢打包票。(因为是在池塘,其实可以用激光测距传感器测量船到池边的距离的,但这种定点方案换个池子就不行了,所以直接pass)
到此主控和驱动就已经确定好啦,
接下来是遥控器,遥控器的无线通信我们用比较熟悉的NRF2401模块,与MCU采用SPI通信,然后用摇杆电位器来作为电机的推力设置。再加一个串口屏,可以DIY自己的UI界面,可玩性很高,嘿嘿。
OK,方案我们就算定好了~
总结
这期就讲个项目思路吧,下期开始就带大家一步一步实现这个遥控船~