微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于C8051F330单片机相关知识解析方案

基于C8051F330单片机相关知识解析方案

时间:07-02 来源:互联网 点击:

0 引言

在一些应用场合要求使用的电机体积小、效率高、转速高,微型永磁无刷直流电机能够较好地满足要求。因为电机体积较小,安装位置传感器困难,所以微型无刷直流电机的无位置传感器控制就显得尤为必要。

无刷直流电机的无位置传感器控制的难点在于转子位置信号的检测,目前国内外研究人员提出了诸多方法,其中反电动势法最为简单、可靠,应用范围最广泛。普遍采用的控制方案为基于DSP的控制和基于专用集成电路的控制等,但是其价格高、体积大,不利于用在微型电机控制器中。本文介绍基于C8051F330单片机、检测反电动势法的无位置传感器无刷直流电机的控制器,系统结构简单,体积超小型,价格低廉,运行性能良好。

1 无传感器无刷直流电机的控制方式

实现无刷直流电机电子换相及PWM控制的逆变器主电路如图1a所示。采用两两通电方式,即每一个瞬间有两个功率管导通,每隔60°电角度换相1次,每一功率管导通120°电角度。功率管的导通顺序是:V6V1→V1V2→V2V3→V3V4→V4V5→V5V6。

在方波无刷直流电机中,定子绕组的反电动势波形(即气隙磁通波形)为正负对称的梯形波,如图1b所示。从图中可以看出当检测到不通电相绕组的反电动势为零时,以此作为起点滞后30°电角度,即为最佳换相时刻。因此只要测出各相反电动势的过零点就可获得三相电机所需的6个关键位置信号,进而实现定子绕组的正确换流。电动机绕组中性点0一般未引出,直接测定绕组反电动势相值比较困难,而便于测量的是三相定子绕组对地的端电压。端电压过中点(直流电源电压的一半)与反电动势过零点在时间上是重合的,所以寻找反电动势的过零点后30°电角度即相当于寻找端电压的过中点后30°电角度。

2 控制系统设计

2.1 硬件电路设计

系统的硬件电路图如图2所示,以C8051F330单片机、逆变桥电路、端电压检测电路、稳压电路等组成。本电路设计得非常简洁,各种元器件都使用小型的贴片封装,非常适合对成本和体积都比较敏感的微型电机控制器。

逆变桥电路中上桥臂为P型MOSFET器件FDS6679,下桥臂为N型MOSFET器件M4410B,均为低电压驱动器件。FDS66 79通过一个NPN型三极管驱动,而M441 0B由C8051F330的P1口直接驱动(P1口设置成推挽输出)。PWM控制模式定为:PWM仅应用于半桥的下端MOSFET,同时换流的上端(对角线)MOSFET仅起换相通断控制。

电源电压和电流的检测:当UV相通电,在PWM开通期间检测U相的端电压Uu,由于MOSFET的通态电压很小(小于0.1V),端电压uu可以近似看作是电源电压UD;在下桥臂源极和电源地之间串接采样电阻,通过P0.4口检测电阻电压得到电流值,输入信号先经过内部可编程增益放大器放大,再作A/D转换。

2.2 软件设计

软件主要有初始化程序、电机起动程序、端电压检测及换相程序、电压和电流保护程序、运行控制程序等组成。共有四个中断:PWM中断、ADC 中断、T1中断、T2中断。其中T2中断实现电机起动程序,PWM中断在PWM开通期间启动ADC中断,在ADC中断中进行端电压检测,当检测到反电动势过零点时启动T1中断完成换相。

2.2.1G8051 F330的初始化

由于C8051F330单片机与8051单片机在内部资源上有差异,所以它们的初始化有所不同。主要有两点不同:对外引脚的交叉开关的配置;对系统时钟源的配置。考虑到用户自己写初始化程序很繁琐,Silicon Labs公司推出了C8051F单片机初始化代码生成程序软件Config2Version 1.30。用户只要在图形化的界面上用鼠标点击选择,就可以方便地生成C8051F330的初始化程序。大大加快了用户的开发速度。

2.2.2 PWM波输出控制

C8051F330的可编程计数器阵列(PCA)由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成,恰好可以实现3路8位PWM或16位PWM功能。PCA的16位计数器/定时器的高字节PCAOH和低字节PCAOL决定PWM波的频率,通过改变捕捉/比较模块的高字节PCAOCPHn和低字节PCAOCPLn就可以改变PWM波的占空比。

2.2.3 端电压检测及换相

反电动势换相信号检测:在PWM开通期间启动ADC,检测处于不通电相绕组的端电压,其值等于电源电压的一半时为反电动势过零点信号。要考虑:a.ADC检测时刻应与PWM同步,并选择PWM开通时间的中点为佳,以避开开关状态的瞬态电压噪声。b.在软件中应舍弃换相后的最初几个反电动势采样点,因为换相后绕组电流不会立即为零,要经过一个续流过程才下降为零。程序如图4所示。使用定时器0记录连续监测到两个端电压过零点的时间,除以2即为30°电角度的时间,把此时间装载到定时器1中,定时器1经过30°电角度时间触发中断

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

网站地图

Top