基于单片机的智能环境数据采集小车系统设计

发布者:dadigt最新更新时间:2018-03-25 来源: eefocus关键字:单片机  环境数据采集  小车系统 手机看文章 扫描二维码
随时随地手机看文章

      本文主要一个基于单片机的智能环境数据采集小车系统的设计,能实现环境温湿度的采集、发送、接收、处理、显示和保存。系统采用单片机作为小车与控制台的核心。控制台通过无线射频信号控制电动小车前进、后退、左转和右转运行,小车在行进过程中实时采集环境数据并将采集到的数据通过无线信号发送给控制台,控制台将数据处理后显示,并将数据发送至PC保存。经调试,系统工作稳定、可靠,实用性强。

 

    智能小车在感知效应方面全面模拟人的机器系统,它是人工智能技术的试验场。智能小车具有识别、检测、环境数据采集等智能机制,能在非特定环境下,在恶劣条件下代替人工作,具有广阔的应用前景。本设计通过无线遥控电动小车的运行,实现环境温湿度的采集、发送、接收、处理、显示和保存,为数据的后期处理做好准备。

    1 总体方案设计

    系统设计图如图1所示。控制台通过按键发送无线遥控信号,小车接收到信号后进行判断作出前进、后退、左转、右转、停车动作。小车通过温湿度传感器实时采集当前环境的温湿度数据并通过无线信号发送至控制台,控制台将数据处理后显示并通过串口发送至PC保存。根据系统设计要求,采集小车设计的模块有电机驱动、无线模块、温湿度传感器;控制台设计由按键、无线模块、液晶显示器、串口等模块组成。

a.JPG

    2 硬件电路设计

    2.1 控制模块设计

    本设计中需要操作无线射频模块和温湿度传感器,会涉及到IIC和SPI协议,所以用单片机进行控制最理想。51系列单片机的使用简单、对于小型系统的控制灵活,AT89S52单片机IO口、定时计数器、串口等资源基本满足系统设计要求,故本设计采用AT89S52单片机作为核心。

    51系列单片机最小系统一般应该包括:单片机、晶振电路、复位电路。晶振选取11.059 2 MHz,方便产生960 0 bps波特率,用于串口通讯。

    2.2 电机驱动模块设计

    L293D是一款单片集成的高电压、高电流、4通道电机驱动,设计用于连接标准DTL或TTL逻辑电平,驱动电感负载(诸如继电线圈、DC和步进电机)和开关功率晶体管等等。此芯片可以驱动两个直流电机,每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占

    空比可以调整电机的转速。此专用芯片控制简单,响应及时。电机驱动电路如图2所示。b.JPG


    2.3 无线模块

    NRF24L01是NORDIC公司最近生产的一款无线通信通信芯片,采用FSK调制,内部集成NORDIC自己的Enhanced ShortBurst协议。可以实现点对点或是1对6的无线通信。无线通信速度可以达到2 M(bps)。工作在2.4 GHz世界通用ISM频段。通过SPI协议与单片机进行通讯,单片机只需4个IO口和一个外部中断口就可操作此模块。

 

    SPI协议:SPI(SEDAl Peripheral interface)串行外围设备接口,是一种高速的,全双工,同步的通信总线。SPI是一个环形总线结构,通信以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。其时序主要是在sck的控制下,两个双向移位寄存器进行数据交换。SDO(MOSI):主设备数据输出,从设备数据输入;SDI(MISO):主设备数据输入,从设备数据输出;SCLK时钟信号,由主设备产生;CS:从设备使能信号,由主设备控制。

    2.4 温湿度传感器

    温湿度传感器是系统中最重要的部分,需要响应速度快,采样间隔短,分辨率高,误差小。本设计选定DHT21数字温湿度传感器,这是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。单片机通过IIC协议与传感器通信,直接输出数字量,无需转换。精度高采样间隔小,满足实时采样。4针单排引脚封装,与单片机连接方便。电路如图3所示。

