双轮自平衡小车设计

时间:2022-06-03 04:35:45

【前言】双轮自平衡小车设计由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(1)两轮自平衡小车状态分析:两轮自平衡小车共分为前倾状态、静止状态和后仰状态。前倾状态:即车身重心靠前,车身会向前倾斜,则驱动车轮向前滚动,以保持小车平衡。静止状态:即车身重心位于电机轴心线的正上方,则小车将保持动态平衡静止状态,不需要做任何控制...

双轮自平衡小车设计

摘 要:该文介绍了双轮平衡小车系统设计与实现。系统以STC15F2K60S2单片机作为核心控制器,用MPU-6050陀螺仪检测小车行驶姿态和重力加速度采集,对实时检测采集的数据通过PID算法输出改变PWM脉冲,控制L298N驱动直流电机,通过设计实践,完成软件、硬件设计制作,实现了双轮小车自平衡行驶控制,达到了预期设计目标。

关键词:双轮平衡小车 STC15F2K60S2 PID算法 PWM

中图分类号:TP242.3 文献标识码:A 文章编号:1672-3791(2016)07(b)-0031-02

随着社会经济的发展,人民生活水平的提高,越来越多的小汽车走进了寻常百姓家。汽车快捷方便、省时省力、现代化程度高、种类繁多的个性化设计满足了不同人的需求。然而,汽车作为传统的陆路交通工具也存在不少的弊端,它体积大、重量大、污染大、噪声大、耗油大、技术复杂、价格贵、停放困难,效能不高,容易造成交通拥堵并带来安全隐患。两轮自平衡车运动灵活、智能控制、操作简便,适合单人使用且适用范围广,增加了人们对外出活动的兴趣,减少人们的运动强度,解决了人们时间不充足的问题。

1 系统总体结构

(1)两轮自平衡小车状态分析:两轮自平衡小车共分为前倾状态、静止状态和后仰状态。前倾状态:即车身重心靠前,车身会向前倾斜,则驱动车轮向前滚动,以保持小车平衡。静止状态:即车身重心位于电机轴心线的正上方,则小车将保持动态平衡静止状态,不需要做任何控制。后仰状态:即车身重心靠后,车身会向后倾斜,则驱动车轮向后滚动,以保持小车平衡。

两轮自平衡小车平衡控制的基本思想是:是系统以姿态传感器(陀螺仪、加速度计)来监测车身所处的俯仰状态和状态变化率,通过高速中央处理器计算出适当数据和指令后,控制系统会根据测得的倾角产生一个相应的力矩,通过控制电机驱动两个车轮朝车身要倒下的方向运动,以保持小车自身的动态平衡。

(2)硬件电路结构:该系统要实现双轮小车驱动、自平衡设计,必定要以单片机为核心构成智能控制系统,采用专用芯片驱动直流无刷电机,用陀螺仪实时检测小车姿态和加速度,并实时进行PID控制调节,输出PWM控制直流电机,系统结构如图1所示。

2 硬件电路设计

按照图1电路结构,单片机选用STC15F2K60S2作为控制器;直流电机驱动采用L298N电机驱动板模块,电源由两节工业电池18650直接提供,单片机的P2.0~P2.3接L298N的A+、B+、A-、B-;陀螺仪采用MPU-6050模块,用单片机的P3.5、P3.6接收陀螺仪检测的信号;电机采用(6V/150转)N20减速电机,带D字轴橡胶轮胎和支架;电源采用工业电池18650,+5 V电源由MAS1117-5.0V稳压后输出。

3 软件设计与算法实现

3.1 软件系统结构

系统要实现双轮小车自平衡设计,重点需要实时检测小车行驶姿态、加速度和阐述PWM脉冲信号输出控制直流电机。因此,软件系统采用主从结构,主程序负责顺序调度执行各个功能模块子程序。各个模块子程序分为系统初始化、陀螺仪数据采集、PID运算处理、PWM脉冲产生。

3.2 陀螺仪数据采集

陀螺仪是通过I2C总线接口硬件模块,内部的重力加速度寄存器能记录下当前小车的状态,通过I2C总线通问寄存器,就可读取这些信息到单片机,单片机采用PID处理数据形成电机控制调节信号。

采用I2C总线读写陀螺仪寄存器数据时,单片机先要发出器件地址,然后发出陀螺仪的寄存器地址,指明要访问哪个寄存器,在收到成功应答后,才能开始读出陀螺仪寄存器的内容,具体I2C总线通信资料很多,请参考相关资料。

3.3 PID算法实现

PID及其衍生算法在工业应用中应用广泛,PID控制算法是最简单,最能体现反馈思想的控制算法。对于初学者来讲,应该是足够应对简单的研发问题,在所接触的控制算法当中,PID控制算法最能体现反馈思想的控制算法,可谓经典中的经典。PID算法公式如下:

PID算法运用控制时,采用闭环控制环节实现直流电机调速控制,用rin(t)输入量设置陀螺仪预定值,陀螺仪传感器检测当前小车状态,用rout(t)输出量输出陀螺仪检测到的实际值,由执行器控制直流电机,直流电机采用PWM调速。通过给定陀螺仪预定值和陀螺仪测定的实际值的偏差进行比例、积分、微分运算再通过PWM调节输出给电机,陀螺仪再采集重力加速度反馈回去(其中输入量为rin(t),输出量为rout(t),偏差量为err(t)=rin(t)-rout(t))。

PID运算是该系统的灵魂,PID运算调节小车使其平衡。PID运算通过对重力加速度的给定值与重力加速度的偏差进行比例、积分、微分运算输出运算结果。在PID控制中,引入积分环节的目的,主要是为了消除静差,提高控制精度。但是在启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,导致控制量超过执行机构可能允许的最大动作范围对应极限控制量,从而引起较大的超调,甚至是震荡。为了克服这一问题,引入了积分分离的概念,其基本思路是:当被控量与设定值偏差较大时,取消积分作用;当被控量接近给定值时,引入积分控制,以消除静差,提高精度。

3.4 PWM脉冲输出

单片机通过产生正确的PWM脉冲信号,调节PWM占空比来实现对电机的控制。具体实现时,单片机对给定的占空比进行数据转换,如果当前输出为“1”电平时,将高电平时间预置给定时器,当定时时间到产生中断,对输出信号取反;如果当前输出为“0”电平时,将低电平时间预置给定时器,当定时时间到产生中断,对输出信号取反……。如此实现对PWM脉冲信号占空比进行调节控制电机转速,只要改变占空比就可以控制电机转速。

4 结语

该文重点介绍了双轮小车的自平衡控制,提供小车控制电路原理图,给出了软件系统结构设计和模块化设计基本方法思想。使用STC单片机为控制核心,采用陀螺仪检测信号、PID算法数据处理、PWM输出控制电机,解决了小车平衡行驶控制问题。经过实验制作和软/硬件综合调试,实现了智能小车自平衡行驶控制,具有较好的应用价值。

参考文献

[1] 朱兆优,陈坚,邓文娟.单片机原理与应用-基于STC系列增强型80C51单片机[M].2版.北京:电子工业出版社,2012.

[2] 夏德钤,翁贻方.自动控制理论[M].4版.北京:机械工业出版社,2013.

[3] 赵广元.MATLAB与控制系统仿真实践[M].北京:北京航空航天大学出版社,2009.

上一篇:农网局部低电压产生的原因及措施 下一篇:风险管理在电力安全生产管理中的应用效果探究