当前位置:文档之家› 单片机对变频器调速系统的控制设计

单片机对变频器调速系统的控制设计

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;
再定义一个按键数变量,每次按下 1 个键后自动加 1。在屏幕上显示键盘上的数, 每次显示的位置右移 1 个位置,右移的位置数由按键数变量确定;第二种方法是 定义 1 个数组,数组元素的个数为按键数,再定义一个按键数变量控制按键的次 数。屏幕上直接显示数组的元素,每按一次键,数组上的元素更新一次同时指针 右移一次。2 种方法实现的程序如下:
如图 1 所示为系统总体设计框架图,系统具有良好的人机画面,操作人员 可通过矩阵键盘输入参数,并在液晶上显示出来。设置完参数后,STC51 单片机 通过 RS232 端口与变频器实现串口通信,将控制电机的转向、转速、加速时间、 停止时间等信息传递给变频器,从而实现对变频器调速系统的控制。
3 / 19
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)
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
使用单片机控制变频器可以选择后二种方式。采用通讯口方式控制,其优点 是控制功能全面,通过相应的电平转换电路适合变频器的通讯(RS484/RS232/CAN 等),就可与变频器进行通讯,硬件简单,二者间的连线数量少连接方便。缺点 是需要了解掌握变频器的通讯协议才能进行控制编程,软件设计复杂。由于不同 品牌的变频器通讯接口和通讯协议各不相同,目前尚没有统一的标准,只能针对 一种变频器进行开发,缩小了变频器品种的选择范围,适用性受到限制。而对于 模拟量输入控制方式,则几乎在所有的变频器中都能支持,虽然能满足多数场合 的使用要求,但在功能上比较单一,而且模拟控制方式非常落后。
综上所述,本文决定采用第(3)种方式,实现单片机对变频器调速系统的控 制。而对不同的变频器,只需要开发者重新根据通信协议编程即可。
2 系统总体设计方案
矩阵键盘输入
转向、转速、加速时间 停止时间设定等信息
STC51 单片机
RS232 端口
RS232 端口 变频器
液晶 MZLH01 显示
图 1 系统总体设计框架图
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
第一种方式一般用于现场手动调节和参数设定,后二种方式多用于自动调节 和远程控制。工控领域中常用的 PLC、DCS 等控制系统都具有适用于变频器接口 条件的控制模块,可以方便的实现变频器的闭环自动控制,在大中型的控制系统 中使用较为普遍。而对于一些小型实验装置和嵌入式控制装置,处理器在控制变 频器之外,一般还需要处理键盘输入、显示屏、数据采集和其它过程控制等工作, 这种控制要求更适合采用单片机系统作为控制核心,而以 PLC 加操作面板的形式, 虽能实现功能但成本过高,不宜采用。
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
第一种: 以按下数字“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; ////输入密码的个位
5 / 19
单片机实现对变频器调速系统的控制设计
④矩阵键盘输入:所有的数据输入都为直接置数,可退格修改。 上述过程实现的流程图如下所示:
开机画面
键盘输入 1 键盘输入 2
登录界面 否
密码是否正确?

运行操作界面

是否确认完毕?

RS232 串口通信 中断程序
图 5 程序流程图
4.1 键盘直接置数、退格取消程序 键盘直接置数,有两种方法实现。第一种是只定义 1 个变量存取键盘上的数,
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 个去耦电容即可,如下所示:
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
相关主题