c.JPG

    IIC总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100 kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,IIC总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。

    IIC总线在传送数据过程中共有3种类型信号,它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。应答信号:接收数据的IC在接收到8 bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,判断为受控单元出现故障。

    DHT21数字温湿度传感器数据格式:

    40 bit数据=16 bit湿度数据+16 bit温度数据+8 bit校验和(湿度高8位+湿度低8位+温度高8位+温度低8位)的末8位=校验和

    当温度低于0℃时温度数据的最高位置1。

    3 软件设计

    3.1 小车程序流程图

    小车程序主要实现对控制台控制信号接收和处理,控制电机转动。软件设计中首先对无线模块,温湿度传感器定时器等进行初始化,然后用查询的方式判断是否接收到站台指令,如果接收到对指令进行判断根据指令类型控制小车行进。小车程序流程图如图4所示。d.JPG


    3.2 小车采集数据中断程序流程图

    中断程序中完成温湿度采集和发送。使用定时器中断,每隔三秒产生一次中断。中断流程图如图5所示。

e.JPG

 

    3.3 控制台程序流程图

    控制台程序包括键盘扫描、判断键值、发送命令、接收数据、处理数据、显示温湿度、串口发送数据至PC。程序中首先对无线模块、液晶显示、串口进行初始化。然后执行键盘扫描和接收数据程序。键盘扫描程序中根据键值判断是否有键按下,如果有则根据键值发送指令,如果没有则跳过向下执行。然后判断是否接收到温湿度数据,如果没有返回重新执行程序,如果接收到对数据进行处理然后更新液晶屏并通过串口把数据发送至PC保存。控制台流程图如图6所示。

f.JPG

    4 结论

    经过软硬件的设计和调试,系统达到设计要求。能够通过无线遥控小车行驶,在行驶中实时采集当前环境温湿度数据并发送给控制台,无线控制距离15米。控制台能正确发送指令和接收数据,能够通过液晶显示采集到的温湿度数据,能够通过串口发送数据到PC保存。


关键字:单片机  环境数据采集  小车系统 引用地址:基于单片机的智能环境数据采集小车系统设计

上一篇:基于Verilog HDL的CAN总线控制器设计
下一篇:基于AT89S52无人机航空遥感平台机载作业控制系统设计

推荐阅读最新更新时间:2024-03-16 15:58

微控制器的抗干扰软件编程方法
    微控制器越来越多地用于各种电子领域,例如自动化、工业控制中。随着金属氧化物半导体的硅晶体管几何尺寸的不断缩小,系统设计中的电磁兼容性(EMC)问题,成为采胳膊小尺寸器件进行设计的必须考虑的主要问题。     在嵌入式微控制器内部,对于内部产生的电磁发射,采用软件措施的效果并不明显。因为发射主要是由CPU中的内部时钟和噪声引起,而且高速开关电流是由微控制器中的多种不同的门所形成。如果芯片版图设计时没有考虑电磁兼容性,那么外部的PCB(印制电路板)将会大大增强那些不必要的噪声信号。所以在很多设计中,采用软件很难消除这种固有的电子发射影响。     但是,在控制器应用中,却可采用软件的方式来
[嵌入式]
基于MSP430FW427的无磁水表设计方案精编
  1 MSP430FW42x单片机介绍   MSP430FW42x系列单片机是TI公司针对电子式流量与旋转运动检测最新开发的专用MCU芯片,它将超低功耗MCU、旋转扫描接口(SCAN IF)和液晶显示LCD驱动模块完美地结合在一起。该器件的超低功耗结构和流量检测模块不仅延长了电池的寿命,同时还提高了仪表的精度与性能。MSP430FW42x的典型应用包括热量仪表、热水和冷水仪表、气体仪表和工业流量计、风力计以及其他旋转检测应用。   2 流量测量的原理   2.1 基本原理   一个由叶轮或螺旋齿轮构成的机械装置把流体流动转换为转动,这种转换能够实现对流体流量的测量。   把一个谐振回路中的电感置于叶轮的上方可
