基于STM32的自平衡小车系统设计
基于stm32的平衡小车设计
01
Part One 小车的总体构架
整体框架图
软
自平衡原理
02
Part Two 器件的选择与组装
器件
个数 一个 一个
平衡车控制板STM32
TB6612FNG电机驱动模块
LM2596S-ADJ DC-DC可调降压模块
OLED模块(OLED液晶0.96寸显示屏)
一个
一个
无线蓝牙串口透传模块 无线串口通讯 一个
1)编写I2C驱动 2)MPU6050的驱动 3)陀螺数据的处理函数
THANKS
通过延时来实现led的闪烁。
OLED的实现原理
管脚初始化 OLED初始化 管脚配置(特别是复用管脚的配置) OLED配置
电机驱动和码盘 对定时中断中进行编码操作。
编码器数据读取并显示
在程序中Control.c文件中添加读取编码器计数 能够实现10ms内对编码器计数进行读取
对motor.c进行编码,主要完成的工作为: 1)对控制两个电机的方向的IO进行设置,对产生输出PWM波的IO进行配置; 2)对电机控制PWM进行配置; 3)编写两个电机兼容方向控制的PWM输出值设置函数。 4)读取电机编码器 5)对电机速度进行PD计算 6)根据PD计算,给定实际的电机PWM值
一个
小车底盘(双电机及轮胎)
杜邦线,电木板,固定支架
一个
若干
主要模块
STM32F103C8T6 TB6612FNG
OLED液晶显示屏
蓝牙模块
LM2596S-ADJ
03
Part Three 平衡车的组装
电路图
外形
04
Part Four 程序代码
LED的实现原理
1.对LED(IO)进行初始化; 2.初始化定时器(10ms) 3.编写定时中断初始化函数; 4.编写LED闪烁程序; 5.主程序中添加相关代码。
基于STM32F103RCT6两轮自平衡小车设计
第32卷第4期黑㊀龙㊀江㊀工㊀程㊀学㊀院㊀学㊀报V o l 32,N o 42018年8月J o u r n a l o fH e i l o n g j i a n g I n s t i t u t e o fT e c h n o l o g yA u g.,2018D O I :10.19352/j.c n k i .i s s n 1671G4679.2018.04.002基于S TM 32F 103R C T 6两轮自平衡小车设计宣丽萍,李艳丽(黑龙江科技大学电气与控制工程学院,黑龙江哈尔滨150022)摘㊀要:采用P I D 算法㊁卡尔曼滤波算法,实现一个基于S TM 32F 103R C T 6两轮自平衡小车系统.运用M P U 6050模块来获取数据信息,进而弥补加速度计的动态误差以及陀螺仪的漂移误差,获得更精确的倾角值,然后经S TM 32芯片处理输出适当指令,控制电机的运行,并通过蓝牙模块与手机蓝牙A P P 的通信,实现小车循迹.实验表明:小车通信可靠,保持平稳,且能实时控制小车的运动姿态,达到预期目的.关键词:两轮自平衡小车;卡尔曼滤波算法;M P U 6050模块;P I D 算法中图分类号:T P 273㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1671G4679(2018)04G0006G05D e s i g no f t w o Gw h e e l s e l f Gb a l a n c i n g ca rb a s e d o nS T M 32F 103R C T 6X U A NL i p i n g,L IY a n l i (S c h h o l o fE l e c t r i c a l a n dC o n t r o l E n g i n e e r i n g ,H e i l o n g j i a n g U n i v e r s i t y o f S c i e n c e a n dT e c h n o l o g y,H a r b i n150022,C h i n a )A b s t r a c t :I n t h i s d e s i g n ,t h eP I Da l g o r i t h ma n d c a l m a n f i l t e r a l go r i t h ma r e u s e d t o r e a l i z e a t w ow h e e l s e l f b a l a n c i n g c a r s ys t e m b a s e d o n S T M 32F 103R C T 6.A n M P U 6050m o d u l ei s u s e d t o g e tt h e d a t a i n f o r m a t i o n ,a n dt o m a k eu p f o rt h ea c c e l e r o m e t e rd y n a m i ce r r o ra n d g y r od r i f te r r o r ,t h ea n g l e m o r e a c c u r a t ev a l u e ,a n dt h e nt h e S TM 32c h i p p r o c e s s i n g o u t p u t sa p p r o p r i a t ei n s t r u c t i o n st oc o n t r o lt h e o p e r a t i o no f t h em o t o r ,a n d t h r o u g h t h e c o m m u n i c a t i o nm o d u l e a n d t h eB l u e t o o t hm o b i l e p h o n eB l u e t o o t h A P P ,t h e c a r t r a c k i n g i s c o m p l e t e d .T h ee x pe r i m e n t s h o w s t h a t t h e c o m m u n i c a t i o nof t h e c a r i s r e l i a b l e a n d s t a b l e ,w h i c hc a n c o n t r o l t h em o t i o n p o s t u r e o f t h e c a r i n r e a l t i m e a n d a c h i e v e t h e d e s i r e d p u r p o s e .K e y w o r d s :t w o Gw h e e l s e l f Gb a l a n c i ng c a r ;K a l m a n f i l t e r a l g o r i th m ;M P U 6050m o d u l e ;P I Da l g o ri t h m 收稿日期:2018G03G12基金项目:中国煤炭工业协会科学技术研究指导性计划项目(2014)第一作者简介:宣丽萍(1971-),女,副教授,研究方向:电气工程与智能控制.㊀㊀近年来,两轮自平衡小车的研究㊁发展逐步加快,在很多领域都有应用,同时伴随其执行任务的复杂性,对其适应环境的能力要求逐渐提高.比如,在空间狭窄的地方,交通堵塞的情形,或者弯道较大的场所,就小车如何在较短的时间处理所获取的信息,并执行相应的任务,已成为研究的热点.两轮自平衡小车概念的提出,顺应了日前研究的热点,可很好地解决上述复杂环境下小车的运动,加之无线遥控技术,可远距离控制两轮自平衡小车的运动姿态,未来在军用㊁民用领域有广泛的发展空间.1㊀系统整体方案设计本设计以S T M 32处理器为核心,采用M P U 6050模块获取小车的运动信息,运用K a l m a n滤波算法得到小车的运行数据㊁角度值与角速度值.然后选用P I D 算法得到实时的P WM 波形,达到对小车的控制以保持小车的平衡,通过手机蓝牙A P P 与小车通信,控制小车实现前进㊁左右转㊁后退以及停止等运动姿态.系统的整体设计方案如图1所示.图1㊀小车硬件总体结构2㊀系统硬件设计2 1㊀主控芯片使用S T M32F103R C T6处理器芯片,该芯片以C o r t e xGM3为内核,最高工作频率为72MH z,48K 字节的S R AM,其板载资源有D MA㊁A D C㊁定时器㊁I I C以及U A R T等外围设备,可产生多路P WM用以控制电机.2 2㊀直流电机驱动电路设计电机驱动芯片选用S T公司生产的一种电机,其驱动芯片型号为L298N.主要参数:工作电压的最大值46V,输出电流瞬间峰值3A,持续工作电流2A.拥有2个H桥高电压㊁大电流的桥式驱动器,用以驱动电机;控制使用标准逻辑电平信号;拥有2个控制端,即在没有输入信号干扰的场景下许可或禁止器件运转,有1个逻辑电源输入端,可使逻辑电路在低电压情形运行;也可外接1个测试电阻,将变化量传达到控制电路.其原理如图2所示.图2㊀L298N模块原理2 3㊀电源模块采用三节3 7V大容量电池供电,用以提供电机的驱动电压,电源变换电路采用稳压芯片L M2940把电池组电压稳定在+5V,然后再经稳压芯片AM S1117G3 3把电压稳定在+3 3V.为更好地降低电磁干扰,得到精度更高的数据信息,采用两路+3 3V电源分别给S T M32F103和M P U6050供电,然后把多路输入源各自接地,可达到提高系统稳定性的目的以及抗干扰水平.其原理如图3所示.2 4㊀车体姿态控制模块选用I n v e n S e n s e公司发行的一种6轴运动的整合性器件M P U6050,即3轴陀螺仪传感器以及3轴加速度传感器,能在外围连接磁力传感器,并运用本身的数字运动处理器以及I I C接口,把所测得的模拟量转换为数字量,最终传达至主控芯片,但要获取实际的角度值以及角速度值,仍需一个转换关系,才能得到二者的实际值.为得到更确切的车体倾角值,降低陀螺仪的漂移㊁车体摆动等对小车加速度计的干扰,需要对陀螺仪与加速度计的输出值进行融合,本设计将采用图3㊀电源变换原理K a l m a n滤波算法进行数据融合.该算法属于一类效率很高的递归滤波器,可从一连串复杂的噪声测试中,估算出动态系统的姿态.当小车失去平衡时,该P I D算法就会起作用,处理小车车体的角度与角速度值,产生实时的P WM波形,用以驱动电机来让小车的车体维持平衡,小车姿态平衡控制如图4所示,其中,k d,k p,k s p,k i s为P I D控制器参数.其7第4期㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀宣丽萍,等:基于S TM32F103R C T6两轮自平衡小车设计控制框图如图4所示.图4㊀小车姿态平衡控制2 5㊀蓝牙模块蓝牙无线模块选用的型号为H C G05,选用U A R T 协议,其优点为价格低㊁尺寸小㊁能耗低㊁发送接收灵敏等.H C G05有两种工作模式:自动连接工作模式与命令响应工作模式.前者又分为3个形式:主(M a s t e r )㊁从(S l a v e )㊁回环(L o o p b a c k ).当模块工作在自动连接模式,它能依照预先设置好的步骤进行数据传输,当模块工作在命令响应工作模式,用户能向该模块传送任一A T 指令,为模块设置所需的执行参数或者指令.该模块工作状态的合理切换,取决于其外部引脚的输入电平情况.2 6㊀循迹传感器模块循迹传感器模块可让小车依照预先设置的任意路线运动,该模块工作电压为3~5V ,可发射某一频率的光线,运动过程中会对所走的路线做出反应,若所走的路线为白色,该光线能反射回来且能被该模块获取,然后经该模块处理会产生高电平,若所走线路为黑线,则能吸收该光线不能被该模块获取,此时经该模块处理会产生低电平,所以它能依照所测电平实时调整运动姿态,让小车的两轮产生差速,用以保持预定的路线运行.3㊀系统软件设计该系统软件主要有系统初始化㊁M P U 6050模块信息采集㊁卡尔曼滤波算法㊁P I D 算法以及P WM 的产生等功能函数的设计,其控制流程如图5所示.3 1㊀卡尔曼滤波融合算法K a l m a n 滤波的思路为:利用信号㊁噪声的状态空间模型,以最小均方误差为最优估计准则.根据前一时刻的估算值与此刻的观测值实时替换状态变量的值,得出此刻状态变量的估算值.依据建立的系统方程与观测方程,然后对所需处理的信号,作出适合的最小均方差估计.跟互补滤波比较,该算法处理起来虽复杂,但它有更好的性能.对于大图5㊀系统程序设计流程多数问题的求解,其最优㊁效率又高甚至最有用的特点尽显.所以本设计的数据融合算法选用的是卡尔曼滤波算法.卡尔曼滤波方程如下所示:X (k k -1)=A X (k -1k -1)+BU (k ),(1)P (k k -1)=A P (k -1k -1)+A T+Q ,(2)K g (k )=P (k k -1)H T /(H P (k k -1)H T +R ),(3)X (k k )=X (k k -1)+K g (k )(Z (k )-H X (k k -1)),(4)P (k k )=(I -K g (k )H )A P (k k -1).(5)㊀㊀式(1)为状态预测方程,X (k k -1)为k 时刻的估算值,为2维列向量,系统中X (k k -1)=a n gl e Q -b i a s(a n gl e 为k 时刻倾角的估计值,Q 为k 时刻陀螺仪的位偏差),A 为2维方阵,A =1-d t 01(d t 为采样时间),X (k -1k -1)为k - 8 黑㊀龙㊀江㊀工㊀程㊀学㊀院㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第32卷1时刻的最优估计值,B为2维列向量,B=d t0, U(k)=g y r o(g y r o为陀螺仪k-1时刻测得的角速度值).式(2)为系统的协方差方程,Q为向量a n g l eQ-b i a s的协方差矩阵.式(3)为卡尔曼增益方程,K g(k)为2维列向量,K g(k)=k0k1,H=10,R为角度测量噪声值,程序中定义R-a n g l e=0 5式(4)为状态估计方程,Z(k)=a c c e l为加速度计的角度测量值.式(5)为估计均方误差方差,I=11T.其程序设计如下:v o i dk a l m a n_f i l t e r(f l o a t a n g l e_m,f l o a t g y r o_m,f l o a t∗a nGg l e_f,f l o a t∗a n g l e_d){a n g l e+=(g y r o_mGq_b i a s)∗d t;P d o t[0]=Q_a n g l eGP[0][1]-P[1][0];P d o t[1]=-P[1][1];P d o t[2]=-P[1][1];P d o t[3]=Q-g y r o;P[0][0]+=P d o t[0]∗d t;P[0][1]+=P d o t[1]∗d t;P[1][0]+=P d o t[2]∗d t;P[1][1]+=P d o t[3]∗d t;a n g l e_e r r=a n g l e_mGa n g l e;P C t_0=C_0∗P[0][0];P C t_1=C_0∗P[1][0];㊀E=R_a n g l e+C_0∗P C t_0;㊀K_0=P C t_0/E;㊀K_1=P C t_1/E;㊀t_0=P C t_0;㊀t_1=C_0∗P[0][1];P[0][0]G=K_G0∗t_0;P[0][1]G=K_0∗t_1;P[1][0]G=K_1∗t_0;P[1][1]G=K_1∗t_1;a n g l e+=K_0∗a n g l e_e r r;q_b i a s+=K_1∗a n g l e_e r r;a n g l e_d o t=g y r o_mGq_b i a s;∗a n g l e_f=a n g l e;∗a n g l e_d o t_f=a n g l e_d o t;}3 2㊀电机控制P I D算法在小车电机控制中,本设计选用了控制原理中普遍用到的P I D算法.传感器得到的角度与角速度值的误差值作为其输入,其输出为电机的P WM 占空比的大小.很显然在P I D算法中,系统的稳定与否跟这3个参数有很大关系.由于系统中不可避免地含有计算误差,因此,选用的算法为增量式P I D 算法.针对小车的平衡,可从下述3个环节去调试:直立环㊁速度环㊁转向环.1)直立环程序.本小车直立环采用P D(比例微分)控制器,事实上,大多数控制系统P或者P I控制就能满足要求,但若要对干扰快速作出反应,就要引入D(微分)控制了.以下为本小车直立P D控制的代码:i n t b a l a n c e(f l o a t a n g l e,f l o a t g y r o){f l o a t b i a s,k p=300,k d=1;i n t b a l a n c e;b i a s=a n g l eG0;//计算直立偏差b a l a nc e=k p∗b i a s+g y r o∗k d;//计算直立P WMr e t u r nb a l a n c e;//返回直立P WM}函数的参数为小车的倾角与Y轴陀螺仪,所设定的小车前进方向为M P U6050的X轴正方向,电机轴跟Y轴平行.此时可注意到,小车无任何抖动,很稳定,但不能维持长久的直立,会朝某一个方向快速倾倒,也即仅有直立环让小车保持很好的直立效果有点困难.2)速度环程序.本小车速度环采用P I控制器,一种很常用的线性控制器.能依照给定值与实际输出值组成控制偏差,把偏差的P与I经过线性组合形成控制量,达到对被控对象的控制.以下是其控制的代码:i n t v e l o c i t y(i n t e n c o d e r_l e f t,i n t e n c o d e r_r i g h t) {s t a t i c f l o a tV e l o c i t y,E n c o d e r_L e a s t,E n c o d e r; s t a t i c f l o a tE n c o d e r_I n t e g r a l;f l o a t k p=80,k i=0 4;E n c o d e r_L e a s t=(E n c o d e r_L e f t+E n c o d e r_ R i g h t)G0;E n c o d e r∗=0 7;E n c o d e r+=E n c o d e r_L e a s t∗0 3;E n c o d e r_I n t e g r a l+=E n c o d e r;V e l o c i t y=E n c o d e r∗k p+E n c o d e r_I n t e g r a l ∗k i;r e t u r nV e l o c i t y;}9第4期㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀宣丽萍,等:基于S TM32F103R C T6两轮自平衡小车设计函数的参数为左右轮编码器.上述代码达到的效果为:可让小车保持平衡且速度为0.3)转向环程序.本小车转向环采用P或者P D控制器,上面提到,大多数控制系统P或者P I控制就能满足要求,而转向环就是此类控制系统,要求不太高,因此,选用P控制.在平衡小车里,跟直立环㊁速度环比较起来,转向环显得不那么重要了.它的作用为在小车行驶途中,保持预定的Z轴角速度,换句话说,若设置的Z轴角速度为0,则小车会走直线,这就是本实验要达到的目标之一.以下是其控制的代码:i n t t u r n(i n t e n c o d e r_l e f t,i n t e n c o d e r_r i g h t,f l o a t g y r o){f l o a tT u r n,K p=1,b i a s;b i a s=g y r oG0;T u r n=Gb i a s∗K p;r e t u r nT u r n;}函数的参数为左右轮编码器与Z轴陀螺仪,其中,左右轮编码器在遥控部分才运用到.上述代码达到的效果:协作直立环㊁速度环,让小车保持短距离直线运行.4㊀结束语本设计主要以S TM32为控制芯片来处理小车运行时的各种数据信息.主要由卡尔曼滤波㊁M P U6050模块信息采集以及循迹模块等功能函数构成,围绕主控制程序将各功能函数连接起来,然后组建相应的软硬件平台及调试,测试表明,小车能在复杂的干扰下实现快速调整运行姿态,其最大可控倾斜角达ʃ15ʎ,且能在蓝牙A P P的指令下遥控小车,具有普遍的实用价值及现实意义.参考文献[1]㊀杨莘.基于S TM32的两轮自平衡遥控小车[J].数控技术应用,2014(5).[2]㊀董杰.基于S TM32的智能循迹往返小车设计[J].电子设计工程,2013,12.[3]㊀季鹏飞.基于S TM32的两轮自平衡小车控制系统设计[J].电子科技,2014,27(11):96G105.[4]㊀杨凌霄,李晓阳.基于卡尔曼滤波的两轮自平衡车姿态检测方法[J].计算机仿真,2014,1(6):406G409.[5]㊀武俊峰,孙雷.两轮自平衡机器人的控制方法研究[J].哈尔滨理工大学学报,2014,19(6):22G26.[6]㊀刘二林,姜香菊.基于卡尔曼滤波的两轮自平衡车姿态检测[J].自动化与仪器仪表,2015(2):52G54.[7]㊀王素青,熊维堂.基于S TM32的两轮自平衡小车系统设计[J].实验室研究与探索,2016,35(5):146G150.[8]㊀马思远,鲁庭勇,张丽君.两轮自平衡车运动姿态的测量和控制[J].测控技术,2015,34(4):71G73.[9]㊀张团善,何颖.卡尔曼滤波在两轮自平衡代步车姿态检测中的应用[J].单片机与嵌入式系统应用,2014(5):33G35.[10]蒋纬洋,邓迟,肖晓萍.两轮自平衡小车系统制作研究[J].国外电子测量技术,2012,31(6):76G79.[11]熊跃军,史明政,林金勇,等.一种两轮自平衡小车的设计与实现[J].长沙大学学报,2016,30(2):39G42.[12]郝丽英,宋起超.基于神经网络的移动机器人预瞄轨迹跟踪控制算法研究[J].黑龙江工程学院学报,2017,31(5):37G41.[13]蒋涛.基于卡尔曼滤波的优化GM(1,1)模型在建筑物沉降预测中的应用[J].黑龙江工程学院学报,2016,30(4):7G10.[14]符新新,高俊强,石岩.K a l m a n滤波在G P S非差相位精密单点定位中的应用[J].黑龙江工程学院学报,2015,29(3):6G8.[15]宣丽萍,李朕.基于D S P的开关电源系统优化设计[J].黑龙江工程学院学报,2015,29(2):8G12.[责任编辑:郝丽英]01 黑㊀龙㊀江㊀工㊀程㊀学㊀院㊀学㊀报㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第32卷。
基于STM32的两轮自平衡小车控制系统设计
基于STM32的两轮自平衡小车控制系统设计本文主要对两轮自平衡小车的姿态检测算法、PID控制算法两方面进行展开研究。
用加速度传感器和陀螺仪传感器融合而成的姿态传感系统与互补滤波器组合得到自平衡小车准确而稳定的姿态信息,然后PID调节器则利用这些姿态信息输出电机控制信号,控制电机的转动,从而使小车得以平衡。
标签:STM32;自平衡小车;控制系统;控制算法1 研究意义应用意义:两轮平衡车是一种新型的交通工具,它与电动自行车和摩托车车轮前后排列方式不同,而是采用两轮并排固定的方式,就像一种两轮平行的机器人一样。
两轮自平衡控制系统是一种两轮左右平行布置的,像传统的倒立摆一样,本身是一个自然不稳定体,必须施加强有力的控制手段才能使之稳定。
两轮平衡车具有运动灵活、智能控制、操作简单、节省能源、绿色环保、转弯半径为0等优点。
因此它适用于在狭小空间内运行,能够在大型购物中心、国际性会议或展览场所、体育场馆、办公大楼、大型公园及广场、生态旅游风景区、城市中的生活住宅小区等各种室内或室外场合中作为人们的中、短距离代步工具。
具有很大的市场和应用前景。
理论研究意义:车体状态运算主要是将各传感器测量的数据加以融合得出车体倾斜角度值、倾斜角速度值以及行车速度等。
平衡控制运算根据车体状态数据,计算保持平衡需要的行车速度和加速度,或者转弯所需要的左右电机速度变化值,向电机控制驱动模块发送控制指令。
运算模块相当于两轮自平衡电动车的大脑,它主要负责的工作是:控制电机的起停,向控制模块发出加速、减速、电机正反转和制动等速度控制信号,接收电机Hall信号进行车速度计算,并通过RS 一232串口向PC发送车速数据以供存储和分析。
另外,还负责接收车体平衡姿态数据,进行自平衡运算。
现有的自平衡车结构种类繁多,但车体都归根于由三层的基本结构组成,从上到下依次是电池层、主控层、电机驱动层。
电池层用于放置给整个系统供电的6V锂电池,主控层由主控芯片系统和传感器模块组成,电机驱动层接受单片机信号,并控制电机。
基于STM32F103C8T6的两轮自平衡车系统设计
文章编号:1007-757X(2021)01-0010-03基于STM32F103C8T6的两轮自平衡车系统设计聂茹(华南理工大学广州学院电子信息工程学院,广东广州510800)摘要:在STM32F103C8T6微控制器芯片基础上,提出了两轮自平衡车系统的一种设计方案。
系统方案包括STM32F103C8T6微控制器电路设计、车体姿态传感器MPU6050检测电路设计、电机驱动电路设计、以PID控制器为核心的软件设计。
经过测试,两轮自平衡车系统样机能够保持车体自我平衡并简单的直立行走,验证了硬件设计和软件设计的有效性和可靠性。
关键词:MPU6050;STM32;PID控制器;自平衡车中图分类号:TP212.9文献标志码:ADesign of Two-wheel Self-balancing Vehicle System Based on STM32F103C8T6NIE Ru(School of Electronic Information Engineering,Guangzhou College of SouthChina University of Technology,Guangzhou510800,China)Abstract:On the basis of STM32F103C8T6microcontroller chip,this paper presents a design scheme of two-wheel self-balancing vehicle system.The system scheme includesthe circuit design of STM32F103C8T6microcontroller,the detection circuit design of vehicle body attitude sensor MPU6050,the circuit design of motor drive,software design with PID controller as the core.After test,two-wheel self-balancing vehicle system prototype can maintain the self-balance of the car body and simply walk upright,which verifies the effectiveness and reliability of hardware design and software design.Key words:MPU6050;STM32;PID controller;self-balanced vehicle0引言当今社会,生活向着智能化、便捷化发展,两轮平衡车顺应时代潮流,成为适合多种场合使用的代步工具。
《2024年基于STM32智能小车的设计与实现》范文
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断发展,智能小车作为一种集成了传感器、控制算法和执行机构的智能移动平台,在物流、安防、救援等领域得到了广泛的应用。
本文将详细介绍基于STM32微控制器的智能小车的设计与实现过程。
二、系统概述本智能小车系统以STM32微控制器为核心,通过集成电机驱动、传感器(如红外传感器、超声波传感器等)、通信模块等,实现小车的自主导航、避障、远程控制等功能。
系统具有体积小、重量轻、成本低、性能稳定等特点。
三、硬件设计1. 微控制器选择本系统选用STM32系列微控制器,该系列微控制器具有高性能、低功耗、丰富的外设接口等特点,能够满足智能小车的控制需求。
2. 电机驱动设计电机驱动采用H桥电路,通过PWM信号控制电机的转速和方向。
同时,为了保护电机和电路,还设计了过流、过压等保护电路。
3. 传感器模块设计传感器模块包括红外传感器、超声波传感器等,用于实现小车的自主导航和避障功能。
传感器通过I2C或SPI接口与微控制器进行通信,实时传输数据。
4. 通信模块设计通信模块采用蓝牙或Wi-Fi等无线通信技术,实现小车的远程控制和数据传输功能。
通信模块与微控制器通过串口进行通信。
四、软件设计1. 开发环境搭建软件设计采用Keil uVision等集成开发环境,进行代码的编写、编译和调试。
同时,为了方便程序的烧写和调试,还使用了STM32的调试器。
2. 程序设计流程程序设计主要包括主程序、电机控制程序、传感器数据处理程序和通信程序等。
主程序负责整个系统的协调和控制,电机控制程序根据传感器数据和遥控指令控制电机的转速和方向,传感器数据处理程序负责处理传感器的数据并输出控制指令,通信程序负责与上位机进行数据传输和指令交互。
五、系统实现与测试1. 系统实现根据硬件设计和软件设计,将各部分模块进行组装和调试,完成智能小车的制作。
在制作过程中,需要注意各部分模块的连接和固定,确保系统的稳定性和可靠性。
stm32的自平衡小车设计
stm32的自平衡小车设计STM32自平衡小车设计是一个将许多功能组合在一起的有趣项目。
它不仅需要控制技术,还需要实时处理图像,以便识别障碍物。
自平衡小车使用STM32单片机来控制,这是一款微控制器,具有16位或32位内外存储器、高速Cortex-M4 MCU和多种集成的外设。
STM32单片机的内部集成了多种传感器,如角度传感器、编码器、温度传感器和光学传感器等,可以测量周围环境的变化并作出相应的反应,使小车保持平衡。
它还有两个电机驱动的轮子,电机可以控制小车的前进和后退,而角度传感器可以测量小车的角度,从而判断小车是否已完成平衡,从而调整小车的动作来使其保持平衡。
此外,STM32开发板还具有I2C通信接口,可让开发者使用I2C总线通信,与外部设备交换数据,如摄像头等。
摄像头的主要功能是对周围环境的跟踪,可以帮助小车避开障碍物,准确地定位和预测小车的行驶路径。
为了使小车实现自主运动,还需要一块用于实现运动控制的FPGA芯片,可以用于处理传感器发来的控制信号,根据预设的算法以及图像处理结果,向STM32发出运动控制指令,使小车实现自动行驶。
FPGA芯片可以提供更高的运算速度,以满足实时性要求,这是实现智能小车自动行驶的重要前提。
最后,将所有的控制程序和程序连接在一起,并与SOC系统进行连接,形成一个完整的系统,以实现智能小车的自动行驶。
当实现了自动行驶的功能之后,可以根据需要添加更多的功能,比如跟踪、识别物体、定位、自动充电等,这些功能可以帮助小车自主行驶时更加“聪明”,也可以使小车更好地适应环境调整,实现自主运动。
总而言之,设计一台智能自平衡小车,其基本设计思路是:首先使用STM32单片机作为主控核心,集成传感器用于控制小车保持平衡,而两个电机驱动的轮子可以控制小车前后行驶;其次,使用I2C总线通信的图像传感器可以测量小车的方向,以避开前方的障碍物;最后,使用FPGA芯片实现小车的运动控制,实现智能小车的自动行驶。
stm32平衡小车课程设计报告
stm32平衡小车课程设计报告报告:STM32平衡小车课程设计报告一、课程设计目标STM32平衡小车课程设计旨在提高学生对单片机编程及控制算法的理解和实践能力,培养学生的团队合作和创新思维能力,同时提高学生对毕业设计相关知识的掌握。
二、课程设计内容1.硬件设计:STM32F103C8T6单片机、PDOutMPU6050六轴陀螺仪模块、电机模块、电源模块等。
2,软件设计:本设计利用PID控制算法实现平衡车的稳定运动,使用KEI1MDK-ARM进行编程。
3.实验流程:(1)硬件调试:连接电棚区动器、陀螺仪模块和电源模块,进行硬件的调试和测试。
(2)软件编程:编写平衡小车的控制程序,调整PID参数,调试程序并优化。
(3)实验验收:验证控制程序的正确性和稳定性,通过实验数据进行参数调整。
三、课程设计收获1提高了对单片机及控制算法的理解和应用能力。
2 .增强了团队合作和创新思维能力。
3 .提高了对毕业设计相关知识的掌握和运用能力。
四、课程设计建议和意见1加强理论讲解,使学生更加深入理解单片机和控制算法的原理。
2.加强实验操作训练,让学生更加深入地学习和掌握实验技能。
3才是高实验器材的质量,确保实验数据的准确性和可靠性。
4.增加更多的课程设计项目,丰富学生的实践经验。
五、总结STM32平衡小车课程设计是一种提高学生综合能力的有效方式,可以培养学生的动手能力、团队协作能力和解决问题的能力,为学生毕业设计和未来的工作提供一定的参考价值。
因此,针对本课程设计,我们应该加强对理论知识和实践技能的培养,提高学生的专业素养和实践能力,进一步推动教育教学改革和发展。
基于STM32的自平衡车系统的设计与实现(定稿)
基于STM32的自平衡车系统的设计与实现学院:专业:姓名:指导老师:计算机学院计算机科学与技术蔡瑞峰学号:职称:160201102848 宋琛讲师中国·珠海二○二○年五月诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计《基于STM32的自平衡车系统的设计与实现》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。
本人签名:日期: 2020 年 5 月 1 日基于STM32的自平衡车系统的设计与实现摘要随着新时代技术的不断革新,人们对日常使用的机器人系统有了更多的需求,因此衍生出多种不同类型、形态各异的机器人,有日常生活中的扫地机器人、汽车组装厂的机械臂,酒店中的智能服务机器人等等。
而自平衡车系统则是其中一个很具代表性的机器人科技产物。
平衡车相比其他传统代步工具而言,集轻便、无污染、速度适中、价格成本低等优点于一身,使人们的日常生活变得更加便利,成为了人们出行新的性价比极高的代步工具。
自平衡车系统是基于STM 32设计实现,通过以STM 32作为核心控制板,集成陀螺仪模块、驱动电机模块、超声波模块、电机模块等组成整个平衡车结构。
为实现小车平衡,使其实现站立平衡行走,通过运用平衡原理,测量小车倾角和角速度控制小车加速度即加入PID算法,调节参数,实现小车平衡行走。
PID算法通过对小车角度进行测量(PD算法)是小车在直立控制下保持平衡,再通过对小车测速(PI算法),使小车通过改变倾角来控制速度,进而对自身姿势进行调整。
关键词:机器人;自平衡车系统;性价比;模块;PID算法Design and implementation of self-balancing vehicle system based onSTM32AbstractWith the innovation of the new era of technology, people for daily use of robotic systems have more demand, so a variety of different types of forms are derived from the robot, a sweeping robot car assembly plant in everyday life of mechanical arm, the intelligent service robot, and so on and the balance in the hotel car system is one of the very representative of the robot technology balanced car, compared with other traditional transport sets of portable pollution-free speed moderate price low cost advantages in one, make People's Daily life become more convenient, has become a new travel the transport of high performance-price ratio The self-balancing vehicle system is designed and realized based on STM 32. By STM 32 as core control board, integrating gyroscope module driven motor module ultrasonic module of the whole car balance structure to achieve the car balance, make its standing balance walking, by using the principle of balance, measuring Angle and angular velocity control car the car acceleration to join the PID algorithm, namely to adjust parameters, to achieve the car balance walking PID algorithm based on Angle measurement algorithm (PD) is the car under control in the vertical balance, again through the car speed (PI algorithm), make the car to control the speed by changing the Angle, and then adjust their own position. Keywords: Robot; The self-balancing vehicle system;Cost performance; The module; PID algorithm目录1 绪论 (1)1.1课题研究现状 (1)1.2课题研究意义 (1)1.3课题研究内容与目标 (2)2系统总体设计 (2)2.1系统总体方案设计 (2)2.2系统平衡原理设计 (3)3系统硬件设计 (3)3.1单片机 (3)3.2电源模块 (4)3.3陀螺仪模块 (4)3.4驱动电机模块 (5)3.5电机模块 (7)4系统软件设计 (7)4.1程序初始化 (7)4.2平衡算法 (7)4.2.1角度(PD算法) (8)4.2.2速度(PI算法) (8)4.2.3串级PID (9)5系统测试 (10)5.1系统测试概述 (10)5.2系统测试内容 (10)5.3系统测试结果 (12)6 总结 (12)参考文献 (14)谢辞 (15)附录 (16)1 绪论1.1 课题研究现状随着近几年科技行业的迅速发展,因时代需要,各种平衡小车(Balance of the car)在此背景下应运而生,平衡小车作为一种新兴行业里的前沿技术之一——机器人技术,不但顺应时代潮流的发展,还符合市场需求。
《2024年基于STM32智能小车的设计与实现》范文
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断进步,智能小车作为一种集成了计算机、传感器和执行器等技术的产品,已经在各个领域得到了广泛的应用。
本文旨在设计并实现一款基于STM32微控制器的智能小车,通过对小车的硬件设计和软件编程进行详细的阐述,以期为相关领域的科研和实践提供一定的参考。
二、硬件设计1. 微控制器选择本设计选用STM32F4系列微控制器,该系列具有高性能、低功耗等特点,能够满足智能小车在复杂环境下的实时控制需求。
2. 传感器模块传感器模块包括红外避障传感器、超声波测距传感器、光电编码器等。
这些传感器能够实时获取小车的环境信息,为小车的智能控制提供数据支持。
3. 电机驱动模块电机驱动模块采用H桥电路,通过PWM信号控制电机的转速和方向。
同时,为了保护电机和电路,还设置了过流、过压等保护措施。
4. 电源模块电源模块采用锂电池供电,通过DC-DC转换器为小车各部分提供稳定的电源。
同时,为了方便充电,还设置了USB接口。
三、软件实现1. 开发环境搭建本设计采用Keil uVision5作为开发环境,通过JTAG或SWD 接口进行程序的烧录和调试。
2. 程序设计程序设计包括主程序、传感器数据处理程序、电机控制程序等。
主程序负责协调各部分的工作,传感器数据处理程序负责获取并处理传感器的数据,电机控制程序则根据数据处理结果控制电机的转速和方向。
3. 算法实现本设计采用PID算法进行电机控制,通过调整PID参数,使小车在各种环境下的运动更加稳定。
此外,还实现了路径规划算法和避障算法,使小车能够根据环境信息自主规划路径和避障。
四、系统测试与实现效果1. 系统测试在完成硬件设计和软件编程后,对智能小车进行了系统测试。
测试内容包括小车的运动性能、传感器数据的准确性、电机控制的稳定性等。
测试结果表明,本设计的智能小车具有良好的性能和稳定性。
2. 实现效果在实际应用中,本设计的智能小车能够根据环境信息自主规划路径、避障和执行其他任务。
基于STM32控制的平衡小车系统设计
收稿日期:2020-03-08基金项目:国家自然科学基金项目(61074087)作者简介:陈昱(1984-),女,博士,上海出版印刷高等专科学校讲师,研究方向为智能制造;沈林涛(1994-),男,上海理工大学光电信息与计算机工程学院硕士研究生,研究方向为工业物联网、过程控制;王凯(1973-),男,硕士,上海出版印刷高等专科学校、上海理工大学光电信息与计算机工程学院高级工程师、硕士生导师,研究方向为工业物联网、工业过程控制系统应用。
本文通讯作者:沈林涛。
0引言随着社会发展,环境污染日益加剧,与此同时公众环保意识逐步增强,绿色出行成为城市交通规划和公众出行首选。
新能源汽车、折叠式电动车、便携式平衡车等逐渐成为日常代步工具。
其中平衡车因为轻巧便携、转弯半径小,特别适用于在场地空间有限的地方运行,如大型购物中心、办公大楼、生活住宅小区、国际性会议或展览场所、生态旅游风景区等[1]。
平衡车如何高效稳定地获取实时姿态信息、有效控制车体状态,在复杂环境下成功执行目标任务等成为研究热点。
两轮平衡小车概念顺应当前研究浪潮,可有效解决复杂环境下小车运动问题,同时随着远程控制技术的发展,远程监控平衡车在军用、民用领域有广阔的发展空间[2]。
平衡小车是一种自然不稳定体,其原理是在倒立摆基础上对普通倒立摆的发展,因此比普通倒立摆具有更大的运动空间,使其不仅局限于实验室,更贴近现实生活[3]。
国内外学者对此进行了研究,并取得了相应成果。
韩竺秦等[4]对平衡车进行建模,利用KL25和MPU6050搭建实验平基于STM32控制的平衡小车系统设计陈昱1,沈林涛2,王凯1,2(1.上海出版印刷高等专科学校;2.上海理工大学光电信息与计算机工程学院,上海200093)摘要:为了响应节能环保、绿色出行倡议,缓解城市交通拥挤状况,提出一种基于STM32F103C8T6芯片控制的两轮平衡小车设计方案。
以MPU-6050作为小车姿态传感器获取小车车体倾角和角速度,基于卡尔曼滤波算法对姿态传感器采集到的的数据进行滤波融合,利用霍尔编码器测量小车车轮转向和转速,运用PID 算法对控制要求和采集的数据信息进行计算分析并输出控制PWM ,经由TB6612电机驱动模块驱动电机,实现小车自主平衡并具备一定的抗干扰能力。
基于stm32的自平衡小车
学 术 诚 信 承 诺本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得佳木斯大学或其他教育机构的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。
签名:___________ 日期:____________关于论文使用授权的说明本人完全了解佳木斯大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。
签名:___________ 导师签名:___________ 日期:____________摘 要电动平衡车的动力来源于电机,通过控制电机的正反转是平衡车前进和后退,从而达到自平衡的目的。
目前市场上的平衡车大多数是依靠人的重心改变来控制车的状态,而本次设计通过在自平衡的基础上加上了自跟随功能和无线遥控功能,实现了平衡车的灵活控制。
以平衡车的基本控制原理与自跟随功能的实现和无线遥控功能的实现作为研究目标。
首先,对平衡车的基本控制理论进行分析并采用PID算法进行闭环控制,选择MPU6050作为姿态检测传感器,通过卡尔曼滤波对MPU6050的原始数据进行处理后,得到适合系统的姿态信息。
然后,使用Altium Designer软件画出相应电路图,并完成了PCB制板。
最后,通过Keil MDK集成环境进行程序设计,在编译和调试成功后,烧写到实物中对设计结果进行验证和总结。
关键字:平衡车;卡尔曼滤波;PID算法;Altium Designer;Keil MDK;MPU6050AbstractThe power of the electric balance vehicle comes from the motor. By controlling the positive and reverse of the motor, the balance vehicle goes forward and backward, thus achieving the purpose of self balancing. At present, the balance of the car on the market mostly relies on the weight change to control the status of the car and the design by adding the auto tracking function and wireless remote control function based on self balance, realize the flexible control of the balance of the car.The basic control principle of balancing vehicle, the realization of self follow function and the realization of wireless remote control function are studied. First of all, the basic control theory of the balance of the car were analyzed and the PID algorithm for the closed-loop control, MPU6050 is selected as the attitude sensor, the original data were processed by Calman filter of MPU6050, get the attitude information for the system. Then, using Altium Designer software to draw the corresponding circuit diagram, and completed the PCB board. Finally, through the Keil MDK integrated environment for programming, after compiling and debugging successfully, burning to the physical, the design results are verified and summarized.Key Words:balance car; Kalman filter; PID algorithm; Altium Designer; Keil MDK; MPU6050目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题研究背景及意义 (1)1.2 国内外发展情况 (1)1.2.1 国内发展现状 (1)1.2.2 国外发展现状 (2)1.3 主要研究内容 (3)第2章控制方案设计 (4)2.1 系统原理分析 (4)2.2 关键算法分析 (5)2.2.1 PID算法 (5)2.2.2 卡尔曼滤波 (6)2.3 方案制定 (7)2.4 本章小结 (8)第3章硬件系统设计 (9)3.1 主处理器的选择 (9)3.2 传感器的选择 (10)3.2.1 姿态检测传感器 (10)3.2.2 电机转速传感器 (10)3.2.3 距离检测传感器 (10)3.3 无线传输模块及电机驱动芯片 (11)3.4 电路设计与PCB制板 (12)3.4.1 电路设计 (12)3.4.2 PCB制板 (14)3.5 本章小结 (15)第4章软件系统设计 (16)4.1 平衡车控制板程序设计 (16)4.2 平衡车遥控程序设计 (17)4.3 本章小结 (18)第5章实物搭建和调试 (19)5.1 实物搭建 (19)5.2 系统测试 (19)5.2.1 程序调试 (19)5.2.2 结果分析 (20)5.3 本章小结 (20)结论 (21)致谢 (22)参考文献 (23)附录 1 中文原文 (23)附录 2 外文原文 (30)第1章绪论1.1课题研究背景及意义本课题的研究主要是为了设计出可以在小范围内活动的轻巧灵活的绿色代步工具,并且在自平衡的功能上加上一些新功能,如自跟随功能和遥控功能,这样平衡车不仅可以当作交通工具来使用还可以作为人们的助手,如可以制造出平衡车形式的拉杆箱、平衡车形式的超市购物车等。
基于STM32智能小车的设计与实现
基于STM32智能小车的设计与实现基于STM32智能小车的设计与实现近年来,随着人工智能和物联网技术的迅猛发展,智能小车成为了人们关注的焦点。
本文将介绍一款基于STM32芯片的智能小车的设计与实现。
首先,让我们来了解一下STM32芯片。
STM32是意法半导体公司推出的一款微控制器,具有低功耗、高性能、高可靠性的特点。
它内置了丰富的外设,包括多个串口、定时器、ADC和CAN等。
因此,我们选择STM32作为智能小车的主控芯片。
智能小车的设计主要包括硬件设计和软件设计两个方面。
在硬件设计方面,我们需要选用合适的电机、轮子、传感器等组件。
电机作为小车的动力驱动器,我们选择了直流电机来驱动轮子的转动。
传感器则用于获取环境信息,以便智能小车能够做出相应的行动。
在本设计中,我们使用了红外避障传感器、超声波测距传感器和巡线传感器。
接下来,我们进行电路的设计。
主控板上集成了STM32芯片、电机驱动芯片、传感器接口电路等。
我们将这些电路连接在一起,并通过适当的连接线与电机、传感器等组件相连。
通过这样的设计,我们可以实现智能小车的各项功能。
在软件设计方面,我们使用Keil C编译器进行开发。
首先,我们需要对STM32芯片进行初始化,包括设置GPIO引脚的输入输出状态、串口通信参数的配置等。
然后,我们通过编写驱动程序来实现对电机的控制。
在驱动程序中,我们可以设置电机的运动方向、速度等参数。
此外,我们还需要编写传感器的数据读取程序。
通过读取传感器的数据,我们可以实时地了解到周围环境的情况。
最后,我们可以根据不同的传感器数据,编写控制算法,使智能小车能够根据环境情况作出合理的决策。
通过以上的设计与实现,我们成功地搭建了一台基于STM32芯片的智能小车。
该小车可以根据传感器获取到的数据,对周围环境做出相应的反应。
比如在检测到障碍物时,小车能够自动避开;在巡线传感器检测到黑线时,小车能够沿着黑线行驶。
这样的智能小车不仅能够增加乐趣,还可以具备实际应用价值。
《2024年基于STM32智能小车的设计与实现》范文
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的发展和智能化需求的提高,智能小车因其高灵活性、便利性以及广阔的应用前景,正逐渐成为研究领域的热点。
STM32系列微控制器以其强大的性能和灵活的配置,为智能小车的开发提供了强大的硬件支持。
本文将详细介绍基于STM32的智能小车的设计与实现过程。
二、系统概述本系统主要包含STM32微控制器、电机驱动模块、电源模块、传感器模块(如红外避障传感器、超声波测距传感器等)以及上位机通信模块等。
通过STM32微控制器的控制,实现智能小车的自动避障、寻迹、速度控制等功能。
三、硬件设计1. STM32微控制器STM32微控制器作为整个系统的核心,负责接收传感器数据,处理数据并发出控制指令。
本系统选用STM32F4系列微控制器,其强大的处理能力和丰富的接口资源,为系统的稳定运行提供了保障。
2. 电机驱动模块电机驱动模块负责驱动小车的运动。
本系统采用H桥电路驱动方式,通过PWM信号控制电机的转速和方向。
同时,为了保证系统的稳定性,我们采用双电机驱动方式,实现小车的双向运动。
3. 传感器模块传感器模块是智能小车的“眼睛”,用于感知外部环境。
本系统主要使用红外避障传感器和超声波测距传感器。
红外避障传感器用于感知前方障碍物,超声波测距传感器用于测量与前方障碍物的距离。
此外,还可以根据需要增加其他传感器,如摄像头等。
4. 电源模块电源模块为整个系统提供稳定的电源。
本系统采用锂电池供电,通过DC-DC转换器将电压稳定在合适的范围内,以保证系统的稳定运行。
四、软件设计软件设计是智能小车实现各种功能的关键。
本系统采用C语言进行编程,使用STM32标准外设库进行开发。
软件设计主要包括以下几个方面:1. 初始化程序:对STM32微控制器及其外设进行初始化设置,包括GPIO口、PWM口、串口等。
2. 传感器数据处理:通过读取传感器数据,进行数据处理和解析,得到小车所需的信息。
3. 控制算法:根据传感器数据和预设的算法,计算出电机的控制指令。
基于STM32单片机的双轮自平衡小车系统的设计
基于STM32单片机的双轮自平衡小车系统的设计本文介绍了基于STM32F103C8T6 单片机的双轮自平衡小车系统的设计,以MPU6050 三轴陀螺仪加速计为传感器的姿态感知系统,通过卡尔曼滤波对传感器的数据进行滤波融合,采用PID 算法实现小车两轮自平衡,使用TB6612 电机驱动模块实现小车的驱动电机,综合实现小车的直立行走。
通过蓝宙的线性CCD 实现小车的循迹功能。
标签:姿态感知;卡尔曼滤波;PID控制;MPU6050三轴陀螺仪加速计;TB6612电机驱动;线性CCD1 电路设计1.1 MPU6050三轴陀螺仪加速计模块子系统框图1.2 TB6612电机驱动模块子系统框图1.3 线性CCD模块子系统框图2 程序设计2.1 程序功能描述(1)实现直立平衡控制(2)平衡的基础上实现行走(3)进而实现循迹功能2.2 程序设计思路首先写程序要有整体思路,小车最先应该让电机先转,然后达到平衡的目的,利用MPU6050三轴陀螺仪加速计为传感器的姿态感知系统,通过卡尔曼滤波对传感器的数据进行滤波融合,采用PID算法实现小车两轮自平衡,使用TB6612电机驱动模块实现小车的驱动电机,综合实现小车的直立行走,差速转向。
进而写出线性CCD的部分程序。
所以程序中应该有平衡部分,速度控制部分,转向控制部分,然后应该根据芯片与电路的链接方法,写出芯片的初始化程序。
3 测试分析与结论3.1 根据直立控制调试,由此可以得出结论见表1,表2(1)可以确定得到kp=500,kd=1.7是P、D 参数的最大值;(2)对每个系数乘以0.6,取整得到kp=300,kd=1,为理想的值。
(3)小车的机械中值在0°。
3.2 根据速度控制调试,由此可以得出结论见表3(1)kp=80,ki=kp/200是速度控制P、I参数的理想值;(2)kp=80,ki=kp/200是正极性。
3.3 根据转向控制调试,由此可以得出结论见表4(1)kp=0.6为它的正极性;(2)kp=1是转向控P参数的理想值。
基于STM32智能小车的设计与实现
基于STM32智能小车的设计与实现一、引言近年来,随着科技的不息进步,物联网和人工智能等技术的兴起,智能小车在工业生产、运输、服务和娱乐等领域逐渐得到应用。
基于STM32的智能小车拥有较高的处理性能和稳定性,在智能挪动操控、传感器数据处理和智能决策等方面有着广泛的应用场景,具有很高的探究和实践价值。
本文将介绍过程。
二、硬件设计(一)硬件平台选择基于STM32的智能小车主要涉及到底层硬件设计,其中选择合适的硬件平台分外关键。
STM32系列微控制器是由意法半导体(STMicroelectronics)推出的32位ARM Cortex-M内核系列微控制器,具有低功耗、高性能和灵活性等特点,分外适合用于智能小车的设计。
因此,在本系统中选择STM32作为主控芯片。
(二)传感器模块智能小车作为一种能够感知环境并自主决策的机器人装置,需要借助各种传感器来得到环境信息。
本设计中,使用了多种传感器模块,包括:1. 超声波传感器:用于检测障碍物与小车的距离,通过测量超声波的返回时间来计算距离。
2. 红外传感器:用于检测地面上的黑线,依据黑线的位置进行小车的自动导航。
3. 光敏传感器:用于检测光线强度的变化,通过光线信号的反馈来实现小车对环境亮度的感知。
4. 温湿度传感器:用于检测环境的温度和湿度,为小车提供更全面的环境信息。
(三)驱动模块为了实现小车的运动,需要使用各种电机和驱动模块。
本设计中,使用直流电机作为小车的驱动力源,通过H桥驱动模块控制电机的转动方向和速度。
(四)通讯模块为了实现小车与外部设备的数据交互和遥程控制,本设计中使用无线通信模块,如蓝牙或Wi-Fi模块,来实现与挪动设备或主机的通信功能。
三、软件设计(一)控制算法智能小车的控制算法是实现自主行动和决策的关键。
在本设计中,通过PID(比例-积分-微分)控制算法来进行小车的位置和方向控制,控制小车按照指定路径行驶,并准时校正运动误差。
(二)图像处理为了实现小车对环境的感知和识别,本设计中使用图像处理技术,对摄像头得到的图像进行实时处理和分析,实现小车对黑线、障碍物以及其他标志物的识别和裁定。
基于STM32F103RCT6两轮自平衡小车设计
设计思路
设计思路
两轮自平衡小车的设计主要包括底盘、动力系统、平衡系统等几个关键部分。 底盘设计:小车的底盘应具有足够的刚性和稳定性,以支撑上部结构并保持 平衡。我们选择铝合金材料制作底盘,并使用精密加工技术确保其精度和稳定性。
设计思路
动力系统设计:动力系统包括电机、电调、电池等组件,为小车提供运动所 需的能量。我们采用无刷电机作为驱动源,通过电子调速器(电调)控制电机转 速,实现小车的运动控制。
参考内容
引言
引言
智能小车作为移动机器人的一种形式,具有广泛的应用前景和研究价值。随 着嵌入式系统、传感器和技术的不断发展,智能小车的性能和功能也不断提升。 本次演示旨在基于STM32F103单片机设计一款智能小车,并实现对其速度和方向 的控制,提高小车的自主性和适应性。
关键词
关键词
智能小车、STM32F103单片机、传感器、控制算法、自主性、适应性
为了验证小车的性能和稳定性,我们进行了多项测试,包括平衡性测试、稳 定性测试等。
平衡性测试:我们通过在光滑的地面上和小型障碍物上测试小车的平衡性能, 发现小车能够在不同情况下保持稳定平衡状态。
测试与结果
稳定性测试:我们对小车进行了不同速度和不同地形条件的稳定性测试,以 检验小车在不同情况下的稳定性能。测试结果显示,小车在各种条件下均具有较 好的稳定性。
实现方法
硬件制作:硬件制作包括底盘和车轮的制作、电路板的焊接和传感器元件的 安装等。我们利用铝合金材料制作底盘,精确加工车轮,并在电路板上焊接了电 源管理芯片、电机驱动芯片和传感器接口电路。在制作过程中,我们注意保证各 部分的装配精度和连接可靠性,以确保小车的稳定性和耐用性。
测试与结果
测试与结果
细节描述
《2024年基于STM32智能小车的设计与实现》范文
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断发展,智能小车在物流、安防、救援等领域的应用越来越广泛。
本文将详细介绍基于STM32的智能小车的设计与实现过程,包括硬件设计、软件设计、系统调试及性能测试等方面。
二、硬件设计1. 微控制器选择本设计选用STM32系列微控制器,其具有高性能、低功耗、丰富的外设接口等特点,适用于智能小车的控制需求。
2. 传感器模块传感器模块包括超声波测距传感器、红外线避障传感器等,用于实现智能小车的环境感知功能。
其中,超声波测距传感器用于测量距离,红外线避障传感器用于检测障碍物。
3. 电机驱动模块电机驱动模块采用H桥驱动电路,用于控制智能小车的运动。
通过PWM信号控制电机的转速和方向,实现智能小车的灵活运动。
4. 电源模块电源模块为整个系统提供稳定的电源供应。
本设计采用锂电池作为电源,通过DC-DC转换器将电压转换为系统所需的电压值。
三、软件设计1. 开发环境与工具本设计采用Keil uVision集成开发环境进行软件开发,使用C 语言编写程序代码。
2. 系统软件架构系统软件架构包括主控程序、传感器驱动程序、电机控制程序等部分。
主控程序负责协调各个模块的工作,传感器驱动程序用于读取传感器数据,电机控制程序用于控制电机的转速和方向。
3. 程序设计思路程序设计采用模块化设计思想,将系统分为多个功能模块,每个模块实现特定的功能。
通过主控程序的协调,实现整个系统的运行。
程序设计包括初始化程序、主循环程序、中断处理程序等部分。
四、系统调试与性能测试1. 系统调试系统调试包括硬件调试和软件调试两个部分。
硬件调试主要检查电路连接是否正确,电源是否稳定等;软件调试主要检查程序代码是否正确,各个模块是否能够正常工作。
2. 性能测试性能测试包括测距精度测试、避障性能测试、运动性能测试等部分。
测距精度测试用于检测超声波测距传感器的测量精度;避障性能测试用于检测智能小车在遇到障碍物时的避障能力;运动性能测试用于检测智能小车的运动性能,包括速度、加速度、转向灵活性等。
《2024年基于STM32的智能小车研究》范文
《基于STM32的智能小车研究》篇一一、引言随着科技的不断进步,智能小车已经成为人们日常生活中不可或缺的一部分。
本文旨在探讨基于STM32的智能小车的研究,详细阐述其设计原理、实现方法及实际应用价值。
STM32系列微控制器以其高性能、低功耗的特点,为智能小车的开发提供了强大的硬件支持。
二、智能小车设计概述智能小车是一种集成了传感器、控制器、执行器等设备的自动驾驶小车。
它可以根据环境变化自动规划路径,实现自主导航、避障、信息采集等功能。
基于STM32的智能小车设计主要包括硬件设计和软件设计两个部分。
硬件设计主要包括STM32微控制器、电机驱动模块、传感器模块、电源模块等。
其中,STM32微控制器作为核心部件,负责整个系统的控制与协调。
电机驱动模块用于驱动小车的运动,传感器模块用于感知环境信息,电源模块为整个系统提供稳定的电源。
软件设计主要包括操作系统、算法实现、通信协议等。
操作系统负责管理系统的软硬件资源,算法实现包括路径规划、避障算法、控制算法等,通信协议用于实现小车与上位机之间的数据传输与控制。
三、硬件设计1. STM32微控制器STM32微控制器是智能小车的核心部件,它具有高性能、低功耗、丰富的外设接口等特点。
在智能小车的设计中,我们选用了适合的STM32系列微控制器,如STM32F4系列,以满足小车的性能需求。
2. 电机驱动模块电机驱动模块用于驱动小车的运动。
它包括电机、编码器、驱动电路等部分。
电机采用直流无刷电机或步进电机,具有较高的控制精度和较低的噪音。
编码器用于检测电机的转速和方向,为控制算法提供反馈信息。
驱动电路则负责将微控制器的控制信号转换为电机能够识别的驱动信号。
3. 传感器模块传感器模块用于感知环境信息,包括红外传感器、超声波传感器、摄像头等。
这些传感器可以实时检测小车周围的障碍物、路况等信息,为路径规划和避障算法提供数据支持。
四、软件设计1. 操作系统操作系统负责管理系统的软硬件资源,包括任务调度、内存管理、设备驱动等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机,2015(4):30-31.
[2]陈启明.数控铣加工模具零件工艺优化策略探析[J].新教育时代,2011(11):15-20.
[3]陈汉华.数控铣加工模具零件工艺优化策略研究[J].科技创新与应用,2015(8):64-69.[4]周其江.数控铣加工模具零件工艺改进分析[J].轻工科技,2015(8): 83-85.
[5]刘强.数控铣加工模具零件工艺优化策略分析[J].山东工业技术,2016(11):44-48.
〔编辑毕来金〕
基于STM32的自平衡小车系统设计
郭海丽
(衡水学院电子信息工程学院,河北衡水053000)
摘要:平衡车已越来越多的出现在人们的生活中,给人们的出行带来了极大便利;同时,平衡车在军事、勘探等领域发挥的作用越来越大。
提出了一种基于STM32单片机的自平衡小车设计方案,可实现无线遥控控制,机械臂抓取物体等功能。
对系统的硬件电路和软件设计进行了详细介绍,经过调试,实现了自平衡小车系统设计。
关键词:自平衡小车;六轴传感器;无线控制
中图分类号:TP23文献标识码:B DOI:10.16621/ki.issn1001-0599.2019.05D.75
0引言
如今的自平衡车已成为人们出行的交通工具,平衡车涵盖了嵌入式技术和现代工业设计技术,是电子技术的结晶。
平衡车可以在很小空间中运作,也可以成为出行的代步工具,其具有低功耗、环保、方便、高效等特点,受到人们越来越广泛的关注。
自平衡车没有其他交通工具的固有机械构造,通过软件程序与硬件结合的方式实现其稳定性,所用算法多种多样,实现的效果越来越显著。
双轮自平衡车将单片机技术、自动控制及控制算法有机的结合到一起,是研究控制程序以及传感器应用的理想平台。
本设计通过利用STM32主控芯片和MPU6050芯片,实现两轮小车的自平衡,并通过2.4G无线传输模块实现对小车方向的控制。
1系统的整体设计方案
1.1系统设计要求
通过改变所用电机的转动速度及方向实现小车的自平衡,而且可以用无线遥控进行控制,达到以下要求。
(1)可通过串口屏对小车状态进行无线调节,控制小车运动。
(2)用可调电阻控制小车上机械臂的运动,用来拿取并放置物体。
1.2系统设计原则
以稳定、安全、可靠为设计原则。
平衡车已逐渐进入人们的生活,所以其车体的稳定性至关重要,其他一切操作都要在保证车体稳定的前提下进行,在设计时要保证车体重心在车轮中轴线上。
同时提高对角度测量的准确性,以此保证车体的稳定。
随后完成小车的前后运动及对机械臂抓取物体的控制等。
1.3系统设计结构
小车整体从机械结构上看,自下而上依次为电机驱动层、应用控制层、整体受力层。
电机驱动层直接控制电机轮子的运动,驱动电机使其实现正反转及加减速,以此来达到小车的平衡状态。
当然电机驱动层只是被动接受命令,真正的指令由控制层发出。
它通过安装在小车车体及车轮电机上的传感器来获取到小车当前的状态。
经处理运算后发出正确的命令来驱动电机运动,所以该层为小车控制的核心。
受力层顾名思义为整个车体的承重部分。
受力层如果稳定坚固,小车本身能承载的重量也越重。
该系统以STM32F103RCT6单片机为整个系统的核心,通过集成加速度与角度的六轴传感器MPU6050来获取小车当前状态。
MPU6050该芯片采用IIC通信,减少STM32芯片IO口的占用。
小车整体主要由主控部分、电源模块、无线传输模块、六轴传感器姿态采集模块、平衡相关驱动等组成。
系统结构框图如图
1所示。
2系统主要硬件电路设计
2.1单片机最小系统
主控芯片和周围器件组成的电路是控制的核心。
其作用相当于人类的头脑,一切命令都由它传递。
本设计所用的主控芯片是STM32F103RCT6。
单片机最小系统由复位、下载、系统时钟及整流滤波等4部分组成。
2.2系统供电结构设计
本系统采用
12V可充电锂电
池组进行供电,通
过降压模块逐级
降压,得到系统各
模块的工作所需
电压。
各模块之间图1系统整体结
构
设备管理与维修2019翼5(下)
设备管理与维修2019翼5(下
)
电压不同,电机运转所需要的电压为12V ,显示电路、
舵机驱动芯片需要5V 电压驱动,STM32需要3.3V 的电压。
因此为避免各电源间互相干扰,设计中采取了电容滤波措施。
2.3
无线控制模块电路
NRF24L01无线通信模块的通信方式为SPI 通信,该模块
功耗非常低,且对环境要求相对较小。
处于发射模式时,
工作电流仅为9mA ;处于接收模式时,工作电流为12.3mA 。
由于此模块对电源及信号要求较高,所以在供电部分及天线端添加滤波
电容。
保证信号传输的可靠性。
另外,该芯片天线周围不能有金属(敷铜、走线等),NRF24L01模块电路如图2所示。
2.4
MPU6050传感器电路
本设计中的MPU6050传感器是整个设计尤为重要的一部
分,相当于人的双眼,用于获取当前车体的状态,
它的准确程度直接决定小车整体的稳定性。
其中INT 引脚每5ms 产生一次中断,将其直接接入单片机IO 口,为程序提供5ms 间隔的中
断。
通过IIC 接口直接输出经过处理的四元数,无需额外转换,使用起来更加方便,MPU6050传感器电路如图3所示。
3系统软件设计
软件设计部分主要由MPU6050芯片、人机交互界面、
数据采集、电机驱动等构成。
软件部分通过MPU6050每5ms 提供
的外部中断执行控制函数。
本设计软件总体流程如图4所示,系统上电后先执行初始化。
然后进入主循环。
一旦有外部中断产生,则开始检测处理,控制电机保持小车平衡,驱动舵机控制机械臂运动。
4结语
本设计以STM32F103RCT6单片机为主控芯片,实现了对
小车的平衡控制;且可以用遥控控制小车运动,及机械臂抓取物体的功能。
上电后小车保持平衡状态,用手轻轻推动小车,车体
经过晃动后仍能保持平衡状态。
通过无线遥控发送前进后退指令控制小车,小车在接收到命令后可以做出正确的响应。
同时也可用遥控分别控制车上4个舵机的运动,来抓取物体。
经过多次反复的测试,小车平衡性良好,对遥控指令可以及时准确地做出响应,整体系统稳定性强,具有一定的实际应用价值。
基金项目:衡水学院教改课题(课题编号:jg2014006);衡水学院党的群众路线教学专项课题(课题编号:2014DJ009);河北
省科技计划项目(项目编号:112135111)。
参考文献
[1]刘磊.基于STM32的可遥控智能车跟随小车设计[J ].电子测量技
术,2015,38(6):31-33.
[2]张承岫.基于MPU6050的四旋翼飞控系统设计[J ].传感技术学
报,2016,29(7):89-91.
[3]刘玉宏.二轮自平衡车的控制与实现[J ].测试工具与解决方案,2015(22):130-131.
[4]胡建.基于自抗干扰控制算法的两轮自平衡车分析[J ].机电工程,
2014,31(2):159-164.
[5]薛凡.两轮平衡车的建模与控制研究[J ].化工自动化与仪表,2012,39(11):1450-1454.
[6]王素青.基于STM32的两轮自平衡小车系统设计[J ].实验室研究,
2016,35(5):146-150.〔编辑凌瑞〕
图4系统软件流程
图2NRF24L01模块电
路
图3MPU6050传感器电
路。