随着电子技术的发展,微计算机控制技术和网络技术的结合正在逐步应用于工业自动化领域采用网络技术的远程控制方式是未来发展趋势之一。
电动机是工业自动化控制系统中应用最典型,最广泛的执行器件。直流电动机具有良好的线性调速特性、简单的控制功能、较高的效率和优异的动态特性,广泛应用在各种调速控制中。在各种直流电机调速方法中,脉冲宽度调制(PulseWidthModulation―PWM)因其需要的大功率可控器件少、线路简单、调速范围宽、电流波形系数好、附加损耗小、功率因数高,从而得到广泛应用。PWM是指将输出信号的基本周期固定,通过调整基本周期内的工作周期的大小来控制输出电压,从而调整直流电机的转速。
本设计采用了飞利浦半导体公司生产的基于A呢内核的微处理器LPC2210和以太网控制芯片RTL8019AS,实现了对直流永磁电机的PWM远程调速控制。本文将详细介绍LPC2210与RTL8019AS的接口电路,以及直流电机的控制电路以及软件编程。
2硬件设计LPC2210是基于一个支持实时仿真和跟踪的款芯片内部没有片内Flash只带16KB的片内RAM,不能满足需要,所以在LPC2210外部存储器接口的BankO上扩展了一片2M字节的NOR FLASH,在Bankl上扩展了一片512K字节的PSRAM.这款芯片内部不带网络控制器,还需要在外部存储器接口上扩展网络控制器RTL8019AS.电机驱动芯片选用SGS公司的L298N,其内部包含4通道逻辑驱动电路,即内涵二个H桥的高电压大电流双全桥驱动器,接收标准TTL逻辑电平信号,可驱动46V,2A以下的电机。系统总体结构图如所。
岗流电动机系统总体结构1网络控制器与LPC2210的接口设计RTL8019AS是由Realtek公司生产的一种高度集成的以太网控制器,它实现了以太网媒介访问层(MAC)和物理层(PHY)的全部功能。在芯片内部集成了DMA控制器、ISA总线控制器、16KSRAM和网络PHY收发器。程序员可以通过DMA方式把需要发送的数据写入SRAM中,让芯片自动将数据发送出去;而芯片在接收到数据后,程序员也可以通过DMA方式将其读出。在全双工模式下可以实行同时接收和发送。所以采用RTL8019AS芯片作为网络控制器是一个很好的选择。网络接口的原理图如所示。
网络接口原理图理器的接口原理图中,网络控制器RTL8019AS芯片工作在跳线模式,其基地址为0x0300,所以电路均接地,SA9接电源,SA8与地址总线的A22连接,SA5与LPC2210单片机的外部存储器接口Bank3片选CS3连接,当SA8为1,SA5为0时,选中RTL8019AS芯片,其操作地址为0x83400000~0x8340001F.由于LPC2210单片机是总线开放型的微控制器。所以电路设计是以16位总线方式对网络控制器RTL8019AS进行访问的,即LPC2210单片机的数据总线D0~D15与网络控制器RTL8019AS的SD0~SD15连接,由于网络控制器RTL8019AS的工作电源是5V,而LPC2210单片机的I/O电压是3.3V,所以总线上串接470的保护电阻。
22电机控制电路设计微处理器LPC2210的脉宽调制器PWM是建立在标准定时器0八之上的,可实现6个单边沿控制或3个双边沿控制PWM输出,或这两种类型混一个匹配寄存器(PWMMR0~PWMMR6)控制PWM边沿的位置。当单边沿控制时,PWMMR0匹配时输出上升沿,与另一个匹配寄存器匹配时输出下降沿。本设计控制一个直流电机,仅需要两路PWM输出,实际中选用了PWM5 21)和PWM6(P0.9)。为提高系统的抗干扰能力,在微处理器和电机驱动放大电路之间用了光电耦合器(TLP521),实现电气隔离。
放大微处理器输出信号采用的是专用集成电路L298N.其内部集成了2个H桥以及桥臂上开关管的推动电路、防止桥臂直通的控制逻辑电路,接收标准TTL逻辑电平信号。L298N有两个相同的模块,每个模块有3个控制输入端:一个使能端和两个方向控制端。3个输入端的控制电平与电机转动状态的关系如表1所示。其中H表示高电平,L表示低电平,X表示高电平或低电平。
表1 L298N控制信号与直流电机转向的关系表电机运转正转反转快速停止自由停止测量电机速度选用的是增量式光电编码器,通过对光电编码器输出脉冲进行计数,将所得数据直接送给为处理器处理,无需A/D转换等环节,简化了电路。由于微处理器LPC2210无外部事件计数器,对外部时间计数需用外部中断或者定时器捕获功能,本设计中,使用了外部中断3(P0.20),光电编码器的输出信号经过施密斯触发器整形之后,直接接到微处理器LPC2210的P0.20口。控制电路原理图如所示。
控制电路原理软件设计网络控制器RTL8019AS与控制计算机之间的通信采用的是TCPP协议,可以确保数据准确无误的传送。在进行数据传送的过程中把微控制器LPC2210作为服务器,PC机作为客户机。PC机发送指令,微控制器LPC2210通过以太网接收到指令,并根据指令控制电动机的运行。因此,根据实际需要采用多任务实时操作系统来管理微处理器,并且要有基于此操作系统的TCPP协议栈。本设计,在微处理器上的软件平台采用了源代码开放的嵌入式实时操作系统uC/OS―和周立功公司的TCP/IP协议栈ZLGP.uC/OS―是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核,是针对嵌入式应用而设计的,而且,在设计之初就充分考虑到了它的可移植性,它的大部分源代码都是用可移植的ANSIC编写的。ZLG/IP是周立功公司开发的基于uC/OS―的小型TCPP协议栈,它使用uC/OS―实时操作系统的信号机制来实现一个多任务并行并可重入的协议栈。ZLG/IP还具有层次清晰,易于升级和修改等特点,带有SocketAPI接口函数,很方便使用者进行应用层功能的开发。
本系统需要实现以下基本功能:微处理器接收控制计算机发过来的数据,判别是参数还是指令,加以处理并做出相应的动作。同时,计算直流电机的当前转速,并把当前转速发给控制计算机,用于显示。根据指令,微处理器执行不同的算法,计算出PWM占空比,用以调节直流电机的转速。为此,在uC/OS―操作系统中,编写了以下任务来实现基本功能:,初始化使用到的各个寄存器和变量,并创建各个任务。
的SocketAPI函数,接收控制计算机传来的数据,判别指令,同时把控制计算机需要的数据发送回去。
机选用的控制算法,实时计算PWM波的占空比。
个途径:全局变量和发消息给另一个任务。本系统中,笔者对一些判断标志使用了全局变量,而对其他使用了消息邮箱。
下面是控制电机转速的两个任务的主要程序://电机转向标志,全局变量OS-EVENT //定义传递新占空比的邮箱//通过消息邮箱等待占空比数据到来if(DIRACTION-Key==0)//判断电机转向PWMMR6=msg;//使能新的占空比//计算新占空比任务pdatpdata //延时//判断标志,选择算法//通过邮箱发送新的占空比+完成。VisualC++提供了一个CAsyncSocket类可实现Socket网络编程。本设计中,控制计算机和微处理器的数据交换都是调用该异步Socket类完成的。由于VisualC++操作简单功能强大,其他操作,如数据处理,曲线显示等也由VisualC++完成。
4结束语本设计充分利用微处理器LPC2210和网络控制器RTL8019AS提供的各种功能,以uC/OS―和ZLG/IP为基础,成功的实现了对直流永磁电机的远程控制,设计了一个基于ARM微处理器,功能齐全、控制灵活的直流电机以太网控制器,并在实践中得到了应用。这种单片机技术与TCP/IP网络技术的结合是未来嵌入式系统发展的一大方向,也是未来工业控制自动化的发展趋势之一。
本文作者创新点:利用ARM微处理器LPC2210和网络控制器RTL8019AS实现了对直流电机的以太网控制。首先以uC/OS―和ZLG/IP为基础,实现了微处理器与远程控制计算机的直接通信,然后利用了LPC2210的脉宽调制器PWM,设计了硬件电路,实现了对小型直流电机的调速控制。