位置:51电子网 » 技术资料 » 传感与控制

AVR单片机在柴油机转速测量中的应用

发布时间:2008/5/27 0:00:00 访问次数:880

作者:江苏省南通市建筑机械厂(226006) 詹卫前

avr单片机在柴油机转速测量中的应用

摘要:利用atmel新一代avr单片机(at90s2313)实现对柴油机转速的测量,在c语言程序设计中引入了消息的概念,最后给出了at90s2313与at89c2051在转速测量中使用效果的比较。 关键词:单片机 转速测量 柴油机 消息 柴油机的转速是一个较为重要的运行参数,也有很多种用于测量转速的仪表,如:机械软轴式转速表、频率-电压转换式转速表、数字式转速表等,它们中间有的成本很高而且精度较差、有的工艺复杂而且可靠性不高。本文介绍了一种利用单片机技术制成的智能转速表,不仅精度高、工艺简单、线路简洁,而且可靠性高、功能强。其不仅可以测量转速,而且可以统计机器运行的累计时间,当柴油机超速时,还可发出报警信号,切断油路,保护机器不发生飞车事故。

1测量原理 在测量柴油机转速时我们采用了电磁感应式传感器,这种传感器可将转速信号转变成一个脉冲信号输出,而脉冲信号的频率与柴油机的转速是一种线性的正比关系。因此对柴油机转速的测量,实质上是对脉冲信号的频率的测量,可以采用闸门法进行测量。

2线路设计

智能转速表的框图如图1所示

智能转速表主要由脉冲放大及整形电路、单片机(at90s2313)、多路动态扫描led显示电路和报警信号输出电路组成。 在设计中我们采用了atmel的avr系列单片机中的at90s2313,该单片机有如下特点: (1)片内有2k字节可在线编程(isp编程)的flash存贮器。

(2)片内有128字节sram和128字节eeprom存贮器。

(3)精简指令集结构单片机,尤其内部32个寄存器全部与alu直接连接,突破传统瓶颈限制,每mhz时钟具有1mips的性能。

(4)内含带预分频的8位和16位的定时器各一个,16位定时器还具有捕捉、比较及pwm功能。

(5)一个片内watchdog定时器。

(6)除具有普通uart串行口外,还具有高速spi接口。

(7)avr的输出端口可直接驱动led。

at90s2313的定时器0(8位)工作于定时器方式,用来产生定时闸门信号;而定时器1(16位)工作于计数器方式,对整形电路送来的脉冲信号进行计数;片内的eeprom用于保存机器运行累计时间,在断电时可以保持数据不丢失。

3程序设计

在avr单片机的程序设计中,我们采用了imagecraft的c语言编译器iccavr,并在单片机程序设计中引入了windows系统中消息的概念。主要程序流程图如图二所示。 主程序 中断服务程序

定时器0以中断方式工作,其负责采集定时器1 的计数值、对运行时间累计和发送消息。由于在仪表中对采集到的定时器1 的计数值,需要进行一些处理,如:判断是否超过额定速度、将16位二进制数转换成bcd码、为动态led显示电路进行软件译码及扫描控制等等。如果所有工作全部放在中断程序中完成,就会导致中断服务程序执行时间过长。由于仪表还要完成运行时间的累计工作,尽管中断服务程序执行时间过长对转速的测量不会有太大影响,但势必会给时间累计造成过大的累积误差,影响累计时间的精度。为了解决这个问题,我们采取了下面的方法: 借鉴windows 编程的原理,在单片机编程中引入消息的概念,将中断产生的标志作为消息,而数据处理则放在消息循环中进行。在这个例子中中断服务程序中只进行数据的采集和标志位的设置(发送消息),而将数据的处理放到运行时间要求不很精确的中断服务程序之外的主程序循环中(消息循环)。这样一方面减少了中断服务程序的长度,缩短了中断服务程序执行的时间,提高了中断处理的实时性,另一方面又不影响数据的处理。从而很好地解决了数据采集的实时性和数据处理耗时多而影响时间累计之间的矛盾。

和pc机相比,单片机资源十分有限。因此,单片机系统不可能象windows系统那样建立庞大的消息循环机制,将消息分发给各个程序并行处理。在基于消息的单

