控制系统8051

2024-05-17

控制系统8051(精选10篇)

控制系统8051 篇1

1 研究目的和意义

在十字路口设置交通灯可以对交通进行有效的疏通, 并为交通参与者的安全提供了强有力的保障。但是随着社会、经济的快速发展, 原先的交通灯控制系统已经不能适应现在日益繁忙的交通状况。如何改善交通灯控制系统, 使其适应现在的交通状况, 成为研究的课题。

传统的十字路口交通控制灯, 通常的做法是:事先经过车辆流量的调查, 运用统计的方法将两个方向红绿灯的延时预先设置好。然而, 实际上车辆流量的变化往往是不确定的, 有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、较适用的方案, 仍然会发生这样的现象:绿灯方向几乎没有什么车辆, 而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的, 统计的方法已不能适应迅猛发展的交通现状, 更为现实的需要是能有一种能够根据流量变化情况自适应控制的交通灯。

目前, 大部分城市中十字路口交通灯的控制普遍采用固定转换时间间隔的控制方法。由于十字路口不同时刻车辆的流量是复杂的、随机的和不确定的, 采用固定时间的控制方法, 经常造成道路有效利用时间的浪费, 出现空等现象, 影响了道路的畅通, 还行成了拥堵现象。为此, 采用不依赖数学模型的模糊控制方法设计交通灯控制器, 能较好地解决这个问题。为保证交通控制的可靠、稳定, 选择了能够在恶劣的电磁干扰环境下正常工作的单片机是必要的。

8051单片机交通灯控制系统集成自动控制技术、计量技术、新传感器技术、计算机管理技术于一体的机电一体化产品;充分利用计算机技术对生产过程进行集中监视、控制管理和分散控制;充分吸收了分散式控制系统和集中控制系统的优点, 采用标准化、模块化、系统化设计, 配置灵活、组态方便。

2 交通灯简介

当今, 红绿灯安装在各个道口上, 已经成为疏导交通车辆最常见和最有效的手段。绿灯是通行信号, 面对绿灯的车辆可以直行, 左转弯和右转弯, 除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号, 面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号, 面对黄灯的车辆不能越过停车线, 但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

3 芯片简介

MSC-51芯片简介。

8051是MC S-51系列单片机的典型产品, 我们以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器 (ROM) 、数据存储器 (RAM) 、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线, 包括以下几部分。

中央处理器、数据存储器 (RAM) 、程序存储器 (ROM) 、定时/计数器 (ROM) 、中断系统、时钟电路、并行输入输出 (I/O) 口:8051共有4组8位I/O口 (P0、P1、P2或P3) , 用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口, 用于与其它设备间的串行数据传送, 该串行口既可以用作异步通信收发器, 也可以当同步移位器使用。

4 对多个方案进行比较、设计与论证

包括电源提供方案、显示界面方案、输入方案, 而且还对交通灯显示时序和交通灯显示时间进行理论分析与计算。东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定, 并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系, 其公式如下所示:

(1) 结合交通灯控制系统的要求, 进行灯控制电路设计、倒计时显示电路设计, 违规车辆检测电路设计, 从主要部件的选择、流程的分析、程序思路和按键子程序流程图的产生来完成本次设计任务。

(2) 通过对系统的调试和检测, 再进行系统性梳理, 进行测试、数据及结果分析, 包括状态灯显示测试、数码管的测试、整体电路测试, 将隐藏的不足之处加以修正和完善, 确保系统能顺利运行。

摘要:自从交通灯诞生以来, 设计方法很多, 从而使交通灯显得更加智能化。本系统以单片机系统为核心, 采用键盘、LED显示器的系统等组成。系统除基本交通灯功能外, 还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间、违规车辆检测等功能, 其中的模拟输入设备和通信设备更是符合交通灯控制系统的要求与特点, 能够方便地联网通信。

关键词:AT89S51,交通规则,LED,8051

参考文献

[1]秦宇峰.基于PLC的交通灯控制系统[J].考试周刊, 2011 (23) .

[2]杨辉.PLC应用设计实例——交通灯控制[J].硅谷, 2011 (7) .

[3]马巍.单片机控制交通灯[J].职业, 2011 (5) .

[4]高阳.一种基于凌阳单片机的交通灯控制系统[J].内蒙古科技与经济, 2011 (3) .

[5]马华玲, 左谨平, 张涛.基于AT89S51的交通灯控制系统设计与实现[J].交通科技与经济, 2010 (2) .

控制系统8051 篇2

摘要:CYGNAL生产的单片机C8051F040是代表8位单片机发展方向的高速(25M)混合信号系统级芯片(SOC)它不仅集成了一般测控系统需要的外设,而且集成了很有发展前景的现场总线―CAN总线控制器,文中对该芯片中的CAN控制器结构作了分析,并给出了在分布式测控系统中使用该芯片的智能节点的硬件、软件设计方案。

关键词:C8051F040;CAN总线;分布式;测控节点

1 概述

分布式在线测控系统是由多个面向设备的、以MCU为核心的智能处理单元和多个并行运行且具有不同监测和故障诊断功能的微机构成的。该系统采取“分治”的设计思想?它将数据采集以及部分数据处理任务交给设备层的智能处理单元去完成?而监测诊断层主要负责监视和故障诊断。分布式测控系统设计均应考虑各个节点之间的通信问题?因为通信网络的选取对系统性能有很大影响。 国内已开展了基于现场总线的在线测控系统的研究?并利用CAN总线实现设备层的检测处理、单元间的通信以及与上层监测主机的通信。CAN总线就是一种支持分布式实时控制系统的串行通信局域网络总线。它的主要特点如下:

●任一个节点均可在任一时刻主动向网络上的其它节点发送数据,而从不分主从,因此,通信比较灵活;

●节点可分为不同的优先级,可以满足不同的实时要求;

●采用非破坏性总线仲裁,当两节点同时向总线发送信息时,优先级低的节点主动停止数据发送?而优先级高的节点可不受影响地继续发送数据;

●通信距离最远可达10km,通信最高速率可达1Mbps?

●每帧数据的有效字节数为8,因此,可保证很短的传输时间,而且实时性强,受干扰的概率低;

(本网网收集整理)

●每帧数据都含有CRC(循环冗余)校验及其它校验措施,因而数据出错率很低;

●CAN总线节点在严重错误的情况下,可自动切断与总线的联系,以使总线上的其它操作不受影响。

目前,CAN总线协议以其可靠性高、实时性好以及独特的设计已经成为总线通信网络的首选?国内目前使用较广的是PHILIPS 生产的SJA1000 、82C200等独立的CAN控制器,由于这种独立的控制器限制了测控节点的集成度,因此,很多微处理器生产厂家已经开始生产内部集成有CAN控制器的MCU。美国CYGNAL公司生产C8051F040就是内部集成有BOSCH CAN控制器的混合信号系统级芯片(SOC)。本文将分析C8051F040 的CAN总线结构、与CPU 的接口及初始化配置,同时将给出基于C8051F040的分布式测控节点的设计及系统的实现框架。

2 C8051F040及其内部BOTSH CAN

Cygnal公司的单片机C8051F040具有与8051指令集完全兼容的CIP-51内核。它的最高频率可达25MHz?内置64kB FLASH RAM和4kB的数据存储器。C8051F040在一个芯片内集成了构成单片机数据采集或控制系统所需要的几乎所有模拟和数字外设及其它功能部件,包括ADC、可编程增益放大器、DAC、电压比较器、温度传感器、SMBus/I2C、UART、SPI、定时器、内部振荡器、看门狗电路以及CAN 控制器等,这种高度集成为设计小体积、低功耗、高可靠和高性能的测控系统提供了方便,同时也使测控设备整体成本能够降低。

C8051F040内部集成有BOTSH CAN,它兼容CAN技术规范2.0A和2.0B,主要由CAN内核、消息RAM(独立于CIP-51的RAM)、消息处理单元和控制寄存器组成,图1所示是C8051F040内部的CAN总线结构图。

图1中,CAN内核由CAN协议控制器和负责消息收发的串行/并行转换RX/TX移位寄存器组成。消息RAM用于存储消息目标和每个目标的仲裁掩码。这种CAN处理器有32个随意配置为发送和接受的消息目标?并且每一个消息目标都有它自己的识别掩码,所有的数据传输和接收滤波都是由CAN控制器完成的,而不是由CIP-51来完成。

CAN内部寄存器中存储了所有CAN的控制和配置信息,其中包括控制寄存器、状态寄存器、设置波特率的位定时寄存器 、测试寄存器、错误计数器和消息接口寄存器。通常CAN内核不能直接访问消息RAM,而必须通过接口寄存器IF1或IF2来访问。另外,CIP-51的SFR并不能直接访问CAN内部寄存器的所有单元,其配置CAN、消息目标、读取CAN状态以及获取接收数据、传递发送数据都由SFR中的6个特殊寄存器来完成,其中CAN0CN、CAN0TST和CAN0STA 3个寄存器可直接获取或修改CAN 控制器中对应的寄存器,而CAN0DATH、CAN0DATL、CAN0ADR

