单片机对变频器调速系统的控制设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用单片机控制变频器可以选择后二种方式。采用通讯口方式控制,其优点 是控制功能全面,通过相应的电平转换电路适合变频器的通讯(RS484/RS232/CAN 等),就可与变频器进行通讯,硬件简单,二者间的连线数量少连接方便。缺点 是需要了解掌握变频器的通讯协议才能进行控制编程,软件设计复杂。由于不同 品牌的变频器通讯接口和通讯协议各不相同,目前尚没有统一的标准,只能针对 一种变频器进行开发,缩小了变频器品种的选择范围,适用性受到限制。而对于 模拟量输入控制方式,则几乎在所有的变频器中都能支持,虽然能满足多数场合 的使用要求,但在功能上比较单一,而且模拟控制方式非常落后。
3 硬件设计
单片机实现对变频器调速系统的控制设计
1-3.3v
2 1
PIN2
U1
VIN VOUT
GND
3 2 1
AMS1117
2-5V
VCC
2
1
PIN2
+5V PIN-1
TXD1
2 1
PIN2
TXD
VCC
+ EC2
+ EC3
10UF
10UF
RXD1
2 1
RXD
PIN2
USB
+5V
GND-1
2 1
PIN2
5
9
EC6
U1
1 C1+
+
10uF/16V 3 4
C1C2+
+
10uF/16V 5 EC7
13
14
C2-
RXIN TXOT
MAX232
4
8
3
7
2
VCC
V+ V-
GND
TXIN RXOT
+
VCC 16
EC5 2 6
15 10uF/16V
11 TXD EC4 12 RXD
1
6
J1
10uF/16V
11
10
P20 1 P21 2 P22 3 P23 4 P24 5 P25 6 P26 7 P27 8
P.0 P.1 P.2 P.3 P.4 P.5 P.6 P.7
KEY1
CCCC an an an an CCCC
CCCC
CCCC
LCD1
MzLH01 VCC
3.3v SS
SDA NC SCK RST BS NC NC GND
P2.7(A15) P2.6(A14) P2.5(A13) P2.4(A12) P2.3(A11) P2.2(A10) P2.1(A9) P2.0(A8)
VCC 40 39 P00 38 P01 37 P02 36 P03 35 P04 34 P05 33 P06 32 P07 VCC 31 30 ALE 29 28 P27 27 P26 26 P25 25 P24 24 P23 23 P22 22 P21 21 P20
A K
1 2 P10 3 P11 4 5 P12 6 P13 7 P14 8 9 10 11 12
GND
图 2 STC51 单片机控制系统原理图
如上图所示为 STC51 单片机控制系统原理图,硬件电路设计具体有以下几个 模块:
(1)供电电路 STC51 单片机供电电压分为 5v 型和 3.3v 型,3.3v 型属于低功耗芯片,是未 来 MCU 发展的趋势,本系统选择 3.3v 供电的 STC5160S2 芯片,采用同样的晶掁, 它的处理速度是 AT89C51 的 12 倍,1 个机器周期执行 1 条指令。另外,液晶采 用铭正同创公司的 MZLH01,它可显示的点阵为 128*64 像素,自带字库,省去了 编程编码字模的麻烦。MZLH01 的供电电压为 3.3v,系统如果采用 5v 供电,需要 一个 5v 转 3.3v 的供电电路。AMS1117 系列稳压电源,可以提供固定的 3.3v 电 压,输出电流最大达 1A,最大电流下压差小于 1v,是比较理想的供电芯片。它 的外围电路很简单,只需要加 2 个去耦电容即可,如下所示:
如图 1 所示为系统总体设计框架图,系统具有良好的人机画面,操作人员 可通过矩阵键盘输入参数,并在液晶上显示出来。设置完参数后,STC51 单片机 通过 RS232 端口与变频器实现串口通信,将控制电机的转向、转速、加速时间、 停止时间等信息传递给变频器,从而实现对变频器调速系统的控制。
3 / 19
P1
P2
P3
1 2 3 4 5 6 7 8
RXD TXD INT0 INT1 T0 T1 WR RD
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
1 2 3 4 5 6 7 8
P00 P01 P02 P03 P04 P05 P06 P07
PIN8
PIN8
4 / 19
单片机实现对变频器调速系统的控制设计
图 3 AMS1117 固定输出电压连接图
(2)RS232 通信电路
图 4 RS232 接口图
MAX232 芯片是美信公司专门为电脑的 RS232 标准口设计的单电源电平转换 芯片,使用+5v 单电源供电。MAX232 的 1、2、3、4、5、6 脚和 4 只电容构成电 荷泵电路,功能是产生+12v 和-12v 两个电源,提供给 RS232 串口电平的需要; MAX232 的第二部分是数据转换通道,由 7、8、9、10、11、12、13、14 脚构成 两个数据通道,其中 13、12、11、14 为第一数据通道,8、9、10、7 脚为第二 数据通道,TTL/COMOS 数据从 T1IN、T2IN 输入转换成 RS232 数据从 T1OUT、T2OUT 送到 DB9 插头,DB9 插头的 RS232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据 后从 R1OUT、R2OUT 输出;第三部分为供电管脚,15 脚 GND、16 脚 VCC(+15v)。
综上所述,本文决定采用第(3)种方式,实现单片机对变频器调速系统的控 制。而对不同的变频器,只需要开发者重新根据通信协议编程即可。
2 系统总体设计方案
矩阵键盘输入
转向、转速、加速时间 停止时间设定等信息
STC51 单片机
RS232 端口
RS232 端口 变频器
液晶 MZLH01 显示
图 1 系统总体设计框架图
再定义一个按键数变量,每次按下 1 个键后自动加 1。在屏幕上显示键盘上的数, 每次显示的位置右移 1 个位置,右移的位置数由按键数变量确定;第二种方法是 定义 1 个数组,数组元素的个数为按键数,再定义一个按键数变量控制按键的次 数。屏幕上直接显示数组的元素,每按一次键,数组上的元素更新一次同时指针 右移一次。2 种方法实现的程序如下:
5 / 19
单片机实现对变频器调速系统的控制设计
④矩阵键盘输入:所有的数据输入都为直接置数,可退格修改。 上述过程实现的流程图如下所示:
开机画面
键盘输入 1 键盘输入 2
登录界面 否
密码是否正确?
是
运行操作界面
否
是否确认完毕?
是
RS232 串口通信 中断程序
图 5 程序流程图
4.1 键盘直接置数、退格取消程序 键盘直接置数,有两种方法实现。第一种是只定义 1 个变量存取键盘上的数,
PIN8
P4
பைடு நூலகம்
1 2 3 4 5 6 7 8
P20 P21 P22 P23 P24 P25 P26 P27
PIN8
Vcc P0. 0(AD0) P0. 1(AD1) P0. 2(AD2) P0. 3(AD3) P0. 4(AD4) P0. 5(AD5) P0. 6(AD6) P0. 7(AD7)
EA/Vpp ALE PSEN
6 / 19
单片机实现对变频器调速系统的控制设计
break; default: break; } mima+=9*j;////////把键值*权赋给输入密码 break; 第二种: 显示转速数组上内容: for(j=0;j<num1;j++) { Show_Short(36+j*6,26,zs[j],1);/////显示转速数组上内容 } PutString(68,26,"n/min"); 更新数组内容,指针右移:以按下数“3”为例,见程序中注释部分解释 case 2://3 键 delay(700); switch(selectflag)//selectflag 菜单选择标志变量 { case 2: //////////转速菜单设置 if(t1<=num1)//////num1 限制输入数据个数 zs[t1++]=3;///////t1 加 1,指针右移 break; case 3: //////////加速时间菜单设置 if(t2<=num2) /////num2 限制输入数据个数 time1[t2++]=3; ///////t2 加 1,指针右移 break; case 4: //////////停止时间菜单设置 if(t3<=num2) /////num2 限制输入数据个数 time2[t3++]=3; ///////t3 加 1,指针右移 break; default: break; } 退格取消的程序十分简单,只需要把标志键数的变量-1 即可,如第二种方法 中的 t1、t2、t3,取消键程序如下所示: case 14: //E 键 delay(700); PutString_cn(114,39,"取"); PutString_cn(114,52,"消"); switch(selectflag) { case 2:t1--;if(t1<0)t1=0; break; case 3:t2--;if(t2<0)t2=0;
4 软件设计
为了达到良好的人机互动效果,本系统在达到通过 RS232 串口通信控制变频 器调速系统的基础上,加强了美化液晶显示与优化按键输入的程序设计,具体表 现为:
①开机画面为“北京交通大学 LOGO”,动态显示; ②登录界面:需要输入 3 位系统内置密码,输入错误,系统会提示“警告! 密码错误”信息;输入正确,系统为提示“恭喜!欢迎使用”信息。只有输入正 确才能进入运行操作界面; ③运行操作界面: 分为 4 个菜单:转向、转速、加速时间、停止时间。按键 C/D 分别表示上下 选择菜单,选到某个菜单时,该菜单名背景颜色加深,以示区别。当选择到“转 向”菜单时,按键 1 表示正转,按键 2 表示反转;在“转速、加速时间、停止时 间”4 个菜单选项中,需要输入数据,当输入的数据超过变频器能够处理的值时, 比如,转速超过同步转速 1500r/min,系统会弹出“输入有误”的信息,这时可 以按下“E 键”取消,可以撤消刚才输入的数值,重新按下新的值。当全部的选 项设定完毕后,再按下“F 键”确认,这时系统会执行 RS232 串口通信中断程序, 将设定的参数值,以符合变频器 RS232 通信协议的帧格式发送出去,变频器收到 后,便可执行单片机的指令。
20
P1. 0 P1. 1 P1. 2 P1. 3 P1. 4 P1. 5 P1. 6 P1. 7 RST/Vpd RXD/P3.0 TXD/P3.0 INTO/ P3. 2 INT1/ P3. 3 T0/P3.4 T1/P3.5 WR/P3.6 RD/p3.7 XTAL2 XTAL1 GND
单片机(DIP40)
第一种方式一般用于现场手动调节和参数设定,后二种方式多用于自动调节 和远程控制。工控领域中常用的 PLC、DCS 等控制系统都具有适用于变频器接口 条件的控制模块,可以方便的实现变频器的闭环自动控制,在大中型的控制系统 中使用较为普遍。而对于一些小型实验装置和嵌入式控制装置,处理器在控制变 频器之外,一般还需要处理键盘输入、显示屏、数据采集和其它过程控制等工作, 这种控制要求更适合采用单片机系统作为控制核心,而以 PLC 加操作面板的形式, 虽能实现功能但成本过高,不宜采用。
SWITCH1
1
6
2
5
3
4
6脚开关
CAN1
2 1
PIN2
CANH CANL
1 2 1 VCC 2 3 4 GND
+
SWITCH2
VCC 1
2
RST
+
VCCEC1 RST
10uF/16V
R2 10k
22pF C3
XTAL1
CYSTAL2 C4 11.0592MHz
XTAL2
22pF
U2
P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RST 9 RXD10 TXD11 INT102 INT13 T0 14 T1 15 WR16 RD 17 XTAL1 18 XTAL2 19
专业综合设计报告 ——单片机实现对变频器调速系统的控制设计
学号:08291057、08291033 姓名:徐国金、程驹炎 班级:电气 0802 指导教师:季晓衡
单片机实现对变频器调速系统的控制设计 2 / 19
单片机实现对变频器调速系统的控制设计
1 前言
变频调速作为交流电机调速的主要手段已经在工业领域中应用的十分广泛, 其具有的调速范围宽、稳速精度高、动态响应快、适用范围广、运行可靠等技术 性能,已逐步取代直流电机调速系统。变频器的控制方式主要有三种: (1)通过变频器面板操作,即通过操作面板改变频率的输出和其他运行参数; (2)在变频器模拟量输入端输入 0~10V 或 4~20mA 信号,通过改变输入模拟量的 大小控制变频器的输出频率; (3)通过变频器的通讯口(多为 RS485)进行控制。
第一种: 以按下数字“9”为例, case 8: //9 键 delay(700); PutChar(34+mmjs*6,13,'9');///显示数字“9” mmjs++;///////mmjs 为按键数变量,按下后加 1 switch(mmjs)//////////对按键次数进行判断 { case 1:j=100;////输入密码的最高位,百位 break; case 2:j=10; ////输入密码的十位 break; case 3:j=1; ////输入密码的个位
3 硬件设计
单片机实现对变频器调速系统的控制设计
1-3.3v
2 1
PIN2
U1
VIN VOUT
GND
3 2 1
AMS1117
2-5V
VCC
2
1
PIN2
+5V PIN-1
TXD1
2 1
PIN2
TXD
VCC
+ EC2
+ EC3
10UF
10UF
RXD1
2 1
RXD
PIN2
USB
+5V
GND-1
2 1
PIN2
5
9
EC6
U1
1 C1+
+
10uF/16V 3 4
C1C2+
+
10uF/16V 5 EC7
13
14
C2-
RXIN TXOT
MAX232
4
8
3
7
2
VCC
V+ V-
GND
TXIN RXOT
+
VCC 16
EC5 2 6
15 10uF/16V
11 TXD EC4 12 RXD
1
6
J1
10uF/16V
11
10
P20 1 P21 2 P22 3 P23 4 P24 5 P25 6 P26 7 P27 8
P.0 P.1 P.2 P.3 P.4 P.5 P.6 P.7
KEY1
CCCC an an an an CCCC
CCCC
CCCC
LCD1
MzLH01 VCC
3.3v SS
SDA NC SCK RST BS NC NC GND
P2.7(A15) P2.6(A14) P2.5(A13) P2.4(A12) P2.3(A11) P2.2(A10) P2.1(A9) P2.0(A8)
VCC 40 39 P00 38 P01 37 P02 36 P03 35 P04 34 P05 33 P06 32 P07 VCC 31 30 ALE 29 28 P27 27 P26 26 P25 25 P24 24 P23 23 P22 22 P21 21 P20
A K
1 2 P10 3 P11 4 5 P12 6 P13 7 P14 8 9 10 11 12
GND
图 2 STC51 单片机控制系统原理图
如上图所示为 STC51 单片机控制系统原理图,硬件电路设计具体有以下几个 模块:
(1)供电电路 STC51 单片机供电电压分为 5v 型和 3.3v 型,3.3v 型属于低功耗芯片,是未 来 MCU 发展的趋势,本系统选择 3.3v 供电的 STC5160S2 芯片,采用同样的晶掁, 它的处理速度是 AT89C51 的 12 倍,1 个机器周期执行 1 条指令。另外,液晶采 用铭正同创公司的 MZLH01,它可显示的点阵为 128*64 像素,自带字库,省去了 编程编码字模的麻烦。MZLH01 的供电电压为 3.3v,系统如果采用 5v 供电,需要 一个 5v 转 3.3v 的供电电路。AMS1117 系列稳压电源,可以提供固定的 3.3v 电 压,输出电流最大达 1A,最大电流下压差小于 1v,是比较理想的供电芯片。它 的外围电路很简单,只需要加 2 个去耦电容即可,如下所示:
如图 1 所示为系统总体设计框架图,系统具有良好的人机画面,操作人员 可通过矩阵键盘输入参数,并在液晶上显示出来。设置完参数后,STC51 单片机 通过 RS232 端口与变频器实现串口通信,将控制电机的转向、转速、加速时间、 停止时间等信息传递给变频器,从而实现对变频器调速系统的控制。
3 / 19
P1
P2
P3
1 2 3 4 5 6 7 8
RXD TXD INT0 INT1 T0 T1 WR RD
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
1 2 3 4 5 6 7 8
P00 P01 P02 P03 P04 P05 P06 P07
PIN8
PIN8
4 / 19
单片机实现对变频器调速系统的控制设计
图 3 AMS1117 固定输出电压连接图
(2)RS232 通信电路
图 4 RS232 接口图
MAX232 芯片是美信公司专门为电脑的 RS232 标准口设计的单电源电平转换 芯片,使用+5v 单电源供电。MAX232 的 1、2、3、4、5、6 脚和 4 只电容构成电 荷泵电路,功能是产生+12v 和-12v 两个电源,提供给 RS232 串口电平的需要; MAX232 的第二部分是数据转换通道,由 7、8、9、10、11、12、13、14 脚构成 两个数据通道,其中 13、12、11、14 为第一数据通道,8、9、10、7 脚为第二 数据通道,TTL/COMOS 数据从 T1IN、T2IN 输入转换成 RS232 数据从 T1OUT、T2OUT 送到 DB9 插头,DB9 插头的 RS232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据 后从 R1OUT、R2OUT 输出;第三部分为供电管脚,15 脚 GND、16 脚 VCC(+15v)。
综上所述,本文决定采用第(3)种方式,实现单片机对变频器调速系统的控 制。而对不同的变频器,只需要开发者重新根据通信协议编程即可。
2 系统总体设计方案
矩阵键盘输入
转向、转速、加速时间 停止时间设定等信息
STC51 单片机
RS232 端口
RS232 端口 变频器
液晶 MZLH01 显示
图 1 系统总体设计框架图
再定义一个按键数变量,每次按下 1 个键后自动加 1。在屏幕上显示键盘上的数, 每次显示的位置右移 1 个位置,右移的位置数由按键数变量确定;第二种方法是 定义 1 个数组,数组元素的个数为按键数,再定义一个按键数变量控制按键的次 数。屏幕上直接显示数组的元素,每按一次键,数组上的元素更新一次同时指针 右移一次。2 种方法实现的程序如下:
5 / 19
单片机实现对变频器调速系统的控制设计
④矩阵键盘输入:所有的数据输入都为直接置数,可退格修改。 上述过程实现的流程图如下所示:
开机画面
键盘输入 1 键盘输入 2
登录界面 否
密码是否正确?
是
运行操作界面
否
是否确认完毕?
是
RS232 串口通信 中断程序
图 5 程序流程图
4.1 键盘直接置数、退格取消程序 键盘直接置数,有两种方法实现。第一种是只定义 1 个变量存取键盘上的数,
PIN8
P4
பைடு நூலகம்
1 2 3 4 5 6 7 8
P20 P21 P22 P23 P24 P25 P26 P27
PIN8
Vcc P0. 0(AD0) P0. 1(AD1) P0. 2(AD2) P0. 3(AD3) P0. 4(AD4) P0. 5(AD5) P0. 6(AD6) P0. 7(AD7)
EA/Vpp ALE PSEN
6 / 19
单片机实现对变频器调速系统的控制设计
break; default: break; } mima+=9*j;////////把键值*权赋给输入密码 break; 第二种: 显示转速数组上内容: for(j=0;j<num1;j++) { Show_Short(36+j*6,26,zs[j],1);/////显示转速数组上内容 } PutString(68,26,"n/min"); 更新数组内容,指针右移:以按下数“3”为例,见程序中注释部分解释 case 2://3 键 delay(700); switch(selectflag)//selectflag 菜单选择标志变量 { case 2: //////////转速菜单设置 if(t1<=num1)//////num1 限制输入数据个数 zs[t1++]=3;///////t1 加 1,指针右移 break; case 3: //////////加速时间菜单设置 if(t2<=num2) /////num2 限制输入数据个数 time1[t2++]=3; ///////t2 加 1,指针右移 break; case 4: //////////停止时间菜单设置 if(t3<=num2) /////num2 限制输入数据个数 time2[t3++]=3; ///////t3 加 1,指针右移 break; default: break; } 退格取消的程序十分简单,只需要把标志键数的变量-1 即可,如第二种方法 中的 t1、t2、t3,取消键程序如下所示: case 14: //E 键 delay(700); PutString_cn(114,39,"取"); PutString_cn(114,52,"消"); switch(selectflag) { case 2:t1--;if(t1<0)t1=0; break; case 3:t2--;if(t2<0)t2=0;
4 软件设计
为了达到良好的人机互动效果,本系统在达到通过 RS232 串口通信控制变频 器调速系统的基础上,加强了美化液晶显示与优化按键输入的程序设计,具体表 现为:
①开机画面为“北京交通大学 LOGO”,动态显示; ②登录界面:需要输入 3 位系统内置密码,输入错误,系统会提示“警告! 密码错误”信息;输入正确,系统为提示“恭喜!欢迎使用”信息。只有输入正 确才能进入运行操作界面; ③运行操作界面: 分为 4 个菜单:转向、转速、加速时间、停止时间。按键 C/D 分别表示上下 选择菜单,选到某个菜单时,该菜单名背景颜色加深,以示区别。当选择到“转 向”菜单时,按键 1 表示正转,按键 2 表示反转;在“转速、加速时间、停止时 间”4 个菜单选项中,需要输入数据,当输入的数据超过变频器能够处理的值时, 比如,转速超过同步转速 1500r/min,系统会弹出“输入有误”的信息,这时可 以按下“E 键”取消,可以撤消刚才输入的数值,重新按下新的值。当全部的选 项设定完毕后,再按下“F 键”确认,这时系统会执行 RS232 串口通信中断程序, 将设定的参数值,以符合变频器 RS232 通信协议的帧格式发送出去,变频器收到 后,便可执行单片机的指令。
20
P1. 0 P1. 1 P1. 2 P1. 3 P1. 4 P1. 5 P1. 6 P1. 7 RST/Vpd RXD/P3.0 TXD/P3.0 INTO/ P3. 2 INT1/ P3. 3 T0/P3.4 T1/P3.5 WR/P3.6 RD/p3.7 XTAL2 XTAL1 GND
单片机(DIP40)
第一种方式一般用于现场手动调节和参数设定,后二种方式多用于自动调节 和远程控制。工控领域中常用的 PLC、DCS 等控制系统都具有适用于变频器接口 条件的控制模块,可以方便的实现变频器的闭环自动控制,在大中型的控制系统 中使用较为普遍。而对于一些小型实验装置和嵌入式控制装置,处理器在控制变 频器之外,一般还需要处理键盘输入、显示屏、数据采集和其它过程控制等工作, 这种控制要求更适合采用单片机系统作为控制核心,而以 PLC 加操作面板的形式, 虽能实现功能但成本过高,不宜采用。
SWITCH1
1
6
2
5
3
4
6脚开关
CAN1
2 1
PIN2
CANH CANL
1 2 1 VCC 2 3 4 GND
+
SWITCH2
VCC 1
2
RST
+
VCCEC1 RST
10uF/16V
R2 10k
22pF C3
XTAL1
CYSTAL2 C4 11.0592MHz
XTAL2
22pF
U2
P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RST 9 RXD10 TXD11 INT102 INT13 T0 14 T1 15 WR16 RD 17 XTAL1 18 XTAL2 19
专业综合设计报告 ——单片机实现对变频器调速系统的控制设计
学号:08291057、08291033 姓名:徐国金、程驹炎 班级:电气 0802 指导教师:季晓衡
单片机实现对变频器调速系统的控制设计 2 / 19
单片机实现对变频器调速系统的控制设计
1 前言
变频调速作为交流电机调速的主要手段已经在工业领域中应用的十分广泛, 其具有的调速范围宽、稳速精度高、动态响应快、适用范围广、运行可靠等技术 性能,已逐步取代直流电机调速系统。变频器的控制方式主要有三种: (1)通过变频器面板操作,即通过操作面板改变频率的输出和其他运行参数; (2)在变频器模拟量输入端输入 0~10V 或 4~20mA 信号,通过改变输入模拟量的 大小控制变频器的输出频率; (3)通过变频器的通讯口(多为 RS485)进行控制。
第一种: 以按下数字“9”为例, case 8: //9 键 delay(700); PutChar(34+mmjs*6,13,'9');///显示数字“9” mmjs++;///////mmjs 为按键数变量,按下后加 1 switch(mmjs)//////////对按键次数进行判断 { case 1:j=100;////输入密码的最高位,百位 break; case 2:j=10; ////输入密码的十位 break; case 3:j=1; ////输入密码的个位