您当前的位置:五五电子网电子知识电子制作综合-其它基于AVR单片机帆板控制系统的制作 正文
基于AVR单片机帆板控制系统的制作

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

点击数:7519 次   录入时间:03-04 11:47:25   整理:http://www.55dianzi.com   综合-其它

    设计任务

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

图1 帆板控制系统示意图

图2 帆板制作尺寸图

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

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

    系统硬件设计与实现

    硬件概述

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

图3 系统框图

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

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

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

    (4)电机驱动方式:采用L298电机驱动芯片;

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

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

    角度检测电路

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

    ADXL345与单片机采用I2C模式通信,电路如图4所示。角度检测电路由IC1、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开关型稳压器的效率比三端线性稳压器要高的多,有优异的线性和负载调整能力,其内部含有频率补偿器和一个固定频率振荡器,可将外部元件数目减到最少且使用方便。电源电路如图7所示。

图7 电源电路



www.55dianzi.com

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

    显示电路略。

    系统软件设计

    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信号控制电机驱动器输出,并累计控制过程的用时);

[1] [2]  下一页


本文关键字:单片机  控制系统  制作  帆板  综合-其它电子制作 - 综合-其它