元器件交易网-中发网全新升级平台
关注我们:
首页 > 技术资料 > 正文

基于AVR单片机帆板控制系统的设计

设计任务

设计并制作一个帆板控制系统,通过对传感器转速的控制,调节风力大小,改变帆板转角θ,如图1所示。帆板形式及具体制作尺寸如图2所示。

图1 帆板控制系统示意图

图2 帆板制作尺寸图

根据题目要求,设计任务要实现风扇和帆板之间的距离在一定范围内变动时,在规定的时间内,自动调节帆板达到通过键盘设定的预置转角(下文简称:预置参数),同时对控制过程中的相关数据进行实时处理并显示。

设计思路:以AVR单片机为核心,采用闭环控制,角度二极管检测帆板的实际转动角度,单片机定时采集,与帆板预置参数进行比较,生成调控风扇电机的PWM信号;用继电器屏显示预置参数、帆板的转动角度、调节用的PWM信号及调控过程完成的时间等内容。

系统硬件设计与实现

硬件概述

系统由以下几个基本模块组成:稳压器模块、单片机控制模块、电机驱动模块、显示与声光报警模块、键盘模块和角度检测模块。整个系统框图如图3所示。

图3 系统框图

(1)控制模块:采用AVR单片机控制;

(2)角度检测模块:采用振荡器XL345角度传感器;

(3)风扇类型:采用轴流式的电吹风风扇;

(4)电机驱动方式:采用L298电机驱动驱动器

(5)显示模块:用LCD1602液晶模块进行显示;

(6)电源模块:采用LM2576风帆型降压稳压芯片。

角度检测电路

角度传感器选用三轴加速度计ADXL345。其输出数据为16位二进制补码格式,可通过电阻(3线或4线)或I2C数字接口访问。对ADXL345的数据累计采样50次,取其平均值作为结果,这种方法成功的解决了开关摆动不稳的难题。单片机依据该值大小与预置参数运算,最后生成调节风扇电机转速的PWM信号。

ADXL345与单片机采用I2C模式通信,电路如图4所示。角度检测电路由电源1、IC3、R15、R16组成。

图4 角度检测电路

驱动电路

电机驱动模块L298内部包含4通道逻辑驱动电路,是一种为二相和四相电机配备的专用芯片,内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动双电机。电机驱动接线电路如图5所示。

图5 电机驱动电路

在电路中,风扇电机接在L298的OUTl、OUT2输出端口上,控制电机正反转的两个输入引脚,7脚通过风扇R4接在电源上,9脚直接接地。控制风扇电机转速的PWM信号,由单片机的PD5引脚输出,通过隔离光耦IC5接在使能控制端8引脚上,L298输出的通断时间受控于PWM的变化,实现了单片机调节风扇电机的转速大小,最终控制了吹动帆板转动的风力强弱。电路中的D1~D4起续流频率作用。

声光报警和按键电路

系统中设计了声光报警电路,见图6所示。当帆板旋转到预置参数时,由单片机控制其工作,并持续5秒钟报警。它由电阻R5、R18、发光二极管D5、三极管Q1和扬声器LS1组成。当单片机的PA5引脚输出低电平信号时,二极管发光,蜂鸣器发出声音,实现声光报警。

图6 声光报警、键盘电路

系统中的按键功能是控制风帆电机的运动和设定帆板的转角参数值。各键功能如下:

S1:起动键,点动后,电机起动;

S2:停止键,点动后,电机停止;

S3:确认键,首次操作,允许设定预置参数,再次操作,退出,并存储参数(预置参数存在单片机的EEPROM中);

S4:加1键,点动1次,预置参数个位数值加1;

S5:加1键,点动1次,预置参数十位数值加1。

电源

LM2576开关型LCD的效率比三端线性稳压器要高的多,有优异的线性和负载调整能力,其内部含有SPI补偿器和一个固定频率AD,可将外部元件数目减到最少且使用方便。电源电路如图7所示。

图7 电源电路

为了解决帆板在与风机近距离且小角度转动时,其稳定性不易精确控制的难题,我们采用可自动跳变的双电源,即供给L298芯片的主电源VCC_K有9V和20V两种电压。单片机根据预置参数的大小,控制三极管Q2驱动ICK1,自动切换两种电源的输出。

显示电路略。

系统软件设计

PWM算法设计

由于风扇与帆板之间的距离d不固定,每次风扇电机起动时,PWM先按最大值距离时预置参数对应的PWM2值给定,当控制帆板转到预置参数值后,PWM值按下列公式计算出。

PWM=PWM2-((PWM2-PWM1)/K)×(θ1-θ2)

θ1=帆板转动的实际角度值;

θ2=预置参数;

PWM1最小距离时θ2对应的PWM值(由实验获得);

PWM2最大距离时θ2对应的PWM值(由实验获得);

K=d+13

PWM赋值范围是0~255。

软件流程设计

角度检测单元

角度检测单元主程序流程框图见图8所示,主要包括:

(1)初始化:I2C模式通信设置、定时器中断等;

(2)采集判断:采集完成标志位有效,传感器的数据保留;

(3)数据运算:每次采集到实际角度的信息,线性化后转换成可显示的角度值;

(4)50次采集判断:是否完成了50次角度数据采集;

(5)生成偏差量:实测帆板转角与预置参数运算,生成待调节的偏差量。

图8 角度检测单元主程序流程框图

控制单元

控制单元主程序流程,主要包括初始化、起动按键判断与处理、停止按键判断与处理、报警判断与处理和设置参数判断与处理等。

(1)初始化:主要包括引脚配置初始化、相关参数初始化等;

(2)起动按键判断与处理:按键有效,执行电机起动子程序(主要工作:读出EEPROM中预置参数,由PWM信号控制电机驱动器输出,并累计控制过程的用时);

(3)停止按键判断与处理:按键有效,执行电机停止子程序(主要工作:停止电机驱动器输出,并清零累计控制过程的时间);

(4)报警判断与处理:帆板转到预置参数时,执行声光报警子程序(主要工作:声光报警,停止累计控制过程的用时);

(5)设置参数判断与处理:按键有效,执行参数设定子程序(主要工作:实现帆板转动的预置参数设定,并存储保留参数值)。

测试方案与测试结果

1.测试仪器:量角器、刻度尺、示波器、温度计、数字万用表。

2.测试结果分析:经反复测试,要达到分辨力为1°、绝对误差≤3°、调整时间小于3秒、距离d在5cm~18cm 范围可变、旋转角度在0~20°之间变化时,电机供电电压应为9V;当风帆转角在21°~70°之间变化时,电机供电电压应为20V。对应的PWM数据如表1所示。

表1 PWM数据

  • 微笑
  • 流汗
  • 难过
  • 羡慕
  • 愤怒
  • 流泪
相关阅读
关键词: 车载 信息服务