新闻中心

EEPW首页>嵌入式系统>设计应用> 基于AVR单片机帆板控制系统的设计

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

作者: 时间:2012-12-12 来源:网络 收藏

为了解决在与风机近距离且小角度转动时,其稳定性不易精确控制的难题,我们采用可自动跳变的双电源,即供给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信号控制电机驱动器输出,并累计控制过程的用时);

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

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

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

测试方案与测试结果

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

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

表1 PWM数据

pwm相关文章:pwm是什么


单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


蜂鸣器相关文章:蜂鸣器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