多功能工业控制平台设计 毕业设计论文_第1页
多功能工业控制平台设计 毕业设计论文_第2页
多功能工业控制平台设计 毕业设计论文_第3页
多功能工业控制平台设计 毕业设计论文_第4页
多功能工业控制平台设计 毕业设计论文_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1引言自20世纪80年代初期诞生至今,工业控制软件已有20年的发展历史。工业控制与上位机软件相结合,是随着PC机的兴起而不断发展的。工业控制与上位机软件控制、多元化、低功耗、智能化、网络化、集成化是现代工业的发展趋势。目前,我国已开发出一批具有自主知识产权的实时监控软件平台、先进控制软件、过程优化控制软件等成套应用软件,工程化、产品化有了一定突破,打破了国外同类应用软件的垄断格局。通过在化工、石化、造纸等行业的数百个企业(装置)中应用,促进了企业的技术改造,提高了生产过程控制水平和产品质量,为企业创造了明显的经济效益。2000年“九五”国家科技攻关计划项目“大型骨干石化生产系统控制及计算机应用技术”通过了验收。作为工控软件的一个重要组成部分,国内人机界面组态软件研制方面近几年取得了较大进展,软件和硬件相结合,为企业测、控、管一体化提供了比较完整的解决方案。在此基础上,工业控制软件将从人机界面和基本策略组态向先进控制方向发展。由于先进控制和优化软件可以创造巨大的经济效益,因此这些软件也身价倍增。在世界范围内形成了一个强大的流程工业应用软件产业。因此,开发我国具有自主知识产权的先进控制和优化软件,打破外国产品的垄断,替代进口,具有十分重要的意义。在未来,工业控制软件将继续向标准化、网络化、智能化和开放性发展方向。2系统设计21设计要求1步进电机的正反转,加减速控制2直流电机的正反转,加减速控制3继电器的闭合与断开控制4传感器的输入检测5上位机进行数据采集与显示6电脑控制电路7常用的工业控制演示22开发设计思路根据工业控制的现状和电控技术,智能控制技术,基于单片机控制的试验技术,设计完成简单的工业控制电路。系统硬件平台搭建本着为性能可靠,工作稳定,功能强大的总体设计原则,采用高性能低功耗的MPS430单片机为核心。由传感器、驱动器、继电器等常用工业控制设备作为主体。然后,应用VB程序设计完成数据采集分析,同时使用VB程序自带串口设计控件,完成向单片机串口发送指令的设计。并应用C语言程序设计写出单片机控制程序,实现单片机对步进电机、直流电机的加减速、状态显示、电路继电器开路与断路的控制。最后,模拟工业控制的方式进行调试和演示。23系统方框图图21系统方框图3MSP430F149单片机31MSP430F149核心芯片简介图31MSP430F149核心芯片MSP430系列单片机是美国德州仪器TI1996年开始推向市场的一种16位超低功耗的混合信号处理器MIXEDSIGNALPROCESSOR。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。32MSP430单片机的发展MSP430系列是一个16位的、具有精简指令集的、超低功耗的混合型单片机,在1996年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆MSP430系列单片机的发展过程,可以看出有这样三个阶段开始阶段从1996年推出MSP430系列开始到2000年初,这个阶段首先推出有33X、32X、31X等几个系列,而后于2000年初又推出了11X、11X1系列。MSP430的33X、32X、31X等系列具有LCD驱动模块,对提高系统的集成度较有利。每一系列有ROM型(C)、OTP型(P)、和EPROM型(E)等芯片。EPROM型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即用户可以用EPROM型开发样机;用OTP型进行小批量生产;而ROM型适应大批量生产的产品。2000年推出了11X/11X1系列。这个系列采用20脚封装,内存容量、片上功能和I/O引脚数比较少,但是价格比较低廉。这个时期的MSP430已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如片内串行通信接口、硬件乘法器、足够的I/O引脚等,只有33X系列才具备。33X系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时,33X并不一定是最适合的。而片内高精度A/D转换器又只有32X系列才有。寻找突破,引入FLASH技术随着FLASH技术的迅速发展,TI公司也将这一技术引入MSP430系列中。在2000年7月推出F13X/F14X系列,在2001年7月到2002年又相继推出F41X、F43X、F44X这些全部是FLASH型单片机。F41X单片机是目前应用比较广的单片机,它有48个I/O口,96段LCD驱动。F43X、F44X系列是在13X、14X的基础上,增加了液晶驱动器,将驱动LCD的段数由3XX系列的最多120段增加到160段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。MSP430系列由于具有FLASH存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是TI公司推出具有FLASH型存储器及JTAG边界扫描技术的廉价开发工具MSPFET430X110,将国际上先进的JTAG技术和FLASH在线编程技术引入MSP430。这种以FLASH技术与FET开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。另外,2001年TI公司又公布了BOOTSTRAPLOADER技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。BOOTSTRAP具有很高的保密性,口令可达到32个字节的长度。蓬勃发展阶段在前一阶段,引进新技术和内部进行调整之后,为MSP430的功能扩展打下了良好的基础。于是TI公司在2002年底和2003年期间又陆续推出了F15X和F16X系列的产品。在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将RAM容量大大增加,如F1611的RAM容量增加到了10KB。这样一来,希望将实时操作系统(RTOS)引入MSP430的,就不会因RAM不够而发愁了。二是从外围模块来说,增加了I2C、DMA、DAC12和SVS等模块。在2003年中,TI公司还推出了专门用于电量计量的MSP430FE42X和用于水表、气表、热表上的具有无磁传感模块的MSP430FW42X单片机。我们相信由于MSP430的开放性的基本架构和新技术的应用,新的MSP430的产品品种必将会不断出现。33MSP430单片机的特点MSP430系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。强大的处理能力MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHZ晶体驱动下指令周期为125NS。这些特点保证了可编制出高效率的源程序。在运算速度方面,MSP430系列单片机能在8MHZ晶体的驱动下,实现125NS的指令周期。16位的数据宽度、125NS的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如FFT等)。MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用6US。超低功耗MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。首先,MSP430系列单片机的电源电压采用的是1836V电压。因而可使其在1MHZ的时钟条件下运行时,芯片的电流会在200400UA左右,时钟关断模式的最低功耗只有01UA。其次,独特的时钟系统设计。在MSP430系列中有两个不同的系统时钟系统基本时钟系统和锁频环(FLL和FLL)时钟系统或DCO数字振荡器时钟系统。有的使用一个晶体振荡器(32768HZ),有的使用两个晶体振荡器。由系统时钟系统产生CPU和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4)。在等待方式下,耗电为07UA,在节电方式下,最低可达01UA。系统工作稳定。上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做CPU时钟MCLK时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。丰富的片上外围模块MSP430系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A(TIMER_A)、定时器B(TIMER_B)、串口0、1(USART0、1)、硬件乘法器、液晶驱动器、10位/12位ADC、16位SIGMADELTAAD、直接寻址模块(DMA)、端口O(P0)、端口16(P1P6)、基本定时器(BASICTIMER)等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器;16位定时器(TIMER_A和TIMER_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的I/O端口,最多达68条I/O口线;P0、P1、P2端口能够接收外部上升沿或下降沿的中断输入;12/14位硬件A/D转换器有较高的转换速率,最高可达200KBPS,能够满足大多数数据采集应用;能直接驱动液晶多达160段;实现两路的12位D/A转换;硬件IIC串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输(DMA)模块。MSP430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。方便高效的开发环境目前MSP430系列有OPT型、FLASH型和ROM型三种类型的器件,这些器件的开发手段不同。对于OPT型和ROM型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于FLASH型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器。开发语言有汇编语言和C语言。MSP430单片机目前主要以FLASH型为主。1适应工业级运行环境MSP430系列器件均为工业级的,运行环境温度为4085摄氏度,所设计的产品适合用于工业环境下。2同其它微控制器相比MSP430系列可以大大延长电池的使用寿命。36US的启动时间可以使启动更加迅速。4ESD保护,抗干扰力强。5低电压供电。6多达64KB寻址空间,包含ROM、RAM闪存RAM和外围模块。将来计划扩大至1MB。7通过堆栈处理,中断和子程序调用层次无限制。8仅3种子令格式,全部为正交结构。9尽可能做到1字/指令。10源操作数有7种寻址模式,目的操作数有4种寻址模式。11外部中断引脚I/O口具有中断能力。12中断优先级对同时发生的中断按优先级别处理。13嵌套中断结构可以在中断服务过程中再次响应其它中断。14外围模块地址为存储器分配全部寄存器不占用RAM空间,均在模块内。定时器中断可用于事件计数、时序发生、PWM等。15看门狗功能。16A/D转换器(10位或更高精度)。17正交指令简化了程序的开发所有指令可以用任意寻址模式。18已开发了C编译器。19模块设计思想所有模块采用存储器分配。20MSP430全部为工业级16位RISCMCU。34MSP430与89C51系列的比较我国的多数读者对89C51系列的单片机是很熟悉的,为了加深对MSP430系列单片机的认识,我们不妨将两者进行一下比较。首先,89C51单片机是8位单片机。其指令是采用的被称为“CISC”的复杂指令集,共具有111条指令。而MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。其次,89C51单片机本身的电源电压是5V,有两种低功耗方式待机方式和掉电方式。正常情况下消耗的电流为24MA,在待机状态下,其耗电电流仍为3MA;即使在掉电方式下,电源电压可以下降到2V,但是为了保存内部RAM中的数据,还需要提供约50UA的电流。而MSP430系列单片机在低功耗方面的优越之处,则是89C51系列不可比拟的。正因为如此,MSP430更适合应用于使用电池供电的仪器、仪表类产品中。再者,89C51系列单片机由于其内部总线是8位的,其内部功能模块基本上都是8位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。MSP430系列其基本架构是16位的,同时在其内部的数据总线经过转换还存在8位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展8位的功能模块,还是16位的功能模块,即使扩展模/数转换或数/模转换这类的功能模块也是很方便的。这也就是为什么MSP430系列产品和其中功能部件迅速增加的原因。最后,就是在开发工具上面。对于89C51来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于MSP430系列而言,由于引进了FLASH型程序存储器和JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。35应使用的多种MSP430使用参数搜索为您的应用找到合适的MSP430产品。MSP430产品系列类型描述。MSP430F5XX基于闪存的MCU提供12V至36V工作电压、高达256KB的闪存和最高25MIPS的时钟系统,内置4个USCI模块。MSP430F4XX基于闪存的MCU提供18V至36V工作电压、高达60KB的闪存/ROM和8MIP(带有FLLSVS)内置LCDDRIVER。MSP430F2XX基于闪存的MCU提供18V至36V工作电压、掉电复位及16MIP(带有基本时钟)。MSP430F1XX基于闪存/ROM的MCU提供18V至36V的工作电压、高达60KB和8MIP(带有基本时钟)。MSP430是一类现场16位数据线FLASH存储器的单片机,该单片机以丰富的片上资源,高速和高精度而深受广大单片机爱好者的青睐。而本设计充分利用其资源,实现了A/D转换、多机通信、外存和实时时钟、PWM波形的函数发生器、比较器测量、定时器的捕获测量周期、8M方波产生、硬件乘法器等等。通过设计的PCB板,可以应用到大量的工业自动控制中,实现低功耗、低辐射、低污染的控制。36开发环境及程序下载开发环境在EW23环境下进行编程,汇编,连接,在CSPY环境下进行调试,下载是在连接之后,调试之前,通过计算机的串口下载的。关于环境的操作,可以参考有关资料,其中可能遇到的问题及解决方法有1汇编是对源程序而言的,因此必须打开一个源文件才能汇编,而连接是对一个工程文件而言的,连接是对工程文件的所有源代码包括多个源文件和数据的定位,因此连接必须打开一个工程文件才能连接。2连接中必须将库文件的路径改正确,且必须选定CSPY的驱动方式,即在PROJECT中的OPTIONS的XLINK的INCLUDE下修改先选中XCL的库路径为TOOLKIT_DIRICC430MSP430F149A。XCL,选择CSPY的驱动DRIVE为SIMULATOR或FLASHEMULATIONTOOL,当没连接430片子时可以选SIMULATOR,当连接430片子时,选FLASHEMULATIONTOOL进行在线下载调试。3由于430支持汇编语言和C语言两种语言,因此可以在一个工程文件中同时用两种语言,但建议用汇编语言,因为便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。4在在线的CSPY的调试中,单步需要将CONTROL的REATIME前的勾取消才能进行单步测试。5在线调试时,不能将58管脚(复位/非屏蔽中断)外部变高,否则,会强制退出调试环境。程序下载原理及脱机工作原理程序的在线调试是通过JATG口和F149片子的RST、TCK、TDI、TDO、TMS引脚按一定的时序串行的传递程序代码和数据的,调试指令的命令传递都是通过这些数据线和控制线传递的,其中的地址0FFFEH为复位向量的地址,它是程序遇到非屏蔽中断和程序启动的首要地址,地址中存放的是程序段开始的首地址,因此必须把程序段的首地址标号表示在中断向量中或程序伪指令的开头位置,否则,连接时将会出错,具体的表示方法在下一节中表示。程序的下载和在线调试的电源是通过计算机在JATG提供的,不须另外给加电源。37MSP430F149单片机的功能介绍371MSP430F149输入输出口MSP430F149有6个8位的P口,其中P1、P2口占两个中断向量,共可以接16个中断源,还可以直接利用P口的输入输出寄存器,直接对外进行通信。因为所有的P口都是和其他外设复用的,因此在用端口之前都要用功能选择寄存器选定所用的功能是外设还是P口,选定之后还要在方向寄存器中确定是是输出还是输入,我实验了一个程序,前部分是实现中断功能的程序,后部分为中断程序是实现直接用P口对外提供一个短脉冲的程序,在我们设计的开发板中,专门利用了P口的输入输出功能对外存24WCXX和实时时钟芯片8563的数据通过的存取I2C总线的读取和写入。还利用了P口向电池充电的开启电路。372定时器及数模转换图32定时器及数模转换MSP430中有两个16位定时器,还可以利用看门狗定时器。由于定时器的是16位的,则可以在秒数量级上定时,且具有2个中断向量,便于处理各种定时中断。定时器的应用在F149中具有举足轻重的作用,可以利用MSP430F149中的定时器的比较模式产生PWM(数字脉冲调制)波形,再经过低通滤波器产生任意函数的波形,也就是说,可以通过定时器的比较模式实现数模转换功能。另外,定时器还具有捕获模式,我们可以通过定时器的捕获功能实现各种测量,比如脉冲宽度测量,如果和比较器结合,还可以测量电阻、电容、电压、电流、温度等,可以这样说,只要能通过传感转换为时间长度的,都可以通过定时器的捕获定时功能实现值的测量。在开发板中,利用定时器,我们设计了一个PWM滤波输出的函数发生器。另外,我们还利用定时器的捕获功能和比较器的比较功能测电阻和电容。比较器测电阻的实验程序和时序程序和设计流图为如图32373时钟模块MSP430F149的时钟可以自由选择,它包括一个内部DCO时钟和另外两个外部时钟,内部时钟的参数见参考资料,其中最高可达到1042KHZ外部可以接两个时钟,一个可接钟表晶振或标准晶振,另一个接最高时钟频率为8MHZ的晶振,8M是单片机的最高工作频率,对于晶振的选择,在参考资料一上介绍的很清楚,在此不在重复,对基础时钟的控制,只需要对相应的控制寄存器写入相应的控制位就可以产生需要的时钟,还可以从相应的端口测的时钟频率,我们做了一个实验,是控制内部时钟的,可以从149的端口上测的相应的频率,只要开启时钟频率之后,时钟就继续存在到写入停止为止。374USART通信模块通用串行同步异步通信模块是为了使MSP430F149多机通信用的,通过USART口连接RS202和RS485的驱动芯片可以实现单片机与计算机及其他的工作电平的匹配串行通信,由于MSP430F149具有两个通信口,因此可以分别用于RS202和RS485的串行通信。MSP430有同步和异步两种方式,每一种方式都有独立的帧格式和控制寄存器,只需要按照需要和帧格式写入相应的寄存器就可以实现多机通信。由于MSP430的波特率产生比较自由,因此异步通信模式用的比较多,在毕业设计中,我们只实验了异步通信模式,在异步通信模式中,MSP430的波特率的产生有很独特的方式,可以实现多种波特率的产生,可以克服其他单片机的波特率受限的缺点。另外,在异步模式中,又根据需要分为线路空闲多机模式和地址位多机模式,如果只是两机通信,线路空闲比较多,用线路空闲多机模式比较好,在开发板中有一个测试程序是实现通过RS202与计算机超级终端串行口相连的测试程序,在此,不用多说,由于MSP430的波特率发生器比较特别,在此,我们着重讨论一下波特率发生器。波特率发生器是用波特率选择寄存器和调整控制寄存器来产生串行数据位定时。波特率BRCLK/UBRM7M6M5M4M3M2M1M0,其中BRCLK为晶振频率,UBR为分频因子的整数,晶振频率除以波特率的整数部分,而调整位,是分别写在UMCTL中的,如果置位,则对应的时序时间只能波特率分频器的输入时钟扩展一个时钟周期,每接受或发送一位,在调整控制寄存器的下一位被用来决定当前位的定时时间。协议的第一位的定时由URB加上M0决定,下一位由UBR加上M1决定,以后类推。而调整位取“0”还是“1”,取决于当前的分频因子与需要的分频因子的差距,如果大于05取“1”,如果小于05取“0”。375比较器模块比较器的应用在MSP430中很广,可以做为可转换为电压的量的测量,如果加上定时器的捕获功能,比较器的用途会更广,由于比较器的应用在定时器一章已有实验证明,在此不在多述,但有几点必须说明。1比较器属于硬件型的,虽然很准确,但由于有软件的控制,造成的时间误差可能很大。因此存在一段时间的振荡,这造成测量的误差大,不能很精确。2比较器的参考电平很方便,可以都自由加,但不能超过片子的最高电压33V,否则不能正常工作。3比较器的应用还很多,可以很放心的用,在我们的开发板中,有比较器的输入端口,还加了电阻和稳压和嵌位的二极管对在高压和负压时的芯片保护。376模数转换模块MSP430F149单片机中集成了14路12位A/D转换,其中8路属于外部的信号转换,3路是对内部参考电压的检测转换,1路是接温控的传感电压转换,每一路转换都有一个可控制的转换存储器,而且,参考电平和时钟源都是可选择的,可以外部提供的。这给使用上带来了很大的灵活性。原理上不同于一般积分和逐次比较等A/D转换原理,它的输入信号是加在A/D的电容网络上的,通过电容的充电来采样信号进行A/D转换的。其时序可以归纳为如图33A/D转换的时序和具体的一些注意事项和参数,但有几点必须注意的地方1由于MSP430F149是采用加载信号到电容上充电的采样,因此必须要给一定的采样时间以能到达一定的精度和时间的不溢出,否则会出现时间溢出的中断。据测定其采样开始之后需要13个ADC12CLK周期延时。在实验时是采用的单步才能比较精确的测量,在全速时需要延时才能测量,否则采样结果为0。2在采样结束和转换的开始需要一个控制过程,这就是将ADC12CTL0的ENC和ADC12SC同时置“1”,则表明采样结束和转换开始,在我们的测试中,是将ADC12CTL0的控制位重复了一次以达到开始转换。3用外部参考电压时,转换公式为NADC4095(VINVR)/(VRVR)。图33模数转换模块4由于低三位是电阻性的,因此精度上需要多次测量取平均值。5如果采用外参考电压,则不能认为悬空为0V,而必须要加一个电压,即使是0V也必须要加地,否则不能转换。具体的A/D采样程序和结果在PCB测试中有比较详细的结果。在这次毕业设计中,我们的主要任务是设计一个芯片的开发板,以能够供以后使用,考虑到F149的资源,我们的设计外围模块功能图为图34外围模块功能图下面将分模块介绍各模块原理(标示见原理图)及调试程序和结果外存和实时考虑到单片机有时需要实时时钟和外存,因此本设计加了一个8563实时时钟芯片和24WCXX的片外存储,采用I2C总线结构传送数据和时钟,通过P46传送SCL时钟信号,P45传送地址、控制、应答和数据信号。8563接一个32767HZ的晶振产生实时时钟,R32、R31是提拉电阻,以从8563和24WCXX中输出数据。由于本设计中只有一个片外存储,因此其芯片地址为1010000,8563的读的芯片地址为1010011,写地址为1010010,关于I2C总线的帧结构为图35帧结构图调试程序流图和帧结构的顺序一样,在这儿就不在重复,调试程序见设计程序。调试结果为往外存中的10000000地址写入10101010字节数据后读出仍然为10101010,表明对外存的读写正确。对8563的读写一样。对I2C总线的使用最重要的是时序的正确。这是编程最重要的一点。另外,对读信号时,要注意是启动后,先写片选地址,再送写信号,等应答后送要读的地址,然后才是启动,之后是送片选地址,再送读信号,等应答之后才是地址上的数据。这与写时序是不一样的。377485和232通讯模块单片机通讯时需要转换电平,这就要485和232电平驱动,在开发板中,我们用了MAX202E和MAX485芯片作为驱动,MAX202芯片可以实现短距离的通信,是属于单端驱动方式,能将15V15V的电压转换为05V的电压,速率能达到20K,输出电流可达到500MA,实现了TTLEIA电平的转换,由于MAX202芯片是全双工的,因此其使能引脚是全使能的,又由于MAX202芯片输出是5V的电压,而430芯片是3V电压,因此需要一个由RM3和RM4组成的分压电路,由于受430内阻和MAX202输出电流的影响,当RM3和RM4分别取2千欧和3千欧时分压之后的电压刚好能达到的电压3V,因此取RM3和RM4为2千欧和3千欧。注RS232电平规定为3V15V为“1”,3V15V为“0”。而RS485电平属于平衡电平,是通过两路的比较决定正负的,RU4起连接两路的作用,但由于是半双工电路,因此需要使能端口,又由于启动电平为大于5V,因此需要加CM1和RC7的微分电路产生一个比较大的驱动使能信号,当要使能时,P10口发出一个“1”电平,则CM1和RC7的微分使输出到MAX485上的电平为一个尖峰信号,从而驱动。RM1,RM2的分压电路和RM3,RM4的分压原理一样。MAX232和MAX485分别接到430的USART1和USART0上,实现了多机通信。在调试中,我们是将430和计算机的超级终端相连实现的测试,原理为图36通讯接口连接图图37调试程序流图调试结果可以看出发送的正确性,也可以看出用430可以达到的波特率的任意性,很灵活实用。但调试中的注意为1发送的字符最好为熟悉是字符,否则可能认为不正确而实际是正确的,开始我们发送的是FFH字符,收到的是一个符号,我们还以为发错了,而当改为31H时,收到1才知道发送正确。2在超级终端需要将流量控制改为“无”。3只有当波特率合适时才可能发生中断请求。4由于接收控制寄存器中没有时钟源的选定,因此需要在发送控制寄存器中确定时钟源。38MSP430F149单片机控制部分原理图见(附录四)4控制部分介绍41直流电机的控制部分411恒压恒流桥式2A驱动芯片L298NL298N芯片脚图图41L298N芯片脚图L298是SGS通标标准技术服务有限公司公司的产品,比较常见的是15脚MULTIWATT封装的L298N,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如上图中所示。L298N的引脚9为LOGICSUPPLYVOLTAGEVSS,即逻辑供应电压。引脚4为SUPPLYVOLTAGEVS,即驱动部分输入电压。VSS电压要求输入最小电压为45V,最大可达36V;VS电压最大值也是36V,但经过我的实验,VS电压应该比VSS电压高,否则有时会出现失控现象。它的引脚2,3,13,14为L298N芯片输入到电动机的输出端,其中引脚2和3能控制两相电机,对于直流电动机,即可控制一个电动机。同理,引脚13和14也可控制一个直流电动机。引脚6和11脚为电动机的使能接线脚。引脚5,7,10,12为单片机输入到L298N芯片的输入引脚。下表是其使能、输入引脚和输出引脚的逻辑关系如表41。表41输入引脚和输出引脚的逻辑关系控制使能引脚ENA或者ENB就可以实现PWM脉宽速度调整。1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号,也可以直接接地。在可设计中就将它们直接接地。引脚8为芯片的接地引脚,它与L298N芯片的散热片连接在一起。由于本芯片的工作电流比较大,发热量也比较大,所以在本芯片的散热片上又连接了一块铝合金,以增大它的散热面积。该芯片的一些参数如下1逻辑部分输入电压67V2驱动部分输入电压VS4846V3逻辑部分工作电流ISS36MA4驱动部分工作电流IO2A5最大耗散功率25W(T75)6控制信号输入电平高电平23VVINVSS,低电平03VVIN15V7工作温度251308驱动形式双路大功率H桥驱动L298是SGS公司的产品,比较常见的是15脚MULTIWATT封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N可接受标准TTL逻辑电平信号VSS,VSS可接457V电压。4脚VS接电源电压,VS电压范围VIH为25V46V。输出电流可达25ENA(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同IN2(IN4)同IN1(IN3)快速停止LXX停止A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。ENA,ENB接控制使能端,控制电机的停转。412直流电机驱动电路原理EN6BI304OUTSV9GD8LUFCPOWERMRJHADW图42直流电机驱动电路原理图由主控程序控制这几个脚就可以达到控制电机正反转的目的。为了提高机器人的循线成功系数,我们采用了PWM进行机器人运转速度控制,当两个传感器感知到引导线条,点亮指示灯并准备做出改变机器人行进方向的响应时,靠程序的PWM控制降低电机的转速,实现平滑的转向过程。PWM调速的基本原理和思想即使通过反复循环改变ON/OFF的时间分配。但机器人无法借助循环处理实现PWM,需要通过中断处理方式实现。设计靠的是89S51的两个定时器实现的,需要对定时器设定中断周期,也就是PWM的频率。请注意,PWM的频率即时达到数十千赫兹也能满足平滑控制的要求,当产生一个很大的弊端,就是中断次数过多,导致CPU大部分时间都在处理中断,实时检测和控制不能很快的响应和处理。而且电机也存在一个变化速率匹配的问题,所以不妨通过不断的尝试,适当地改变上述设定值以便得到最佳的效果。413直流电机的PWM调速电路1、PWM控制芯片SG3525功能简介随着电能变换技术的发展,功率MOSFET在开关变换器中开始广泛使用,为此美国硅通用半导体公司(SILICONGENERAL)推出SG3525。SG3525是用于驱动N沟道功率MOSFET。其产品一推出就受到广泛好评。SG3525系列PWM控制器分军品、工业品、民品三个等级。下面我们对SG3525特点、引脚功能、电气参数、工作原理以及典型应用进行介绍。SG3525是电流控制型PWM控制器,所谓电流控制型脉宽调制器是按照接反馈电流来调节脉宽的。在脉宽比较器的输入端直接用流过输出电感线圈的信号与误差放大器输出信号进行比较,从而调节占空比使OUTB14SCIN2R65D7MPE9Y3G8VAF0NKLKWJU/IOT图43PWM信号输出电路输出的电感峰值电流跟随误差电压变化而变化。由于结构上有电压环和电流环双环系统,因此,无论开关电源的电压调整率、负载调整率和瞬态响应特性都有提高,是目前比较理想的新型控制器。SG3525引脚功能及特点简介其原理图如图下图44PWM控制芯片SG35251INVINPUT引脚1误差放大器反向输入端。在闭环系统中,该引脚接反馈信号。在开环系统中,该端与补偿信号输入端(引脚9)相连,可构成跟随器。2NONINVINPUT引脚2误差放大器同向输入端。在闭环系统和开环系统中,该端接给定信号。根据需要,在该端与补偿信号输入端(引脚9)之间接入不同类型的反馈网络,可以构成比例、比例积分和积分等类型的调节器。3SYNC引脚3振荡器外接同步信号输入端。该端接外部同步脉冲信号可实现与外电路同步。4OSCOUTPUT引脚4振荡器输出端。5CT引脚5振荡器定时电容接入端。6RT(引脚6)振荡器定时电阻接入端。图45SG3525内部结构图7DISCHARGE引脚7振荡器放电端。该端与引脚5之间外接一只放电电阻,构成放电回路。8SOFTSTART引脚8软启动电容接入端。该端通常接一只5的软启动电容。9COMPENSATION引脚9PWM比较器补偿信号输入端。在该端与引脚2之间接入不同类型的反馈网络,可以构成比例、比例积分和积分等类型调节器。10SHUTDOWN引脚10外部关断信号输入端。该端接高电平时控制器输出被禁止。该端可与保护电路相连,以实现故障保护。11OUTPUTA(引脚11)输出端A。引脚11和引脚14是两路互补输出端。12GROUND引脚12信号地。13VC引脚13输出级偏置电压接入端。14OUTPUTB(引脚14)输出端B。引脚14和引脚11是两路互补输出端。15VCC(引脚15)偏置电源接入端。16VREF引脚16基准电源输出端。该端可输出一温度稳定性极好的基准电压。特点如下(1)工作电压范围宽8V35V。(2)51(110)V微调基准电源。(3)振荡器工作频率范围宽100HZ400KHZ。(4)具有振荡器外部同步功能。(5)死区时间可调。(6)内置软启动电路。(7)具有输入欠电压锁定功能。(8)具有PWM琐存功能,禁止多脉冲。(9)逐个脉冲关断。(10)双路输出(灌电流/拉电流)MA峰值。SG3525的工作原理SG3525内置了51V精密基准电源,微调至10,在误差放大器共模输入电压范围内,无须外接分压电组。SG3525还增加了同步功能,可以工作在主从模式,也可以与外部系统时钟信号同步,为设计提供了极大的灵活性。在CT引脚和DISCHARGE引脚之间加入一个电阻就可以实现对死区时间的调节功能。由于SG3525内部集成了软启动电路,因此只需要一个外接定时电容。SG3525的软启动接入端(引脚8)上通常接一个5的软启动电容。上电过程中,由于电容两端的电压不能突变,因此与软启动电容接入端相连的PWM比较器反向输入端处于低电平,PWM比较器输出高电平。此时,PWM琐存器的输出也为高电平,该高电平通过两个或非门加到输出晶体管上,使之无法导通。只有软启动电容充电至其上的电压使引脚8处于高电平时,SG3525才开始工作。由于实际中,基准电压通常是接在误差放大器的同相输入端上,而输出电压的采样电压则加在误差放大器的反相输入端上。当输出电压因输入电压的升高或负载的变化而升高时,误差放大器的输出将减小,这将导致PWM比较器输出为正的时间变长,PWM琐存器输出高电平的时间也变长,因此输出晶体管的导通时间将最终变短,从而使输出电压回落到额定值,实现了稳态。反之亦然。外接关断信号对输出级和软启动电路都起作用。当SHUTDOWN(引脚10)上的信号为高电平时,PWM琐存器将立即动作,禁止SG3525的输出,同时,软启动电容将开始放电。如果该高电平持续,软启动电容将充分放电,直到关断信号结束,才重新进入软启动过程。注意,SHUTDOWN引脚不能悬空,应通过接地电阻可靠接地,以防止外部干扰信号耦合而影SG3525的正常工作。欠电压锁定功能同样作用于输出级和软启动电路。如果输入电压过低,在SG3525的输出被关断同时,软启动电容将开始放电。此外,SG3525还具有以下功能,即无论因为什么原因造成PWM脉冲中止,输出都将被中止,直到下一个时钟信号到来,PWM琐存器才被复位。414控制直流电机程序设计流程图45控制直流电机程序设计流程42步进电机的控制部分421进电机的驱动电路原理CLK18TW/7EN0HAFU9S234VR5B6DYIOMGUPOWERSZ_书K图46步进电机驱动电路原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。1步进电机最大特点是1它是通过输入脉冲信号来进行控制的。2电机的总转动角度由输入脉冲数决定。3电机的转速由脉冲信号频率决定。2步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。或者其他信号源3基本原理作用如下表表42两相四拍工作模式时序表4控制换相顺序1通电换相这一过程称为脉冲分配。例如2两相四线步进电机的四拍工作方式,其各相通电顺序为ABAB依次循环。通电控制脉冲必须严格按照这一顺序分别控制A,B相的通断。5两相四线步进电机的四拍工作方式,其各相通电顺序为AABBBAAABBBA依次循环。出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用八拍工作方式1控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。如正转通电顺序是(ABAB依次循环。)则反转的通电顺序是(BABA依次循环。)2控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。(注意如果脉冲频率的速度大于了电机的反应速度,那么步进电机将会出现失步现象)。步进电机信号输入第一步第二步第三步第四步返回第一步IN10111返回IN21011返回IN31101返回正转IN41110返回IN11110返回IN21101返回IN31011返回反转IN40111返回422NE555脉冲产生器电路图47NE555脉冲产生器电路555定时器(又称时基电路)是一个模拟与数字混合型的集成电路。按其工艺分双极型和CMOS型两类,其应用非常广泛。555定时器的组成和功能下图是555定时器内部组成框图。它主要由两个高精度电压比较器A1、A2,一个RS触发器,一个放电三极管和三个5K电阻的分压器而构成。555定时器组成框图它的各个引脚功能如下1脚外接电源负端VSS或接地,一般情况下接地。8脚外接电源VCC,双极型时基电路VCC的范围是4516V,CMOS型时基电路VCC的范围为318V,一般用5V。3脚输出端VO。2脚低触发端。TL6脚TH高触发端123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE22JUN2005SHEETOFFILEE书书书书书书书书书书书书书书DDBDRAWNBY5K5K5KTQ“ENDSUB计数器部分PRIVATESUB计数停止_CLICKINDEXASINTEGERMSCOMM1OUTPUT“H“ENDSUB加速控制PRIVATESUB加速_CLICKMSCOMM1OUTPUT“9“ZSZS1电机运行TEXT“电机运行状态“CHR13CHR10“步进加速“CHR13CHR10“转速“STRZS0ZS“转/分“ENDSUB减速控制PRIVATESUB减速_CLICKMSCOMM1OUTPUT“C“ZSZS1电机运行TEXT“电机运行状态“CHR13CHR10“步进减速“CHR13CHR10“转速“STRZS0ZS“转/分“ENDSUB停止控制PRIVATESUB停止_CLICKINDEXASINTEGERMSCOMM1OUTPUT“B“ZS20电机运行TEXT“电机运行状态“CHR13CHR10“步进停止“CHR13CHR10“转速“STRZS0ZS“转/分“ENDSUBPRIVATESUB退出系统_CLICKMSCOMM1PORTOPENFALSEENDENDSUB串口设置部分PRIVATESUBFORM_LOADMSCOMM1SETTINGS“9600,N,8,1“MSCOMM1INPUTLEN1设置并返回每次INPUT属性从接收缓冲区读取的字符数,为0时,INPUT将读取接收缓冲区的全部字符MSCOMM1INPUTMODE0设置返回类型,INPUT属性所检取的是文本MSCOMM1COMMPORT1设置串口号1MSCOMM1PORTOPENTRUEENDSUB日期时间显示部分PRIVATESUBTIMER1_TIMERLABYEARTEXTYEARDATELABMONTHTEXTMONTHDATELABDAYTEXTDAYDATEIFWEEKDAYDATE11THENLABWEEKTEXT“一“ELSEIFWEEKDAYDATE12THENLABWEEKTEXT“二“ELSEIFWEEKDAYDATE13THENLABWEEKTEXT“三“ELSEIFWEEKDAYDATE14THENLABWEEKTEXT“四“ELSEIFWEEKDAYDATE15THENLABWEEKTEXT“五“ELSEIFWEEKDAYDATE16THENLABWEEKTEXT“六“ELSELABWEEKTEXT“日“ENDIFLABTIMETEXTHOURNOW“ENDSUB程序结束附录二单片机程序INCLUDEVOIDINIT_SPIVOIDVOIDISSENDCOMPLETEINTADDRVOIDINIT_CLKVOIDUNSIGNEDINTIBCSCTL10X00/将寄存器的内容清零/XT2震荡器开启/LFTX1工作在低频模式/ACLK的分频因子为1DOIFG1/清除OSC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论