微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AVR单片机电风扇360度内摇头角度自由调节装置的实现

基于AVR单片机电风扇360度内摇头角度自由调节装置的实现

时间:01-19 来源:互联网 点击:

市场上大多数落地电风扇的摇头角度一般都在90度左右,而且摇头速度不可调节,人们在不同的环境和场合,常常根据实际情况希望能调节风扇的摇头角度和摇头的速度。在各类机电系统中,由于直流电机具有良好的起动、制动和调速性能,直流调速技术已广泛运用于工业领域,最常用的直流调速技术是脉宽调制 (PWM) 直流调速技术,它具有调速精度高、响应速度快、调速范围宽和耗损低等特点。本文介绍了基于新型AVR单片机169、旋转编码器AS5040及3966控制的直流电机构成的电风扇调节装置,能实现落地电风扇360度内摇头自由角度调节和摇头速度调节。

1 360度内摇头角度调节装置硬件设计

1.1 系统设计与工作原理

AVR169单片机是新一代RISC结构微控制器,具有高性能、低功耗、非易失性和CMOS技术等特点,AVR169还具有32个寄存器和丰富的指令集,带有四路8/9/10位PWM功能的16位定时器,8道的10位ADC,16KB可编程Flash,1KBSRAM,可以擦写10000次,接近 1MIPS/MHZ的运行速度。

AS5040是Austria microsystems公司推出的世界上最小的10位多输出旋转磁性编码器, 是将现场传感霍尔(Hall)元件、A/D转换、数字信号处理和输出接口集成到单个芯片的系统级芯片(SoC),利用其包含的小磁体,可通过磁体的360 度旋转探测1024个绝对位置,即每360度提供10位分辨率的1024 个绝对位置,同时提供了积分A/B、单通道和U-V-W交换等三种不同的增量输出模式,既可根据用户的特定要求设置,也可设置为脉宽调制(PWM)输出信号。PWM 数字输出所需外部元件最少,使用方便简单。本装置采用了AS5040旋转编码器PWM_LSB端输出PWM脉冲,计算出电风扇摇头偏离初始位置的角度,其控制系统工作原理如图1 所示。


图1 系统的工作原理

控制电风扇摇头速度以及使其角度在一定范围内摇动,其工作原理为:把AS5040传感器装在电风扇摇头的转轴上,就能感应出电扇转过的角度与初始位置的夹角,计算出当前风扇摇头的速度,在下一个采样周期到来时,AS5040旋转编码器测得的速度信号及电机位置反馈信号通过AS5040接口反馈到 AVR单片机169,单片机再根据给定的运动速度与速度的反馈信号相减,得出偏差,给定的位置信号与电机目前的位置信号进行比较,经过防积分饱和的控制算法得出控制量,单片机最终将控制量以PWM的形式输出,经过3966功率放大,驱动直流电机,进入下一个采样周期,实现根据设定值的调节,使电风扇以一定的速度并且摇头角度在设定值范围内转动。

1.2 旋转编码器AS5040接口电路设计

AS5040旋转编码器把圆周分成1024份,当转离初始位置后,PWM_LSB端输出PWM脉冲。在0位置处,对应高电平宽度为1us,位置每加 1,PWM高电平脉宽相应增加1us。通过对电机PWM的控制可以控制电机的转动,而AS5040旋转编码器随电机转轴转动,可以根据LSB端口输出脉冲计数得出电风扇摇头的速度变化,通过检测PWM_LSB输出脉冲可以得出此时刻转动的位置。AS5040引脚B_Dir_V可以直接检测出电机的正转和反转(输出1为顺时针,0为逆时针转动)。根据编码器工作原理,设计编码器硬件电路如下图2所示:

图2 旋转编码器接口电路

电机的转速ω为:

ω= c ×ΔN×(终止角-起始角) ÷360 ÷Ts (1)

式中 C为标度变换系数, 可根据转速的量纲来选择,ΔN 为一个采样周期中的一次从起始到终止角的计数值,加上PWM输出值,再与1024比值,Ts 为采样周期。

1.3 3966 驱动接口电路设计

AVR 单片机169 输出的脉宽调制( PWM) 信号需经过功率放大才能驱动电机,调速控制系统采用的是3966 驱动芯片, 双极性工作方式是指在一个PWM 周期内电机电枢两端的电压呈正负变化,系统采用的双极性PWM控制,采用PI控制算法进行速度调节。驱动接口电路如图3 所示。单片机PWM引脚PF7直接接电机的ENABLE端,它控制着电机的转速的大小。

图3 电机接口电路

2 360度内摇头角度调节装置软件设计

2.1 主程序模块化设计

在主程序的循环中,单片机系统自行给定, 获得电机转动的命令字,包括控制电机的速度和转动方向及转动位置。调用读旋转编码器模块,获得电机的实际转速和转动位置,把给定速度与实际速度作差,得出控制量偏差;把给定的位置与实际位置进行比较作差,得出位置偏差。然后,调用PI控制算法模块控制电风扇的转速。若定时到了,调用PWM 驱动模块,驱动电机,形成控制系统的速度闭环。

读编码器模块程序原理:AS5040的PWM_LSB端输出PWM脉冲,高电平1us对应0位置,位置加1,PWM高电平脉宽增加1us,所以高电平脉宽可以表示出此时电机转动的位置。由(1) 式可以计算出电机的转速。系统软件采用模块化设计方法,主程序模块

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top