自动剥线机控制面板设计
2009-03-02梁俊英黄秉鍊罗晓曙陈赤刘建廖志贤陈冬连
梁俊英 黄秉鍊 罗晓曙 陈 赤 刘 建 廖志贤 陈冬连
摘 要:操作简单,界面友好的控制面板,使人们操作设备的工作变得容易、方便。应用单片机技术,结合优化编程技术知识,分析讨论ATmega32单片机与矩阵按键电路、SSC2AC40液晶屏、PLC通信的硬件接口电路和软件编程方法以及相应的关键技术细节,完成控制面板设计与制作。测试证明,该控制面板在样机使用中运行良好已取得了明显的应用成效,可应用于工业设备操作平台、工业显示系统和数字式仪表等领域。
关键词:控制面板;ATmega32;SSC2AC40;PLC
中图分类号:TP336 文献标识码:B 文章编号:1004-373X(2009)04-062-03
Design of Automatic Wire-stripping Control Panel
LIANG Junying,HUANG Binglian,LUO Xiaoshu,CHEN Chi,LIU Jian,LIAO Zhixian,CHEN Donglian
(College of Physics and Electronic Engineering,Guangxi Normal University,Guilin,541004,China)
Abstract:Simple operation and friendly interface control panel usually makes people handle the equipment work easier and more convenient.The paper uses the technology of single chip computer and optimized programming,the PLC communications hardware interface circuits and the method of interface software programming as well as the corresponding technical details of the matrix button and ATmega32 circuit are analysed and discussed,and control panel design and production are completed.Testing shows that the control panel is well-functioning in the prototype,and has made obvious effectiveness in application.It can be used in industrial equipment,operating platforms,industrial display systems and digital instrumentation,and other fields.
Keywords:control panel;ATmega32;SSC2AC40;PLC
自动裁线剥皮扭线机以可编程控制器PLC为控制系统,其控制面板主要由矩阵键盘、ATmega32单片机、SSC2AC40液晶屏等组成。控制面板实现对设备相关规格数据设定,使设备按照人工干预信息完成工作任务,显示模块显示相关信息,实现人机交互。单片机以其低成本、使用灵活、高性能的特点广泛应用于工业设备,而液晶显示屏更以其显示直观、便于操作的特点被应用于显示前端。
1 控制面板硬件电路设计
图1为控制面板硬件电路图。单片机ATmega32识别每个键动作,将矩阵按键的每个键动作编成码(0x01~0x90),并将编码信息输给PLC。由于编码信息为0 V,5 V,而PLC能识别的电平信号为0 V,24 V,所以用OC门7407芯片将编码信息(0 V,5 V)转换为PLC能识别的信号(0 V,24 V),PLC读取编码信息,执行剥皮、扭线、裁线等相关动作,并将自动裁线剥皮扭线机工作状态信息(0000~1111,每个编码对应一种工作状态信息)上传到ATmega32。根据PLC输出口内部电路结构的特点如图2所示[1],PLC输出口是集电极开路电路,必须外接上拉电阻才能有高电平输出,否则 ATmega32无法检测到PLC输出口信息(高、低电平)的变化情况。SSC2AC40液晶在ATmega32控制下显示编码控制电路上的人工干预信息、错误提示信息、自动裁线剥皮扭线机工作状态信息等,完成人机交互工作。
1.1 ATmega32单片机
ATmega32是基于增强型AVR RISC结构的低功耗8位CMOS微控制器,以Atmel公司的高密度非易失性存储器技术生成,支持片内调试与编程,内核具有丰富的指令集和32个通用工作寄存器。所有寄存器都直接与运算逻辑单元(ALU)相连接,1条指令可以在1个时钟周期内同时访问2个独立的寄存器,因此大大提高了指令操作码效率,其数据吞吐率大约是普通CISC微控制器的10倍。8位RISC CPU与系统内可编程的FLASH集成在1个芯片内,使得ATmega32成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案[3]。
作为通用数字I/O 使用时,所有AVR I/O 端口都具有真正的读-修改-写功能。每个端口都有3个I/O存储器地址(数据寄存器PORTx、 数据方向寄存器DDRx 和端口输入引脚PINx)[4]。PA口定义为输出,DDRA=0xff,将指令信息、错误提示信息、自动裁线剥皮扭线机工作状态信息等输送到SSC2AC40液晶显示屏数据口DB0~DB7,PB口定义为输入,DDRB=0x00,读取矩阵键盘动态信息。 PC口高3位设为输出,分别接SSC2AC40液晶显示屏的RS,R/W,E,输出正确的时序,使液晶屏有效显示相关信息。
#define Lcdssc2a40_RS OC5
#define Lcdssc2a40_RW OC6
#define Lcdssc2a40_E OC7
#define Lcdssc2a40_RS_R RC5
#define Lcdssc2a40_RW_R RC6
#define Lcdssc2a40_E_R RC7
Lcdssc2a40_RS_R=1;/*PC5设为输出*/
Lcdssc2a40_RW_R=1;/*PC6设为输出*/
Lcdssc2a40_E_R=1;/*PC7设为输出*/
PD口的PD0~PD2设为输入,DDRD=DDRD&0x07,接收PLC上传的自动裁线剥皮扭线机工作状态信息等。PD口的PD3~PD6设为输出,DDRD=DDRD&0x78,将矩阵键盘编码信息发送给PLC。
掉电后有关数据信息保存在ATmega32内部的1 024 B E2PROM,下次再工作时,无需再另行输入,直接调出原来的数据即可,大大节省调机时间。ATmega32内部的1 024 B E2PROM数据存储器是一个独立的数据空间,可以按字节读写,访问由地址寄存器、数据寄存器和控制寄存器决定,至少能擦除100 000次[4]。
avr-libc 对E2PROM 存储器读写API 定义在eeprom.h中[5],包含形式如下:
#include
例如要保存前端剥皮设定好的参数q1:
eeprom_busy_wait();/*等待E2PROM 读写就绪*/
eeprom_write_byte(0,q1);/*将q1写入到E2PORM 0地址处*/
开机后,读出关机前前端设定好的“剥皮”参数q1:
eeprom_busy_wait();
q1=eeprom_read_byte(0);/*从E2PROM 0 地址处读取1个字节赋给RAM 变量q1*/
这样就可以实现掉电后设定好的相关参数得以保存,开机后显示关机前设定的参数。
1.2 SSC2AC40液晶显示器
SSC2AC40是40×2字符点阵式液晶显示器,逻辑工作电压4.5~5.5 V,驱动电压3.0~5.0 V,工作电流(背光除外)2.5 mA,常温下工作温度0~50 ℃/宽温下工作温度-20~+70 ℃,典型的16脚接口、带有LED边光/底光,温度范围较广,属宽温型,具有工作电压低,微功耗,显示信息量大和接口方便应用等优点。现在已被广泛应用于工业控制面板显示和数字式仪表等领域,成为测试结果显示和人机交互的重要工具[11]。
SSC2AC40数据口DB0~DB7接ATmega32的PA口,并行接收ATmega32发送的相关数据信息,RS,R/W,E分别接ATmega32的PC5~PC7,得到正确的时序,实时显示有效信息,实现人机交互。
2 软件设计
图3为控制面板程序流程图。开机后显示上一次关机前的信息,ATmega32读取矩阵键盘,判断键动作信息,执行相关参数设定;设定无误,按开始键,剥线机执行进行剥皮、扭线、裁线等工作;工作过程中PLC将信息上传给ATmega32 ,通过SSC2AC40显示。
编程语言以C为主,利用系统体积小,简单易学,语法着色,多文档,错误跟踪好,界面友好的GCC的AVR C/C++编译器和广州天河双龙电子有限公司的下载器SLISP作为开发工具,进行代码生成、软件测试和维护,开发一个操作方便、简单易用、稳定可靠且易于修改扩充的软件系统。经反复调试优化,程序在样机的使用中运行良好,显示稳定可靠,满足系统要求。程序稍作修改便可移植到其他类型的单片机,有利于产品硬件更换,缩短产品开发周期。
3 调 试
(1) ATmega32 JTAG 接口的TMS,TCK,TDO,TDI分别对应PC口的PC3~PC5;而在该
设计中没有用到JTAG 接口,所以配置熔丝时要禁止使用JTAG 接口功能,以免JTAG 接口的TMS,TCK,TDO,TDI与PC3~PC5冲突。
(2) 由于使用机械开关按键,在触点闭合或断开的瞬间会出现电压抖动。为保证对键动作的准确识别,采用软件延时缓冲按键动作时的抖动,待信号稳定后再进行键扫描,延迟时间大于10~20 ms即可[6]。
(3) 液晶显示屏置于控制面板上,工作环境的电磁干扰对显示屏的工作有一定的影响,故该系统采取的主要抗干扰措施如下:设计LCD模块的接口时,在VSS和VDD之间接入0.1 μF的去耦电容,并接入10 μF或20 μF的电源滤波电容,提高电源输入的稳定性。LCD模块的工作电流仅为几毫安,但其背光部分所需要的电流远大于其工作电流,因此需将工作电源和背光电源分别布线[12]。 为避免其他可能的干扰源对液晶显示过程的影响,采用软件定时复位液晶屏,屏蔽异常显示[12]。
(4) 在编码信息与PLC之间的电平转换电路中,PLC的电源与7407输出端的上拉电源一定要共负极。否则由于参考电压不同,PLC输入端获取的电平不正常,无法有效识别编码信息。
4 结 语
该文研制的控制面板电路简洁实用,编程灵活,成本低,抗干扰能力强,性能可靠,在反复测试中矩阵键盘工作正常;液晶屏有效屏蔽干扰源,显示稳定可靠,完成人机交互工作,适合用户需求,具有广泛的应用前景,对其他工业设备操作面板的研制有一定的参考价值。
参 考 文 献
[1]Cleaveland P.Programmable Controllers Adapt to New Industry Needs[J].Control Solutions,2001.
[2]孙治国,成晓明,裘智峰.PLC与单片机串行通信的应用[J].计算机控制与自动化,2003,22(2):190-191.
[3]李长林.AVR单片机应用设计[M].北京:电子工业出版社,2005.
[4]耿德根.AVR高速嵌入式单片机原理与应用[M].北京:北京航空航天大学出版社,2001.
[5]佟长福.AVR单片机GCC程序设计[M].北京:北京航空航天大学出版社,2006.
[6]李广弟.单片机基础[M].北京:北京航空航天大学出版社,2002.
[7]刘光斌.单片机系统实用抗干扰技术[M].北京:人民邮电出版社,2003.
[8]赫建国,郑燕,薛延侠.单片机在电子电路设计中的应用[M].北京:清华大学出版社,2006.
[9]陈小忠,黄宁,赵小侠.单片机接口技术实用子程序[M].北京:人民邮电出版社,2005.
[10]谢文辉.单片机之步进电机控制及LCD显示[J].电子制作,2006,23(2):17-19.
[11]王宇.SSC2AC40液晶屏原理与应用[EB/OL].http://www.lcdfriends.com,2004.
[12]李维諟,郭强.液晶显示应用技术[M].北京:电子工业出版社,2000.
[13]郭燕,李焕信.一种液晶显示系统的单片机接口设计[J].陕西天文台台刊,1997(20):55-59.
作者简介
梁俊英 男,1981年出生,广西武鸣人,硕士研究生。研究方向为微机控制与检测技术等。
黄秉鍊 男,1942年出生,广东梅州人,教授。研究方向为微机控制与检测技术等。
罗晓曙 男,1961年出生,湖北应城人,教授。主要研究方向为非线性系统的稳定控制与同步。
陈 赤 男,1957年出生,广西陆川人,高级工程师。主要研究方向为电气自动化控制。