电磁阀驱动c8051f040型单片机的电磁阀驱动电路的设计_第1页
电磁阀驱动c8051f040型单片机的电磁阀驱动电路的设计_第2页
电磁阀驱动c8051f040型单片机的电磁阀驱动电路的设计_第3页
全文预览已结束

下载本文档

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

文档简介

电磁阀驱动c8051f040型单片机的电磁阀驱动电路的设计

电磁阀的选用及性能分析作为解决喷射污染、节能和提高性能的重要手段,机油电子控制技术已成为当前机枪技术的一个重要发展方向。在柴油机燃油喷射系统的电子控制中,电控喷油器的控制执行元件——电磁阀对喷射系统的各种基本性能有着重要的影响。而喷射系统对电磁阀响应具有特殊的要求,要求开启时间不大于300us,从而保证系统的控制精度和响应速度。对于电磁阀的快速响应,除了在电磁阀的结构设计,铁芯材料的选择等方面做充分的研究外,电磁阀的驱动电路的形式及参数对响应速度有着极大的影响。本文研究的目的就是应用C8051F040型单片机(以下简称C8051F040)来实现对喷油器电磁阀驱动电路的控制。1控制域系统C8051F040在一个芯片内集成了构成一个单片机数据采集或控制系统所需要的几乎所有模拟和数字外设,包括片内看门狗定时器,数字电源(VDD)监视器,1个12位和1个8位模数转换(ADC)模块,带可编程增溢放大器(PGA)和8通道的模拟多路开关,2个12位数模转换(DAC)模块,6个捕捉/比较模块的可编程增益放大器,电压比较器,电压基准输出,温度传感器,5个通用的16位定时器,脉宽调制(PWM),定时器捕捉和方波输出等,并具备多种总线接口,包括系统管理总线(SMBUS),通用目的的异步串行I/O口(UART),串行外围设备接口(SPI)总线以及控制器局域网现场总线(CAN)。2c8031f050电磁阀驱动程序设计2.1c8051f-最本设计方案主要是利用C8051F040的片内资源来实现对喷油器电磁阀驱动电路的智能控制的。通过RS232串行通讯来实现PC机与C8051F040之间的人机对话,以满足不同的电磁阀驱动要求。计算机通过串口向C8051F040传送3个电压值,以及1个转速值(该值的范围为600~4000r/min)和1个喷油脉宽(占空比)。3个电压值分别作为电磁阀的开启电压、维持电压以及驱动电磁阀的激励电压的电压基准。对这3个电压值的要求是:开启电压基准大于维持电压基准,维持电压基准大于激励电压基准。由于C8051F040中只有2个12位DAC转换模块,而设计中需要3个DAC转换通道,所以通过C8051F040的SPI串行通道来选通1个DAC转换芯片(本设计中采用的是D/A转换芯片DAC7512),这样,计算机输入的3个数字量电压值通过C8051F040与DAC7512的数模转换后转换为驱动电路所需要的模拟量输出。转速和喷油脉宽值则通过C8051F040的PCA产生一可控制占空比的方波。这3个模拟电压值和方波用来控制喷油器的电磁阀驱动电路。基于C8051F040控制的电磁阀驱动电路的硬件总体设计原理如图1所示。2.2不同专业16位的时钟/时钟信号C8051F040的PCA能够提供增强的定时器功能,与标准8051定时/计数器相比,它需要比较少的CPU干预。PCA0包含一个专用的16位定时/计数器和6个16位捕捉/比较模块。定时/计数器由一个可以编制程序的时基信号驱动,时基信号有6个输入源:即系统时钟、系统时钟/4、系统时钟/12、外部振荡器时钟源8分频、定时器0溢出和外部时钟输入口(ECI)线上的外部时钟信号。每个捕捉/比较模块可以被编程为独立工作在下面的6种工作方式之一:即边沿触发捕捉、软件定时器、高速输出、频率输出、8位或16位PWM。2.2.1劳动响应管理本文中使用了捕捉/比较模块的高速输出工作方式产生占空比可调的方波,其原理如下:当PCA的16位定时/计数器PCA0H(高8位)和PCA0L(低8位)与16位捕捉/比较模块寄存器PCA0CPHn(高8位)和PCA0CPLn(低8位)发生匹配时,模块的CEXn引脚上的逻辑电平降发生跳变,并产生一个中断要求,即将控制寄存器PCA0CN中相应的中断位置位,当模块的中断寄存器(CCF)中断被允许时,CPU将转向CCF中断服务程序。如果将相应模块的I/O线CEXn连接到端口I/O,单片机相应端口输出电平即发生变化,这样就可实现PWM脉冲的高、低电平输出。置位捕捉/比较寄存器(PCA0CPMn)中的电平切换功能允许(TOGn)、匹配功能允许(MATn)、比较器功能允许(ECOMn)和捕捉/比较标志中断允许位(ECCFn),将允许高速输出方式,同时允许CCF中断(如图2)。2.2.2pca时钟周期为了达到所需的转速范围(600~4000r/min)的要求,本设计方案中C8051F040的系统时钟采用外部时钟不分频,PCA定时/计数器采用T0溢出作为时钟源。为了降低进入中断程序产生时间上的延时则让定时/计数器T0工作在8位自动重载定时/计数器工作模式下,T0时钟为系统时钟。在T0的自动重载模式下,TL0保存当前计数器的值,TH0保存重载值,由软件写入。这时定时/计数器T0定时周期为(28-TH0)/fclk,fclk为系统时钟周期。为了使PCA脉冲波的精度尽量高并且达到所要求的转速范围,本设计方案中重载值TH0=0xdf,公式中的0x为16进制表示符号,df为16进制数不建议写出,则PCA的时钟周期为TPCA=(256-223)/fclk≈1.5×10-6s。PCA是16位的定时/计数器,所以产生方波的最大周期是216×TPCA。PCA的时钟周期决定喷油时间方波的精度,也就是精度可达1.5us。转速在600~4000r/min内,即频率范围在10.0~66.7Hz之间(即周期在15~100ms之间)。利用高速输出模式需要在中断中及时修改PCA0CP的值,才能发挥可调占空比的作用,否则比较输出所产生的方波周期为2×65536PCA时钟周期。PCA0寄存器配置为:PCA0MD=0x05;//PCA时钟采用T0溢出,//且PCA溢出中断开启PCA0CN=0x43;//启动PCA计数器PCA0CPM0=0x4d;//CEX0为高速输出模式3plc的s网络实名软件开发采用的是Keil软件的集成开发环境。采用控制器的软件设计主流程如图3所示。系统上电复位后,主程序主要实现微处理器(MCU)端口初始化,看门狗初始化,通用目的的异步串行I/O口(UART0),D/A转换,SPI串口,定时器T0,以及PCA定时/计数等功能模块初始化。在整个软件设计过程中计算机通过RS232串行通讯与C8051F040通讯尤为关键。计算机将数据发送到UART0的发送接收数据缓冲区(SBUF0)中,然后通过数据分割将数据缓存区的数据进行分割,等各功能模块初始化完成后,将数据分配到各个寄存器中进行处理。图4为PCA输出可调占空比以及频率方波的程序流程。4实验和结论4.1高速输出模式设计人员通过对软件的调试得到了理想的控制喷油时间的波形,图5即为通过示波器所观察到的波形,精度可达到1.5us。在高速输出模式下,由于PCA需要中断程序的处理时间,使得PWM中高低电平的持续时间均要长于中断响应时间,保守估计要长于300个系统时钟周期以上,从而使得高速输出作为PWM应用无法使得占空比在0%~100%之间任意调节。通过实验以及计算,本设计中最小占空比达到0.1%。4.2ip-97内核a.C8051F040是完全集成的混

温馨提示

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

评论

0/150

提交评论