服务热线:021-60766769
设为首页| 收藏本站|联系我们

气浮球控制实验系统的设计与应用


当前自动化类专业的自动控制原理实验一般基于Matlab仿真平台实现,未能很好地和控制对象结合起来,学生很难从头到尾参与到整个实验环节中来,不利于对控制原理的理解与掌握,实验效果并不理想。
本文设计了一个符合教学需求的创新型实验系统。该系统综合多门专业课程知识,为学生学习自动控制原理、单片机、嵌入式系统等课程提供了一个综合性实验平台。同时,该系统不太复杂,在学生应用所学知识可以驾驭的范围内,具有一定的趣味性,简单直观,有利于提高学生参与其中的积极性。
1、系统架构
本文设计的实验系统如图1所示,研究内容可以划分为超声测距模块设计与实现,控制驱动模块设计与实现和上位机软件设计开发三个部分。

图1气浮球控制实验系统示意图
超声测距模块实现的功能是通过发射超声波,计算从发射时间到接收到反射波时间来确定当前小球的位置,将此位置信息反馈给控制驱动模块用于其控制。
控制驱动模块接收来自超声测距模块的浮球位置信息,与来自上位机或本地设定的目标位置进行比较,采用一定的控制算法,计算出当前的风机驱动量,去调节风机风力,最终实现将浮球控制到目标位置,同时将浮球的运动轨迹等信息传送到上位机用于显示、分析、处理。上位机软件可以设定浮球的目标位置或运动轨迹发送给控制驱动模块,同时接收浮球轨迹信息,可以进行其运行轨迹的显示、分析、处理。
2、硬件设计
系统总体硬件电路框图如图2所示,主要包括系统控制、按键控制、串口通信、风扇驱动、超声测距等电路。

图2硬件电路框图
(1)系统控制电路。该系统采用基于32位的ARMCortex-M3处理器STM32F103VBT6作为主控芯片,它具有非常丰富的片内资源,例如实时时钟(RTC)、定时器(TIM)、通用I/O接口(GPIO)、DMA控制器、A/D转换器、USART接口、I2C接口、SPI接口和CAN总线接口还包括20KB的片内SRAM,128KB的片内Flash以及一个支持USB2.O规范的全速USB外围设备等,它是整个系统的主控单元,协调其他模块完成数据采集、存储、处理、控制、传输等多项功能。
(2)按键控制电路。按键控制电路如图3所示,单片机通过检测4个GPIO口(PC0、PC2、PA0、PC1)的高低电平变化来判断哪个按键按下。当按键按下后,GPIO口会从低电平变为高电平,依此可以判定按键是否按下。电路中每个电容起到硬件消抖动的作用,电阻则是防止过流。

图3按键控制电路
按键是用于初期程序的调试,最终归结到上位机控制,用上位机直接传输高度、PID系数等数据,也包括开始和结束系统的控制。所以按键只是作为辅助调试电路方便进行初期调试。
(3)串口通信电路。单片机和上位机的通信是使用串口通信方式,电路图如图4所示。串口通信是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的通信协议。在本实验系统中利用了USB转串口模块,即实现计算机USB接口到通用串口之间的转换。

图4串口通信电路
CH341是一个USB总线的转接芯片,通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。在异步串口方式下,CH341提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。
(4)风扇驱动电路。控制气浮球运动的风扇的驱动电路如图5所示。风扇采用PWM波控制,通过控制PWM波的占空比来控制风速。此系统使用单片机的PA6口发送PWM波,PWM使用单片机的TIM1定时器实现输出。TIM1高级控制定时器可以实现输入捕捉、输出比较、产生PWM和反相PWM。系统就是使用定时器的PWM产生功能,通过设置输出频率、占空比、输出模式等输出可控的PWM,然后通过隔离,放大后驱动MOS管的开关,进而控制风扇电机的转速,最终达到控制小球运动的目的。

图5风扇驱动电路
(5)超声波测距模块。测量小球运动轨迹使用HC-SR04超声波测距模块,该模块测量精度高,可以达到0.4mm;测量距离远,可以达到30cm左右。硬件电路简单,只需要占用4个GPIO口,包括超声波输出控制、信号接收反应管脚、VCC和接地管脚。程序控制也很简单,占用一个定时器计(TIM2),程序开始给定时器赋予初值,然后控制模块发出超声波,超声波碰到障碍物后会反射回来,模块接受到反射回来的超声波会给一个管脚脉冲,这样就可以判定收到,关闭定时器,此时读出TIM2的值,这样经过计算后便可以得到模块与障碍物之间的距离。
3、软件设计
系统软件设计总体流程如图6所示,主要包括系统初始化、风扇驱动、超声测距、串口通信等子程序,同时还包括了上位机软件设计。