[单片机]
DS3231温度读取实验 附单片机源程序
DS3231作为一个走时精准的RTC芯片,内部带有温度补偿电路,此例将读取其中11H和12H寄存器,提取测得的温度值并传送到串口输出。 类似程序网上非常之多,不再赘述,在此重新提说几处需要注意的地方。 1.根据DS3231的芯片手册,其温度传感器的精度为±3℃,毕竟不是专用的温度传感器,在使用中可以作为一个参考,且仅此而已。 2.根据DS3231的芯片手册,其温度分辨率为±0.25℃,所以其小数部分读出的值只能是.00、.25、.50、.75这四种,如果读出的值不是这四种,则数据处理有误。 3.本实验使用一个float型数据直接接收了转换的温度值,没有对补码的符号位进行判断等。 注明:本程序没有使用CONV位进行强制转换,但是
[单片机]
DS3231温度读取实验 附<font color='red'>单片机</font>源程序
51单片机学习:IO扩展(串转并)实验-74HC595
实验名称:IO扩展(串转并)实验-74HC595 接线说明: 实验现象:下载程序后,8*8LED点阵以一行循环滚动显示 注意事项:LED点阵旁的J24黄色跳线帽短接到GND一端 ***************************************************************************************/ #include reg51.h typedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8; //定义74HC595控制管脚 sbit SRCLK=P3^6; //移位寄存器时钟输入 sbit RCLK
[单片机]
pic单片机的各种汇编语言指令解析
pic 单片机为最常用单片机之一,许多程序均基于 pic 单片机进行开发。因此,熟练 pic 单片机编程尤为重要。为保证大家能准确、熟练掌握 pic 单片机的使用,本文特带来 pic 单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中予以讲解。如果你对本文即将讲解的内容充满兴趣,不妨继续往下阅读哦。 一、pic 的指令系统 pic8 位单片机共有三个级别,有相对应的指令集。基本级 pic 系列芯片共有指令 33 条,每条指令是 12 位字长;中级 pic 系列芯片共有指令 35 条,每条指令是 14 位字长;高级 pic 系列芯片共有指令 58 条,每条指令是 16 位字长。其指令向下兼容。 二、pic 汇编语言指令格
[单片机]
pic<font color='red'>单片机</font>的各种汇编语言指令解析
单片机程序远程下载方法(包括STC单片机
简介:在某些特殊的场合单片机程序、软件需要进行远程下载,特别是单片机程序的远程升级。本文介绍一种使用串口转以太网模块ZLSN3000来实现51单片机(特别是STC单片机)、PIC单片机、ARM、AVR、PLC的程序远程升级的方法。 1.原理 1.1升级条件 任何能够通过PC机串口下载程序的单片机都可以用该方法实现远程程序升级。目前该方案已经在STC单片机、PIC单片机、ARM上验证。 1.2硬件连接图 如图 1 所示是通过Internet远程升级STC单片机程序的演示图。在设备端,使用卓岚ZLSN3000模块将STC单片机的串口(2根线)和ZLSN3000的RXD、TXD引线直接连接;ZLSN3000的网口连接到ADSL
[单片机]
<font color='red'>单片机</font>程序远程下载方法(包括STC<font color='red'>单片机</font>)
单片机玩PID控制—从理想PID控制至先进PID控制_1
1前言 以前用MATLAB玩控制,纯粹是玩“虚”的,控制器是是虚的,控制对象也是虚的,总感觉不怎么实,后来发现单片机满好玩的,有硬件也有软件,还有通信等,就这些来说,与PLC有点类似,于是,就尝试玩单片机,初步掌握后,就开始用单片机玩控制,当然,你不可能有一家化工厂、火电厂或一台马达去玩控制,最简单的一个方法是利用MATLAB/SIMULINK去构建一个plant,在SIMULINK中仪表工具箱也有串行通信模块,然后,用这个串行通信模块和单片机进行数据交换,理论上可以达到控制的目的,同时,串通信需要一个简单的握手协议,否则无法进行数据交换,那就再编写了一个S函数,试验的结果是仿真速度令人出奇的慢,更不要说进行实时仿真了,扫描了
[单片机]
用<font color='red'>单片机</font>玩PID控制—从理想PID控制至先进PID控制_1
基于单片机控制的便携式篮球计时器设计
0 引言 本设计利用单片机AT89C51完成了计时的功能,详细地介绍了系统硬件与软件的设计过程,设计由AT89C51编程控制Led七段数码管作显示的篮球计时系统。该系统具有赛程时间设定,计时启功,暂停,报警,24 s及复位等功能。 1 系统原理 篮球比赛计时的准确性和计时的精确度是要求很高的,而单片机在这方面有着出色的表现。该系统采用频率为12 MHz的芯片,整个系统由按键、计时显示、报警,箭头方向等部分组成。该系统组成方框图如图1所示。 单片机是该系统电路的核心组成部分,系统的各种功能都是在单片机内通过编程来实现。单片机选用AT89C51。它的X1(19脚)和X2(18脚)外接12MHz晶振,为单片机提供时钟信号
[单片机]
基于<font color='red'>单片机</font>控制的便携式篮球计时器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved