基于微控制器的数字式温度伺服控制系统
扫描二维码
随时随地手机看文章
摘要:温度伺服控制系统是数码变温空调的一个重要的子系统,是数码变温空调的执行机构。本文根据数码变温空调的工作原理,提出了一种基于ARM微控制器的全数字式温度伺服控制系统。温度伺服系统硬件电路是以基于ARM的数字温度控制器为核心,通过单线总线数字温度传感器DS1820对室内外温度进行采样,并使用液晶模块对温度伺服系统的各个运行参数进行实时显示和分析。采用通用的模块化设计方式,编写了温度伺服系统调速程序, 并且使用C语言对程序进行了实现。
1 引言
居室气候是一种与人体健康最密切的人造气候。随着人们物质生活水平的日益提高,各种调节居室气候的电器产品已越来越多地进入寻常百姓家,居室气候已变得越来越舒适,越来越不受自然气候的制约。空调控制室内温度随室外温度改变而连续缓慢变化,更贴近人的生理感受,使人感觉更加舒适,健康。本文以数码变温空调的研究为背景,以其中伺服系统的设计为核心,研究内容涉及温度控制器的设计、电机驱动电路设计、电机调速方案确定以及程序实现等方面。
2 伺服系统硬件结构框图设计
以lpc2214 为核心的温度控制器硬件框图如图1 所示,它由嵌入式微控制器lpc2214,电源模块,时钟系统,JTAG 调试接口,复位电路,数字温度采集部分,LCD 液晶显示器,独立键盘,电机控制模块等部分组成。
3 硬件部分详细电路设计
3.1 基于ARM 的最小系统设计
基于lpc2214 的最小系统主要由电源模块、时钟模块、JTAG 调试模块、复位配置模块构成,lpc2214 自带16K 静态SRAM 和128K FLASH,可以下载用户程序,所以不需要外扩存储器模块。
1、电源系统。控制系统使用的lpc2214 芯片,需要4 组电源输入:数字3.3V、数字1.8V,模拟3.3V、模拟1.8V。理想情况下,电源系统需要提供4 组独立的电源:两组3.3 V 电源和两组1.8V 电源,它们需要单点接地或者大面积接地。本系统中使用的A/D 功能对电流进行采样,要求不高,所以模拟电源和数字电源可以不分开供电。数字温度传感器DS1820 可以使用单线寄生电源,可以直接挂入lpc2214 的I/O 口进行温度采集,所以不需要单独供电。这样,末级只需要提供两组电源。电源的前级设计和末级设计与供给系统的电源的输入有关,前级电源使用9-15V 直流电压输入。
[!--empirenews.page--]
2、时钟系统与复位电路。系统使用外部晶振或外部时钟源,内部PLL(锁相环)电路可以调整系统时钟,使系统的运行速度更快(CPU 的最大操作时钟为60MHz)。倘若不使用片内的PLL 功能及ISP(在系统编程)功能,则外部晶振频率范围是1~30MHz,外部时钟频率的范围是1~50MHz;若使用外部PLL 功能或ISP 功能,则外部晶振频率范围是10~25MHz,外部时钟频率范围是10~25MHz。lpc2214 有两个复位源,RESET 引脚和看门狗(WDT)复位。RESET 复位属于硬件复位,看门狗复位属于软件复位。
3、JTAG 调试接口。调试与测试接口不是系统运行必需的,但现代系统越来越强调可测性,调试、测试接口的设计也越来越受到重视。
图3 是复位和JTAG 接口电路,它在复位信号和CPU 之间插入三态门74HC125。使用三态门主要是为了复位芯片和JTAG 仿真器都可复位。如果没有74HC125,当复位芯片输出高电平,JTAG 仿真器就不能把它拉低,这不但不能实现所需要的功能,还可能损坏复位芯片或JTAG 仿真器。因为这种电路JTAG 仿真器对lpc2214 有完全的控制,仿真性能最好。
3.2 温度采集与液晶接口模块
温度采集部分是本系统中的关键模块之一,负责实时采集室内、室外的温度信息,并以温度的变化作为控制电机运行的参数,系统对温度采集的基本要求是:温度采集的准确度高,抗干扰性强,容易实现长距离温度的采集以及多点采集,并且硬件实现简单。基于以上的原则,本设计选择单线总线数字温度传感器DS1820 来实现。其框图如图3 所示。
DS1820 可以程序设定9~12 位分辨率,精度为±0.5℃;数字温度传感器DS1820,和传统的模拟传感器相比,不需要进行A/D 转换,所以抗干扰性有了很大的提高;所谓一线总线的特性,即是指电源和信号复合在一起,仅使用一根口线,就可以实现温度的采集。这点更适合本系统中的长距离、多点采集的要求,且实现简单。
液晶模块是本系统的人机交互模块,负责实时显示系统运行时的各种参数,包括室内、室外温度,电机转速、参考电流等模拟量。本系统使用的是SMG240128A 点阵图形液晶模块。
SMG240128A 点阵液晶模块的点像素为240×128 点,黑色字/白色底,STN 液晶屏,视角为6:00,内嵌控制器为TOSHIBA 公司的T6963C,外部显示存储器为32KB。对于lpc2214 微控制器来说,可以采用外部存储器接口与液晶模块进行连接,LCD 内部集成了负压DC-DC 电路(LCD驱动电压),使用时只需要提供单5V 电源即可。
3.3 功率驱动电路
无刷直流电机驱动电路由驱动芯片IR2130 和三相全桥逆变电路构成。集成驱动芯片IR2130 内部自举技术形成悬浮的高压侧电源,因而只用一路电源即可驱动三相桥式逆变电路中母线电压不超过600V 的六个MOSFET,降低了电路设计复杂度,提高了系统的可靠性。
前级控制单元输出的六路脉宽调制信号经过光电隔离输入到栅极功率驱动芯片IR2130,经过驱动放大后控制六只功率MOSFET 进行开关动作,实现对电机的控制。同时,电流检测电路实时检测主回路电流,经过信号调理,一方面作为IR2130 自身过流检测单元的输入信号,另一方面作为电机电流反馈信号输入到lpc2214 的A/D 转换单元,实现电机电流的闭环控制;当电路产生过流、过压和欠压故障时,产生报警信号,反馈给前级控制电路,以切断输入到功率驱动电路的脉宽调制信号。[!--empirenews.page--]
4 伺服系统软件设计
本系统的软件设计也主要是基于ARM 芯片进行的,C 语言的可读性和可移植性都非常好,这样就能极大地缩短嵌入式软件开发的周期,对于实时性要求不是很高的场合,应用C 语言来编写ARM 程序,将是未来的主流之一。系统程序开发总体结构如图4。电机伺服调速系统软件总体结构分为初始化设定模块、转速调节模块、电流调节模块、PWM 更新模块等4大部分组成。主程序只要调用每个模块即可。
1、系统初始化。由于本系统使用C 语言进行软件系统设计,所以必须首先建立C 语言运行环境,这项任务由Startups 这个函数来完成,运行这个函数的方法是可以在程序开始调用这个函数。采用的方法是加载工程模板ARM Executable LPC2200,其中已经包含了Startup.s函数。主要包括时钟初始化、中断向量初始化、I/O 口初始化、通用定时器初始化、捕获单元初始化和A/D 转换单元初始化几部分。
2、转速调节模块。转速调节模块由转速计算、换相控制、转速PI 调节3 部分组成。电机转速的计算放在捕获中断服务子程序中进行。我们知道霍尔位置传感器的信号在电机转子旋转一周周期中有6 次换相,就是说每转过60°机械角都有一次换相,这样,只要检测两次换相的时间间隔△t,计算出两次换相期间的平均角速度。为了保证得到最大的转矩,就必须不断的对无刷电机进行换相。掌握恰到好处的换相时刻,可以减少转矩波动,因而换相的检测是十分重要的。在程序设计中,换相控制安排在换相中断服务子程序中完成。霍尔位置传感器的信号波形如图5-4 所示,每一个霍尔传感器都会产生1800 的脉宽信号,三个霍尔传感器的输出信号相差1200 相位差。这样在转子旋转一周,正好产生6 个上升、下降沿,对应了6 个换相时刻。通过将CAP0.0/CAPO.1/CAP0.2 设置成双边沿捕获就可以捕获这6 个时刻。同时,要将读入的三个捕获口的控制字,变换成对应的开关管控制字。
3、电流采样模块。电流采样是通过0.5Ω 精密无感电阻R 来实现的。电阻值的选择要考虑当过流发生是能输出的最大电压,同时起到过流检测的作用。每一个PWM 周期对电流采样一次。本系统中PWM 周期是50μs,所以电流的采样频率为20KHz。电流采样中有一个问题需要特别注意,就是电流采样时刻的选择。由于对开关管采用单极性PWM 控制,在PWM“关”期间,电流经过常开的开关管和另一个开关管的续流二极管形成续流回路,这个续流回路并不经过电流检测电阻R,因此在R 上也没有压降,所以在PWM 周期“关”器件不能电流采样。
5 直流无刷电机调速控制算法
从理论上看,无刷直流电机的感应电动势和电磁转矩的公式如下:
由以上两个公式可见,感应电动势与转子转速成正比,电磁转矩与定子电流成正比,所以我对无刷电机的调速系统采用了如图5 的控制策略。
本系统中,以高性能ARNI 芯片lpc2214 为核心,采用PWM 控制方式控制电机的转速和电流,霍耳元件检测转子位置,以功率MOSFET 场效应管作为功率变换器件,实现全数字交流温度伺服系统。
本文作者创新点
本文针对数码变温空调温度伺服系统的控制特点,提出了一种基于lpc2214 全数字温度伺服控制系统,完成了系统的总体方案设计,同时又系统的软、硬件各部分进行了详细的设计与实现。通过合理的利用ARM 的片内资源,解决了硬件系统冗余控制难题;根据伺服系统的控制要求,选用了方波无刷直流电机作为伺服系统的执行机构;根据无刷电机的控制要求,设计了基于功率MOSFET 和栅极接口驱动芯片IR2130 的驱动电路。