作者:江苏省南通市建筑机械厂(226006) 詹卫前

avr单片机在柴油机转速测量中的应用

摘要:利用atmel新一代avr单片机(at90s2313)实现对柴油机转速的测量,在c语言程序设计中引入了消息的概念,最后给出了at90s2313与at89c2051在转速测量中使用效果的比较。 关键词:单片机 转速测量 柴油机 消息 柴油机的转速是一个较为重要的运行参数,也有很多种用于测量转速的仪表,如:机械软轴式转速表、频率-电压转换式转速表、数字式转速表等,它们中间有的成本很高而且精度较差、有的工艺复杂而且可靠性不高。本文介绍了一种利用单片机技术制成的智能转速表,不仅精度高、工艺简单、线路简洁,而且可靠性高、功能强。其不仅可以测量转速,而且可以统计机器运行的累计时间,当柴油机超速时,还可发出报警信号,切断油路,保护机器不发生飞车事故。

1测量原理 在测量柴油机转速时我们采用了电磁感应式传感器,这种传感器可将转速信号转变成一个脉冲信号输出,而脉冲信号的频率与柴油机的转速是一种线性的正比关系。因此对柴油机转速的测量,实质上是对脉冲信号的频率的测量,可以采用闸门法进行测量。

2线路设计

智能转速表的框图如图1所示

智能转速表主要由脉冲放大及整形电路、单片机(at90s2313)、多路动态扫描led显示电路和报警信号输出电路组成。 在设计中我们采用了atmel的avr系列单片机中的at90s2313,该单片机有如下特点: (1)片内有2k字节可在线编程(isp编程)的flash存贮器。

(2)片内有128字节sram和128字节eeprom存贮器。

(3)精简指令集结构单片机,尤其内部32个寄存器全部与alu直接连接,突破传统瓶颈限制,每mhz时钟具有1mips的性能。

(4)内含带预分频的8位和16位的定时器各一个,16位定时器还具有捕捉、比较及pwm功能。

(5)一个片内watchdog定时器。

(6)除具有普通uart串行口外,还具有高速spi接口。

(7)avr的输出端口可直接驱动led。

at90s2313的定时器0(8位)工作于定时器方式,用来产生定时闸门信号;而定时器1(16位)工作于计数器方式,对整形电路送来的脉冲信号进行计数;片内的eeprom用于保存机器运行累计时间,在断电时可以保持数据不丢失。

3程序设计

在avr单片机的程序设计中,我们采用了imagecraft的c语言编译器iccavr,并在单片机程序设计中引入了windows系统中消息的概念。主要程序流程图如图二所示。 主程序 中断服务程序

定时器0以中断方式工作,其负责采集定时器1 的计数值、对运行时间累计和发送消息。由于在仪表中对采集到的定时器1 的计数值,需要进行一些处理,如:判断是否超过额定速度、将16位二进制数转换成bcd码、为动态led显示电路进行软件译码及扫描控制等等。如果所有工作全部放在中断程序中完成,就会导致中断服务程序执行时间过长。由于仪表还要完成运行时间的累计工作,尽管中断服务程序执行时间过长对转速的测量不会有太大影响,但势必会给时间累计造成过大的累积误差,影响累计时间的精度。为了解决这个问题,我们采取了下面的方法: 借鉴windows 编程的原理,在单片机编程中引入消息的概念,将中断产生的标志作为消息,而数据处理则放在消息循环中进行。在这个例子中中断服务程序中只进行数据的采集和标志位的设置(发送消息),而将数据的处理放到运行时间要求不很精确的中断服务程序之外的主程序循环中(消息循环)。这样一方面减少了中断服务程序的长度,缩短了中断服务程序执行的时间,提高了中断处理的实时性,另一方面又不影响数据的处理。从而很好地解决了数据采集的实时性和数据处理耗时多而影响时间累计之间的矛盾。

和pc机相比,单片机资源十分有限。因此,单片机系统不可能象windows系统那样建立庞大的消息循环机制,将消息分发给各个程序并行处理。在基于消息的单

相关IC型号

热门点击

 

推荐技术资料

滑雪绕桩机器人
   本例是一款非常有趣,同时又有一定调试难度的玩法。EDE2116AB... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!