看到一篇DIY自平衡机器人的文章,感觉特别有意思! 正好趁着寒假的工夫,也来做一做。
参考过程:自平衡机器人-【蛋黄物语】
【原理】
原理 就是应用负反馈控制,由测量到的角度和自身平衡时的自然角度的差作为误差,通过一个叫做PID的控制 算法来控制电机转速和转向,偏离目标角度时,往前倒就向前跑一点,往后倒就向后跑一点,只要这个过 程做的足够快,参数合适,小车就能稳稳地站起来啦。也就是说我们通过MPU6050检测小车的角度作为PID 函数的输入,设定一个平衡角度作为PID函数的目标值,然后把PID函数的输出作为PWM值驱动电机。
【材料准备】我根据参考教程自己从淘宝上淘来的,总价约190元。
1、两个减速电机,最好带码盘,用于驱动车轮。
购买链接:点击打开链接
2、.L298N电机驱动模块
Arduino通过它来驱动电机,买这种带光耦隔离的模块很方便,体积也很小巧。
宝贝链接:点击打开链接
【连线】
1、连接Arduino和MPU6050
2、L298N连接两个电机和Arduino
L298N模块的四个输入口(OUT1~OUT4)分别接Arduino的D6,D7,D8,D9,用来控制两个电机的正反转
L298N的两个PWM口 ( EnA,EnB,注意要拔掉跳帽 ) 分别接Arduino的 D10,D11口,用于调节两个电机的转速。
3、蓝牙模块
连接蓝牙模块和Arduino的TX,RX ,注意是TX接RX,RX接TX。
由于控制需要115200的波特率,而蓝牙模块默认的波特率是9600,所以需要usb转ttl线把蓝牙模块连接到电脑上,用AT指令设置一下波特率。
(然而usb转ttl不小心被我给烧了,大过年的又买不到=。=)
不得不吐槽。。。线实在是太多了,拼完之后的样子: