基于ARM的高频电磁阀控制系统设计与实现.docx
《基于ARM的高频电磁阀控制系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于ARM的高频电磁阀控制系统设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
![基于ARM的高频电磁阀控制系统设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-1/9/ee4429c4-74a4-4d75-93ce-b7bd6873d98a/ee4429c4-74a4-4d75-93ce-b7bd6873d98a1.gif)
基于ARM的高频电磁阀控制系统设计与实现
重庆大学本科学生毕业设计(论文)
基于ARM的高频电磁阀控制
系统设计与实现
学生:
学号:
指导教师:
专业:
自动化
重庆大学自动化学院
二O一四年六月
GraduationDesign(Thesis)ofChongqingUniversity
DesignandimplementationofthesystemofhighfrequencyelectromagneticvalvecontrolbasedonARM
Undergraduate:
Supervisor:
Major:
Automation
CollegeofAutomation
ChongqingUniversity
June2014
中文摘要
电磁阀是一种能够实现电磁能和机械能转换的控制流体的执行器,在工业自动化控制中运用非常广泛,有着十分重要的地位,怎样去控制电磁阀,使之能够精确快速地完成预期目标是现代工业控制的一个很重要的研究问题。
实际应用中的要求不一样,控制方法也就不一样。
有的只需要控制电磁阀的开关,主要精度集中在指令发出到开关动作完成的时间差,有的不仅需要控制开关,还要控制开关的大小。
不同的控制方法也有着各自的优点与不足。
实际应用中关键是要根据自己的实际要求来选择合适的控制方法。
本文介绍了一种基于STM32单片机和74LS244总线驱动器的控制办法,这种方法是通过将ARM的输入、输出信号,经过隔离后送入集成驱动芯片,对电磁阀进行控制和检测。
集成驱动芯片既能驱动4通道电感负载,又可以监测每个通道有没有出现短路、开路、过载、过热及时钟丢失之类的故障。
工程事例表明,此种控制方法可靠性高、能够监测多种故障、成本低、驱动能力强,具有极高的研究价值和工程价值。
关键词:
STM32,电磁阀,控制电路,74LS244
ABSTRACT
Thesolenoidvalvecanchangetheelectromagneticenergyintomechanicalenergy.ItisakindofBasicautomationcomponenttocontrolthefluid.Itisofhighimportanceinpracticalapplication.So,Howtocontroltheelectromagneticvalve,sothatitcanquicklyandaccuratelycompletetheexpectedtargetisaveryimportantresearchissueinmodernindustrialcontrol.
Thepracticalapplicationoftherequirementsaredifferent,thecontrolmethodisalsonotthesame.Someonlyneedtoswitchtocontroltheelectromagneticvalve,mainlyconcentratedintheprecisionofinstructionisissuedtotheswitchmovestocompletethetimedifference,someneednotonlythecontrolswitch,butalsocontroltheswitchsize.Differentcontrolmethodshavetheirownpowerandthelackof.Thekeyistocontroltheapplicationoftheappropriatemethodtochooseaccordingtotheiractualrequirements.
ThispaperpresentsacontrolmethodbasedonSTM32microcontrollerandchip74LS244drives,thismethodinputandoutputsignalsbyARM,thensentintothedriverchipaftertheisolationintegratedtocontrolandtesttheelectromagneticvalve.Integrateddriverchipswillnotonlydrive4-channelinductiveloads,andcanmonitoreachchannelisshortcircuit,opencircuit,overload,overheatingandlossofclockfailure.Projectexamplesshowthatthiscontrolmethod,highreliability,canmonitoravarietyoffailure,lowcost,drivingability,ithashighresearchvalueandthevalueofwork.
Keyword:
STM32,solenoidvalve,controlcircuit,74LS244
1绪论
1.1电磁阀
电磁阀是一种在工业控制中通过控制阀芯来调控液体。
气体等介质的流量、速度、方向等数据参数的执行器。
是一种极其常见的基础自控原件。
电磁阀的控制电路有很多种,不同的控制目标对应了不同的控制方法。
控制的精度和灵活性能够得到保证是电磁阀控制的主要研究问题[1]。
电磁阀种类有很多,不同的电磁阀在不同的位置发挥这不同的作用,实际应用中最常见点电磁阀有安全阀、单向阀、速度调节阀、方向控制阀等多个不同的种类。
1.1.1电磁阀特点
①泄漏容易控制,使用起来安全
泄露问题是导致电磁阀安全故障的一个很大的原因。
一般的自控阀都是动过电动、气动、或者液动等方式来拉伸电磁阀的阀杆以控制电磁阀的开关。
这种方式的阀门需要解决阀杆长期拉伸运动中的密封问题;电磁阀则不需要考虑这个原因,因为它是通过电磁力控制套筒内的铁芯来控制电磁阀的开关的,所以电磁阀一般不存在外泄露的问题。
电磁阀的结构式设计不想电动发的力矩式设计那么难以控制,很容易控制内泄露,甚至可以做到完全没有内泄露。
因而,电磁阀比电动阀使用起来更加安全,特别是在某些特殊的环境,更是使用的尤为广泛。
②系统设计简单,价格低廉实惠
和调节阀等其他执行期间相比,电磁阀的安装维护更加简单。
因为电磁阀本身的结构就把你电动阀等要简单很多,而且电磁阀所组成的系统设计也是相当简单的,安装维护起来要比电动阀所组成的系统要简单的多。
电磁阀不仅结构简单,价钱也是十分的低廉。
在实际应用中受到广大用户的青睐。
当今社会网络普及,多数控制都是通过网络控制,在这一点上电磁阀也占尽优势,由开关信号控制的电磁阀能够很简单的实现与计算机的连接。
③反应动作很灵敏,外观精巧简约
和其他自控阀比起来,电磁阀的反应算是很快的。
电磁阀是自成回路,反应时间能够缩短到几个毫秒,远远超出其他阀门。
电磁阀在功耗上也很有优势。
他的线圈功率消耗很低,只要有触发动作就可以自动的保持开关位置,不浪费多余的电力,是一种名副其实的节能产品,这也是它迅速占据主导市场的一个原因。
电磁阀的外形设计也是其他阀门很难比拟的,一般电磁阀都很小,结构简单,安装到实际环境中节约空间,看上去也美观。
时代进步,我们不仅要追求产品的功能效果,产品审美价值也是不可忽视的。
④调节精度受限,适用介质受限
电磁阀之所以没有完全取代其他阀门的一个重要的原因是电磁阀一般只能控制开关,电磁阀阀芯一般只能置于开关两个极限位置,不好做到连续调节,这样一来,电磁阀的控制精度也就会大打折扣。
还有一个原因是由于电磁阀的结构简单导致电磁阀对工作环境的要求比其他的要高,颗粒状介质、粘稠状介质等都会影响电磁阀的精度。
但是这也并不影响电磁阀的地位,金无足赤,任何一种产品都不能做到毫无瑕疵。
也正是因为瑕疵的存在,才能够激励我们不断的改良进步。
⑤型号种类繁多,用途十分广泛
电磁阀虽然有很多不足之处,但是它的优点是非常显著的,因此就被设计成种类繁多的产品,以便于满足各个不同的需求,它的用途十分宽广。
电磁阀技术的不断改进也主要是是围绕着怎样解决它的不足之处,让有点发挥得更加淋漓尽住而展开的。
1.1.2常见的电磁阀控制方法
实际应用中用得最多的控制电磁阀的方法有如下几种:
①由二极管、三极管集成电路或达林顿三极管控制的电路。
这类电路虽然线路简单,但是一般具有只能检测故障不能控制或者很难很好的控制电磁阀故障等缺点。
②由MOSFET控制的典型电路。
这类电路线路简单,但由于无法像数字电路那样进行非常准确的控制,同时还具有只能监测故障不能控制故障的缺点。
③专用控制。
这是工业控制中常用的控制方法,虽然具有性能可靠、控制简单等有点,但是价格过于昂贵。
1.1.3ARM控制
上面所列出3种办法都不具有成本低、电路结构简单、性能安全可靠并具有检测的功能的要求。
在本文所提出的电磁阀控制电路中,ARM单片机作为主要核心,专用驱动芯片74LS244与主控芯片之间的隔离用磁隔离芯片来实现,ARM所输出的PWM信号或者数字信号经过隔离后实现对74LS244的控制,进而控制电磁阀;电磁阀的状态通过74LS244输出然后经隔离最后输入ARM,这样就使得系统能够实时了解电磁阀的状态[2]。
1.1.4基于ARM的电磁阀
基于ARM的高频电磁阀,是一种利用单片机控制的高频电磁阀。
通过将ARM的输入、输出信号,经过隔离后送入集成驱动芯片,对电磁阀进行控制和检测。
集成驱动芯片既能驱动4通道电感负载,又可以监测每个通道有没有出现短路、开路、过载、过热及时钟丢失之类的故障。
工程事例表明,此种控制方法可靠性高、能够监测多种故障、成本低、驱动能力强,具有极高的研究价值和工程价值。
2软件部分
本文中控制电磁阀的软件在KeiluVision4的开发环境中进行编译开发。
是c语言完成所有程序的编译,采用自上而下的模块化设计方法,编译后采用JUNKV8硬件仿真器和烧写软件J—FlashARMV4.081下载到ARM中的闪存中。
最后连上J-link调试
2.1软件介绍
2.1.1KeiluVision4
美国KeilSoftware出品的兼容单片机51系列C语言软件开发系统KeilC51,C语言在结构性、可读性、可维护性、功能上相比较于汇编语言都具有相当明显的优势,易学易用。
Keil提供了包括宏汇编、C汇编器、库管理、连接器和一个功能十分强大的仿真调试器,只要用一个集成的开发环境将各个部分结合在一起就可以独立构成一套十分完整开发方案。
WIN98、NT、WIN2000、WINXP等多种操作系统下都可以运行Keil软件使用C语言编程,那么Keil就是不二的选择,即就算你不使用C语言编程,而是使用汇编语言,那它简单易用的环境、强大的软件仿真调试工具也会大大的提高你的工作效率。
2009年2月发布KeilμVision4,KeilμVision4新增了灵活的窗口管理系统,这样一来开发人员就可以同时使用多台监视器,并可以根据视觉效果随意控制窗口的位置。
这样的用户界面可以有效的操作多个窗口,让屏幕的有限空间得到更好地利用,开发应用程序环境的环境就更加的简约高效。
新版本支持更多最新开发的ARM芯片,还增加了不少新功能。
2011年3月ARM公司发布最新集成开发环境RealViewMDK,他的开发工具中集成了最新版本的KeiluVision4,无论是调试工具还是编译器都做到了与ARM器件的最完美的结合。
2.1.2J-LINK
J-Link是SEGGER公司开发的JTAG仿真器,能够仿真ARM内核芯片。
配合IAREWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,CortexM0/M1/M3/M4,CortexA4/A8/A9等内核芯片的仿真,与IAR,Keil等编译环境无缝连接,连接方便、简单易学、操作方便,是学习开发ARM很好很有用的工具。
产品规格:
电源USB供电,整机电流<50mA支持的目标板电压1.2~3.3V,5V兼容目标板供电电压4.5~5V(由USB提供5V)目标板供电电流最大300mA,具有过流保护功能工作环境温度+5℃~+60℃存储温度-20℃~+65℃湿度<90%尺寸(不含电缆)100mmx53mmx27mm重量(不含电缆)70g电磁兼容EN55022,EN5502。
J-LINK仿真器特点
J-LINK仿真器目前已经升级到V9.1版本,其仿真速度和功能远非简易的并口WIGGLER调试器可比。
J-LINK支持ARM7/ARM9/ARM11,CortexM0/M1/M3/M4,CortexA4/A8/A9等内核芯片,支持ADS、IAR、KEIL开发环境。
V9.1版本较V8.0版本进一步提升了下载速度,最大下载速度提升到1MByte/s。
J-LinkARM主要特点:
①IAREWARM集成开发环境无缝连接的JTAG仿真器。
②下载速度高达1MByte/s。
③最高JTAG速度15MHz。
④目标板电压范围1.2V-3.3V,5V兼容。
⑤自动速度识别功能,带USB连接线和20芯扁平电缆。
⑥监测所有JTAG信号和目标板电压。
⑦完全即插即用,选配用于5V目标板的适配器。
⑧使用USB电源(但不对目标板供电,选配14芯JTAG仿真插头。
⑨支持多JTAG器件串行连接,标准20芯JTAG仿真插头。
⑩带J-LinkTCP/IPserver,允许通过TCP/IP网络使用J-Link。
产品规格:
①电源:
USB供电,整机电流<50mA。
②USB接口:
USB2.0全速12Mbps。
③目标板接口:
JTAG(20P)
④支持的目标板电压:
1.2–3.3V,5V兼容。
⑤目标板供电电压:
4.5–5V(由USB提供5V)
⑥目标板供电电流:
最大300mA,具有过流保护功能。
⑦工作环境温度:
+5°C-+60°C。
⑧存储温度:
-20°C-+65°C。
⑨湿度:
<90%,重量(不含电缆):
80g。
⑩尺寸(不含电缆):
100mmx53mmx27mm,电磁兼容:
EN55022,EN55024。
2.2程序框图
图2.1系统程序框图
本文控制的主要过程是STM32单片机接收输入的数据,然后实现对电磁阀的控制过程。
程序流程如图2.1所示,具体介绍如下:
首先是对系统进行一系列的初始化操作,初始化过程完成之后,开始检测电磁阀是否存在故障,如果有故障存在,将数据返回并处理故障直到故障完全清除为止,故障清除之后监测串口有没有接收数据,如果接受到了数据,就把数据进行暂存和处理的操作。
这一步完成之后开始检测要求是打开电磁阀还是关闭电磁阀。
如果是要关闭电磁阀,那么只要关闭定时器再把数据返回给计算机就可以了。
如果是要打开电磁阀,那就要先计算电磁阀的开度并计算出占空比,然后再打开定时器并计算输出的PWM,最后再把数据返回给计算机。
3硬件部分
3.1单片机的选择
STM32系列是是为了满足嵌入式应用中的成本低、性能高、功耗低要求而特别设计出来的ARMCortex-M3内核。
按照性能分为不同的两个系列:
STM32F101“基本型”和STM32F103“增强型”。
增强型的时钟频率可达到72MHz,是同类产品中性能最高的产品;“基本型”的时钟频率为36MHz,它的价格跟其他16为的产品差不多,但是他的性能却比其他16位产品高出一大截,因而受到广大16位产品用户的追捧青睐。
虽说这两种型号的内置内存都是32K到128K,SRAM的最大容量和外设接口的组合却是大不相同。
STM32是32位市场上功耗最低的产品,时钟频率为72MHz时,从闪存执行代码,功耗36mA,相当于0.5mA/MHz[3]。
3.1.1STM32F10简介
①ARM公司的高性能”Cortex-M3”内核
1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz
②一流的外设
1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度
③低功耗
在72MHz时消耗36mA,待机时下降到2μA
④最大的集成度
复位电路、低电压检测、调压器、精确的RC振荡器等
⑤简单的结构和易用的工具
⑥参数
2V-3.6V供电
容忍5V的I/O管脚
优异的安全时钟模式
带唤醒功能的低功耗模式
内部RC振荡器
内嵌复位电路
工作温度范围:
-40°C至+85°C或105°C
3.1.2STMF103系列特点
特点
内核:
ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz。
单周期乘法和硬件除法。
存储器:
片上集成32-512KB的Flash存储器。
6-64KB的SRAM存储器。
时钟、复位和电源管理:
2.0-3.6V的电源供电和I/O接口的驱动电压。
POR、PDR和可编程的电压探测器(PVD)。
4-16MHz的晶振。
内嵌出厂前调校的8MHzRC振荡电路。
内部40kHz的RC振荡电路。
用于CPU时钟的PLL。
带校准用于RTC的32kHz的晶振。
低功耗:
3种低功耗模式:
休眠,停止,待机模式。
为RTC和备份寄存器供电的VBAT。
调试模式:
串行调试(SWD)和JTAG接口。
DMA:
12通道DMA控制器。
支持的外设:
定时器,ADC,DAC,SPI,IIC和UART。
2个12位的us级的A/D转换器(16通道):
A/D测量范围:
0-3.6V。
双采样和保持能力。
片上集成一个温度传感器。
2通道12位D/A转换器:
STM32F103xC,STM32F103xD,STM32F103xE独有。
最多高达112个的快速I/O端口:
根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。
除了模拟输入,所有的都可以接受5V以内的输入。
最多多达11个定时器:
4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。
2个16位的6通道高级控制定时器:
最多6个通道可用于PWM输出。
2个看门狗定时器(独立看门狗和窗口看门狗)。
Systick定时器:
24位倒计数器。
2个16位基本定时器用于驱动DAC。
最多多达13个通信接口:
2个IIC接口(SMBus/PMBus)。
5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。
3个SPI接口(18Mbit/s),两个和IIS复用。
CAN接口(2.0B)。
USB2.0全速接口。
SDIO接口。
ECOPACK封装:
STM32F103xx系列微控制器采用ECOPACK封装形式。
3.2驱动芯片74LS244
74LS244通常用作总线驱动器,是一种为3态8位缓冲器。
由于74LS244没有锁存的功能。
所以用一个暂存器来代替地址锁存器的功能,他可以通过分析控制信号的状态来暂存总线伤的数据代码。
可以用同一根总线实现数据的传输和地址的传输。
这是因为地址总线和8086/8088数据采用的分时复用操作方法。
存储器与微处理器交换信号的过程是这样的,第一步是CPU将存储器地址、允许锁存的信号AL发出传给给锁存器,第二步是锁存器接收到信号之后,把地址/数据总线上的地址锁存在总线上去,第三部才能够实现数据传输[10]。
锁存器的电路并不复杂,其实就是就是一个时序电路,非常简单。
输出仅仅在上升沿或者下降沿信号来的时候才有,其他任何时候,无论输入怎么变化,输出都是不会改变的,这就是我们所说的边缘触发的D触发器。
它主要用于三态输出,作为地址驱动器、时钟驱动器、总线驱动器和定向发送器等。
其真值表如下:
74Ls244真值表
74LS244真值表
L表示低电平
H表示高电平
X表示不定状态
Z表示高阻态
74Ls244技术参数
最小
典型
最大
VCC
4.25V
5V
5.25V
高电平输出电流
-15mA
低电平输出电流
24mA
工作温度
0℃
70℃
3.3电磁阀选择
本系统选35A-ACA-DDAA-1BA型的电磁阀电磁阀是由美国的MAC生产的。
MAC电磁阀在美国的市场占有为26%。
其使用客户主要为包装机械,剩下的分布在轮胎、开矿、汽车、电子、铝制品、木材、造纸、印刷、食品、饮料等多种行业[9]。
具有以下特点:
①平衡式阀门设计;
②阀芯防卡死保护设计;
③电线圈吸力大;
④自动补偿磨损;
⑤电线圈与空气隔离;
3.4电磁阀控制电路设计
图3.1电磁阀控制电路
上图所示为电磁阀的控制电路。
该控制系统以STM32单片机为核心,10通道隔离电路是通过3片磁隔离芯片来实现的,将与集成驱动芯片74LS244主控芯片隔离。
控制74LS244的PWM数字输出信号是由STM32输出并经过隔离后发出的,74LS244接收控制信号之后控制电磁阀。
74LS244输出输出电磁阀的状态,经隔离后再输入到STM32,这样就使得系统能够事实了解电磁阀的状态。
3.4.1单片机最小控制系统设计
图3.2最小控制系统电路图
由STM32信号产生电路、隔离电路、驱动电路(包括时钟电路)三部分构成。
不管是开关型电磁阀还是比例型电磁阀,都可以采用电路进行控制,不同的只是主控芯片分别输出数字输出信号和PWM信号。
下面以双比例电磁铁和双开关电磁铁为例,说明其控制电路的控制方法。
在图3.2中.主控芯片STM32F03R6T6在控制74LS244时不能直接相连,这主要是因为STM32F103R6T6采用3.3v电源供电,而74LS244由5v电源供电,所以两者之间需要进行电平转换。
本系统中采用的通用型四通道数字隔离ADUMl402芯片是由ADI公司基于其专利iCoupler磁耦隔离技术生产的。
他的工作电压区间为2.7~5.5V.可以兼容3.3vSD5V系统,所以不仅进行输入和输出的磁隔离,还可以可以实现电平转换的功能。
避免驱动电路对主控芯片产生影响。
它采用芯片级的变压器技术和高速CMOST技术,在功耗、性能、体积等各方面比其他光电离器件要好得多。
4个通道相互独立,可以传输2个通道正向数据和2个通道反向数据。
与ARM端相连的电源VDDl和GNDl接3.3v电源,与74LS244相连的一端VDD2和GND2接5v电源,VDD2和GND2都接高电平使ADUMl402。
通道A、B的数据从ARM传给74LS244,适合ARM发出控制电磁阀的信号;通道C、D的数据从74LS244传给ARM,适合74LS244读取电磁阀的状态信号。
3.4.2总线驱动器设计
图3.3总线驱动器电路图
总线驱动器电路图如图3.3所示,电磁阀接PA0,PA1口。
单片机信号通过10通道隔离电路转换后传到驱动芯片上,再由驱动芯片传给执行机构电磁阀。
3.4.3施密特触发器设计
图3.4