logo资料库

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

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
专业综合设计报告 ——单片机实现对变频器调速系统的控制设计 学号:08291057、08291033 姓名:徐国金、程驹炎 班级:电气 0802 指导教师:季晓衡
单片机实现对变频器调速系统的控制设计 2 / 19
单片机实现对变频器调速系统的控制设计 1 前言 变频调速作为交流电机调速的主要手段已经在工业领域中应用的十分广泛, 其具有的调速范围宽、稳速精度高、动态响应快、适用范围广、运行可靠等技术 性能,已逐步取代直流电机调速系统。变频器的控制方式主要有三种: (1)通过变频器面板操作,即通过操作面板改变频率的输出和其他运行参数; (2)在变频器模拟量输入端输入 0~10V 或 4~20mA 信号,通过改变输入模拟量的 大小控制变频器的输出频率; (3)通过变频器的通讯口(多为 RS485)进行控制。 第一种方式一般用于现场手动调节和参数设定,后二种方式多用于自动调节 和远程控制。工控领域中常用的 PLC、DCS 等控制系统都具有适用于变频器接口 条件的控制模块,可以方便的实现变频器的闭环自动控制,在大中型的控制系统 中使用较为普遍。而对于一些小型实验装置和嵌入式控制装置,处理器在控制变 频器之外,一般还需要处理键盘输入、显示屏、数据采集和其它过程控制等工作, 这种控制要求更适合采用单片机系统作为控制核心,而以 PLC 加操作面板的形式, 虽能实现功能但成本过高,不宜采用。 使用单片机控制变频器可以选择后二种方式。采用通讯口方式控制,其优点 是控制功能全面,通过相应的电平转换电路适合变频器的通讯(RS484/RS232/CAN 等),就可与变频器进行通讯,硬件简单,二者间的连线数量少连接方便。缺点 是需要了解掌握变频器的通讯协议才能进行控制编程,软件设计复杂。由于不同 品牌的变频器通讯接口和通讯协议各不相同,目前尚没有统一的标准,只能针对 一种变频器进行开发,缩小了变频器品种的选择范围,适用性受到限制。而对于 模拟量输入控制方式,则几乎在所有的变频器中都能支持,虽然能满足多数场合 的使用要求,但在功能上比较单一,而且模拟控制方式非常落后。 综上所述,本文决定采用第(3)种方式,实现单片机对变频器调速系统的控 制。而对不同的变频器,只需要开发者重新根据通信协议编程即可。 2 系统总体设计方案 矩阵键盘输入 转向、转速、加速时间 停止时间设定等信息 STC51 单片机 RS232 端口 RS232 端口 变频器 液晶 MZLH01 显示 图 1 系统总体设计框架图 如图 1 所示为系统总体设计框架图,系统具有良好的人机画面,操作人员 可通过矩阵键盘输入参数,并在液晶上显示出来。设置完参数后,STC51 单片机 通过 RS232 端口与变频器实现串口通信,将控制电机的转向、转速、加速时间、 停止时间等信息传递给变频器,从而实现对变频器调速系统的控制。 3 / 19
单片机实现对变频器调速系统的控制设计 3 硬件设计 1-3.3v 2 1 PIN2 U1 VIN VOUT GND AMS1117 3 2 1 VCC 2-5V 2 1 PIN2 TXD1 2 1 PIN2 +5V PIN-1 12 + EC2 10UF + EC3 10UF TXD VCC RXD1 2 1 PIN2 RXD USB GND-1 2 1 PIN2 C C V D N 2 3 G 1 4 +5V 1 2 3 SWITCH1 6脚开关 6 5 4 CAN1 2 1 PIN2 CANH CANL SWITCH2 VCC 1 2 RST VCC EC1 + 10uF/16V RST R2 10k 22pF C3 C4 22pF P1 1 2 3 4 5 6 7 8 PIN8 XTAL1 CYSTAL2 11.0592MHz XTAL2 RXD TXD INT0 INT1 T0 T1 WR RD P2 1 2 3 4 5 6 7 8 PIN8 RST P10 P11 P12 P13 P14 P15 P16 P17 1 2 3 4 5 6 7 8 9 RXD 10 11 TXD INT0 12 INT1 13 T0 14 T1 15 16 WR 17 RD XTAL1 18 19 XTAL2 20 U2 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) 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 P2.7(A15) P2.6(A14) P2.5(A13) P2.4(A12) P2.3(A11) P2.2(A10) P2.1(A9) P2.0(A8) 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P00 P01 P02 P03 P04 P05 P06 P07 ALE P27 P26 P25 P24 P23 P22 P21 P20 P10 P11 P12 P13 P14 P15 P16 P17 P3 1 2 3 4 5 6 7 8 PIN8 P00 P01 P02 P03 P04 P05 P06 P07 P4 1 2 3 4 5 6 7 8 PIN8 P20 P21 P22 P23 P24 P25 P26 P27 KEY1 C an C C C C an C C C C an C C C C an C C C 0 . 1 . 2 . 3 . 4 . 5 . 6 . 7 . P P P P P P P P 1 2 3 4 5 6 7 8 0 2 P 1 2 P 2 2 P 3 2 P 4 2 P 5 2 P 6 2 P 7 2 P VCC EC6 + 10uF/16V + 10uF/16V EC7 VCC 1 3 4 5 13 14 U1 C1+ C1- C2+ C2- RXIN TXOT MAX232 VCC V+ V- GND TXIN RXOT VCC EC5 + + 10uF/16V TXD RXD EC4 16 2 6 15 11 12 10uF/16V 12345 6789 J1 0 1 1 1 LCD1 MzLH01 3.3v SS SDA NC SCK RST BS NC NC GND A K VCC P10 P11 P12 P13 P14 1 2 3 4 5 6 7 8 9 10 11 12 GND 如上图所示为 STC51 单片机控制系统原理图,硬件电路设计具体有以下几个 图 2 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 个去耦电容即可,如下所示: 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)。 4 软件设计 为了达到良好的人机互动效果,本系统在达到通过 RS232 串口通信控制变频 器调速系统的基础上,加强了美化液晶显示与优化按键输入的程序设计,具体表 现为: ①开机画面为“北京交通大学 LOGO”,动态显示; ②登录界面:需要输入 3 位系统内置密码,输入错误,系统会提示“警告! 密码错误”信息;输入正确,系统为提示“恭喜!欢迎使用”信息。只有输入正 确才能进入运行操作界面; ③运行操作界面: 分为 4 个菜单:转向、转速、加速时间、停止时间。按键 C/D 分别表示上下 选择菜单,选到某个菜单时,该菜单名背景颜色加深,以示区别。当选择到“转 向”菜单时,按键 1 表示正转,按键 2 表示反转;在“转速、加速时间、停止时 间”4 个菜单选项中,需要输入数据,当输入的数据超过变频器能够处理的值时, 比如,转速超过同步转速 1500r/min,系统会弹出“输入有误”的信息,这时可 以按下“E 键”取消,可以撤消刚才输入的数值,重新按下新的值。当全部的选 项设定完毕后,再按下“F 键”确认,这时系统会执行 RS232 串口通信中断程序, 将设定的参数值,以符合变频器 RS232 通信协议的帧格式发送出去,变频器收到 后,便可执行单片机的指令。 5 / 19
单片机实现对变频器调速系统的控制设计 键盘输入 1 登录界面 开机画面 ④矩阵键盘输入:所有的数据输入都为直接置数,可退格修改。 上述过程实现的流程图如下所示: 否 是 密码是否正确? 键盘输入 2 运行操作界面 否 是否确认完毕? 是 RS232 串口通信 中断程序 图 5 程序流程图 4.1 键盘直接置数、退格取消程序 键盘直接置数,有两种方法实现。第一种是只定义 1 个变量存取键盘上的数, 再定义一个按键数变量,每次按下 1 个键后自动加 1。在屏幕上显示键盘上的数, 每次显示的位置右移 1 个位置,右移的位置数由按键数变量确定;第二种方法是 定义 1 个数组,数组元素的个数为按键数,再定义一个按键数变量控制按键的次 数。屏幕上直接显示数组的元素,每按一次键,数组上的元素更新一次同时指针 右移一次。2 种方法实现的程序如下: //9 键 第一种: 以按下数字“9”为例, case 8: 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; ////输入密码的个位 6 / 19
单片机实现对变频器调速系统的控制设计 break; default: break; } mima+=9*j;////////把键值*权赋给输入密码 break; 第二种: 显示转速数组上内容: for(j=0;j
单片机实现对变频器调速系统的控制设计 break; case 4:t3--;if(t3<0)t3=0; break; default: break; } break; 4.2 RS232 通信程序 首先定义一个数组用来存取需要发送给变频器的信息,数组名为 tibuf[5], 分别存取的信息为转向、转速高 8 位、转速低 8 位、加速时间、停止时间。由于 没有确切的变频器通信协议,具体的数组元素可以视发送祯的内容更改。基本设 置情况如下: 采用中断法串口通信,初始化程序如下: void UART_init() { PCON=0x80;//SMOD=1 TMOD=0x20;//T1 工作于方式 2 TL1=0xfd;//波特率为 9600 TH1=0xfd;//给 TH1 送重装初值 TR1 =1; //启动定时器 T1 SM0=0; SM1=1;//01 串行口工作方式 1,波特率由 T1 决定 REN=1;//允许接收位。REN 置 1 时允许接收数据,REN 由指令置位或者复 位。 EA=1;//开 CPU 中断 ES=1;//允许串口中断 } 选择工作方式 2 发送数据,给定时器 T1 赋值 0XFD,波特率为 9600,允许接 收。 发送子函数为:将数组的元素一位一位发送出去。 void COM_send(void) { for(j=0;j< 5;j++) { SBUF=tibuf[j]; while(!TI) ;//测试 delay(100);Show_Short(98,26,tibuf[j]) TI=0; } } 中断服务函数为:根据具体变频器发送回的数据祯进行处理 void com_interrupt(void) interrupt 4 using 3 { 8 / 19
分享到:
收藏