两轮平衡车,试试用单片机系统来开发!

-回复 -浏览
楼主 2020-09-01 07:09:03
举报 只看此人 收藏本贴 楼主


在国外,两轮载人平衡车早已被用于一些公共场合了,如今很多机场、火车站、汽车站等公共场所都运用了两轮载人平衡车。研究两轮平衡车小车有利于研究两轮载人平衡车。


本作品主要由一块IAP15F2K61S2单片机开发板做主控板,一个电源和传感器模块来采集角度数据并为系统供电,一个测速模块来测得电机的速度信息,最后把角度信息转化成PWM输出给一个电机驱动模块来控制两个空心杯电机。


本设计是基于IAP15F2K61S2单片机系统开发的两轮平衡车,采用IAP15F2K61S2单片机开发板做主控板,用MPU6050 陀螺仪和加速度传感器采集加速度和角速度,通过计算得出角度以确定小车姿态,再通过光电门传感器测出小车电机转速,以计算出车速,运用PID算法再根据传感器测得数据处理后对电机驱动进行PWM输出,调节合适的PID参数使小车能稳定直立起来。



本作品使用简单,打开总开关小车即可直立。两轮载人平衡车在一些公共场合有一定的优势,研究两轮平衡小车对开发两轮载人平衡车有一定的帮助,本作品具有结构简单清晰,使用方便等特点。


设计特色:


小车底盘是我们用游标卡尺量出电机支架的孔径和位置,用Altium Designer 软件画出底盘模型,再用雕刻机和亚克力板雕刻出底盘。车上面传感器模块和电池盒的安装具有对称性,使小车重心在电机上方,传感器安装比电机稍微高点,大概在重心处,这样有助于小车的平衡和稳定性。在算法上我们采用精简PID算法和卡尔曼滤波算法来控制电机,使系统更稳定可靠。


平台选型说明:


本系统采用IAP15F2K61S2单片机开发板做主控板,IAP15F2K60S2是1T的8051单片机。是真正意义上的单片微机,宽工作电压,不 需要外部复位电路和外部晶振,内部晶振5—33.1776M可选。片上外设丰富,具有3通道捕获\比较单元(CCP/PCA/PWM),8通道10位高速 AD,3个定时器/计数器,双串口,高速串行通信ISP接口,大容量片内EEPROM。电机驱动采用LM298N,测速采用透射式光电门,信号经反向器输 出稳定脉冲,电机采用空心杯,频率可达十几千赫兹。

本作品用到IAP15F2K61S2单片机的内部资源有定时器1、定时器2、串口1、ADC、外部中断0、外部中断1、PWM等这些资源。定时器1以10ms的周期处理数据,定时器2作为串口1的波特率发生器,串口1用于调试时与上位机软件通讯,ADC是采集电位器可调端的电压用于调试 PID参数,外部中断0、1用于计数测速模块的脉冲,PWM作为使能电机驱动输入信号。

MPU6050采用IIC通讯传输数据,电源模块采用LM7805($0.2053)做稳压芯片给单片机和传感器供电。

每个电机尾部都有两个光电门用以测速,光电门输出信号经反向器输出后更稳定可靠。电机接线用转接板转接有利于保护电机接线。

keep out层画边框、顶层画辅助线,用雕刻机先打孔再割边。


设计说明:


本设计在IAP15F2K61S2单片机开发板的基础上,利用陀螺仪和加速度传感器以周期为10ms测出角度信息,经卡尔曼滤波算法滤波处理后再经PD算法处理输出,测速模块以周期为100ms测出速度信息,在经互补滤波算法滤波后再经PI算法处理输出,将角度环的输出量与速度环的输出量融合作为PWM的设定值对电机驱动输入从而控制电机。


1.《单片机与嵌入式系统应用》11月电子刊新鲜出炉

2.多技术融合的机器人时代,背后都蕴含着哪些技术?

3.如果怀揣成为电子工程师的梦想,在学校中应该做些什么?

4.第一次接触FPGA至今,总结的宝贵经验~

5.做嵌入式驱动的,你一定要挺住!

6.未来是属于算法的,不是代码

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

我要推荐
转发到

友情链接