基于单片机的光点测速传感器

2016-06-28 03:21李槐生
科技与创新 2016年11期
关键词:单片机

李槐生

摘 要:基于单片机的车速控制系统,以MPC5604芯片为核心构建一个单片机的车速控制系统。它的硬件系统包括电源、主控模块、按键模块、显示模块和光电式测速传感器测电机转动等四大模块。系统软件部分由主函数控制模块、定时中断和外部中断模块、初值定义模块、按键修改部分、5110初始化模块、PID控制转速模块、回路控制转速模块等组成。其目的是实现实时控制电机转速,从而实现车速的控制,计算车辆行驶路程,并显示设定车速、当前采集车速、PID控制参数、行驶路程。

关键词:光电式测速传感器;车速控制;PWM控制;单片机

中图分类号:TB114.2 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.11.016

文章编号:2095-6835(2016)11-0016-03

1 系统实现的基本功能

系统实现的功能有以下4中:①按键设定并显示车速和PID控制参量,按键控制电机起停;②实时显示实际车速与行驶路程;③PWM转速闭环控制;④车辆超速报警。

车辆超速报警:1、5110显示设定速度、采集速度、PWM占空比、PID参数; 2、按键修改设定速度、PID参数;3、按键控制电机启停;4、PWM转速闭环自动控制。

其系统组成结构图如下:

2 方案设计

单片机MPC5604为整个系统核心控制部件。其振荡电路靠单片机利用内部时钟来完成,为系统的主频率,是单片机执行服务的基准。外部电路包括复位电路、显示电路、光电式测速传感器等。通过单片机及PID参数调节控制输出相应的PWM电机控制信号实现电机车速的控制。

本系统是基于单片机的转速控制系统的设计,所以核心内容是单片机控制。通过不断的脉冲计数、计算速度、PWM占空比的调节、刷新显示,及按键扫描和执行相应的按键功能,设计功能如下:①5110显示和按键扫描程序设计和调试;②转速检测程序设计及其调试;③PWM占空比的回路控制调节电机的转速。

2.1 硬件电路

单片机为系统转速控制的控制中心,也是最小的单片机组成,其包括一块MPC5604芯片、复位部分、晶振时间频率控制部分。系统主控结构情况如图2所示。

选用单片机MPC5604 (以下简称 5604),100 引脚封装。这款单片机的运算速度、存储容量以及端口(ATD, I/O, PWM, SCI 等)能够满足设计要求。为了使电路板紧凑,仅对所用到的必要引脚引出,适当留有备用端口,其中包括PWM 接口、FTM、普通I/O 口、JTAG 接口、SCI 接口等。

电路板实物尺寸为42 mm×42 mm。

2.1.1 系统供电模块电路设计

系统使用电压为7.2 V的镍镉电池供电。由于单片机模块、5110模块、电机驱动模块均为5 V供电,采用集成三端稳压电源。LM2940稳压器件,输出电流1A足以满足单片机供电的需要。因为电路中存在感性负载,存在大电流,为了最大限度地降低各个部分对单片机的干扰,单独采用一片LM2940 对单片机和起跑线检测模块进行供电。而其他需要5 V供电的模块则采用另一片LM2940进行供电。传感器部分本身功耗并不高,但要求稳定工作,因此单独用一片LM2940为其供电。最终电源原理如图3所示。

2.1.2 电机驱动电路设计

驱动电路为电机提供控制和驱动,这部分电路的设计要求以能够通过大电流为主要指标。目前流行的H 桥驱动电路有:H 桥集成电路,如MC33886;集成半桥电路,如BTS7970 等;MOS 管搭建的H 桥电路。我们对三种电路都进行了搭建并测试。MC33886 的优点是电路简单,外围元件少;但缺点是内阻较大,通过电流有限,可以通过两片MC33886 并联的方式进行改善。MOS 管搭建的H 桥电路可以通过较大电流,但由于每个MOS 管体积较大,因此电路板面积较大。另外,MOS 管H 桥电路可能会发生脉冲上升沿、下降沿由于不够陡峭而带来的瞬间短路、功率过高等问题。为此,选择了两个目前比较流行的BTS7970 半桥集成电路组成H 桥电路,原理如图4所示。

2.1.3 5110液晶显示电路

5110液晶显示模块,为点阵字符型液晶显示模块,有自带驱动IC和液晶显示控制IC,其内部有字符发生器和显示数据存储器。该模块具有与MCU接口:8位或4位并行/3位串行数据总线接口。CS与单片机的P10口连接,SID与P11口连接,SCLK与P12口连接。B_Light为背光显示,可以不连接。通过5110电路实现数据和命令的发送、汉字和字母的显示。

其5110显示电路如图5所示。

2.1.4 按键接口电路

系统中,由于需要对设定速度、PID控制参数的修改,实现实时转速控制在一定误差范围内,所以系统在单片机P2口加入4×4的矩阵按键分别对其修改。从左至右、从上到下将按键依次定义为1—16. 其中,1—10为数字按键,按键13、按键14、按键15、按键16为功能按键。按键接口电路如图6所示。

2.1.5 辅助调试电路

2.1.5.1 LED指示电路

本系统有3个共阴极的发光二极管,其中当D1亮指示PWM控制转速模式,D2发光二极管亮指示修改设定速度模式,D3亮指示修改PID参数。当三个灯都亮,则说明电机为启动状态;当3个发光二极管都灭,则说明电机为停止状态。

2.1.5.2 LED灯电路

LED灯电路图如图7所示。

2.1.5.3 蜂鸣器报警电路

当转速超过规定速度以及其他情况时,将使用蜂鸣器进行报警。蜂鸣器报警电路如图8所示。

2.2 软件设计

主控模块程序:根据系统功能描述,可以将软件大致划分为6个模块:主函数模块,系统参数初始化模块,5110初始化、发送命令、发送数据和显示汉字和显示字母模块,按键识键和功能设置模块,中断模块,PWM控制模块。主程序执行的过程是,先进入主程序初始化,在没有按键按下的时候,5110实时显示;当有按键按下的时候,则执行按键所对应的功能。

其主函数程序流程如图9所示。

2.2.1 程序流程

通过单片机内部定时中断功能,定时中断设定值为5 ms,中断服务函数流程如图10所示。

2.2.2 电机速度读取及车速计算

通过脉冲计数的方法来实现对速度的检测:在点击同轴的螺丝柱上装上100线光电码盘,这样当车轮转动时,光电码盘跟随电机同步转动,光电式速度传感器在码盘转动时产生TTL方波信号,使用输入脉冲测量功能对脉冲方波信号进行计数。由于采样周期固定(5 ms及定时中断时间)读出脉冲总数。5 ms内光电码盘转动一圈计数n=100。

由脉冲数计算实际速度的过程:对脉冲数N进行积分,行驶1 m测的脉冲个数的积分数N为4 700(也就说明码盘一共转了47圈);如果速度为1 m/s时,则积分数N在1 s内积分值为4 700,因此每个程序周期n=4 700÷1 000×5=23.5。也就是,说如果n=23.5 对应车速为1 m/s。所以速度V=n/23.5 m/s。

模拟PID控制系统原理如图11所示。

2.2.3 回路自动控制PWM程序

回路自动控制程序为系统软件中用到的另一种PWM控制方法,其设计思想是根据采集速度与设定速度的差值分为几个不同的档位,对占空比的调节宽度也不同,差值越大,所增加的占空比也就越大。

车辆行驶路程计算及速度报警:行驶1 m脉冲个数的积分为4 700,因此,对转速n进行积分,积分值除以4 700,就是小车行驶的路程。程序给定速度值,当小车超速时,IO口置高,蜂鸣器报警。

参考文献

[1]潘雪涛,温秀兰.传感器原理与检测技术[M].北京:国防工业版社,2011.

[2]单成祥.传感器设计基础[M].北京:国防工业版社,2007.

[3]孙同景,陈桂友.Freescale 9S12十六位单片机原理及嵌入式开发技术[M].北京:机械工业出版社,2008.

[4]邵贝贝.嵌入式实时操作系统uCOS-Ⅱ[M].第2版.北京:清华大学出版社,2004.

[5]王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2002.

〔编辑:胡雪飞〕

猜你喜欢
单片机
基于单片机MCU的IPMI健康管理系统设计与实现
浅析51单片机的特点与应用
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
MCS—51单片机多串口通讯技术应用分析
一种单片机虚拟实验室的建立方法
点阵式液晶显示器lMl2864与51单片机的接口设计
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器