stm32f1 平衡小车 准备章节(二)

废话不多说了,接着上一章节继续我的实验吧。

电机为什么要接两根12V的线呢?

因为提供电源啊,在TB66F12FNG中,利用单片机引脚控制电机的前进、后退、停止(只要做过小车的都能理解,忘了的话,仔细想一下吧)

从mpu6050得到的数据(欧拉角)要怎么被运用到平衡车当中呢?

(这个问题看似很低级,但是我觉得很实际,可以再在做工程过程中多留意这种数据间的关系。)

这个问题在论坛上没有答复,我只好查阅相关代码,发现欧拉角是被拿来计算角度的(求平衡倾角,还有角速度),相比而言,平衡**之家的代码的可读性的确是最好的。在阅读这些代码中,我发现了个人的知识漏洞

(PWM的编码器模式以前并未使用过或者了解过,其次,没有熟练的使用MDK5来进行DEBUG的能力,或者是自己从来还没有在实验里使用过这一个功能)

我用的MPU6050是这一款,网上卖的都差不多。

MPU6050 也被称作6轴传感器,即是3轴加速度传感器,三轴陀螺仪传感器的合称。通过这个模块测量具体小车倾斜角度,由于这两个传感器都存在一定的测量误差,需要相互配合,才能测出真实的角度,所以将这两个传感器测出的数据,通过卡尔曼滤波或者互补滤波输出真实的数据。(加速度传感器、陀螺仪传感器分别作为一个输入参数)

然后什么是卡尔曼滤波和互补滤波呢?因为小白也是刚刚学习平衡小车,对于滤波理解太粗浅了,也就不在这里献丑了(网上有很多专门写这个知识的文章)。

TB6612FNG模块:这个模块的功能和L298N基本相同,但是 它的引脚布局,体积、散热等方面做的更出色。(见上左图)
 

但是如何用它控制电机呢?见上右图,只是用了一个电机做例子。通过单片机的IO 口可以控制电机正反转了。

我曾许下十年,只为最美的遇见。我是西伯利亚小强,咱们有缘再见。

猜你喜欢

转载自blog.csdn.net/qq_41821562/article/details/86765967