1 引言
当前,随着保护环境、节约能源的呼声日益高涨无污染、能源可多样化配置的新型交通工具引起了人们的普遍关注,同时也得到了极大的发展,电动自行车便是其中之一。它以蓄电池发出的电能作为驱动能源,以电动机作动力,具有无废气污染、“零排放”、无噪音、轻便美观等特点特别适合在人口较集中的大中城市中使用。但目前市场上的电动自行车还存在着一些不够完善的地方,尤其是电机控制方面有待于进一步提高。本文根据无刷直流电机的原理,利用美国Atmel公司2002年推出的一款新型AVR高档单片机ATmega8作为主控芯片设计了一种无刷直流电机调速控制系统,该系统具有硬件结构简单、软件设计灵活、适用面广、价格低廉等优点具有一定的实用价值。
2 ATmega8芯片简介
ATmega系列单片机承袭了AVR系列中AT90所具有的特点,并增加了更多的接口功能而且在省电性、稳定性、抗干扰性及灵活性方面都更加周全和完善。ATmega8属于ATmega系列单片机(ATmega16/ATmega32/ATmega64/ATmega128)的一个子集, 其内部集成了较大容量的存储器和丰富的硬件接口电路, 并且在软件上能有效支持C高级语言及汇编语言。
ATmega8是一款采用低功耗CMOS工艺生产的基于AVR RISC(精简指令集)结构的8位单片机。AVR单片机的核心是将32个工作寄存器和丰富的指令集连接在一起, 所有的工作寄存器都与ALU(算术逻辑单元)直接相连, 可在一个时钟周期内用一条指令同时访问(读写)2个独立的寄存器。这种结构可提高代码效率,使得大部分指令的执行时间仅为一个时钟周期,故可达到将近1MIPS/MHz的性能, 运行速度比普通单片机高出10倍。ATmega8的主要性能特点如下:
(1)高性能、低功耗的8位AVR微控制器。采用先进的RISC精简指令集结构;有130条功能强大的指令, 大多数为单周期指令;内含32个8位通用工作寄存器;工作在16MHz时指令处理速度为16MIPS。
(2)片内集成了较大容量的非易失性程序和数据存储器。8k字节的Flash程序存储器的 可擦写次数大于10000次;512个字节E2PROM的擦写次数至少可达100000次;支持在线编程(ISP)和在应用编程(IAP);带有可编程的程序加密位。
(3)丰富强大的外部接口。带有2个带预分频的8位定时/计数器、1个带预分频的16位定时/计数器;3个PWM 通道可实现任意16位以内相位和频率可调的PWM 脉宽调制输出;6通道A/D转换;一个I2C串行接口、一个可编程的USART接口、一个支持主/从、收/发的SPI同步串行接口;带片内RC振荡器的可编程看门狗定时器;片内模拟比较器。
(4)具有特殊的微控制器性能。内含可控制的上电复位延时电路和可编程的欠电压检测电路;芯片内部和外部共有18个中断源;5种休眠模式(空闲、ADC噪声抑制、省电、掉电、待命)。
3 系统硬件设计
整个系统主要包括转子位置检测电路、测速电路、调速电路、MOSFET全桥电路、限流电路等,图1所示是其原理框图。其中无刷直流电机由电动机本体、转子位置检测器和电子开关电路三部分组成。直流电源通过开关电路向电动机定子绕组供电,位置检测器可随时检测转子的位置,并根据转子的位置信号来控制开关管的导通和截止,从而实现电子换向。
3.1 转子位置检测电路
本设计中的无刷直流电动机有2对磁极定子绕组采用三相型接法3个霍尔位置传感器的空间间距为60°即电角度为120°。3个霍尔传感器的输出H1、H2、H3分别直接接到ATmega8的26、27、28脚,运用这三个脚的数模转换功能(ADC)可对霍尔信号进行采样和转换。
3.2 电机转速控制电路
a.测速电路
要对无刷直流电动机的转速进行准确的控制首先要准确地测量出它的转速。本设计利用转子位置传感器的输出脉冲信号来反映电动机的转速。先将位置传感器信号经过采样调理电路后送至单片机的PD3脚该引脚可作为外部中断源的输入口。随着电动机的转动PD3将不断接收到脉冲信号。当PD3接收到一个上升沿时将启动定时器T0以开始计时,直至接收到下一个相邻的上升沿为止,定时器T0的计时结果便是电动机转动一圈所需的时间据此即可计算出电动机的转速。
b.换向调速电路
无刷直流电动机转速的控制方法可分为励磁控制法与电枢电压控制法两类。由于前者所受的各类限制较多,且励磁线圈电感较大动态响应较差。所以常用的是改变电枢端电压以实现调速的电枢电压控制法。设直流电源电压为Ud,为电枢串联一个电阻R并接到电源Ud,则电枢两端的电压Ua为Ua=Ud-IaR,显然调节电阻R即可改变端电压从而达到调速目的。但这种传统的调压调速方法效率较低。随着电力电子技术的发展出现了许多新的电枢电压控制方法。PWM脉宽调制就是其中之一。其基本原理如图2所示。
设加在电机电枢两端的矩形波的幅值电压为Ud 则电机电枢两端电压的平均值为
Ua=(T1-T2)Ud/(T1+T2)=(2T1/T2-1)Ud=(2α-1)Ud
其中α为占空比,通过改变α的值可达到调压的目的。由于0 ≤α≤1, Ua值的范围是-Ud~+Ud,因而电机可以在正、反两个方向调速运转。
通过单片机可采样电动自行车手柄上可调电阻的电压,再经A/D转换后送到PWM寄存器,从而控制单片机的PB1脚,输出占空比可调的PWM 信号。该信号和来自限流电路LM358比较器的输出信号一起通过软件比较,在限流电路不工作的情况下输出PWM信号,以配合软件控制的PB0、PD5和PD6引脚来驱动相应的光耦,进而控制MOSFET全桥电路换相导通,实现电机的换向。因此,通过调节单片机PWM信号的占空比,最终可改变加在电动机定子绕组上的电压,从而实现电动机的调速。
4 系统软件控制
ATmega8在软件上能有效支持C语言及汇编语言。C语言目前已成为设计嵌入式系统的标准语言,它既有普通高级语言结构化编程、可读性好、维护方便的特点,又具有汇编等低级语言对硬件访问方便、代码效率高的特点。本设计是用C语言编程实现的,具有很好的可移植性。其程序流程图如图4所示。
5 结束语
用本方案设计的电动自行车调速控制系统在实验运行过程中获得了良好的动、静态特性。高性价比ATmega8单片机的运用大大降低了成本,提高了软件设计灵活性,丰富了硬件接口功能,为今后系统升级创造了良好条件。