基于STM32的智能平衡车控制系统设计
2020-07-10郭宗昊张奔霍建振
郭宗昊 张奔 霍建振
临沂大学自动化与电气工程学院 山东临沂 276000
近年来,伴随我国科学技术的快速发展,当前各种智能机器化设备也在不断地被应用到人们的日常生活之中去。而智能平衡车作为机器智能化进入民众日常生活的一个重要表现,这种平衡车以两轮容易操作且体积较小而受到人们的广泛喜爱。因此,文章结合了有关智能机器设备的具体设计原理,对自主识别道路两轮平衡车的设计系统进行了控制系统方面的研究,对平衡车的硬件电路等方面进行了一个更为详细全面的开发[1]。
1 关于智能平衡车的系统硬件结构设计思路
一般来说,大多数类型的智能平衡车都主要是由微控制器、稳压电源、电机驱动、测速模块赛道信息采集和人机交互等各种模块组成。平衡车的单片机在对某些算法进行处理之后能够输出有关平衡车两轮电机的pwm信号,这样才能够真正的完成平衡车自身的系统循迹和速度加减等。关于智能平衡车系统硬件结构的具体设计流程都表现在了以下图中:
图1
首先,根据该图我们可以看到关于STM32自动平衡车的稳压电源模块。电源作为一个自动化智能设备在运转过程之中必不可少的模块,是否能够有稳定的电源提供来源对于自动化智能设备来说有着十分关键的作用。一般来说,在对自动平衡车的系统进行设计时,有关设计工作人员都会事先对自动平衡车的具体情况进行掌握,从而设计出能够符合平衡车运转的稳定电源系统,也只有这样才能够真正的从电路上来避免各模块之间由于电源不同而引发的一系列故障产生。根据该类型自动平衡车电源提供的现实情况来看,大部分STM32智能平衡车的控制系统所选用稳定电源来源都是以五伏电压提供为主的,而智能平衡车系统内部的单片机则是以3.3伏电压来进行供电。
其次,关于智能平衡车的角度测量模块这一方面,它主要是通过对陀螺仪和传感器的使用来实现智能平衡车的角度精确测量。当前所使用的角度传感器是以mma7260为主的传感器,该类型加速度传感器主要是通过对重力分量原理的具体应用,来设计出一个具有低耗能高灵敏度的传感器。同时,由于智能平衡车应用了这种具有高灵敏性的传感器,它也使得平衡车在运转的过程之中能够同时输出有关于xyz三个方向的数值,从而能够更更加精准地对平衡车的运动姿态和方向进行测量。智能平衡车的角度测量还需要使用到关于角速度的陀螺仪。一般来说,智能平衡车主要是通过对模拟电压信号与角速度之间的关系原理进行利用,来实现角速度对时间值的积分的具体转换。而且由于模拟电压信号与角速度之间存在着正比的关系,角速度的时间积分可以通过计算与转换来得到智能平衡车灵敏轴旋转过的角度值,也就是能够轻而易举的将智能平衡车的倾角进行计算。因此,这也就能够让智能平衡车具备体积小、重量轻、运转灵敏的特性。
最后,是关于智能平衡车的赛道采集模块。智能平衡车的赛道信息采集主要是通过对中央处理单元的具体使用来实现,其他控制系统将所收集到的信息反映给中央处理单元,中央处理单元再对所获得的信息进行加工和处理分析,从而实现对赛道模块数据的集中处理[2]。
2 关于智能平衡车的软件控制系统设计内容
在智能平衡车的软件控制系统设计内容之中,图像外部信息的采集主要是通过对内部处理中断来具体完成,而且在智能平衡车软件控制系统的图像采集这一部分要比其他处中断等内容高级很多。在智能平衡车的控制系统内部设有一个一毫米的定时器中断服务程序,该中断服务程序需要对智能平衡车的电机转速读取、传感信号的采集、小车直立控制和小车速度控制等完成数据的分析和输出。而且在这一过程之中,智能平衡车的终端服务程序还会对这些开展一个计数工作,利用智能平衡车全局变量的计数,对智能平衡车控制系统各个子模块进行顺序方面的执行。
一般来说,智能平衡车的软件系统需要首先完成初始化工作。在这一项工作内容之中,他需要对pw通道、Adc通道等具体工作内容进行设计。其次,在智能平衡车的初始化工作完成之后,软件系统需要对人机交互模块的参数信息进行读取,比如说像智能平衡车的拨码开关工作和上位机传回数据等均需要软件系统对该参数的读取来具体实现。在这之后,智能平衡车的三级中断会按照先后顺序进行优先分级,使得智能平衡车的各项任务能够实现交替完成。最后才能够进入到dma中断服务系统之中对图像是否采集完毕进行判断,使得各个仔模块的任务能够实现有序不紊的完成[3]。
3 结语
综上所述,以STM32为控制核心的智能平衡车的控制系统的设计相对来说要较为全面一些。它主要涉及到了要对系统内部传感器的信号收集、对自动平衡控制的PID参数进行整定、对赛道信息信号的图像进行提取和对道路图像进行识别等。由此可见,智能平衡车的研发与使用相对来说要更加便捷一些,它是科技发展下的一个新型智能化产物,它的控制系统的应用也是科学技术创新研发的一个代表。