汽车单片机与车载网络技术汽车单片机原理学习教案.pptx
-
资源ID:74765886
资源大小:2.95MB
全文页数:47页
- 资源格式: PPTX
下载积分:10金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
汽车单片机与车载网络技术汽车单片机原理学习教案.pptx
会计学1汽车单片机与车载汽车单片机与车载(ch zi)网络技术汽车单网络技术汽车单片机原理片机原理第一页,共47页。第六节第六节 汽车单片机程序设计汽车单片机程序设计(chn x sh j)(chn x sh j)原原理理n n1.1.基础知识基础知识n n 流程图符号、程序流程图符号、程序(chngx)(chngx)设计步骤、设计步骤、源程序源程序(chngx)(chngx)汇编、伪指令及程序汇编、伪指令及程序(chngx)(chngx)的结构的结构n n2.2.程序程序(chngx)(chngx)实例实例n n 空燃比反馈修正控制原理空燃比反馈修正控制原理n n 步进电动机怠速阀控制原理步进电动机怠速阀控制原理第1页/共47页第二页,共47页。n n在了解在了解MCS-51MCS-51单片机的硬件结构和指令系统后,可以利用它们去单片机的硬件结构和指令系统后,可以利用它们去完成人们期望的工作,即程序设计工作。程序就是为了计算某完成人们期望的工作,即程序设计工作。程序就是为了计算某一算式或控制某一工作的若干指令的有序集合。单片机的全部一算式或控制某一工作的若干指令的有序集合。单片机的全部工作都要靠执行程序来完成。工作都要靠执行程序来完成。n n一、汇编语言程序设计一、汇编语言程序设计n n1.1.汇编语言程序设计步骤汇编语言程序设计步骤n n(1 1)分析问题,确定算法:这是程序设计中最重要的一步。设)分析问题,确定算法:这是程序设计中最重要的一步。设计人员必须认真、仔细地考虑系统需要计人员必须认真、仔细地考虑系统需要(xyo)(xyo)解决的各种问题解决的各种问题以及将来系统功能的进一步扩展,明确知道程序要解决的问题以及将来系统功能的进一步扩展,明确知道程序要解决的问题和接收、处理、发送的数据范围以及使用什么样的算法。和接收、处理、发送的数据范围以及使用什么样的算法。第2页/共47页第三页,共47页。n n(2 2)画流程图:流程图是用各种图形、符号、有向线段来直观地表)画流程图:流程图是用各种图形、符号、有向线段来直观地表示程序执行的步骤和顺序。它可使人们通过流程图的基本线索示程序执行的步骤和顺序。它可使人们通过流程图的基本线索(xin(xin su)su),对全局有完整的了解。,对全局有完整的了解。n n n n 图图1-33 1-33 流程图常用图形符号流程图常用图形符号 第3页/共47页第四页,共47页。n n (3 3)分配存储单元:确定程序存储区和数据存储区的起始地址和)分配存储单元:确定程序存储区和数据存储区的起始地址和区域大小。区域大小。n n(4 4)编写源程序代码:根据流程图用汇编语言指令实现流程图的每)编写源程序代码:根据流程图用汇编语言指令实现流程图的每一个步骤,从而编写出汇编语言的源程序。一个步骤,从而编写出汇编语言的源程序。n n(5 5)调试、测试程序:调试是利用仿真器等开发工具,采用)调试、测试程序:调试是利用仿真器等开发工具,采用(ciyng)(ciyng)单步、设断点、连续运行等方法排除程序中的错误,完善单步、设断点、连续运行等方法排除程序中的错误,完善程序的功能。程序的功能。n n2.2.源程序的汇编源程序的汇编n n 手工汇编手工汇编n n 手工汇编是通过手工方式查指令编码表,逐个把助记符指令手工汇编是通过手工方式查指令编码表,逐个把助记符指令“翻译翻译”成机器码的过程。成机器码的过程。n n 机器汇编机器汇编n n 机器汇编是在机器上使用汇编程序自动地进行源程序的汇编,最后机器汇编是在机器上使用汇编程序自动地进行源程序的汇编,最后得到机器码表示的目标程序。得到机器码表示的目标程序。第4页/共47页第五页,共47页。n n3.3.伪指令伪指令n n伪指令是伪指令是PCPC机将源程序汇编成目标程序所需要的指令,而不是单机将源程序汇编成目标程序所需要的指令,而不是单片机的指令,相对单片机指令而言称其为伪指令。伪指令用于片机的指令,相对单片机指令而言称其为伪指令。伪指令用于告诉汇编程序如何进行汇编的指令,它既不控制单片机的操作告诉汇编程序如何进行汇编的指令,它既不控制单片机的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。何进行。n n伪指令主要用来指定程序或数据的起始位置,给出一些连续存放伪指令主要用来指定程序或数据的起始位置,给出一些连续存放数据的地址或为中间运算结果保留一部分存储空间以及表示源数据的地址或为中间运算结果保留一部分存储空间以及表示源程序结束等等。不同程序结束等等。不同(b tn)(b tn)版本的汇编语言,伪指令的符号版本的汇编语言,伪指令的符号和含义可能有所不同和含义可能有所不同(b tn)(b tn),但基本用法是相似的。下面介,但基本用法是相似的。下面介绍几种常用的伪指令。绍几种常用的伪指令。第5页/共47页第六页,共47页。n n(1 1)设置目标程序起始地址伪指令)设置目标程序起始地址伪指令ORGORGn n格式:格式:ORG 16ORG 16位地址位地址n n(2 2)结束)结束(jish)(jish)汇编伪指令汇编伪指令ENDENDn n格式:格式:END END n n(3 3)赋值伪指令赋值伪指令EQUEQUn n格式:标号:格式:标号:EQU EQU 项。项。n n项可以是常数、地址标号或表达式。例如:项可以是常数、地址标号或表达式。例如:n nTAB1TAB1:EQU 1000H EQU 1000Hn nTAB2TAB2:EQU 2000H EQU 2000Hn n汇编后汇编后TAB1TAB1、TAB2TAB2分别具有值分别具有值1000H1000H、2000H2000H。用。用EQUEQU伪指令对某标号赋值伪指令对某标号赋值后,该标号的值在整个程序中不能再改变。后,该标号的值在整个程序中不能再改变。第6页/共47页第七页,共47页。n n(4 4)定义字节伪指令)定义字节伪指令DBDBn n格式:标号:格式:标号:DB DB 项或项表。项或项表。n n把项或项表中的数据存入程序把项或项表中的数据存入程序(chngx)(chngx)存储器从标号开始的连续地址单存储器从标号开始的连续地址单元中。例如:元中。例如:n n ORG 2000H ORG 2000Hn n TAB1 TAB1:DB 10HDB 10H,23H23H,;TAB1TAB1是标号;是标号;10H10H,23H23H,是数是数据据 n n汇编后:汇编后:(2000H)=10H(2000H)=10H,(2001H)=23H(2001H)=23H,n n(5 5)定义字伪指令)定义字伪指令DWDWn n格式:标号:格式:标号:DW DW 项或项表项或项表n nDWDW伪指令与伪指令与DBDB相似,但用于定义字的内容。汇编时,机器自动按高相似,但用于定义字的内容。汇编时,机器自动按高8 8位位在先,低在先,低8 8位在后的格式排列。位在后的格式排列。第7页/共47页第八页,共47页。n n(6 6)预留存储区伪指令)预留存储区伪指令DSDSn n格式:标号格式:标号(bioho)(bioho):DS DS 表达式表达式n n功能是从标号功能是从标号(bioho)(bioho)指定单元开始,定义一个大小为表达式的值指定单元开始,定义一个大小为表达式的值的存储区,以备后用。例如:的存储区,以备后用。例如:n n ORG 3000H ORG 3000Hn n DS 19H DS 19Hn n DB 10H DB 10H,11H11H,n n汇编后从汇编后从3000H3000H开始,预留开始,预留19H19H个字节的内存单元,即个字节的内存单元,即3000H3000H3018H3018H,然后从,然后从3019H3019H开始,按照下一条定义字节伪指令开始,按照下一条定义字节伪指令DBDB开始赋开始赋值,即值,即(3009H)=10H(3009H)=10H,(300AH)=11H(300AH)=11H,n n(7 7)位地址定义伪指令)位地址定义伪指令BITBITn n格式:标号格式:标号(bioho)(bioho):BIT BIT 位地址位地址n n功能是将位地址赋予功能是将位地址赋予BITBIT前面的标号前面的标号(bioho)(bioho),经赋值后可用该标,经赋值后可用该标号号(bioho)(bioho)代替代替BITBIT后面的位地址。后面的位地址。第8页/共47页第九页,共47页。n n例如例如(lr)(lr):n nM1 BIT 01HM1 BIT 01Hn nM2 BIT P1.0M2 BIT P1.0n n汇编后,汇编后,01H01H和和P1.0P1.0的位地址的位地址90H90H分别赋给了分别赋给了M1M1和和M2M2。n n n n4.4.基本结构程序基本结构程序n n汇编语言程序主要由顺序结构程序、分支结构程序和循环结构程序汇编语言程序主要由顺序结构程序、分支结构程序和循环结构程序第9页/共47页第十页,共47页。n n(1 1)顺序结构程序)顺序结构程序n n顺序程序是最基本的程序。它是按照指令排列的先后顺序依次执顺序程序是最基本的程序。它是按照指令排列的先后顺序依次执行,每条指令都必须执行,且只执行一遍。顺序程序设计一般行,每条指令都必须执行,且只执行一遍。顺序程序设计一般比较单一、简单,常常作为复杂程序的一部分。比较单一、简单,常常作为复杂程序的一部分。n n(2 2)分支程序)分支程序n n 在程序设计过程中,有时要根据在程序设计过程中,有时要根据(gnj)(gnj)不同情况执行不同功能不同情况执行不同功能的程序段,这种根据的程序段,这种根据(gnj)(gnj)程序要求而改变程序执行顺序的设程序要求而改变程序执行顺序的设计,称为分支程序设计。分支程序分为无条件分支程序和条件计,称为分支程序设计。分支程序分为无条件分支程序和条件分支程序两类。无条件分支程序中含有分支程序两类。无条件分支程序中含有LJMPLJMP、AJMPAJMP等无条件转等无条件转移指令,执行这类指令,程序将无条件转移;条件分支程序中移指令,执行这类指令,程序将无条件转移;条件分支程序中含有判零、比较、位控制等条件转移指令。含有判零、比较、位控制等条件转移指令。第10页/共47页第十一页,共47页。n n(3 3)循环程序)循环程序n n 在程序中包含重复执行的程序段称为循环程序。循环程序简洁在程序中包含重复执行的程序段称为循环程序。循环程序简洁(jinji)(jinji),占用内存少,运行效率高。循环程序常见的两种结构:一是,占用内存少,运行效率高。循环程序常见的两种结构:一是先执行,后判断,这种结构至少要执行先执行,后判断,这种结构至少要执行1 1次;另一种是先判断,后执行,次;另一种是先判断,后执行,这种结构可以这种结构可以1 1次也不执行。次也不执行。n n 循环程序通常由循环程序通常由3 3部分组成:部分组成:n n 初始化:赋循环次数初值、地址指针初值等。初始化:赋循环次数初值、地址指针初值等。n n循环处理:完成主要任务的程序段。循环处理:完成主要任务的程序段。n n循环控制:修改循环次数、地址指针等,控制循环是否结束。循环控制:修改循环次数、地址指针等,控制循环是否结束。第11页/共47页第十二页,共47页。n n二、空燃比反馈修正二、空燃比反馈修正(xizhng)(xizhng)控控制原理程序制原理程序n n发动机起动后的基本喷油时间控制发动机起动后的基本喷油时间控制主要由发动机转速和负荷量(进气主要由发动机转速和负荷量(进气量)决定。为了使发动机在不同工量)决定。为了使发动机在不同工况下,都处于最佳状态,还有以下况下,都处于最佳状态,还有以下主要的修正主要的修正(xizhng)(xizhng)控制。其中控制。其中空燃比反馈修正空燃比反馈修正(xizhng)(xizhng)控制是控制是利用氧传感器信号来修正利用氧传感器信号来修正(xizhng)(xizhng)喷油脉冲宽度。喷油脉冲宽度。第12页/共47页第十三页,共47页。n n 基本(jbn)喷油时间控制n n 启动后加浓控制n n 启动后喷油控制 暖机加浓控制n n 怠速稳定控制n n 修正控制 进气温度修正控制n n 空燃比反馈修正控制n n 功率加大修正控制n n 蓄电池电压修正控制n n 自学习修正控制第13页/共47页第十四页,共47页。n n氧传感器动态电压信号氧传感器动态电压信号xxHxxH值与设计目标值值与设计目标值yyHyyH比较,有以下比较,有以下3 3种情种情况需要处理:况需要处理:n nxxHxxH值值 yyH yyH:表示喷油过浓,需要调用减小喷油子程序:表示喷油过浓,需要调用减小喷油子程序(chngx)(chngx),执行后返回转移循环监测;,执行后返回转移循环监测;n nxxHxxH值值 yyH yyH:表示喷油过稀,需要调用增大喷油子程序:表示喷油过稀,需要调用增大喷油子程序(chngx)(chngx),执行后返回转移循环监测,执行后返回转移循环监测n nxxHxxH值值=yyH=yyH:表示喷油在理想空燃比附近,保持不变,转移循环监:表示喷油在理想空燃比附近,保持不变,转移循环监测测n n利用利用“比较不相等转移指令比较不相等转移指令CJNE”CJNE”和和“位条件转移指令位条件转移指令JC”JC”实现三分实现三分支判断。发动机整体控制是一个很大的程序支判断。发动机整体控制是一个很大的程序(chngx)(chngx),空燃比反馈,空燃比反馈修正控制程序修正控制程序(chngx)(chngx)只是其中一个程序只是其中一个程序(chngx)(chngx)段或子程序段或子程序(chngx)(chngx)(有不同的设计方法),为了简便,设定这是一个相对独(有不同的设计方法),为了简便,设定这是一个相对独立程序立程序(chngx)(chngx)。n n空燃比反馈修正控制程序空燃比反馈修正控制程序(chngx)(chngx)流程图如图流程图如图1-351-35所示(图中没有所示(图中没有显示子程序显示子程序(chngx)(chngx))。)。第14页/共47页第十五页,共47页。图1-35 空燃比反馈(fnku)修正控制程序流程图第15页/共47页第十六页,共47页。n n从程序流程图可以看出,这是一个从程序流程图可以看出,这是一个3 3分支结构程序,左分支程序保持分支结构程序,左分支程序保持喷油量不变,中间分支程序调用增大喷油子程序,右分支程序调用喷油量不变,中间分支程序调用增大喷油子程序,右分支程序调用减小喷油子程序。子程序增大或减小减小喷油子程序。子程序增大或减小1 1个变量的喷油时间参数后,要个变量的喷油时间参数后,要返回转移循环监测氧传感器不断传来的动态电压信号值返回转移循环监测氧传感器不断传来的动态电压信号值xxHxxH,看是否,看是否(sh fu)(sh fu)达到目标值。发动机在全部运行过程中,空燃比反馈修正达到目标值。发动机在全部运行过程中,空燃比反馈修正控制程序一直在不断的循环监测氧传感器信号和修正喷油时间,使控制程序一直在不断的循环监测氧传感器信号和修正喷油时间,使尾气排放达到环保要求。尾气排放达到环保要求。第16页/共47页第十七页,共47页。n n空燃比反馈修正控制程序如下:空燃比反馈修正控制程序如下:n n标号标号 地址地址 源程序源程序 注释注释n nLOOPLOOP:1954H MOV R11954H MOV R1,#xxH#xxH ;氧传感器动态信号;氧传感器动态信号xxHxxH送送R1R1n n 1956H CJNE R1 1956H CJNE R1,#yyH#yyH,N2 N2 ;R1R1内内xxHyyHxxHyyH,转移,转移N2N2n n (rel1=02Hrel1=02H)xxH=yyH xxH=yyH,不转移,顺接,不转移,顺接N1N1n n N1 N1:1959H SJMP LOOP1959H SJMP LOOP(rel2=F9Hrel2=F9H);转移);转移LOOPLOOP循环循环(xnhun)(xnhun)监测监测n n N2 N2:195BH JC N3195BH JC N3(rel3=rel3=);xxH xxH yyH yyH,CY=1CY=1,转移,转移N4N4,n n xxH xxH yyH yyH,CY=0CY=0,顺接,顺接N3N3n n N3 N3:195DH LCALL L1 195DH LCALL L1 ;调用减小喷油子程序;调用减小喷油子程序L1L1n n 1960H SJMP LOOP 1960H SJMP LOOP(rel4=rel4=);执行减小喷油后返回,;执行减小喷油后返回,n n 转移循环转移循环(xnhun)(xnhun)监测监测 n n N4 N4:1962H LCALL L2 1962H LCALL L2 ;调用增大喷油子程序;调用增大喷油子程序L2 L2 n n 1965H SJMP LOOP 1965H SJMP LOOP(rel5=rel5=);执行增大喷油后返回,;执行增大喷油后返回,n n 转移循环转移循环(xnhun)(xnhun)监测监测第17页/共47页第十八页,共47页。n n程序中的地址程序中的地址(dzh)(dzh)偏移量偏移量relrel计算如下:计算如下:n n第第2 2条指令的条指令的rel1=195BHrel1=195BH(1956H1956H3 3)=02H=02Hn n第第3 3条指令的条指令的rel2=100Hrel2=100H1954H1954H(1959H1959H2 2)=100H=100H07H=F9H07H=F9Hn n其它其它relrel值由读者计算。值由读者计算。第18页/共47页第十九页,共47页。n n三、步进电机怠速阀控制原理程序三、步进电机怠速阀控制原理程序三、步进电机怠速阀控制原理程序三、步进电机怠速阀控制原理程序n n1.1.怠速控制原理怠速控制原理怠速控制原理怠速控制原理n n怠速就是汽车发动后温度上升到正常温度,发动机处于空挡怠速就是汽车发动后温度上升到正常温度,发动机处于空挡怠速就是汽车发动后温度上升到正常温度,发动机处于空挡怠速就是汽车发动后温度上升到正常温度,发动机处于空挡时稳定的最低转速。此时混合气燃烧所做的功,只是用以克时稳定的最低转速。此时混合气燃烧所做的功,只是用以克时稳定的最低转速。此时混合气燃烧所做的功,只是用以克时稳定的最低转速。此时混合气燃烧所做的功,只是用以克服发动机的内部阻力。服发动机的内部阻力。服发动机的内部阻力。服发动机的内部阻力。n n在使用汽车时,发动机怠速运转的时间约占在使用汽车时,发动机怠速运转的时间约占在使用汽车时,发动机怠速运转的时间约占在使用汽车时,发动机怠速运转的时间约占30%30%,怠速转速,怠速转速,怠速转速,怠速转速的高低直接影响燃油消耗的高低直接影响燃油消耗的高低直接影响燃油消耗的高低直接影响燃油消耗(xioho)(xioho)和排放尾气。怠速过高和排放尾气。怠速过高和排放尾气。怠速过高和排放尾气。怠速过高,耗油量增加;怠速过低,发动机转速不稳,容易熄火。耗油量增加;怠速过低,发动机转速不稳,容易熄火。耗油量增加;怠速过低,发动机转速不稳,容易熄火。耗油量增加;怠速过低,发动机转速不稳,容易熄火。n n怠速控制均采用发动机转速反馈闭环控制方式怠速控制均采用发动机转速反馈闭环控制方式怠速控制均采用发动机转速反馈闭环控制方式怠速控制均采用发动机转速反馈闭环控制方式 ,即发动机转,即发动机转,即发动机转,即发动机转速传感器将发动机的实际转速和目标转速进行比较,根据比速传感器将发动机的实际转速和目标转速进行比较,根据比速传感器将发动机的实际转速和目标转速进行比较,根据比速传感器将发动机的实际转速和目标转速进行比较,根据比较的差值确定使发动机达到目标值的控制量,并通过执行机较的差值确定使发动机达到目标值的控制量,并通过执行机较的差值确定使发动机达到目标值的控制量,并通过执行机较的差值确定使发动机达到目标值的控制量,并通过执行机构对发动机怠速转速进行校正。构对发动机怠速转速进行校正。构对发动机怠速转速进行校正。构对发动机怠速转速进行校正。第19页/共47页第二十页,共47页。n n步进电机式怠速控制阀由步进电机、步进电机式怠速控制阀由步进电机、阀杆、控制阀和阀座组成。转子阀杆、控制阀和阀座组成。转子(zhun z)的正转或反转运动经阀杆的正转或反转运动经阀杆(丝杆)转换成向前或向后的直线(丝杆)转换成向前或向后的直线伸缩运动,阀杆每旋转伸缩运动,阀杆每旋转1圈,伸缩圈,伸缩1个螺距;个螺距;图1-36 步进电机(dinj)式怠速控制阀示意图第20页/共47页第二十一页,共47页。n n2.2.怠速控制用步进电机怠速控制用步进电机n n目前应用怠速控制的步进电机多为永磁式,由发动机电控单元控目前应用怠速控制的步进电机多为永磁式,由发动机电控单元控制。目前应用怠速控制的步进电机多为永磁式,由发动机电控制。目前应用怠速控制的步进电机多为永磁式,由发动机电控单元控制。图单元控制。图1-371-37为某种怠速控制阀所用步进电机定子为某种怠速控制阀所用步进电机定子(dngz)(dngz)与转子结构和相互作用示意图。定子与转子结构和相互作用示意图。定子(dngz)(dngz)由两个由两个圆形爪极式铁芯相叠而组成,每个爪极式铁芯内有圆形爪极式铁芯相叠而组成,每个爪极式铁芯内有2 2个线圈,共个线圈,共有有4 4个线圈;每个爪极式铁芯有个线圈;每个爪极式铁芯有1616个爪极,两个铁芯错开相叠,个爪极,两个铁芯错开相叠,形成形成3232个爪极。转子是圆形永久磁铁,磁极方向与转子半径方个爪极。转子是圆形永久磁铁,磁极方向与转子半径方向一致,共有向一致,共有1616个(个(8 8对)磁极,图中只画出对)磁极,图中只画出2 2个(个(1 1对)磁极。对)磁极。n n步进电机转动一圈需要步进电机转动一圈需要3232步,步距角为步,步距角为11.2511.25。步进电机的工。步进电机的工作范围为作范围为0 0125125步。步。第21页/共47页第二十二页,共47页。图1-37 步进电动机定子(dngz)与转子示意图图1-38为步进电机的控制电路图,由单片机的并行输入/输出P1端口的P1.0、P1.1、P1.2、P1.3分别控制步进电机的A相、B相、C相、D相线圈(xinqun)。共有4条相同的控制电路,控制电路由反相器、光电隔离器、复合放大电路、保护二极管组成。A相、B相、C相、D相分别通电时,对应产生的磁极对是C1、C2、C3、C4。例如A相线圈(xinqun)通电,产生4对(8个)C1磁极。其它线圈(xinqun)通电情况类似。第22页/共47页第二十三页,共47页。步进电机转动的基本原理是:按步进电机转动的基本原理是:按ABCDAABCDA相序依次通电,相序依次通电,转子正转(图中为顺时针);按转子正转(图中为顺时针);按ADCBAADCBA相序依次通电,相序依次通电,转子反转。线圈通电时间的长短转子反转。线圈通电时间的长短(chngdun)(chngdun)决定转速,通电时决定转速,通电时间长,转速慢,通电时间短,转速快。间长,转速慢,通电时间短,转速快。图1-38 步进电动机控制(kngzh)电路图 第23页/共47页第二十四页,共47页。n n3.3.怠速阀的控制过程怠速阀的控制过程n n单片机主要通过发动机转速传感器和温度传感器的信号和设定的转速值来控单片机主要通过发动机转速传感器和温度传感器的信号和设定的转速值来控制步进电动机的转动。为了讲解方便,设定步进电机正转为关阀,即控制阀制步进电动机的转动。为了讲解方便,设定步进电机正转为关阀,即控制阀向阀座移动,减小通气向阀座移动,减小通气(tng q)(tng q)截面积;反转为开阀,即控制阀向远离阀座截面积;反转为开阀,即控制阀向远离阀座方向移动,增大通气方向移动,增大通气(tng q)(tng q)截面积。下面以怠速的三种基本控制为例,介截面积。下面以怠速的三种基本控制为例,介绍单片机对怠速控制阀步进电机的控制原理。绍单片机对怠速控制阀步进电机的控制原理。n n(1 1)暖机控制)暖机控制n n怠速控制阀的初始状态是全开,步进电机的步数为怠速控制阀的初始状态是全开,步进电机的步数为0 0,通气,通气(tng q)(tng q)截面积截面积最大,发动机起动后,怠速比较高,是快速暖机过程。快速暖机过程的怠速最大,发动机起动后,怠速比较高,是快速暖机过程。快速暖机过程的怠速一般控制在一般控制在12001200转转/分,称暖机高怠速。当发动机的温度增高到设定目标值,分,称暖机高怠速。当发动机的温度增高到设定目标值,发动机怠速稳定在发动机怠速稳定在800800转转/分,称正常低怠速。分,称正常低怠速。n n从暖机高怠速从暖机高怠速12001200转转/分到正常低怠速分到正常低怠速800800转转/分的控制模式分的控制模式第24页/共47页第二十五页,共47页。n n有多种,较先进的控制模式是建立温度与怠速的对应有多种,较先进的控制模式是建立温度与怠速的对应(duyng)(duyng)数列,存在单片机的程序存储器内,监测到多高的温度,就调数列,存在单片机的程序存储器内,监测到多高的温度,就调取对应取对应(duyng)(duyng)的怠速值。为初学理解方便,减小程序长度,的怠速值。为初学理解方便,减小程序长度,暂设两级数值:暂设两级数值:n n目标温度目标温度 实测温度,按暖机高怠速实测温度,按暖机高怠速12001200转转/分控制分控制,允许允许2020转转/分;分;n n目标温度实测温度,按正常低怠速目标温度实测温度,按正常低怠速800800转转/分控制分控制,允许允许2020转转/分。分。n n单片机始终将发动机转速与目标值比较,如果高于目标值,就控单片机始终将发动机转速与目标值比较,如果高于目标值,就控制步进电动机正转,减小通气截面积,降低发动机转速;如果制步进电动机正转,减小通气截面积,降低发动机转速;如果低于目标值,就控制步进电动机反转,增大通气截面积,增加低于目标值,就控制步进电动机反转,增大通气截面积,增加发动机转速。发动机转速。第25页/共47页第二十六页,共47页。n n由于怠速控制阀在初始是全开状态,发动机在此状态的设计转速要由于怠速控制阀在初始是全开状态,发动机在此状态的设计转速要高于高于12001200转转/分,所以在发动机起动后的暖机控制开始,单片机控制分,所以在发动机起动后的暖机控制开始,单片机控制步进电机从步进电机从0 0步开始,只可能步开始,只可能(knng)(knng)是正转,减小通气截面积,降是正转,减小通气截面积,降低发动机转速至低发动机转速至12001200转转/分。步进电机每转动分。步进电机每转动1 1步,单片机就累加正步,单片机就累加正转步数转步数1 1次;如果反转,单片机就减少正转步数次;如果反转,单片机就减少正转步数1 1次。次。n n发动机受各种因素影响,怠速会有一定的波动。怠速与目标转速的发动机受各种因素影响,怠速会有一定的波动。怠速与目标转速的误差,允许在误差,允许在2020转转/分以内,超过分以内,超过2020转转/分,单片机就调控。分,单片机就调控。第26页/共47页第二十七页,共47页。n n(2 2)正常怠速控制)正常怠速控制n n发动机正常运行时,按正常低怠速发动机正常运行时,按正常低怠速800800转转/分控制分控制,允许允许(ynx)20(ynx)20转转/分。分。n n(3 3)发动机关闭后控制)发动机关闭后控制n n关闭发动机后,发动机关闭发动机后,发动机ECUECU(不断电)控制步进电动机反转到怠速阀恢复到(不断电)控制步进电动机反转到怠速阀恢复到初始全开状态,为了下次起动做好准备。初始全开状态,为了下次起动做好准备。n n单片机控制步进电动机从初始全开状态,到正常怠速状态,再恢复到初始全单片机控制步进电动机从初始全开状态,到正常怠速状态,再恢复到初始全开状态,其间的步数变化都被记忆下来;发动机关闭后,从初始全开状态正开状态,其间的步数变化都被记忆下来;发动机关闭后,从初始全开状态正转多少步,就转反多少步,正好回到初始全开状态。转多少步,就转反多少步,正好回到初始全开状态。第27页/共47页第二十八页,共47页。n n4.4.步进电机的控制步进电机的控制n n控制步进电动机正、反转有多种方法,基本原理是通过对控制步进电动机正、反转有多种方法,基本原理是通过对P1P1口输入口输入控制字(也称控制码),依次对每一相线圈供电。由于怠速控制常控制字(也称控制码),依次对每一相线圈供电。由于怠速控制常用用4 4相步进电动机,所以可用循环移位相步进电动机,所以可用循环移位(y wi)(y wi)指令来实现。指令来实现。n n 把控制字传送给累加器把控制字传送给累加器A A,A A再把内容传输到再把内容传输到P1P1口。口。P1 P1口的低口的低4 4位位P1.0P1.0、P1.1P1.1、P1.2P1.2、P1.3P1.3分别控制步进电动机的分别控制步进电动机的A A相、相、B B相、相、C C相、相、D D相线圈。相线圈。P1P1口的高口的高4 4位不用。表位不用。表1-121-12是是P1P1口控制步进电动机正转和反口控制步进电动机正转和反转的循环移位转的循环移位(y wi)(y wi)控制字。正转用左移循环指令,反转用右移循控制字。正转用左移循环指令,反转用右移循环指令。环指令。第28页/共47页第二十九页,共47页。表1-12 P1口控制(kngzh)步进电动机正转和反转的循环移位控制(kngzh)字P1口高4位低4位控制字P1口高4位低4位控制字线圈 不用线圈不用正转0 0 0 10 0 0 111H反转0 0 0 10 0 0 111H0 0 1 00 0 1 022H1 0 0 01 0 0 088H0 1 0 00 1 0 044H0 1 0 00 1 0 044H1 0 0 01 0 0 088H0 0 1 00 0 1 022H0 0 0 10 0 0 111H0 0 0 10 0 0 111H0 0 1 00 0 1 022H1 0 0 01 0 0 088H第29页/共47页第三十页,共47页。n n发动机运行期间,步进电动机要不时的正转或反转稳定怠速,如果发动机运行期间,步进电动机要不时的正转或反转稳定怠速,如果正转,则正转步数增加;如果反转,则正转步数减少。每转一步,正转,则正转步数增加;如果反转,则正转步数减少。每转一步,正转步数都要存入内存正转步数都要存入内存3030单元。步进电动机每次停止转动的最后控单元。步进电动机每次停止转动的最后控制字都要存入内存制字都要存入内存3131单元,下次单元,下次(xi c)(xi c)转动就从上次最后控制字的转动就从上次最后控制字的左移或右移后的新控制字开始,这样就保证转子转动的连续和平稳。左移或右移后的新控制字开始,这样就保证转子转动的连续和平稳。例如上次停转最后控制字是例如上次停转最后控制字是44H44H,下次,下次(xi c)(xi c)转动,如果反转,就转动,如果反转,就右移右移1 1位,新控制字就是位,新控制字就是22H22H;如果正转,就左移;如果正转,就左移1 1位,新控制字就是位,新控制字就是88H 88H。第30页/共47页第三十一页,共47页。n n5.5.怠速控制阀步进电机控制程序怠速控制阀步进电机控制程序n n怠速控制程序是发动机电控单元主控程序下的一个子程序。设单片怠速控制程序是发动机电控单元主控程序下的一个子程序。设单片机内存机内存RAMRAM有关单元所要储存的数据和来源如下:有关单元所要储存的数据和来源如下:n n30H30H:存步进电动机的正转步数;:存步进电动机的正转步数;n n31H31H:存驱动步进电动机的控制字;:存驱动步进电动机的控制字;n n32H32H:存缸温实测值,由温度传感器传来;:存缸温实测值,由温度传感器传来;n n33H33H:存缸温目标值,由程序存储器传来;:存缸温目标值,由程序存储器传来;n n34H34H:存怠速实测值,由转速:存怠速实测值,由转速(zhun s)(zhun s)传感器传来;传感器传来;n n35H35H:存正常低怠速目标上限值(:存正常低怠速目标上限值(820820转转/分),由程序存储器传来;分),由程序存储器传来;第31页/共47页第三十二页,共47页。n n36H36H:存正常低怠速目标下限值(:存正常低怠速目标下限值(780780转转/分),由程序存储器传来;分),由程序存储器传来;n n37H37H:存暖机高怠速目标上限值(:存暖机高怠速目标上限值(12201220转转/分),由程序存储器传来;分),由程序存储器传来;n n38H38H:存暖机高怠速目标下限值(:存暖机高怠速目标下限值(11801180转转/分),由程序存储器传来;分),由程序存储器传来;n n3AH:3AH:临时存怠速目标上限值临时存怠速目标上限值 ;n n3BH:3BH:临时存怠速目标下限值临时存怠速目标下限值n n00H00H(位地址):存发动机运行和关闭数据:(位地址):存发动机运行和关闭数据:n n(00H00H)0 0,发动机关闭;,发动机关闭;n n(00H00H)1 1,发动机运行;,发动机运行;n n 信号信号(xnho)(xnho)由发动机点火开关传来。由发动机点火开关传来。第32页/共47页第三十三页,共47页。n n怠速步进电机控制程序流程图(图怠速步进电机控制程序流程图(图1-39 1-39)中有)中有5 5个判断框。个判断框。n n第第1 1个判断框是个判断框是“有发动机关闭信号吗?有发动机关闭信号吗?”,判断是否停机。,判断是否停机。n n第第2 2个判断框是个判断框是“步数步数=0=0吗?吗?”,步数,步数=0=0就停机,否则转移驱动步进电就停机,否则转移驱动步进电机反转至停机。机反转至停机。n n第第3 3个判断框是个判断框是“缸温达到目标值吗?缸温达到目标值吗?”,没达到转移,没达到转移“按暖机高怠速处按暖机高怠速处理理”,达到,达到“按正常低怠速处理按正常低怠速处理”。处理的过程是把高怠速或低怠速目。处理的过程是把高怠速或低怠速目标值的上、下限值,赋给下一步作为判断依据。标值的上、下限值,赋给下一步作为判断依据。n n第第4 4个判断框是个判断框是“怠速怠速 目标上限值吗目标上限值吗”,如果,如果(rgu)(rgu)大于或等于,就转大于或等于,就转移驱动步进电机正转移驱动步进电机正转1 1步,减小怠速;如果步,减小怠速;如果(rgu)(rgu)小于,则顺接怠速下小于,则顺接怠速下限值判断。限值判断。n n第第5 5个判断框是个判断框是“怠速目标下限值吗怠速目标下限值吗”,如果,如果(rgu)(rgu)小于,就转移驱小于,就转移驱动步进电机反转动步进电机反转1 1步,增大怠速;如果步,增大怠速;如果(rgu)(rgu)大于,说明至此已判出:大于,说明至此已判出:目标上限值实测值目标上限值实测值 目标下限值,怠速在正常范围内,可以保持不变,目标下限值,怠速在正常范围内,可以保持不变,转移继续查发动机关闭信号,开始下一循环监控。转移继续查发动机关闭信号,开始下一循环监控。第33页/共47页第三十四页,共47页。图1-39 怠速步进电机(dinj)控制程序流程图第34页/共47页第三十五页,共47页。n n步进电机的转速是由每一相的通电延时长短决定,因此,必须有延步进电机的转速是由每一相的通电延时长短决定,因此,必须有延时子程序。由于步进电机每一相的通电延时是时子程序。由于步进电机每一相的通电延时是20ms20ms(或(或10ms10ms),比),比较短,所以不需要用定时器,利用空操作指令和判断