图6软件流程图
(1)系统初始化。程序的初始化,包括系统时钟的初始化,GPIO口的初始化,串口通信初始化,定时器初始化等。对芯片进行初始化后,才可以使芯片正常工作。
系统时钟初始化主要是设置系统的时钟频率,包括设置时钟的预分频和使用的芯片功能的时钟使能;GPIO口初始化包括使用的GPIO口打开使能、输出频率、模式选择和管脚复用使能;串口通信初始化包括串口的波特率、字长、停止位、奇偶校验位等设置;定时器设置包括定时器的分频、计数方式、打开允许计数等设置。
(2)风扇驱动程序。风扇使用PWM波驱动,STM32单片机有专门的PWM输出功能,可以设置其输出的频率、占空比等。
程序的PWM输出使用单片机高级控制定时器TIM1输出,设置定时器可以实现输入捕获、输出比较、产生PWM等功能。只需要通过改变PWM波的占空比,就可以控制气浮球的位置。程序中设置一个全局变量,通过不断重新设置PWM输出的占空比寄存器来改变风速大小,而该设定值便是由上位机发送的数据和PID不断调节的数据决定。
(3)超声波测距程序。超声波测距使用芯片的定时器TIM2实现。功能实现过程:首先单片机控制超声波模块发送超声波,同时单片机定时器打开,开始计数,在超声波碰到障碍物后返回给模块,单片机检测到电平变化后,关闭定时器,读取此时定时器寄存器的值,设定好TIM2的计数时间和计数方式,通过固定算法便可以计算出模块距离气浮球的长度。
(4)串口通信程序。串口通信使用STM32单片机内部的USART功能。该程序包括串口通信的波特率、字长、停止位、奇偶校验等的初始化。程序设定的波特率为9.600KB/s,一次发送8位数据,有奇偶校验位,1位的停止位。上位机采用特定的通信方式将管理者的命令发送给单片机,实现PC机远程控制的目的,同时也是将数据返回给单片机处理和显示。
(5)上位机程序。上位机使用C#语言编写,包括基本的操作界面,按钮处理,输入输出,图形界面显示等功能。此程序将操作者输入的高度信息通过处理发送给单片机,并将单片机发送回的数据和气浮球运动轨迹在图形界面显示出来,便于使用者操作和处理。
4、系统通信
由于发送数据时,需要发送的数据范围是0~5000,而发送数据函数在发送时一次只能发送8位数据,即允许发送范围为0~0xFF(0~255),所以需要对发送数据进行处理,然后再发送。处理方式是,发送数据除以256,得到的商和余数(符合发送范围)通过串口相互发送,接收端将收到的数据按对应关系乘以256再加余数,便可以得到想要的值。这种发送方式简单易懂,而且数据量处理也不是很大,很适合系统使用。
(1)上位机对单片机的通信协议。上位机发送系统启动和关闭命令时,发送4个8位的数据,其中前3个是命令,后1个是判断位,判断是否为开关机命令。
单片机通过最后一位的命令判断位判断接受的是数据还是命令,然后通过前三位判定是打开还是关闭系统。
上位机给单片机发送数据命令,包括设定高度、比例、积分、微分值。发送11个8位的数据,其中第1个始终发送0,表示发送开始;2~9个分别是PID参数和高度经过计算处理后的数据,最后2个8位数据是停止位标志。接收端也是按照这种方式进行接收处理,然后在控制中体现出来。
(2)单片机对上位机的通信协议。单片机对上位机发送的数据包括实时的高度测量值,接收到的设定高度值和PID参数会重新发送给上位机以便实时监控。发送时,发送12个8位数据,其中前2个为0,代表数据发送开始,第3~12个分别是测量高度值、设定高度值和PID值,其中数据也是经过处理,符合发送的数据大小,发送给上位机。上位机将接受的数据经过处理后显示出来。
5、结语
针对当前自动化专业的相关实验未能很好地和控制对象结合起来的现状,设计了一套气浮球控制实验系统,完成了超声测距模块设计与实现、控制驱动模块设计与实现、上位机软件设计开发。整体系统结构简单,可扩展性强,该实验系统已成功应用于实际教学,帮助学生完成了自动控制原理、单片机、软件设计等课程的相关实验,且实验结果具有直观、实时等优点,教学效果反应良好。



友情提示:
您只要致电:021-60766769  (0)15216837090(张经理)
我们可以解答气浮实验装置,圆型气浮实验装置,平流式加压气浮实验设备相关疑问!
我们可以帮您推荐符合您要求的气浮实验装置,圆型气浮实验装置,平流式加压气浮实验设备相关产品!

上海育仰科教设备有限公司,立于上海,心怀天下
生产基地:上海松江工业园
销售中心:上海市嘉定区鹤旋路26弄22号
电话:021-60766769 传真:021-60766769 公司邮箱:yuykjsb@126.com
沪公网安备31010702001298号 教学设备|机械教学模型|楼宇实训台|维修电工实验台:上海育仰公司 All Rights Reserved  沪ICP备16023097号-1
展开