论文部分内容阅读
【摘要】帆板控制系统以AVR单片机为核心,采用距离测量传感器计算帆板与风扇之间的距离,采用高精度角度传感器对帆板的转动角度进行实时检测,通过键盘预置帆板的转角,采用PWM信号来调控风扇的转速,改变风力的大小,实现对帆板转角的精确控制。
【关键词】角度传感器;距离测量传感器;PWM信号;帆板控制
一、设计任务
1.赛题要求
设计并制作一个帆板控制系统,通过对风扇转速的控制,调节风力大小,改变帆板转角θ,如图1所示。帆板形式及具体制作尺寸如图2所示。
2.技术要求和指标
(1)用手转动帆板时,能够数字显示帆板的转角θ。显示范围为0—60°,分辨力为2°,绝对误差≤5°。
(2)当间距d=10cm时,通过操作键盘控制风力大小,使帆板转角θ能够在0—60°范围内变化,并要求实时显示θ。
(3)当间距d=10cm时,通过操作键盘控制风力大小,使帆板转角θ稳定在
45°±5°范围内。要求控制过程在10秒内完成,实时显示θ,并由声光提示,以便进行测试。
二、系统基本方案
根据题目要求,设计思想是:采用距离测量传感器计算帆板与风扇之间的距离d,采用高精度角度传感器实时检测帆板的转角,用单片机来处理数据,并与预置帆板的转角(下文简称预置参数)进行比较运算,生成PWM控制信号,传送给电机驱动芯片,控制电机调节风扇的转速。用键盘和显示模块作为人机界面,实现手动输入和实时显示等功能。
系统由八个单元构成,分别是角度检测、距离检测、按键、电源、单片机、显示、声光报警和电机驱动,结构见图3。
1.系统硬件设计与实现
(1)AVR单片机
单片机选用ATmega16,其在系统中主要完成如下功能:
1)采集测距传感器、角度传感器的数据,并处理与补偿;
2)生成调节电机转速的PWM信号;
3)控制显示电路,实现字符、数据显示和报警;
4)键盘信息读取,实现预置参数设定、存储,控制过程程序的起动和停止。
(2)显示电路
显示选用LCD1602液晶模块,在系统中,LCD屏显示的内容是:预置参数、帆板的实时转动角度、控制过程完成的时间和调节电机速度用的PWM信号值。
显示电路由芯片IC1、IC7和电阻R5组成,电路见图4。
电路图中的C6、C7和8MHZ晶振构成单片机的时钟电路,R2、C8是上电复位电路,按键S1是手动复位。
(3)距离检测电路
风扇与帆板之间距离检测,采用GP2D120XJ00F测距传感器。其测距范围为4~30cm,10位AD采样,能达到±0.2cm内的误差。
GP2D120XJ00F传感器固定在风扇壳体上,在每次生成PWM信号之前,单片机都采集风扇与帆板间的距离d数据。
距离检测电路由芯片IC1、IC5组成,电路见图5。
(4)角度检测电路
角度传感器选用ADXL345。其输出数据为16位二进制补码格式,通过I2C数字接口访问。
ADXL345固定安装在帆板转轴上,它随帆板同步转动,单片机实时采集传感器中的角度数据,经运算处理补偿后转换成角度值,并在LCD屏上显示数据。采用累计10次采样结果、再取其数据的平均值。
角度检测电路由IC1、IC8、R6、R7组成,电路见图6。
(5)电机驱动电路
风扇电机选用航模电机RS—380SH— 4045,其电压7.5V,电流0.4A。
电机驱动选用L293模块,电机驱动接线电路见图7,风扇电机接在L293的2Y、1Y输出端口上,单片机的PD5引脚输出控制风扇电机转速的PWM信号,L293输出的通断时间受控于PWM的变化,实现了调节风扇电机的转速大小,最终控制了吹动帆板转动的风力强弱。
(6)电源、按键和声光报警电路略
2.系统软件设计
(1)PWM算法设计
每次风扇电机起动时,PWM先按距离d时,θ=70°对应的PWM2值给定,当帆板转到预置参数值后,控制帆板绝对误差≤3°,维稳控制的PWM值按下列公式计算出。
PWM=PWM1+(PWM2—PWM1)/69*(2θ—θ1)
θ1=帆板转动的实际角度值;
θ=预置参数,赋值范围是0—70O;
PWM1距离d时,θ=1O对应的PWM值(以厘米为单位,由实验获得);
PWM2距离d时,θ=70O对应的PWM值(以厘米为单位,由实验获得);
PWM赋值范围是0—255。
(2)软件流程设计
软件采用模块化程序设计方法构建,以主程序为核心。
主程序流程框图见图10,主要包括初始化、距离检测、角度检测、起动按键判断与处理、停止按键判断与处理、报警判断与处理和设置参数判断与处理等。
1)距离、角度检测
距离与角度检测,程序流程框图见图11,主要包括初始化、采集判断、数据处理、累计判断、检测距离、生成PWM信号等。
初始化阶段主要进行引脚功能初始化、相关变量参数初始化、AD转换初始化、I2C通信模式设置和定时器中断等;角度采集过程中先查角度采集标志位内容,传感器的数据采集是在中断服务子程序中完成,每次完成都给采集标志位置1;如果角度采集完成,就将采集标志位清零,对每次采集到的数字量进行数据处理,查表补偿后变成能反映实际角度的度数值,备显示角度值用,并累计;累计的角度值达到了10次后,检测当前风扇与帆板之间的距离;将累计10次角度采样值取平均,再进行线性补偿后,与距离值和预置参数运算,生成最终调节风扇电机转速的PWM信号。
2)中断服务子程序
在软件中还有2个中断服务子程序:定时器1中断和定时器2中断(程序流程框图略)。定时器1中断服务程序:主要工作,实现LCD屏各种字符、数据显示和产生用于累计控制过程的用时计时时钟。定时器2中断服务程序:主要工作,实现采集角度传感器数据,并设置每次完成采集数据的标志位。
三、结论
本设计特色:在能实现基本要求的基础上,增加了多项发挥。
(1)预置参数存储在AVR的EEPROM中,具有掉电记忆功能;
(2)LCD屏显示稳定过程时间;
(3)实现控制过程完成时间小于3秒;
(4)有效距离在原来基础上扩展为5— 18cm;
(5)测试角度,在原要求基础上增加到70°;
(6)分辨力提高到1°,绝对误差≤3°;
(7)风扇与帆板之间距离可检测,成功解决了帆板近距离、小角度转动稳定性不易控制的难关。
参考文献
[1]马英庆,程福.足球机器人底层自动控制系统硬件[J].现代电子技术[J].2007,7.
[2]鲍光海.电动车跷跷板控制系统[J].电子制作,2008,l.
作者简介:
贾函龙(1988—),男,辽宁人,大学本科,辽宁机电职业技术学院实验师,研究方向:自动化技术。
马英庆(1965—),男,辽宁人,大学本科,学士,辽宁机电职业技术学院教授,研究方向:机电一体化技术。
【关键词】角度传感器;距离测量传感器;PWM信号;帆板控制
一、设计任务
1.赛题要求
设计并制作一个帆板控制系统,通过对风扇转速的控制,调节风力大小,改变帆板转角θ,如图1所示。帆板形式及具体制作尺寸如图2所示。
2.技术要求和指标
(1)用手转动帆板时,能够数字显示帆板的转角θ。显示范围为0—60°,分辨力为2°,绝对误差≤5°。
(2)当间距d=10cm时,通过操作键盘控制风力大小,使帆板转角θ能够在0—60°范围内变化,并要求实时显示θ。
(3)当间距d=10cm时,通过操作键盘控制风力大小,使帆板转角θ稳定在
45°±5°范围内。要求控制过程在10秒内完成,实时显示θ,并由声光提示,以便进行测试。
二、系统基本方案
根据题目要求,设计思想是:采用距离测量传感器计算帆板与风扇之间的距离d,采用高精度角度传感器实时检测帆板的转角,用单片机来处理数据,并与预置帆板的转角(下文简称预置参数)进行比较运算,生成PWM控制信号,传送给电机驱动芯片,控制电机调节风扇的转速。用键盘和显示模块作为人机界面,实现手动输入和实时显示等功能。
系统由八个单元构成,分别是角度检测、距离检测、按键、电源、单片机、显示、声光报警和电机驱动,结构见图3。
1.系统硬件设计与实现
(1)AVR单片机
单片机选用ATmega16,其在系统中主要完成如下功能:
1)采集测距传感器、角度传感器的数据,并处理与补偿;
2)生成调节电机转速的PWM信号;
3)控制显示电路,实现字符、数据显示和报警;
4)键盘信息读取,实现预置参数设定、存储,控制过程程序的起动和停止。
(2)显示电路
显示选用LCD1602液晶模块,在系统中,LCD屏显示的内容是:预置参数、帆板的实时转动角度、控制过程完成的时间和调节电机速度用的PWM信号值。
显示电路由芯片IC1、IC7和电阻R5组成,电路见图4。
电路图中的C6、C7和8MHZ晶振构成单片机的时钟电路,R2、C8是上电复位电路,按键S1是手动复位。
(3)距离检测电路
风扇与帆板之间距离检测,采用GP2D120XJ00F测距传感器。其测距范围为4~30cm,10位AD采样,能达到±0.2cm内的误差。
GP2D120XJ00F传感器固定在风扇壳体上,在每次生成PWM信号之前,单片机都采集风扇与帆板间的距离d数据。
距离检测电路由芯片IC1、IC5组成,电路见图5。
(4)角度检测电路
角度传感器选用ADXL345。其输出数据为16位二进制补码格式,通过I2C数字接口访问。
ADXL345固定安装在帆板转轴上,它随帆板同步转动,单片机实时采集传感器中的角度数据,经运算处理补偿后转换成角度值,并在LCD屏上显示数据。采用累计10次采样结果、再取其数据的平均值。
角度检测电路由IC1、IC8、R6、R7组成,电路见图6。
(5)电机驱动电路
风扇电机选用航模电机RS—380SH— 4045,其电压7.5V,电流0.4A。
电机驱动选用L293模块,电机驱动接线电路见图7,风扇电机接在L293的2Y、1Y输出端口上,单片机的PD5引脚输出控制风扇电机转速的PWM信号,L293输出的通断时间受控于PWM的变化,实现了调节风扇电机的转速大小,最终控制了吹动帆板转动的风力强弱。
(6)电源、按键和声光报警电路略
2.系统软件设计
(1)PWM算法设计
每次风扇电机起动时,PWM先按距离d时,θ=70°对应的PWM2值给定,当帆板转到预置参数值后,控制帆板绝对误差≤3°,维稳控制的PWM值按下列公式计算出。
PWM=PWM1+(PWM2—PWM1)/69*(2θ—θ1)
θ1=帆板转动的实际角度值;
θ=预置参数,赋值范围是0—70O;
PWM1距离d时,θ=1O对应的PWM值(以厘米为单位,由实验获得);
PWM2距离d时,θ=70O对应的PWM值(以厘米为单位,由实验获得);
PWM赋值范围是0—255。
(2)软件流程设计
软件采用模块化程序设计方法构建,以主程序为核心。
主程序流程框图见图10,主要包括初始化、距离检测、角度检测、起动按键判断与处理、停止按键判断与处理、报警判断与处理和设置参数判断与处理等。
1)距离、角度检测
距离与角度检测,程序流程框图见图11,主要包括初始化、采集判断、数据处理、累计判断、检测距离、生成PWM信号等。
初始化阶段主要进行引脚功能初始化、相关变量参数初始化、AD转换初始化、I2C通信模式设置和定时器中断等;角度采集过程中先查角度采集标志位内容,传感器的数据采集是在中断服务子程序中完成,每次完成都给采集标志位置1;如果角度采集完成,就将采集标志位清零,对每次采集到的数字量进行数据处理,查表补偿后变成能反映实际角度的度数值,备显示角度值用,并累计;累计的角度值达到了10次后,检测当前风扇与帆板之间的距离;将累计10次角度采样值取平均,再进行线性补偿后,与距离值和预置参数运算,生成最终调节风扇电机转速的PWM信号。
2)中断服务子程序
在软件中还有2个中断服务子程序:定时器1中断和定时器2中断(程序流程框图略)。定时器1中断服务程序:主要工作,实现LCD屏各种字符、数据显示和产生用于累计控制过程的用时计时时钟。定时器2中断服务程序:主要工作,实现采集角度传感器数据,并设置每次完成采集数据的标志位。
三、结论
本设计特色:在能实现基本要求的基础上,增加了多项发挥。
(1)预置参数存储在AVR的EEPROM中,具有掉电记忆功能;
(2)LCD屏显示稳定过程时间;
(3)实现控制过程完成时间小于3秒;
(4)有效距离在原来基础上扩展为5— 18cm;
(5)测试角度,在原要求基础上增加到70°;
(6)分辨力提高到1°,绝对误差≤3°;
(7)风扇与帆板之间距离可检测,成功解决了帆板近距离、小角度转动稳定性不易控制的难关。
参考文献
[1]马英庆,程福.足球机器人底层自动控制系统硬件[J].现代电子技术[J].2007,7.
[2]鲍光海.电动车跷跷板控制系统[J].电子制作,2008,l.
作者简介:
贾函龙(1988—),男,辽宁人,大学本科,辽宁机电职业技术学院实验师,研究方向:自动化技术。
马英庆(1965—),男,辽宁人,大学本科,学士,辽宁机电职业技术学院教授,研究方向:机电一体化技术。