基于STM32的四足机器人

1.前言

因为今年暑假要参加电赛,报上了名,选好了指导老师,但是由于和指导老师不熟,所以此约了一个时间过去聊聊,顺便问问如何准备电赛,去了之后,老师交给我了一个任务,控制这个四足机器人进行运动,先前这个机器人的控制板采用的是ESP8266,基于Arduino平台开发的,而我的任务就是,重新绘制PCB,同时采用STM32来进行控制。
基于STM32的四足机器人_第1张图片

2.选择方案

1.主控MCU的选择

首先是主控,STM32,我选择的是103C8T6,由于最近几个月,半导体行业产能严重不足,导致芯片价格疯涨,所以先不打算集成STM32到PCB上,而是打算先画一块主板底座,把开发板插上去,一点是因为手里没有其他合适的板子,还有一点就是如果等这版成功了,就可以把32集成上去了,免得第一次直接集成上去,结果板子画的有问题,又要拖时间。
基于STM32的四足机器人_第2张图片

2.无线控制以及附加模块

之前的板子是ESP8266可以联网的,那么基于STM32的话,我打算采用蓝牙模块,同时再在板子上放一个OLED,方便我调试,以及后期显示一些信息,如当前运动状态以及电池电量,蓝牙模块我选的是一个从机蓝牙,省钱,而且编程简单,只需要配置串口,然后接收数据就行了。
基于STM32的四足机器人_第3张图片

3.硬件以及软件控制分析

因为机器人需要独立供电,所以用到了锂电池,既然是锂电池,那么一定需要一个锂电池充电电路了,一般锂电池用的充电芯片是TP4056,所以去找了这个芯片的数据手册,找到了这个芯片的典型应用。
基于STM32的四足机器人_第4张图片
资料里说如果在充电,7脚会被拉到低电平,那么红色LED就会亮,电池充满电了,6就会被拉到低电平,绿灯亮,如果想调节充电电流,通俗点就是充电速度,只需改变2脚的电阻即可。因为我选用的锂电池是400MA的,一般来说充电电流为0.34倍的C,最为合适,我的是400MA,那么充电电流应该是400*0.34=136ma,可是后面板子出来后,充电实在太慢了,我就把电阻换成了2K的。
基于STM32的四足机器人_第5张图片

东西基本做完了,博客烂尾了,拖了太久,不想写了,演示视频找不到了,附上几张板子照片

没有集成OLED版本

基于STM32的四足机器人_第6张图片
基于STM32的四足机器人_第7张图片

基于STM32的四足机器人_第8张图片
基于STM32的四足机器人_第9张图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/946af6d38cde4f028addbb3127439aac.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_Q1NETiBA5LiN6IGK5oqA5pyv55qE5rab5rab,size_16,color_FFFFFF,t_70,g_se,x_16#pic_center

最后打出来的板子是紫色的,因为当时刚出立创紫,试了一下,板子在学校

最后附上最终版本(集成OLED)

基于STM32的四足机器人_第10张图片
基于STM32的四足机器人_第11张图片

代码部分

其实没什么东西,主要是你需要把机器人前进后退,以及左右运动的步伐给分析出来,然后转换成对应的PWM的值,存到数组里,然后遍历出来给舵机,让其逐步运行。
基于STM32的四足机器人_第12张图片
基于STM32的四足机器人_第13张图片

基于STM32的四足机器人_第14张图片

你可能感兴趣的:(stm32,物联网,自动驾驶)