文档详情

第12章 单片机应用系统设计举例课件

我***
实名认证
店铺
PPT
151KB
约24页
文档ID:144975484
第12章 单片机应用系统设计举例课件_第1页
1/24

第12章 单片机应用系统设计举例,12.1 智能自主循迹小车控制器,12.2 基于实时操作系统的压力测控系统,12.1.1 系统要求,设计智能自主循迹小车控制器,具体要求如下: (1)路径检测 能够检测白色底板上的2.5cm宽的黑色引导线,并可得出小车中心线与黑色引导线的偏差 (2)速度测量 能够测量小车的实时速度,并将测得的速度用于反馈,实现速度闭环控制 (3)舵机 用于根据路径情况控制前轮转向幅度 (4)驱动电机 驱动电机用于驱动后轮转动,为小车提供前进动力 (5)小车根据白色底板上的黑色引导线实现智能自主循迹,要求在不脱离引导线的前提下速度尽可能快12.1 基于STC12C5A60S2的智能自主循迹小车控制器,12.1.2 需求分析,1单片机选型 进行单片机选型时,应尽量了解较多种类单片机的性能指标和包含的资源根据系统的要求,选用合适的单片机目前许多单片机具有较高的集成度,因此,如果有模拟量检测的要求时,应尽量选择带有A/D转换模块的单片机并且,应该注意所设计系统的应用场合,选择适当的芯片等级(军用级、工业级和商用级) STC12C5A60S2单片机片内集成了8通道10位高速模数转换器,2通道PWM,具有较多的通用I/O和片上外设(定时器、UART等),因此,在本系统的设计中,可以采用STC12C5A60S2作为系统的检测与控制中心。

2人机接口的设计选型 为保证小车轻巧灵活,人机接口要简单实用参数设定使用拨码开关,状态指示使用发光二极管,调试时使用串行口得到有用信息,可以通过ISD51查看参数变化,也可以将参数发送到串口,使用串口调试助手或自己编写的上位机软件进行观察 3路径检测和速度测量 路经检测和速度测量均使用光电对管RPR220作为传感器不同的是,在路径检测中,对接收管的输出进行AD采样;在速度测量中,将接收管的输出连接到比较器电路,使用比较器的输出进行测量4电机和舵机的驱动控制 车速控制单元采用RS-380SH型直流电机对小车速度进行闭环控制电机驱动电路采用Freescale公司的MC33886集成H-桥芯片采用Futaba S3010型舵机,该舵机不用专门的驱动电路,可直接用1路PWM控制 5电源电路选型 由于小车采用镍镉蓄电池供电,应选择高效率、低压差的稳压芯片电池电压7.2伏,电机直接采用电池电压,舵机采用6伏电压,单片机及其外围电路需要5伏电压在此,选用常见的REG1117-5(输出5V)和REG1117-ADJ(输出可调)线性稳压芯片12.1.3 系统硬件设计,1CPU基本单元电路,,,2人机接口电路,,,3路径检测与测速电路,,,4电机驱动电路,,,5电源电路,,,,12.1.4 系统软件设计,单片机的检测报警程序采用C语言编写。

单片机的7个ADC转换通道对小车路径检测的模拟量进行采样,进行二值化和坐标变换后得到小车中心与路径的偏差,然后根据偏差大小对舵机转角和小车速度进行相应的调整由于舵机和电机驱动对PWM频率要求差别较大,驱动电机的PWM由单片机内部PWM模块产生,而驱动舵机的PWM则由定时器T0产生具体程序请参见教材!!!,12.2.1 系统要求,系统的具体要求如下: 1压力检测:检测来自压力传感器输出的电压信号(05V) 2工程变换:即将ADC转换结果再转换为压力大小(仅保留整数部分) 3键盘:用于设置压力的报警值和当前时间 4数码LED显示:用于显示压力报警值的上限和下限,并显示当前压力值压力值在0100之间 5当前压力值超过报警值时,通过蜂鸣器报警,并控制电机执行相应的动作压力值低于下限时,合上控制电机正转的继电器,控制电机正转,压力升高,压力值升高到正常范围后,打开正转继电器,电机停转;压力值高于上限时,合上控制电机反转的继电器,控制电机反转,压力值下降到正常范围后,打开反转继电器,电机停转没有超过报警值时,继电器都打开,电机不转 6上位机监控软件设计:通过计算机显示当前的压力值以及报警值。