3个寄存器主要用来访问修改其它不能直接访问的CAN 内部寄存器,其中CAN0ADR用来指出要访问寄存器的地址,CAN0DATH、CAN0DATL这时就相当于要访问的16位寄存器的高、低字节的映射寄存器,而对它们的读写则相当于对所指向寄存器的读写。图2给出了CIP-51如何访问CAN中控制寄存器和每个消息的`路径图。

消息处理单元用于根据寄存器中的信息来控制CAN内核中移位寄存器和消息RAM 之间的数据传递,同时,它还可用来管理中断的产生。

3 基于C8051F040的智能系统设计

3.1 硬件设计

工业测控现场通常存在着大量的传感器、执行机构和电子控制单元,它们一般分布较广,而且对实时性要求也很高,图3是基于CAN总线的分布式测控系统框图。该系统采用现场总线式集散系统FDCS?Field Distributed Control System?结构,它由主控站(注:CAN总线各节点并不分主从 ?这里是针对特定的系统而言)、C8051F040为MCU的智能节点并配以CAN现场总线控制网络构成。主控站主要完成对各节点的在线监控以及对各节点返回信息的分析处理,并对节点发出控制命令以控制节点工作模式。智能节点则根据主控站命令来完成数据采集、运行显示以及对执行部件的控制,以及各节点与主站、节点与节点之间的实时数据交换和信息控制。

图4是一个以C8051F040为核心的智能节点设计原理图。

图中,C8051F040的6、7脚分别为CANRX和CANTX引脚,CAN的输出输入必须加总线收发器才能与CAN物理总线相连。本系统采用了TJA1050高速CAN收发器来替代传统的PCA82C250收发器,TJA1050芯片具有电磁辐射低、防短路、不上电时对总线无影响等特点,它的8脚S可以选择高速或静音两种模式,并可由C8051F040的P4.0控制。为了增加CAN 节点的抗干扰能力,将CAN引脚通过高速光耦6N137与总线收发器相连,可实现各节点之间的电气隔离。电源的隔离可以采用小功率电源隔离模块,也可以用带多个5V隔离输出的开关电源模块。这样能大大提高节点的稳定性和可靠性,但可能会增加节点的硬件复杂性。

3.2 节点软件设计

对于一个实际的测控系统,其节点软件是比较复杂的,但由于C8051F040具有与8051指令完全兼容的CIP-51内核,所以,对于有使用51系列单片机经验的人来说,这并没有太大的难度,下面主要介绍C8051F040内置CAN的软件设计。

如果需要某一节点将A/D采样值通过CAN总线送到主控站(地址01H),且配置系统时设定的工作频率为25MHz?CANTX引脚设为推挽方式,那么在初始化过程中,波特率应配置为160kbps,消息目标禁止不用,配置消息目标2为接收时的程序代码如下:

CAN_INIT:

MOV SFRPAGE,#01H

ORL CAN0CN,#41H ;设INIT位为1, CCE为1

; 配置波特率

MOV CAN0ADR,#03H

MOV CAN0DATH,#7FH

MOV CAN0DATL,#05H

;禁止不用的消息目标(3-32)

MOV CAN0ADR, #0DH ; 指向IF1的仲裁控制寄存器2

MOV CAN0DATH,#00H ; MAGVAL=0;

MOV CAN0ADR,#09H ; 指向IF1的命令掩码寄存器

MOV CAN0DATL,#0A0H ?; 方向为写,改变仲裁位

MOV R1,#20H

MOV CAN0ADR, #08H ;指向IF1的命令寄存器

ENABLE_MESSAGE_OBJECTS:

MOV CAN0DATL,R1 ;写R1指向的消息目标

MOV CAN0ADR, #08H ;指向IF1的命令寄存器

WAIT_TRANSFER_OVER?

MOV A,CAN0DATH ?;读命令寄存器

JB ACC.7,WAIT_TRANSFER_OVER

DEC R1

CJNE R1,#02H,ENABLE_MESSAGE_BJECTS

;配置消息目标2为接收

MOV CAN0ADR,#21H

MOV CAN0DATL,#11111000B?; 写IF2命令掩码

MOV CAN0DATH,#00H

MOV CAN0DATL,#00H ?;写IF2掩码1

MOV CAN0DATH,#00H

MOV CAN0DATL,#00H ?; 写IF2掩码2

MOV CAN0DATL,#00H ?; 写IF2仲裁寄存器1

MOV CAN0DATH,#80H ?; 写IF2仲裁寄存器2高8位

消息目标有效,标准仲裁帧,方向为接收

MOV CAN0DATL,#00H ?; 写IF2仲裁寄存器2低8位

MOV CAN0DATH,#00010100B?; 写IF2控制寄存器高位

MOV CAN0DATL,#80H ?; 写IF2控制寄存器低位

MOV CAN0ADR, #20H

MOV CAN0DATL, #02H ?; 通过IF2写2号消息目标

WAIT_TRANSFER_OVER1;

MOV A,CAN0DATH ; 读命令寄存器

JB ACC.7,WAIT_TRANSFER_OVER1

; 等待写结束

;CAN进入操作模式

MOV CAN0CN,#00000010B ; CAN进入正常操作模式状态中断使能,

RET

发送过程是将存储在从BUF0起始地址中的2个字节的A/D采样数据,通过IF1传送到消息目标1的过程。其启动发送程序代码如下:

SEND_AD_DATA:

MOV SFRPAGE, #01H

MOV CAN0ADR, #09H

MOV CAN0DATL,#10110111B

; 写IF1命令掩码寄存器

MOV CAN0ADR, #0DH

MOV CAN0DATH,#10100000B ;使用11位标准仲帧

MOV CAN0DATL,#04H ;写IF1仲裁寄存器2,发送对象的地址01因标准帧使用高11位,所以地址要左移2位指向控制寄存器

MOV CAN0DATH,#00001001B ; 写IF1控制寄存器高8位,传输中断使能,置传输请求位

MOV CAN0DATL,#0BH ?; 写IF1控制寄存器低8 位,EOB=1 DLC=0指向BUF0

MOV DPTR,BUF0

MOVX A,@DPTR

MOV CAN0DATL,A ?; 写IF1数据0

INC DPTR

MOVX A,@DPTR

MOV CAN0ADR,#0FH

MOV CAN0DATH,A ?; 写IF1数据1

MOV CAN0ADR, #08H

MOV CAN0DATL,#01H ?;传递到目标1及启动发送

RET

4 结束语

Cygnal公司的单片机C8051F040是一种完全集成的混合信号系统级芯片(SOC),它具有与8051指令集完全兼容的CIP-51内核?代表了8位单片机的发展方向。它不仅集成有构成监控系统常用的外设,而且集成了逐渐成为控制领域首选的高可靠性、高性能C8051F040 CAN总线;本文使用该芯片设计的测控系统智能节点具有集成度高、性能稳定等特点。由于C8051F040可达

控制系统8051 篇3

关键词 模拟器;单片机;接口电路;汇编语言

中图分类号:TP391.9 文献标识码:B 文章编号:1671-489X(2011)03-0083-03

Design of PLC Training Simulator on C8051F020//Tang Yuefu

Abstract It introduces the design of the PLC training simulator, which takes SOC MCU C8051F020 as the core and uses LED modules as the display unit. With the design of the hardware circuit and assembly language software,the PLC training simulator can be more integrated, dynamic and automatic.

Key words simulator; microcontroller; interface circuit; assembly language

Author’s address Jiaojiang Secondary Vocational School, Taizhou, Zhejiang, China 318000

目前教仪企业为职业学校提供的PLC实训设备都是多个实训模拟单元的组合式设备。各实训单元画出PLC被控对象的图案,但不能模拟动作过程;用开关或按钮模拟行程开关和各种传感器的信号,但无法实现信号的自动产生。

将LED显示及驱动技术和C8051F单片机技术相结合,可将几十个实训模块集成其中,实现PLC被控对象动作过程的模拟,并实现行程开关和各种传感器信号的自动产生。

1 模拟器概述

采用SOC型8位单片机C8051F020对PLC的控制对象进行模拟。通过选择模块号对集成其中的模块进行选择使用。通过单片机对其输出端口的控制自动产生各种限位开关、位置传感器等信号。采用64点×64点的LED显示屏作为单片机的显示装置,通过单片机对显示数据的不断刷新动态模拟运动过程。输入输出端口采用光耦隔离,对核心部件C8051F020进行保护。将PLC、单片机、LED显示屏、小键盘及电源进行一体化设计,使模拟器具有体积小、能耗低、功能强、性价比高的特点。

2 模拟器硬件设计

2.1 模拟器的硬件构成

模拟器的硬件主要由单片机、LED显示屏、键盘、PLC、输入/输出接口电路和电源6部分构成,如图1所示。单片机与LED显示屏、键盘、PLC通过输入/输出接口电路实现通信与控制,输入/输出接口电路的设计是硬件设计的重点。

2.2 模拟器的硬件选型

PLC在目前教学中的主流机型之一是三菱的FX2N系列,并考虑到继电器输出型能适应交直流2种电源且不易损坏,选用三菱FX2N-32MR。

LED显示屏既要满足显示的需要,又要兼顾单片机的速度和Flash存储器的容量,选用2块08接口的Φ3室内红绿双基色单元板,可实现3种颜色的显示,具有64点×64点像素,一屏显示数据为1 KB,规格为128 mm×256 mm,大小适宜。

8位单片机通过输入/输出端口实现与PLC、LED显示屏、键盘的联系,与PLC联系需2个8 bit输入端口和2个8 bit输出端口,与LED显示屏联系需2个8 bit输出端口,与键盘联系至少需1个8 bit输出端口,共计至少7个端口。每个模块的程序容量1~2 KB,数据容量至少1 KB,20个模块的总容量在32 KB以上。单片机选择具有P0~P7共8个8 bit输入/输出端和64 KB Flash的C8051F020。C8051F020最高速度可达25 MIPS,完全能满足LED 60屏/秒以上的刷新要求。

电源模块根据容量和电压值直接选用通用的开关电源S-50-5(单电压输出50 W/5 V),单片机的电源由ASM1117实现+5 V到+3.3 V的转换来提供。

2.3 输出接口电路设计

根据C8051F020输入/输出端口的特点,低端口(P0~P3)可进行位操作,配置为输出端口,只能字操作的高端口(P4~P7)配置为输入端口,以方便编程。

与LED单元板连接的端口按照LED单元板的08接口标准进行设计。即1-GND,2-A,3-GND,4-B,5-GND,6-C,7-EN,8-D,9-R1,10-G1,11-R2,12-G2,13-GND,14-RCK,15-GND,16-SCK。将上下两屏的红、绿数据合并为8位数据总线,其他信号端合并为8位端口兼作控制总线和地址总线,实现串并行混合传输。

与PLC输入连接的输出接口电路,采用光耦TLP521-4进行光电隔离,对C8051F020的输出端口进行保护。为了FX2N-32MR的输入类型相匹配,将输出接口电路设计为NPN型。图2为输出接口电路的局部原理图。

其中限流电阻RN3的选择:

R=(VOH-VF)/IF=(3.3-0.7-1.15)/0.004 Ω=360 Ω。

2.4 输入接口电路设计

与PLC输出连接的输入接口电路,采用光耦TLP521-4进行光电隔离,对C8051F020的输入端口进行保护。尽管FX2N-32MR的输出是继电器,对模拟器的输入端口类型没有要求,但考虑到与FX2N-32MT兼容,输入端口设计成NPN型。图3为输入接口电路的局部原理图。

其中限流电阻RN2的选择:

R=(V+-VF)/IF=(5-1.15)/0.004 Ω=1 KΩ。

键盘设计为12位独立键盘。12位键名分别是0~9数字键、Unit键和Enter键。其中Unit键为模块选择键,Enter键为确认键。因硬件资源还有2个8 bit输入/输出端口可供键盘使用,为了方便软件设计,不采用矩阵键盘方式,采用独立键盘方式。在模块选择界面的0~9数字键和在各实训模块界面的PLC控制按钮键通过输入/输出接口电路和软件实现共享。图4为键盘及接口电路的原理图。

3 模拟器软件设计

3.1 软件设计规划

模拟器规划集成20多个实训模块,采用汇编语言编程的程序总长度接近64 KB,即使生成代码效率很高的KEIL公司C51生成的代码也无法满足要求,所以只能采用效率最高的汇编语言来编程。

软件划分为初始化程序、封面程序、模块号输入程序、模块号无效提示程序、模块选择程序、模块1程序~模块N程序。图5为程序总流程图。

3.2 程序设计——机械手模块物块二维运动动态效果的软件实现

整个程序比较庞大,不能逐一进行讨论,但每个模块的程序设计具有一定的共性,举一可以反三。各种限位开关、位置传感器等信号的自动产生,只要对输出端口的相应位进行SETB操作或CLR操作即可实现(如SETB P3.0或CLR P3.0)。由于运动物体动态效果的实现是软件设计中的难点并具有代表性,所以仅选取机械手模块中的物块二维运动的软件设计进行讨论。

1)模块简介。图6为机械手模块的界面,机械手能夹住或松开物块并可上下左右运动,实现将物块从一处搬运到另一处。物块被机械手夹住后,随机械手在显示平面内作二维运动。

2)程序设计思路。设置片内RAM二个单元分别为X(左右方向)、Y(上下方向)坐标,根据机械手的状态及位置对物块坐标进行处理;根据X、Y的坐标计算物块的地址,计算公式为:地址=原点地址+X坐标×#01H+Y坐标×#40H。刷新物块所在地址的显示数据,调用显示子程序按刷新后的数据进行显示。

3)程序流程。图7为机械手模块物块运动程序的流程图。

4)程序清单。

UNIT09E: ;物块运动程序

;机械手夹紧否判断

JNB 24H.0 UNIT09E3

;X、Y坐标值处理(25H、26H)

MOV A,22H

ANL A,#0FH

MOV 25H,A

MOV A,23H

ANL A,#0FH

MOV 26H,A

;物块首地址计算,结果到DPTR

MOV A,25H

MOV B,#40H

MUL AB

ADD A,26H

MOV 27H,A

CLR A

ADDC A,B

MOV 28H,A

MOV A,27H

ADD A,#24H;#24H为原点地址低位数据

MOV DPL,A

MOV A,#01H;#01H为原点地址高位数据

ADDC A,28H

MOV DPH,A;显示数据刷新

MOV R1,#04H ;物块四行三列

UNIT09E1:

MOV R2,#03H

UNIT09E2:

MOVX A,@DPTR

ANL A,#0EFH

MOVX @DPTR,A

INC DPL

DJNZ R2,UNIT09E2

MOV A,DPL

ADD A,#3DH

MOV DPL,A

MOV A,DPH

ADDC A,#0H

MOV DPH,A

DJNZ R1,UNIT09E1

UN09C:;调用显示子程序DISPSUB

CALL DISPSUB

……

4 结束语

开发成的箱式PLC实训模拟器如图8所示。学校采用自主研发的PLC实训模拟器建设一个拥有25台模拟器的PLC实验室,使用过程中稳定性良好。目前已开发集成14个实训模块,分别是电机控制模块、东方明珠之光控制模块、交通信号灯控制模块、电梯控制模块、数码管控制模块、抢答器控制模块、水塔水位控制模块、多种液体混合控制模块、机械手控制模块、传送带配料装车控制模块、灯墙控制模块、二维运动控制、加工中心控制模块、电镀生产线控制模块。由于实现各种限位开关、位置传感器等信号的自动产生,PLC的自动化控制过程更加逼真。同时实现运动过程的动态模拟,PLC自动化控制过程更加形象。

研发过程中发现,由于显示单元的像素只有64点×64点,难以模拟圆弧轨迹的物体运动的动态效果。PLC的通讯、模拟量控制实训功能有待在下一版本研发。

参考文献

[1]张迎新,雷文.C8051F系列SOC单片机原理及应用[M].北京:国防工业出版社,2005

控制系统8051 篇4

手工汇编:因为单片机工作时只认程序存储器中的机器码 (十六进制的00-FF) , 因此, 将汇编语言写的程序对照指令手册逐条查出机器码, 而后用写入器将机器码写入EPROM程序存储器, 供单片机读入, 经译码器再转换成二进制码, 供单片机操作用。手工汇编实际上就是查表。例如, 00H变成二进制数为00000000 B;FFH 11111111 B, 55H01010101 B等。

由于效率低、无法进行仿真调试, 手工汇编 (编程) 目前己较少使用, 但对业余开发一些简短的小程序, 也不失为一种好的方法。

交叉软件开发 (机器汇编) :这是把单片机汇编语言程序自动转换机器码的方法, 可取代人工逐条查找机器码的繁重劳动。目前已在IBM PC/XT、AT, APPLE-II, TRS-80等微机上实现用交叉汇编的方式对诸多系列单片机进行编程, 并具有排错调试功能。这种方法必须借助微机系统, 解决了编程的方便和快速问题。

模拟调试开发。在开发目标系统的过程中, 单片机的开发系统允许用户使用它内部的RAM存贮器和输入/输出来替代目标系统中的ROM程序存贮器、RAM数据存贮器以及I/O, 使用户在目标系统样机还未完全配置好以前, 便可以借用开发系统提供的资源进行软件开发。这种方法具有编程、程序汇编、调试、排错功能。用模拟调试方法开发, 必须在微机系统上建立被开发单片机的开发环境, 也就是用所选用的微机资源来模拟单片机的结构, 并用该微机的指令模拟单片机指令的执行过程。它可以对单片机进行排错调试, 并可进行程序执行过程的仿真, 即具备单片机应用系统开发过程中所需的全部功能 (编程、排错、调试、仿真) 。

重要的是目标机的程序存贮器模拟功能。因为在研制目标系统开始的初始阶段, 目标程序还未生成, 谈不上在目标系统中通过EPROM写入器将经过模拟调试好的机器码程序写入到EPROM中。因此, 用户的目标程序必须存放在开发系统RAM存贮器内, 以便于在调试过程中对程序修改。开发系统所能出借的作为目标系统程序存贮器的RAM, 常称为仿真RAM。开发系统中仿真RAM的容量和地址映射应和目标机系统完全一致。对于MCS-51系列单片机开发系统, 最多应能出借64K字节的仿真RAM, 地址为0~65535, 并保持原有的复位入口和中断入口地址不变。

该系统通常由三部分组成即交叉汇编 (机器汇编) 、排错/模拟软件包、EPROM编程板。

评价板开发装置:它是单板机开发装置的改进型, 增加了RS-232C微机系统接口, 可在微机系统支持下进行联机开发单片机, 也可以视为交叉软件开发或模拟调试开发与单片单板机开发装置的结合。

此种开发也称联机评价调试系统开发, 又称在线开发。在微机上利用交叉汇编来编程, 通过RS-232C串行通信口将汇编好的机器码传送给评价板, 控制其运行, 看是否满足预定结果.如不满足, 可进一步修改程序, 直到满足全部预定要求为止, 它为程序的排错调试提供了一个硬件环境。此方法目前使用较为普遍, 可满足一般应用系统的开发需要, 且投资较小。

ROM仿真器:ROM仿真器特别适合于单片机的开发, 因为单片机本身就是一台完整的计算机最小应用系统, 所谓单片机的开发, 其主要工作是对在片EPROM、E2PROM或外接EPROM、E2PROM进行编程。

由于单片机组成的完整计算机系统较为少见, 故通常采用通用的微机系统来开发单片机。即通常以双机通信的方式对单片机进行仿真开发 (如在IBM-PC机、APPLE-II机上) 对两个不同的CPU的双机进行通信, 最简单的方法是采用公用存储器, 利用系统微机的RAM (即公共存储器) 作为目标机 (单片机) 的ROM, 由此称为ROM仿真。开发中目标机的ROM采用EPROM (E2PROM) , 故也称为EPROM (E2PROM) 仿真。

ROM仿真器结构简单, 通用性强。但由于它是通过24脚 (或28脚) 的EPROM插座来对目标机进行仿真的, 地址范围将受到限制, 对目标机排错调试功能较弱。由于其通用性强, 仿真速度快, 并可全面考核单片机应用系统的综合性能, 因此很受重视, 得到广泛应用。

CPU仿真器:由于单片机是一台完整的计算机, 是一个最小的应用系统, 故对单片机进行CPU仿真的难度将大大超过一般的μP的开发。因为有的地址线、数据线、片内I/O等没有引出脚 (特别是EPROM、ROM版本的芯片) 。

仿真器使用ASM-51宏汇编, PL/M-5l高级语言, 连接/浮动程序, 库实用程序, 二进制到十六进制转换程序。高级语言通用性好、功能强, 程序设计人员只要掌握该种语言的特点和使用方法, 不需要完全掌握具体的单片机指令系统, 就可以编写程序。MCS-51系列单片机的编译型高级语言有:PL/M51、C-51、MBASIC-51等。解释型高级语言有BASIC-52、TINY BASIC等。编译型高级语言可生成机器码, 解释型高级语言必须在解释程序的支持下直接解释执行。

与使用汇编语言编写程序相比, 使用高级语言具有程序短、易于编写、便于软件维护, 确保程序的可移植性、达到缩短单片机产品的开发周期等优点。在程序设计时可以交叉使用汇编语言和高级语言。

2 单片机应用系统的开发过程

单片机应用系统开发特点是:选用合适机型, 开发实用软件。单片机应用系统开发的过程如图所示。

在该过程中, 系统硬件设计是指设计电路原理图、设计印制电路板或用万用板直接焊出实验板;对硬件、软件分模块调试是指测试、调整部分电路模块和程序模块;系统统调是指在独立测试各部分电路模块、程序模块正确后, 将系统各电路模块全部连接起来, 运行完整的系统程序, 测试各个模块的配合情况以及系统整体性能;“编程器烧写固化后运行”是指将程序直接写入单片机或程序存储器, 让系统现场运行、工作, 然后测试系统的各种功能是否正常、可靠性是否符合要求。

当系统能够稳定地完成所有功能时, 即可认为设计已达到要求。

3 单片机软件开发的特点与方法

由于单片机通常是为应用系统而设计的, 本身一般不具有自我开发和编程的能力, 因此必须借助于开发工具来开发。单片机最突出的特点是其本身就是一个完整的应用系统, 可以通过对单片机的选型和多个联用满足不同要求。若无特殊需要, 不必进行扩展 (如ROM、RAM、I/O、A/D等扩展) 。而是合理选用以达到最佳利用单片机的资源, 在设计时, 通常可留有适量余地。

单片机既然是一个完整的应用系统, 必然与外界有较多的联系, 这些联系通常通过I/O接口进行, 以满足用户的不同要求。

因此, 单片机的产品开发特点是:选用合适机型, 开发实用软件。单片机产品开发全过程见图。说明两点:

项目的可行性论证:在着手系统设计之前, 必须提出任务及要求, 确定系统设计的技术指标。

系统总体方案:是开发产品的关键环节。在充分调研的基础上选择好单片机机型和关键元器件;要充分考虑货源、开发工具及外围电路等;还要分配协调好软、硬件功能, 通常硬件和软件具有一定的互换性。

从图中可看出, 开发单片机应用系统产品, 开发工具处于重要地位。在硬件调试、程序调试及联调时, 都需使用开发系统, 甚至在进行总体设计时, 某些技术问题也需要验证。开发系统还是鉴定性能的得力工具, 因此, 在选用开发系统时, 要选择性能优良的开发系统。

参考文献

[1]张友德、赵志英、涂时亮.单片微型机原理、应用与实验.上海:复旦大学出版社, 2005.6.

[2]张丽娜.单片机原理及应用.武汉:华中科技大学出版社, 2004.7.

控制系统8051 篇5

020的每个I/O口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3的端口引脚。通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。必须在访问这些外设的I/O之前配置和允许交叉开关。注意的问题:

1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。2.没有被分配到的引脚作为一般的数字通用I/O口。3.P1口还可以用作ADC1的模拟输入。

4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的输出状态。

5.EMIF(外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN选择和管理端口实现数据的传输。

6.为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。7.如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSEL位设置为1,选择高端口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLE位设置为0。8.复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0~AD7)。在该方式下,要用一个外部锁存器(如74HC373或相同功能的锁存器)保持RAM地址的低8位。外部锁存器由ALE(地址锁存使能)信号控制,ALE信号由外部存储器接口逻辑驱动。9.在总线复用时,需要把地址数据复用端口配置为漏极开路。

10.ALE高/低脉宽占1个SYSCLK周期,地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期,EMIF工作在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输出方式。如: void PORT_Init(void){ XBR2 = 0x40;/*使能交叉开关和弱上拉*/ P74OUT |= 0xff;/*使能P4~P7推挽输出*/ EMI0CF |= 0x2c;/*EMIF工作在地址/数据复用方式,只用外部存储器,ALE高/低脉宽占1个SYSCLK周期*/ EMI0TC |= 0x6c;/*地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期*/ P3MDOUT |= 0xdf;/*使能P3.5推挽输出*/ } 11.避免高端口处于“浮空”状态,以避免因输入浮空为无效逻辑电平而导致不必要的功率消耗,为此应采取如下措施的任何一种:a.将XBR2.7位设置为逻辑0选择弱上拉状态

R/W R/W R/W R/W R/W R/W R/W R/W 复位值 WEAKPUD XBARE-T4EXE T4E UART1E EMIFLE CNVSTE 00000000 位7 位6 位5 位4 位3 位2 位1 位0 SFR地址

位7 WEAKPUD 弱上拉禁止位 0 弱上拉全局允许 1 弱上拉全局禁止

位6 XBARE 交叉开关允许位 0 交叉开关禁止端口0 1 2 和3 的所有引脚被强制为输入方式 1 交叉开关允许 位5 未用读0 写=忽略 位4 T4EXE T4EX 输入允许位 0 T4EX 不连到端口引脚 1 T4EX 连到端口引脚 位3 T4E T4 输入允许位 0 T4 不连到端口引脚 1 T4 连到端口引脚

位2 UART1E UART1 I/O 允许位 0 UART1 I/O 不连到端口引脚 1 UART1 TX 和RX 连到两个端口引脚 位1 EMIFLE 外部存储器接口低端口允许位

0 P0.7 P0.6 和P0.5 的功能由交叉开关或端口锁存器决定 1 如果EMI0CF.4 = 0 外部存储器接口为复用方式

则P0.7(/WR)P0.6(/RD)和P0.5(/ALE)被交叉开关跳过它们的输出 状态由端口锁存器和外部存储器接口决定 如果EMI0CF.4 = 1 外部存储器接口为非复用方式

则P0.7(/WR)和P0.6(/RD)被交叉开关跳过它们的输出状态由端口锁 存器和外部存储器接口决定

位0 CNVSTE 外部转换启动输入允许位 0 CNVSTR 不连到端口引脚 1 CNVSTR 连到端口引脚;

b.令P74OUT=0xFF,将高端口输出方式配置为推拉方式(P74OUT为高端口输出方式寄存器); c.向高端口数据寄存器P4、P5、P6和P7写0。12.配置端口引脚的输出方式

每个端口引脚的输出方式都可被配置为漏极开路或推挽方式。在推挽方式下向端口数据寄存器中的相应位写逻辑0 将使端口引脚被驱动到GND 写逻辑1 将使端口引脚被驱动到VDD,在漏极开路方式下向端口数据寄存器中的相应位写逻辑0 将使端口引脚被驱动到GND 写逻辑1 将使端口引脚处于高阻状态,当系统中不同器件的端口引脚有共享连接。即多个输出连接到同一个物理线时(例如SMBus 连接中的SDA 信号),使用漏极开路方式可以防止不同器件之间的冲突。(推挽方式在有些书中称为推拉方式)

转载-关于开漏、推挽方式2008-01-27 17:53漏级开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或使用如LCX245等电平转换芯片。有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将I/O口设置为漏开,并想输出高电平,但向口线上写1后对方并未认出高电平,但用万用表测量引脚确有电压,这种认为是不对的,对于高阻状态来说,测量电压是无意义的,正确的方法应是外加上拉电阻,上拉电阻的阻值=上拉电压/芯片引脚最大灌(拉)电流。

推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出低电平(可降低功耗)将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0x11,这样设置I/O口为漏开。

如果学过三极管放大电路一定知道,前置单管放大器和功放末级放大电路的区别。单片机内部的逻辑经过内部的逻辑运算后需要输出到外面,外面的器件可能需要较大的电流才能推动,因此在单片机的输出端口必须有一个驱动电路。

这种驱动电路有两种形式: 其中的一种是采用一只N型三极管(npn或n沟道),以npn三极管为例,就是e接地,b接内部的逻辑运算,c引出,b受内部驱动可以控制三极管是否导通但如果三极管的c极一直悬空,尽管b极上发生高低变化,c极上也不会有高低变化,因此在这种条件下必须在外部提供一个电阻,电阻的一端接c(引出脚)另一端接电源,这样当三极管的b有高电压是三极管导通,c电压为低,当b为低电压时三极管不通,c极在电阻的拉动下为高电压,这种驱动电路有个特点:低电压是三极管驱动的,高电压是电阻驱动的(上下不对称),三极管导通时的ec内阻很小,因此可以提供很大的电流,可以直接驱动led甚至继电器,但电阻的驱动是有限的,最大高电平输出电流=(vcc-Vh)/r;

另一种是互补推挽输出,采用2只晶体管,一只在上一只在下,上面的一只是n型,下面为p型(以三极管为例),两只管子的连接为:npn(上)的c连vcc,pnp(下)的c接地,两只管子的ee,bb相连,其中ee作为输出(引出脚),bb接内部逻辑,这个电路通常用于功率放大点路的末级(音响),当bb接高电压时npn管导通输出高电压,由于三极管的ec电阻很小,因此输出的高电压有很强的驱动能力,当bb接低电压时npn截至,pnp导通,由于三极管的ec电阻很小因此输出的低电压有很强的驱动能力,简单的例子,9013导通时ec电阻不到10欧,以Vh=2.5v,vcc=5v计算,高电平输出电流最大=250MA,短路电流500ma,这个计算同时告诉我们采用推挽输出时一定要小心千万不要出现外部电路短路的可能,否则肯定烧毁芯片,特别是外部驱动三极管时别忘了在三极管的基极加限流电阻。推挽输出电路的形式很多,有些单片机上下都采用n型管,但内部逻辑提供互补输出,以上的说明仅仅为了说明推挽的原理,为了更深的理解可以参考功率放大电路。

推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。

对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出低电平(可降低功耗)将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0x11,这样设置I/O口为漏开。

控制系统8051 篇6

磁悬浮技术在磁悬浮列车、磁悬浮轴承、维纳定位平台等先进装备领域被广泛应用,磁悬浮技术的核心是控制器的设计。一维磁悬浮系统是探讨多维磁悬浮系统的基础,其最基本的控制方案是采用PD控制算法实现系统的稳定悬浮控制,这种控制方案不能实现对磁悬浮球位置的精确控制;另一种常用的方案是采用PID控制算法实现系统稳定悬浮控制,由于引入了积分环节,系统的稳态性能得以提高,但是系统的响应速度受到制约。为此本文以C8051F005单片机作为控制器核心,采用一种变参数数字PID算法,设计一维磁悬浮系统变参数PID控制器,并进行了实验。

1 一维磁悬浮控制系统硬件设计

1.1 C8051F005芯片介绍

C8051F005是美国Cygnal公司生产的高速单片机,该机兼容51单片机内核,集成了数据采集和控制系统中常用的模拟部件和其他数字外设,可在全速(12MHz)或低速(1.5 MHz)下运行,C8051F005中集成有一个8路12位ADC转化器和2个12位的DAC转换器,转换速率均可达到100ks/s,无需外扩A/D采样及D/A输出电路,从而使整个系统硬件电路简化。

1.2 系统硬件设计

磁悬浮系统是一种典型的机电一体化系统,控制器是其关键环节,控制器性能的好坏直接关系到系统的悬浮性能。因此,磁悬浮控制方法的研究是机电控制领域的热点课题。本文采用光电型位置传感器对悬浮物钢球位移进行测量,通过C8051内部的A/D转换器将位移信号采样、量化为数字信号,C8051根据变参数PID控制算法完成对位置信号的处理,再通过C8051内部的DAC转换器转换成电压信号,提供给功率放大电路以驱动电磁铁执行器。一维磁悬浮控制系统结构框图如图1所示。

2 磁悬浮系统的数学模型

基于经典动力学及麦克斯韦尔方程建立一维磁悬浮系统的数学模型如下:

1)被悬浮对象的动力学方程为

式中:x为悬浮物与电磁铁之间的距离;m为悬浮物质量;F(i,x)是电磁力。

2)悬浮物电磁力方程为

式中:K为常数;i为电磁绕组中的瞬时电流。电磁力F(i,x)与距离x呈非线性的反比关系,这也是磁悬浮系统不稳定的根源所在。

3)功率放大器的传递函数为

式中:Ka为功率放大器的增益,这里Ka=5.8929;Ta为功率放大器的滞后时间常数(很小,可以忽略不计)。本系统采用电压-电流型功率放大器,将控制信号转变为控制电流。

4)系统线性化方程为

式中:ks为系统光电传感器线性化后的系数;M=i0/(2g);N=i0/x0;g为重力加速度;x0为平衡点处悬浮物质心与电磁铁磁极之间的气隙;i0为平衡点处电磁绕组中瞬时电流。

实际参数代入式(4)中得系统传递函数:

根据控制理论中劳斯稳定性判据可知,系统不稳定,要使悬浮物能被稳定悬浮,必须施加适当的反馈控制。

3 系统软件设计

3.1 设计流程

软件设计是系统的控制中心。系统使用C语言在Keil u Vision4编译器中编写C8051单片机程序。主程序主要包括初始化系统参数、AD采样子程序、变参数数字PID算法子程序、结果输出子程序和延时子程序等。主程序流程如图2所示。

3.2 数字PID算法软件实现

PID控制算法通过调节被控对象被测点信号的偏差量,由执行机构改变控制量大小和调节方向,使输出趋于被测最优点。设计的磁悬浮控制系统采用增量式数字PID算法实现对悬浮物位置的控制,增量式PID算法可以直接输出调节增量,易于软件编程,调节量仅与最近几次采样值即偏差量有关,不需要偏差量累加。

设T为采样周期,ei和ei-1分别为第i次和第i-1次采样时位置的偏差量,ri为第i次给定位置值,wi为第i次实际位置值,ui为第i次采样时调节器的输出量。可得增量式PID算法:

式中:d0=Kp(1+T/Ti+Td/T);d1=Kp(1+2Td/T),d2=KpTd/T。

实际上uk-1/wk对应于k次采样单位被测量的输出量,而(uk-1/wk)ek恰为k次偏差量的调节量,故可取

式中,dj为动态变参数。

按照以本次偏差量的调节量ei为主,前两次偏差量的调节量ei-1和ei-2为辅的原则,提出以下变参数PID算法:

1)d0、d1、d2必须满足条件

2)将当前偏差值︱ei︱划分为两个区域,采用不同的参数进行算法的计算。

当︱ei︱≤E0,则表明偏差较小,此时系统输出接近给定值。Kp1、Ti1、Td1参数由式(7)和式(8)确定。

当︱ei︱>E0,则表明偏差较大,为改善控制系统的动态品质,加快系统响应速度,调整

Kp2、Ti2、Td2参数由式(7)、(8)和(10)确定。

变参数PID算法的软件实现如图3所示。

4 实验结果

对一维磁悬浮系统进行变参数PID控制实验,对悬浮物钢球稳定悬浮时的控制变量电流的大小进行采样,由Matlab软件对所获得的采样值进行处理。

当控制电流为2~4A时,电磁力等于重力,悬浮物钢球能够处于稳定悬浮状态。钢球稳定悬浮时控制电流的输出波形如图4所示。为了测试系统的抗干扰能力,加入幅值为0.25 cm、频率为2.5 Hz的正弦信号作为干扰信号后,钢球与电磁铁距离变化的波形如图5所示,钢球与电磁铁的距离在0.004~0.006 mm之间上下摆动。钢球仍能保持稳定悬浮,可见所设计的变参数PID控制器具有一定的鲁棒性。一维磁悬浮系统稳定悬浮实物钢球的装置如图6所示。

5 结语

本文设计了一种基于C8051单片机的一维磁悬浮系统变参数数字PID控制器,对所设计的C8051变参数数字PID控制器进行了实际磁悬浮系统控制实验,实现了悬浮物钢球的稳定悬浮控制,表明所设计的变参数PID控制算法可行且具有一定的鲁棒性。

摘要:针对一维磁悬浮系统,给出了改进型的变参数数字PID控制器,设计方法,设计了以C 8051高速单片机为核心的一维磁悬浮系统变参数PID控制器并进行了实验,实现了被悬浮物的稳定悬浮控制,控制误差较小,控制器具有一定的鲁棒性。

关键词:磁悬浮系统,变参数数字PID控制,C8051

参考文献

[1]卢伯英,于海勋.现代控制工程[M].4版.北京:电子工业出版社,2007:110.

[2]武倩倩,陈尚,陈永强,等.磁悬浮隔振系统非线性动力学建模与仿真[J].振动与冲击,2015(20):161-166.

[3]王军.基于高速单片机的电流型功率放大器研究[J].电子测量技术,2012,35(10):84-87.

控制系统8051 篇7

关键词:CAN总线,CAN协议,多点实时数据通信,C8051F040

现场总线是用于过程自动化和制造自动化最底层的现场设备或现场仪表互连的通信网络,是现场通信、计算机技术和控制系统的集成。它在生产现场的测量控制设备之间实现双向串行多节点数字通信、完成测量控制任务;是一种开放型的网络,使测控装置随现场设备分散化,被誉为自控领域的局域网。它在制造业、流程工业、交通、楼宇等处的自动化系统中具有广泛的应用前景[1]。

CAN是Controller Area Net的缩写,即控制网络局部网,是一种有效支持分布式控制或实时控制的串行通信网路。CAN是德国Bosh公司为汽车的检测、控制系统而设计的。由于CAN具有卓越的特性和较高的可靠性,因而非常适合工业过程监控设备互连。CAN已经成为一种国际标准(ISO-11898),是最具前途的现场总线之一[1]。

1 控制器局域网(CAN)

1.1 CAN总线的特点

(1)CAN总线以多主方式工作,网络上任意节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活,且无需考虑接收者地址的优先级。

(2)CAN网络上的节点信息分不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134 μs内得到传输。

(3)CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级比较低的节点会主动退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。

(4)CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。

(5)CAN的直接通信距离最远可达10 km,此时速率5 kbit·s-1;通信速率最高可达1 Mbit·s-1,此时通信距离最长为40 m。

(6)CAN的节点数主要取决于总线驱动电路,目前可达110个;报文标识符可达2 032种(CAN2.0A);而扩展标准(CAN2.0B)的报文标识符几乎不受限制。

(7)采用短帧结构,传输时间短,受干扰概率低,具有良好的检错效果。

(8)CAN的每帧信息都有CRC[1]校验及其他检错措施,保证了数据出错率极低。

(9)CAN的通信介质可为双绞线,同轴电缆或光纤,选择灵活。

(10)CAN节点在错误严重的情况下具有自动关闭输出的功能,这是总线上其他节点的操作不受影响。

正因为CAN总线具有以上这些特点,所以能较好地满足多点实时数据通信平台的要求。

1.2 CAN总线协议

CAN的协议结构划分为两层:数据链路层和物理层。数据链路层又划分为逻辑链路控制子层和介质访问控制子层。物理层可分为物理信号层PLS、物理介质连接PMA和介质相关接口MDI。CAN的ISO/OSI参考分层结构如图1所示。

数据链路层的LLC和MAC子层的服务和功能被描述为“目标层”和“传送层”。LLC子层的主要功能是:为数据转送和远程数据请求提供服务,确认由LLC子层接收的报文是否已被接收,并为恢复管理和通知超载提供信息。MAC子层的功能主要是传送规则,亦即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层也要确定何时开始一次新的发送,总线是否开放或者是否马上开始接收。定位时特性也是MAC子层的一部分。

物理层定义了信号怎样进行发送,因而涉及位定时、位编码和同步的描述。详细层的功能参阅文献[1]。

1.3 CAN多点实时通信

CAN是有效支持分布式(多点)实时控制的串行通信网络,在实际的系统设计中,用户可以根据振荡器时钟频率、总线波特率以及总线的最大传输距离等因素,对CAN控制器的位定时参数进行优化设置,协调影响位定时设置的两个主要因素:振荡器容差和最大总线长度,合理安排位周期中采样点的位置和采样次数,保证总线上位流的有效同步的同时,优化系统的通信性能,进一步推进CAN总线的应用。

2 C8051F040单片机

Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟、数字外设以及其他功能部件,代表了目前8位单片机控制系统的发展方向。芯片上有1个12位多通道ADC,2个12位DAC,2个电压比较器,1个电压基准,1个32 kB的Flash存储器,与MCS-51指令集完全兼容的高速CIP-51内核,峰值速度可达25 MI·s-1,并且还有硬件实现的UART串行接口、完全支持CAN2.0A和CAN2.0B的CAN控制器。

3 CAN多点实时数据通信系统设计

3.1 CAN多点实时数据通信系统硬件结构

设计的CAN多点实时数据通信系统由一台电脑,两块基于C8051F040单片机开发板组成。结构框图如图2所示。

在这个系统中,电脑作为主机,通过USB/CAN转换器与CAN总线相连,使用软件工具CANTools-V6.2进行数据地发送、接收以及显示。系统中两个CAN节点分别为开发板1和开发板2,通过编译相应的程序,使得CAN节点能实时把数据发送到主机,主机可根据接收到的数据向CAN节点发出控制信号来改变CAN节点回发的数据,以此达到实时通信控制的目的。同时两个CAN节点之间也能互相进行数据通信,并把所接收到的数据显示在开发板的LCD屏上。

3.2 软件设计

软件设计分为两大部分:(1)主程序的设计。(2)CAN通信库函数程序的编写。

主程序主要涉及的是程序流程,包括调用初始化函数,打开中断,根据与主机通信还是与其他节点通信调用CAN通信库函数编写出相应的通信流程,流程图如图3所示。

CAN通信库函数主要包括:系统初始化函数、CAN初始化函数、CAN中断服务函数、CAN接收数据函数和CAN发送数据函数。

这里详细讲述CAN通信库函数中,CAN接收数据函数、CAN发送数据函数和CAN中断服务函数。

CAN接收数据函数和发送数据函数的流程图,如图4所示。

CAN中断服务函数程序流程图,如图5所示。

4 结束语

系统可以完成各个节点之间以及节点与主机之间的实时数据收发,基本完成了多点实时数据通信任务,能做到速度快、延迟低、错误率低、稳定性高,并且能够在电脑上直观地看到实验结果。通过示波器测得该系统完成一次通信需要10.8 μs,能满足工业上实时监控的要求,这说明基于C8051F040的CAN多点实时数据通信的可能性,且因为其多节点设备接入简易,使其在远程工业实时监控上有较好的前景。缺点在于节点的数量不够多,节点之间的距离不够远,没有测试出多点通信的节点数量上限和实时通信距离上限。

参考文献

[1]杨春杰,王曙光,亢红波.CAN总线技术[M].北京:北京航空航天大学出版社,2010.

[2]张培仁,孙力.基于C语言C8051F系列微控制器原理与应用[M].北京:清华大学出版社,2007.

[3]万燚.CAN总线分布式系统实时通信的研究与应用[D].武汉:华中科技大学,2004.

控制系统8051 篇8

汽车耐久性试验是汽车试验的重要组成部分, 而在试验过程中试验人员驾驶行为的变化, 往往导致实验结果不一致, 从而降低了实验数据的有效性。因此各大汽车公司相继采用驾驶机器人代替试验人员进行汽车试验。利用驾驶机器人进行试验对于减轻人类劳动强度, 降低试验环境对试验人员的伤害, 提高试验效率、试验结果的客观性和准确度, 节省试验费用, 进而加速汽车研发进度都有重要的意义[1]。

为了测试驾驶机器人以及驾驶算法的可靠性, 必须有一个仿真驾驶系统能满足驾驶机器人的要求。本文所设计模型车无线控制系统则是实现机器人仿真驾驶的主要环节, 为驾驶机器人及其驾驶算法提供了实验平台。

系统采用了1∶10电动模型车, 速度的调节由电子调速器和一个无刷直流电机来完成, 通过舵机对前轮的控制来完成模型车的转向。上位机的控制信号经由ZigBee无线收发模块传输给控制核心C8051F040, 单片机根据上层的运动命令发送对应的PWM信号给电子调速器和转向舵机, 实现对模型车运动的控制。

1 系统框架

系统采用模块化设计, 主要由单片机、无线收发模块、测速反馈、电子调速器、无刷电机、转向舵机和上位机组成[2]。如图1所示。

2 硬件设计

2.1 无线模块硬件设计

无线收发模块通过ZigBee技术实现了微处理器与上位机的通讯, 是上位机与模型车运动控制模块的中间节点。通过该模块, 上层控制命令可以发送到微处理器上, 同时微处理器反馈此时的速度信号与转角信号给上层控制台。

该模块选用了TI公司推出的CC2431芯片。CC2431采用增强型8051 MCU, 32/64/128 KB闪存, 8 KB SRAM 等高性能模块, 并内置了ZigBee协议栈且支持2.4 GHz IEEE 802.15.4/ZigBee协议[3]。

图2所示为无线模块的硬件电路示意图, 以CC2431芯片为核心。天线采用非平衡天线, 为了能使天线更好地工作, 要采用非平衡变压器来连接天线。非平衡变压器由电阻R1, R2, 电感L1, L2, 电容C1和PCB微波传输线构成。

其中, R1, R2的阻值为电波波长λ的一半, 即λ/2。L1, L2的电感值分别为22 nH和8.2 nH, 它们不仅是非平衡变压器的组成部分, 还为片内的低噪声放大器 (LNA) 和功率放大器 (PA) 提供所需的直流偏置。整个天线系统的等效电阻为50 Ω, 满足RF输入/输出匹配电阻的要求[4]。

2.2 控制模块硬件设计

控制模块使用的是Silabs公司的C8051F040单片机作为系统的微处理器进行电机的控制及系统的其他处理工作。

控制模块硬件图如图3所示 (仅画出使用的引脚) 。

主电机选择了7.2 V的无刷直流电机。由于有刷电机换向是通过碳刷及整流子, 但是碳刷及整流子在电机转动时会产生火花, 碳粉因此会造成组件损坏, 而无刷直流电机是用电路来进行换向的且体积小、易控制[5], 因此不存在这些问题。无刷直流电动机是以自控式运行的, 所以不会像变频调速下重载启动的同步电机那样在转子上另加启动绕组[6], 也不会在负载突变时产生振荡和失步。

无刷直流电机构造复杂, 因此对它的直接控制通过电子变速器来实现[7]。根据单片机PWM信号的占空比来控制电子调速器中MOSFET的导通关断时间从而控制电流, 达到控制电机转速的目的。这种方法具有电流大, 输出电流线性度高等优点, 使电机的效率得到提高。

模型车的转角控制是用一个舵机实现的。舵机的控制简单、输出力矩大、输出角度精确、工作电压低, 非常适合用于模型车的转角控制。舵机内部有一套精密的减速齿轮组, 直流电机的输出经这套减速齿轮减速后输出[7]。单片机输出PWM信号来控制舵机的转角, 该信号进入舵机内部的信号调制芯片获得直流偏置电压, 将此直流偏置电压与内部一个标准电路产生的周期为20 ms宽度为1.5 ms的基准电压比较, 获得电压差输出。电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时, 通过级联减速齿轮带动电位器旋转, 使得电压差为0, 电机停止转动[8]。

系统的电源采用了7.2 V的电池, 而C8051F040的高电平是3.3 V, 因此需要进行电平转换。本系统使用的是贴片式的LM1117进行电平转换。如图4所示, 由于该芯片的输入、输出的允许压降很小, 所以用了两片规格不同的LM1117实现两级电平转换, 中间再串联二极管, 利用二极管的固有压降来满足芯片的压降要求。

3 软件设计

3.1 无线模块软件设计

无线模块应用程序是将上位机的运动控制信号发送给电机控制模块, 另外还要把微处理器的电机控制量上传给上位机[9]。复位时进行系统初始化并开中断, 置标志位ST, 完成后系统进入休眠模式 (ST=00) 。当上位机有数据采集要求时, 通过串口与之通信, 此时将会触发系统的串口中断激活系统。随后, 中断服务程序将系统置为发送命令状态 (即ST=01) , 先解析命令信号, 接着将命令信号打包发送出去, 发送成功后将进入等待接收数据模式 (即ST=10) 。此后, 如果有数据发送过来, 底层将数据上交到应用层后, 就直接将数据通过串口上传给上位机, 完成一次数据传输[10]。其程序流程如图5所示。

3.2 电机控制模块软件设计

该模块的软件设计流程如图6所示。

上电复位后, 首先完成单片机的初始化, 包括看门狗初始化, 输出口定义, 交叉开关配置, 配置时钟寄存器, T0时钟控制器。C8051F040单片机资源丰富, 但基于51内核 (特殊功能寄存器只有128个) , 其很多特殊功能寄存器便不能安排下, 于是采用了分页机制。所以在配置不同的寄存器时, 要先使用选择分页。

单片机内使用中断方式产生PWM信号, 定时单位设为0.01 ms, 初始信号为周期16 ms, 高电平时间1.5 ms, high0, high1分别控制速度控制波形和转角控制波形的高电平时间。当接收到启动信号后, P1.0, P1.1接收速度信号, P1.3, P1.4接收转角信号。

4 结 语

本文设计了以C8051F040为控制核心的仿真平台, 通过与上位机的通信, 可以很好地满足机器人仿真驾驶的要求。系统采用上位机无线控制物理模型的方式, 使得仿真驾驶更加安全可靠。

该系统具有很好的拓展性, 通过无线通信, 可以增加更多的数据采集系统用以反馈信息给上位机, 拓展了该平台的应用范围。如增加定位反馈系统, 则上位机可以屏蔽物理模型的运动进行算法模拟及试验。在参数方面, 可以增加高精度的测定反馈系统, 通过与上位机保持实时的通信来满足更高的仿真要求。

摘要:为了给汽车耐久性试验的驾驶机器人提供仿真驾驶平台, 实现对模型车运动的无线控制, 设计了由无线收发单元与运动控制单元组成的模型车无线控制系统。系统以单片机C8051F040为控制核心, 使用基于ZigBee的无线收发芯片CC2431与上位机通讯。通过接受上位机的信号, 系统能实现机器人仿真驾驶, 对机器人驾驶算法的可靠性进行验证。

关键词:C8051F040,CC2431,ZigBee,PWM,无刷直流电机,仿真平台

参考文献

[1]陈晓冰, 张为公, 张丙军.汽车驾驶机器人车速跟踪控制策略研究[J].中国机械工程, 2005 (18) :1 669-1 673.

[2]李岁劳, 杨鹏翔, 朱新颖.基于C8051单片机的多路温度无线遥测系统[J].计测技术, 2007 (1) :42-43, 51.

[3]李辉, 张晓光, 高顶.基于ZigBee的无线传感器网络在矿井安全监测中的应用[J].仪表技术与传感器, 2008 (4) :33-35.

[4]Texas Instruments.CC2431 Location Engine[EB/OL].ht-tp://www.ti.com/cn/litv/pdf/swra095, 2006.

[5]胡庆波, 郑继文, 吕征宇.混合动力中无刷直流电机反接制动PWM调制方式的研究[J].中国电机工程学报, 2007, 27 (30) :87-91.

[6]张洋, 洪喜, 王永刚.基于C8051F005的无刷直流电机控制系统[J].科技创新导报, 2008 (35) :76-78.

[7]何昱.基于无刷电机的航模系统的研究[D].武汉:武汉理工大学, 2008.

[8]朱志红, 张楷.无刷直流电机的简易控制器[J].机电一体化, 2005 (1) :56-60.

[9]吴呈瑜, 孙运强.基于ZigBee技术的短距离无线数据传输系统[J].仪表技术与传感器, 2008 (5) :38-39.

控制系统8051 篇9

1 计量原理

集中空调系统运行的降温原理是通过风机盘管中的冷水与空调房间里的空气换热来实现, 所以用户消耗的冷量是中央空调产生费用的主要原因[5]。风机盘管分散设置于空调房间, 室内负荷由机组内盘管承担, 室外空气过滤后经过盘管冷却, 然后进入空调房间, 并和室内回风口形成对流, 保持室内空气的洁净, 并达到所需要的温度[6]。

用户使用的冷量多少可由风机盘管的入水、出水温度差及流量来计算

式中ρ———流水密度;

V (t) ———水的流量;

T2———风机盘管回水温度;

T1———风机盘管入水温度。

将式 (1) 离散化

2 系统构建

中央空调使用费主要是由于热交换产生的, 故交换的冷量采集是计费系统的核心和计费的主要依据。冷量采集器的系统框图如图1所示。

冷量采集器采用EP2C5T FPGA为平台, 构建以8051软核为核心器件的SOC系统。EP2C5T FPGA是Altera公司推出的CYCLONEⅡ系列芯片, 它内置了8051CPU软核。8051软核处理系统, 具有工作速度快, 体积小, 能耗低等一系列优点[7]。借助倍频技术, 8051软核工作频率可达200M以上, 较传统的采用单片机作为采集器, 大大提高了精度。在QU-ARTUSⅡ软件平台中, 构建SOC系统, 如图2所示。

图2中, pll50为倍频模块, 通过倍频, 可使单片机工作在200 M以上的频率, 这是传统单片机远不能达到的工作速度, 也是基于8051软核单片机系统的优势所在。ram256为单片机的数据存储器, 共256 KB, 8位地址线。rom4 kb为单片机的程序存储器, 根据需要最大可扩展至64 kb, 本系统扩展了4 kb, 12根地址线。基于8051软核单片机系统输入/输出接口是独立的, P0I[0..7]~P3I[0..7]为输入接口, 采集外部数据, P00[0..7]~P30[0..7]为输出接口, 控制外部对象。

风机盘管入水温度T1和回水温度T2采用PT1000温度传感器检测, PT1000为铂热电阻, 它的电阻值随温度的变化而变化。温度传感器的输出经过电子电路信号处理, 共模数转换器变换后送入EP2C5T FPGA处理。流量计采用脉冲输出形式, 脉冲输出的频率与流量成正比, 输出信号可直接供FPGA输入。

电动两通阀用于控制风机盘管的流水, 它由室内温度和设定温度共同决定, 当室内温度高于 (低于) 设定温度时, 电动两通阀打开, 风机盘管与室外空气进行冷量的交换, 达到降温 (升温) 的目的, 否则电动两通阀关闭。电动两通阀关闭器件, 不进行流量和流水温度的采集, 不发生冷量交换和电费。

3 软件设计

基于8051软核单片机系统的程序设计与传统的单片机程序设计是一样的。用户编写的程序, 经过Keil软件编译产生的.hex目标文件由图2中的rom4kb程序存储器调用执行。按照模块化设计和自顶而下设计思路完成系统的程序设计, 主要包括主程序、显示子程序和2个定时/计数器中断服务程序。主程序负责对温度传感器DS18B20的数据采集, 以及相关数据的计算和显示, 流程图如图3所示。显示子程序负责显示中央空调用户使用冷量及电费等信息。中断服务程序0负责流量计的脉冲采集, 按照固定时间 (1 ms) 里对脉冲计数的方法来确定脉冲频率, 进而计算流量, 固定定时时间由T1控制。中断服务程序1读取A/D转换结果, 定时采集风机盘管的入水、回水温度, 流程图如图4所示。

根据风机盘管入水温度T1、回水温度T2和流量V (t) , 可以计算出单位时间内交换的冷量。在电动两通阀导通时, 冷量采集器实时采集上述数据, 累积计算冷量, 并计算出电费, 在终端设备上显示。同时, 将相关数据送上位机储存和显示[8]。

4 调试

根据上述硬件电路设计和软件设计流程, 冷量采集器就可以根据温度传感器、流量计等采集的数据, 计算出交换的冷量, 并以此为主要依据计算电费[9]。试验中, 选取了2个节点 (面积、温湿度相仿的房间) 作为对照, 空调分别运行10 min和20 min, 观察交换的冷量和电费数据变化情况。观察界面采用QUARTUSⅡ软件中的SignaltapⅡ逻辑分析仪, 它可以动态的显示CPU中存储器的变化, 如图5所示。图中, 地址为0020H-0023H和0024H-0027H分别储存的是两个节点的冷量交换量, 地址为0030H-0033H和0034H-0037H分别储存的是计算所得电费, 数据都以实数形式储存, 占用4个储存单元。0020H-0023H储存的数据是4A、D2、E9、C0, 对应的实数是6.9112×106J, 是运行过程中的一个状态数据, 0024H-0027H储存的数据是4B、3F、6F、D0, 对应的实数是12.546×106J。两个房间的冷量消耗量近似为2倍, 验证了采集器的采集精度。空调停止时, 数据几乎保持不变, 表示不再发生冷量交换, 空调运行时, 该数据不断增大, 对应的电费也不断增加。据此计费系统控制运营的两个节点所消耗的电费总和与总表电费总额消耗量十分接近, 表明此计费系统的运行, 相对传统计费系统, 具有较好的优越性, 使中央空调的计费有据可依。

5 结束语

针对当前中央空调计费误差大、系统工作不稳定等问题, 提出基于8051软核的中央空调计费系统设计。该方案以8051软核为控制核心, 实时、快速的采集冷量交换量, 控制电动两通阀的通断, 具有计费精度高、方便集成、工作稳定等优点, 优化了传统中央空调计费系统, 具有较好的应用前景。

参考文献

[1]段晓燕.浅谈中央空调的技术革新和市场前景[J].科技信息, 2013 (21) :75-76.

[2]张峰.中央空调时间型计费系统分析[J].暖通空调, 2013 (8) :34-37.

[3]李志生, 彭兆斌, 刘旭红, 等.中央空调计费应用调查与探讨[J].制冷与空调, 2010, 10 (2) :18-22.

[4]刘汉伟, 徐晓宁, 陈柳枝.基于按冷量计费的中央空调分户计费系统的应用探讨[J].制冷与空调, 2012, 8 (4) :36-38.

[5]何跃智, 彭仟能.中央空调系统能量计量计费形式探析[J].供热制冷, 2012 (11) :60-62.

[6]徐洁.时间当量型风机盘管空调计费系统[J].发电与空调, 2014, 35 (3) :91-94.

[7]贺婷.基于FPGA空调控制系统设计[J].广东石油化工学院学报, 2012, 22 (4) :43-45.

[8]张艳阳, 叶峰.基于Zig Bee的智能中央空调无线监控系统[J].自动化与仪表, 2013 (28) :26-30.

控制系统8051 篇10

随着石油天然气资源的不断开发和利用, 长输管道铺设的重要性逐渐显露, 管道全位置焊接的应用越来越多。由于此种焊接劳动强度大、生产效率低, 研制性能优良的全位置自动焊接系统, 就成为当前管道焊接装备发展的趋势[1,2]。

目前, 我国的全位置焊接设备多为进口[3], 要满足我国目前管道铺设的焊接工作, 亟须研制出具有可移植性、高性价比的全位置自动焊机, 提高国产焊接设备的自动化水平。

某批国外进口的自动焊设备, 广泛用于大口径管道的焊接, 焊接效果令人满意, 缺点是只能焊接有限几种直径的管子, 并且每换一种管径, 都需要现场编程, 有时候甚至焊同一个管子也要分几段编程。这样不仅增加了设备的操作难度, 而且使系统参数跳跃性变化。加上进口设备维修费用高, 所用单片机和芯片有很多已经落后, 故沿用原设备的机械结构, 重新开发设计其自动控制系统。

1全位置自动焊接系统组成

管道全位置自动焊接就是指在管道相对固定的情况下, 焊接小车带动焊枪沿轨道围绕管壁运动, 从而实现自动焊接。一般而言, 全位置自动焊接装置由焊接小车、行走轨道、自动控制系统、系统电源、保护气体供给系统等组成[4], 如图1, 其中自动控制系统是本文要研究的内容。

2系统硬件设计

2.1硬件总体设计

本文设计的全位置自动焊接控制系统, 包括数据采集系统, 键盘输入系统, 液晶显示系统, 继电器控制和焊接小车中所有电机的控制系统, 用来完成整机的系统控制。系统操作简单, 把全位置自动焊接的工作过程按工艺分为打底、盖面、填充三步, 每一步分别根据各自的焊接工艺特点编程, 不管焊接何种直径的管子, 使用时只需选择相应的按钮, 便可自动运行一圈, 不必现场编程。同时, 通过液晶显示器显示出用户操作信息和机器运行信息, 让人一目了然。整体电路框图如图2所示。

控制芯片是整个控制系统的核心, 关系到整个系统的功能和性能。一开始考虑到此系统将配备在野外工作的机器上, 稳定性很重要, 打算选用PLC, 随着对PLC了解的深入, 发现PLC的计算能力不是很强, 而且PLC体积较大, 此系统要求控制系统放在焊接小车上沿管壁运动, 用PLC极不方便。虽然现在小型化的PLC已经得到广泛应用, 但是其本身的IO口不能满足本系统要求, 扩充后体积进一步增大, 比起单片机系统, 体积还是要大上不止百倍, 成本高出不止千倍。单片机是超大规模集成电路工艺技术发展的产物, 具有集成度高、通用性和灵活性等诸多优点。况且单片机发展到现在, 可靠性与集成度都不断提高, 并追求产品系统最大包容, 实施线路内嵌, 减少了外围驱动接口单元及电路板之间的信号传递, 减少了电路板信号传送时的系统信号串扰, 提高了数据传输和处理的速度。经对比分析, 本系统选用了美国Silicon Labs公司生产的集模拟、数字信号于一体的混合信号系统级SoC芯片C8051F020。

角度数据采集是本系统的新增模块, 用来采集焊头到管子圆心的连线与重力加速度方向的夹角θ的值。系统加入此模块后, 性能的优越性体现在以下几个方面。

(1) 全位置焊接中, 不同位置采用不同的焊接规范。进口系统通过计算每一段的弧长或者时间作为圆周分段依据, 但由于直径不同时弧长或者时间不同, 所以只能焊几种直径的管子, 而且每换一种直径都要修改程序。本系统采集角度信号作为调速依据, 找到了不同直径管子的共同点, 使自动焊设备的工作范围增大。

(2) 进口自动焊系统将各个主要控制参数设置为分段函数, 其实各参数应该是一个渐变的过程, 而这种渐变的自变量正是本模块所采集的角度信号θ, 系统增加此模块之后, 便可以通过曲线拟合, 找到各参数与θ的函数关系, 实现系统参数的平滑改变, 使系统性能更加优化。

(3) 进口焊接设备需要程序实时记录焊接位置, 否则一旦异常停车, 很难找到起焊位置, 而实时记录又增大了程序量。增加此模块之后, 每次开始焊接时都要先采集角度信号, 从而分配各个电机的速度进行焊接。这样就不必记录事故发生位置, 而且可以从圆周的任何一点起焊。

2.2数据采集电路

选用深圳市华夏磁电子技术开发有限公司的AME-B002角度传感器, 测量范围0~360°, 没有检测死区, 体积小, 非接触检测功能, 宽温度范围, 是满足苛刻环境应用需求的理想选择。

AME-B002共引出三根线:引脚1接5V电源;引脚2接电源地;引脚3为信号输出, 输出+0.5V~+4.5V模拟信号, 用一个AD转换便可以得到想要的数据。为了提高数据采集的精度, 采用分压形式测量。

2.3电机控制电路

选用常州富兴机电有限责任公司的直流无刷电机及其驱动器, 需要对其进行正反转控制、调速控制和速度脉冲捕捉。正反转控制用普通的IO口便可以实现。

速度电压输入可以是0-5V模拟电压, 也可以是PWM。本系统选用PWM, 因为PWM具有很强的抗噪性, 而且C8051F020含有可编程计数器阵列模块, 提供增强的定时器功能, 需要较少的CPU干预。只要将其前三个捕捉/比较模块CEX0、CEX1、CEX2编程为16位PWM 工作方式, 就可以通过调节其占空比, 分别用来控制行走电机、送丝电机、摆动电机的转速。

速度脉冲输出使用C8051F020的计数器/定时器即可完成。将T1配置为16位定时器, 随着系统时钟信号自动累加;T0配置为16位外部计时器, 用来捕捉行走电机发出的脉冲信号。两个计数器/定时器相结合, 便可以测出行走电机的转速;再将T2和T4配置为自动重装载的16位计数器, 用来捕捉送丝电机和摆动电机发出的脉冲信号。

为了避免相互干扰, 单片机与电机驱动之间采用了光耦隔离, 此处选用TLP521。

2.4键盘及显示电路

键盘电路采用中断工作方式, 由软件译码。液晶屏选用JRM-12864H-C液晶显示模块, 它采用ST7920控制/驱动器, 内部含有中文字库的图形点阵。

本系统主要利用液晶屏实现了显示字母、数字、汉字和反白显示等功能。显示字母和数字主要用在显示电机转速等;显示汉字主要用在提示用户操作和显示机器运行情况等;反白显示主要用于选定摆动电机速度, 被选中的反白显示。

2.5继电器驱动电路

被改进的自动焊设备上有一个12V的继电器和一个24V的电磁气阀, 分别用来控制焊接电源和保护气体的通断。两者都用三极管2N3904驱动, 其前加光耦TLP521进行隔离, 线圈两端并联1N4007续流二极管防止触点击穿。

2.6系统电源

本系统的电源包括焊接电源、控制电源、电动机电源, 均采用现场的直流发电机供24V电, 其中焊接电源的通断通过继电器受控制系统的控制。

3系统的软件设计

系统的操作和工作过程如下:上电后, 自动完成参数初始化, 时间很短, 不必等待。接下来, 要看哪个按钮被按下, 如果使用者想要检查电机运转情况或觉得各电机状态不到位, 就分别按住让电机单独运行的按钮, 直到电机到位后松开。测试完毕符合要求, 就可以准备焊接。先选定摆动电机速度, 然后打开保护气体, 接通焊接电源, 后两项操作均通过按下按钮来接通相应的继电器, 没有先后, 但是必须两项操作都进行了, 才能进入下一步程序。接下来选择进行何种焊接, 当系统确认已经把相应程序载入, 便可以进行焊接了。在焊接过程中, 系统实时检测焊枪到管子圆心连线与重力加速度方向的角度, 先查看焊枪是否已经走了一圈, 如果是, 就停止焊接;若不是, 就根据拟合得到的函数关系式确定电机转速, 继续焊接。整个操作过程与工作过程, 液晶都一直显示相应内容, 包括提示操作者的下一步操作, 对于操作者按下的按键进行确认, 显示机器的工作状态等等。系统总体流程图见图3。

在焊接过程中, 焊接小车的行走速度、送丝速度以及焊枪的左右摆动速度是三个主要参数。其中摆动速度是在焊接现场选定输入的;焊接小车的行走速度和送丝速度与角度信号θ密切相关, 本系统利用曲线拟合找到系统参数与θ的函数关系, 在焊接过程中程序实时采集θ后, 直接调用此关系求出各参数值, 实现自动控制并使其平滑改变。下面以填充焊中行走电机速度值的曲线拟合过程为例, 说明拟合过程。

通常在全位置焊接中把整个圆周均分为24份。通过查阅资料或实际测量, 找到在填充焊中每一份的端点处行走电机的速度值, 备用。

本系统的曲线拟合采用最小二乘法的多项式拟合[5,6], 为了确定拟合次数, 在Matlab命令行中分别输入互相对应的角度与速度值, 使用样条插值[7], 然后显示插值图像, 观察波形。

从插值图像中看出行走速度与θ之间大体上为一个三次或四次关系, 为了拟合结果的准确性, 先尝试四次拟合。运行后发现四次项系数与三次项系数都为0, 所以再尝试二次拟合;结果发现二次拟合曲线与插值曲线相差太远, 故又尝试三次拟合;运行后发现三次拟合曲线与四次拟合曲线很相似, 后来又经过不断的比较, 最终选用了最小二乘法的三次拟合结果:

p=0.0000 -0.0033 0.3860 27.6504

故得到填充焊中行走电机的速度值与θ之间的关系式为

ν行走=-0.0033θ2+0.3860θ+27.6504

各拟合图像与插值图像示于图3, 其中样条插值图像用红线表示, 四次拟合图像用绿线表示, 三次拟合图像用蓝线表示, 二次拟合图像用黑线表示。

应用同样的方法得到送丝电机的速度值与θ之间的关系式为

ν送丝=0.0001θ3-0.0115θ2+0.7573θ+20.4628

同样, 找到在打底焊和盖面焊中圆周分段端点处电机的速度值, 可以分别得出在这两种焊接工艺中行走电机和送丝电机的速度值相对于θ的函数关系式。

3结束语

本文设计的管道全位置自动焊接控制系统, 以价格低廉、性能优越、使用方便为基本原则, 通过与老设备的比较, 本系统性能的优越性表现在以下几个方面:

(1) 引入了角度传感器, 不仅适应了不同直径管道的焊接需求, 增大了自动焊接设备的应用范围, 而且可以使系统实时采集与焊接工艺密切相关的角度信号, 实时修改系统参数, 不必现场编程, 降低了操作难度, 减少了操作工的培训费用, 使系统性能更加优越。

(2) 利用最小二乘法对系统中的各参数进行了曲线拟合, 找到了它们与系统采集信号θ之间的函数关系, 实现了参数的平滑改变, 改变了进口系统参数分段变化且在分隔点处出现跳跃的状况, 使系统性能更加优化。

(3) 增加了液晶显示, 详细显示用户操作信息和机器运行信息, 增大了人机交流的程度。

(4) 系统的总体成本下降, 更有利于自动焊接设备的推广和应用。

参考文献

[1]隋永莉, 王福柱, 李广民, 黄志辉.长输管道建设中焊接设备的应用现状与发展趋势.电焊机, 2006, 36 (12) :1-3

[2]Ishikawa Nobuyuki, Endo Shigeru, Kondo Joe.High performance UOE Linepipes.JFE Technical Report, 2006, (1) :20-26

[3]胡安鑫, 苏欣, 孙华锋, 秦政先.国内外长输管道自动焊现状.天然气与石油, 2006, 4:12-18

[4]薜龙, 蒋力培, 张卫文, 邹勇, 孙亚玲.基于国产焊接电源的管道成套焊接设备研制[J].焊接设备与材料, 2006, 2 (35) :39-41

[5]罗欢, 曹慧媛, 姚娜.最小二乘法在认知诊断模型中的应用.科技创新导报.2009, (3) :236

[6]邹波忠, 汪家林, 杨燕.最小二乘法在监测仪器检验率定中的应用.山西建筑.2009, 35 (9) :340-342

上一篇:企业经济体制转变下一篇:化工废水处理