12.2 基于实时操作系统uC/OS-II的压力测控系统,12.2.2 需求分析,1单片机选型 STC12C5A60S2单片机片内集成了8通道10位高速模数转换器,并且,具有较多的通用I/O和片上外设(定时器、UART等)在本系统的设计中,选用STC12C5A60S2作为系统的检测与控制中心 2程序框架选择 由于STC12C5A60S2单片机资源比较丰富,可以在不用外扩资源的情况下嵌入uC/OS-II操作系统嵌入操作系统的好处是可以大大简化程序的设计,因此,这里舍弃了传统的前后台程序设计方法,采用了嵌入式操作系统uC/OS-II3人机接口的设计选型 系统要求使用键盘设置压力的报警上限值和下限值,使用LED进行显示在此,使用4个按键作为系统键盘,选用8位LED显示,用以显示压力的报警值(上限、下限)、当前值和当前时间 传统的键盘和LED显示电路设计,一般采用扫描的方式即,键盘采用扫描方式,LED显示采用动态扫描方式键盘和LED设计时,公用其中的某些口线在本例中,键盘采用扫描方式,而LED采用串行并行转换芯片74HC595进行显示 除了LED显示外,常见的信息显示方式还有LCD显示(即液晶显示)。

限于篇幅,有关LCD显示的内容,放在与本教材配套的实验指导书中讲解 为了显示系统的工作状态,设计一个运行指示灯当系统正常运行时,能够以一定的频率闪烁4继电器控制 单片机I/O引脚本身的驱动能力有限,因此,一般情况下,不能使用单片机的I/O引脚直接控制继电器在常见的控制系统中,往往利用单片机I/O引脚加上驱动电路驱动小功率继电器,这个小功率继电器作为中间继电器,再用中间继电器驱动控制大功率继电器使用中间继电器控制大功率继电器的方法,在一般的电器控制教材上都有详细的介绍,在此从略连接单片机I/O引脚和中间继电器的驱动电路,可以使用现成的集成驱动电路,如ULN2803,也可以利用分离元件自行设计为了提高系统的抗干扰能力,在单片机的I/O引脚和中间继电器之间最好采用光电隔离技术由于本系统只需要控制两个继电器,因此,这里的驱动电路使用分离元件进行设计5上位机监控软件的设计 计算机和单片机的串行通信可以采用RS-232、RS-422或RS-485总线标准接口从硬件上讲,计算机的串行口是RS232电平的,而单片机的串口是TTL电平的因此,要实现单片机与计算机之间的串行通信,必须通过电路实现TTL电平和232电平的转换。

常用的电平转换集成电路是MAX232 从软件的角度讲,要实现上位机监控软件的设计,需要掌握目前流行的基于Windows操作系统的软件设计可以选择较容易上手的Visual Basic开发环境,进行监控软件的设计12.2.3 系统硬件设计,1CPU基本单元电路,,,2声光报警电路,,3RS232通信接口电路,,4继电器控制电路图,,5键盘和显示控制电路,,,5键盘和显示控制电路,,,,键盘电路图,12.2.4 系统软件设计,单片机的检测报警程序采用uC/OSII实时操作系统框架每5ms循环采样的方式采集压力信号(在此假设采用8位转换精度)压力大小通过数码管实时显示并通过串口传至上位机报警声音通过PWM控制蜂鸣器发出,监测的压力值超过上限时,发出上限报警声音(高音调);监测的压力值低于下限时,发出下限报警声音(低音调)报警的上下限可通过按键设置不管发生哪种报警,报警指示灯点亮如果没有报警,则不出现报警声音和灯光信号系统运行指示灯通过对定时器0的中断计数50次实现定时输出高低脉冲控制D1具体程序请参见教材!!!,思考题 1试编写智能自主循迹小车的测速程序并实现速度的PID闭环控制 2试设计本章压力测控系统中的上位机程序,包括数据采集和显示程序的设计。

试将继电器调节改为调节阀调节压力,使用PWM外加滤波方式控制调节阀的开度画出电路原理图,并设计相关程序。

下载提示
相似文档
正为您匹配相似的精品文档