基于STM32汽车自动智能雨刷检测雨滴系统设计
(一)系统功能设计
STM32单片机汽车自动智能雨刷系统雨滴检测70
本系统由STM32F103C8T6单片机核心板、二相四线步进电机滑台模块、按键、LED控制、液滴检测及电源组成。
1、该系统通过模式按键可以控制,设备处于自动模式还是手动模式 。
2、处于手动模式下,LED灯熄灭,通过启动按键可以控制启动,以及雨刮停留时间长短,通过停止按键随时停止雨刮,且恢复到原来的关闭位置。
3、处于自动模式下,LED灯亮起,通过雨滴传感器检测雨量的大小,自动控制雨刮停留时间长短,如果没有雨水自动停止,且恢复到原来的关闭位置。
(二)系统硬件系统分析设计
1、STM32单片机核心电路设计
STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。
一、STM32的主要优点:
(1)使用ARM最新的、先进架构的Cortex-M3内核
(2) 优异的实时性能
(3) 杰出的功耗控制
(4) 出众及创新的外设
(5) 最大程度的集成整合
(6) 易于开发,可使产品快速将进入市场
二、STM32——最佳的平台选项
对于使用同一平台进行多个项目开发而言,STM32是最
佳的选择:
(1) 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用
(2) 从苛求性能的应用到电池供电的应用
(3) 从简单而成本敏感的应用到高端应用
(4) 全系列脚对脚、外设及软件的高度兼容性,给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下,将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。
STM32F103C8T6单片机核心板接口电路图如下图所示。
。
STM32单片机核心板接口原理图
STM32单片机实物图如下图所示。
或
STM32单片机核心板实物图
2、MX1616直流电机驱动模块
该电机驱动模块非常适合在电池供电的智能小车、玩具小车、机器人等上面使用,供电电压2V~10V,可同时驱动两个直流电机或者1个4线2相式步进电机,可实现正反转和调速的功能,每路电流能到1.5A持续电流,峰值电流可达2.5A,有热保护并且能够自动恢复。
一、模块亮点及参数
(1)采用进口原装专业电机驱动芯片,内置低导通内阻MOS开关管,发热极小,无需散热片,体积小,省电。
(2)双路1.5A2,峰值电流可到2.5A, 内置过热保护电路,不用怕电机堵转烧坏,温度下降后自动恢复
(3)体积小,质量轻,0待机电流
(4)双路H桥电机驱动,可以同时驱动两路直流电机或者1个4线两相式步进电机;
(5)模块供电电压2V-10V
(6)信号端输入电压1.8-7V
(7)单路工作电流1.5A,峰值电流可达2.5A,低待机电流 (小于 0.1uA)
(8)内置防共态导通电路,输入端悬空时,电机不会误动作
(9)内置带迟滞效应的过热保护电路 (TSD),无需担心电机堵转
(10)产品尺寸: 24.721*5mm (长宽高),超小体积,适合组装和车载
(11)安装孔直径:2 mm
注意:
(1)电源正极与负极接反肯定会造成电路损坏。
(2)输出对地短路或输出端短路,还有电机堵转的情况下,芯片都会热保护的,但是在接近或者超过10V电压且峰值电流大大超过2.5A的情况下也会造成芯片烧毁。
二、模块实物接口图如下图所示。
模块实物接口图
三、模块驱动真值表。
模块驱动真值表
四、模块接口原理图如下图所示。
模块接口电路原理图
3、LED信号指示灯电路设计
LED灯即发光二极管,它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。在电路中,电阻的作用是限流,保护LED灯。只要单片机的控制引脚拉低,则LED灯亮,否则,LED灯不亮。其具体电路原理图如下图所示。注意灯的颜色或者数量可变。
LED灯指示电路原理图
4、FC-37水滴/液位传感器模块电路设计
本系统选择FC-37传感器来检测水滴或者液位信号。传感器采用高品质FR-04双面材料,超大面积5.0*4.0CM,并用镀镍处理表面,具有对抗氧化,导电性,及寿命方面更优越的性能。
一、模块参数
(1)比较器输出,信号干净,波形好,驱动能力强,超过15mA;
(2)配电位器调节灵敏度;
(3)工作电压3.3V-5V
(4)输出形式 :数字开关量输出(0和1)和模拟量AO电压输出;
(5)使用宽电压LM393比较器
二、接线方式:
(1)VCC:接电源正极(3-5V)
(2)GND:接电源负极
(3)DO:TTL开关信号输出()
(4)AO:模拟信号输出
三、功能介绍:
接上5V电源,电源指示灯亮,感应板上没有水滴时,DO输出为高电平,开关指示灯灭 ,滴上一滴水,DO输出为低电平,开关指示灯亮,刷掉上面的水滴,又恢复到,输出高电平状态。AO模拟输出,可以连接单片机的AD口检测滴在上面的雨量大小。DO TTL数字输出也可以连接单片机检测是否有雨。
水滴传感器模块具体接口说明如下图所示:
模块具体接口说明图
模块接口电路原理图如下图所示。
传感器接口电路原理图
模块实物图如下图所示。
水滴/液位传感器实物图
5、分压电路设计
串联分压的原理:
在串联电路中,各电阻上的电流相等,各电阻两端的电压之和等于电路总电压。可知每个电阻上的电压小于电路总电压,故称串联电阻分压。
在设计中,如果采集到的电压信号超过选择的A/D模块最大采集电压值,则需要采用分压电阻,将采集到的电压调低后进行采集。否则将会产生数据溢出,导致测量错误。其电路原理理图如下图所示。
分压电路原理图
6、按键电路设计
轻触按键是按键产品下属的一款分类产品,它其实相当于是一种电子开关,只要轻轻的按下按键就可以是开关接通,松开时是开关就断开连接,实现原理主要是通过轻触按键内部的金属弹片受力弹动来实现接通和断开的。在本系统中,按键作为系统的输入,起到了人机交互的枢纽作用。按键的单片机控制引脚默认为高电平,当按键按下后,单片机的相关引脚则变成低电平。进而实现对系统的手动输入。注意,按键个数可变。其电路原理图如下图所示。
按键电路原理图
(三)STM32单片机系统软件设计
1、编程语言选择
由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。
对于大多数单片机,使用C语言这样的高级语言与使用汇编语言相比具有如下优点:
(1)不需要了解处理器的指令集,也不必了解存储器结构。
(2)寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的(3)地址和数据类型等细节。
(4)指定操作的变量选择组合提高了程序的可读性。
(5)可使用与人的思维更相近的关键字和操作函数。
(6)与使用汇编语言相比,程序的开发和调试时间大大缩短。
(7)C语言的库文件提供了许多标准的例程。
(8)通过C语言可实现模块化编程技术,从而可将已编制好的程序加到 新程序中。
(9)C语言可移植性好且非常普及,C语言编译器几乎适用于所有的目标系统,己完成的项目可以很容易的转换到其它的处理器或环境中与汇编语言相比,C语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势,易学易用。
2、Keil程序开发环境
本设计中单片机开发环境是Keil,Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。其中Keil有以下特点:
(1)Keil软件同时支持WINXP和WIN7等多种操作系统,提供了丰富的库函数和功能强大的开发工具。
(2)Keil可以完成从编辑、编译、到连接、调试的一套开发流程。
Keil软件界面如下图所示。
Keil uVision5开发界面图
3、FlyMcu程序烧录软件介绍
FlyMcu是一款好用的stm32烧录程序软件,对于专业的单片机开发者来说应该非常适用,软件可以广泛地应用于电路编程(ICP)和应用编程(IAP)领域,支持进行编程、校验、读器件信息。
可以通过下载器(即CH340等串口烧写模块)下载单片机程序。单片机开发板、下载器以及PC连接好后,首先需要在软件中选择串口号,然后选择项目程序“hex”文件所在的地址,最后就可以点击开“开始编程(P)”按钮即可下载程序。具体下载界面如下图所示。
烧录软件下载界面
4、CH340串口程序烧写模块介绍
本设计通过CH340串口烧写模块实现对单片机程序的烧写。CH340串口烧写模块使用USB接口,十分方便的解决了笔记本电脑用户对STC系列单片机的程序烧写问题,本下载器低价格、高性能,是开发 STC 系列单片机的首选优秀工具。
一、CH340串口烧写模块特点:
(1)支持 USB1.1 或 USB2.0 通信;
(2)全面支持 WIN98、 WINME、 WIN2000、 WINXP、 VISTA、 WIN7 等操作系统;
(3)采用 USB 口供电;
(4)在对芯片编程时可以使用目标系统本身电源,也可以使用编程器从 USB 口取电供给目标板,但应保证目标板电流不大于500mA,以免不能正常编程;
(5)编程完成不影响目标板的程序运行;
(6)支持 STC 全系列芯片烧录;
(7)编程器提供 3.3V 与 5V 的电压输出接口;
(8)速度比并口编程更快更稳定,更方便笔记本电脑用户使用;
(9)采用进口原装芯片, 能进行高速稳定编程;
模块如下图所示。
CH340串口烧写模块
二、CH340串口烧写模块引脚说明
(1)+5V 5V输出,因有USB电源线,故本开发板不接,不需要
(2)VCC 本开发板不接,不需要
(3)3V3 3.3V输出,本开发板不接,不需要
(4)TXD 接单片机的RXD引脚
(5)RXD 接单片机的RXD引脚
(6)GND 接GND。
三、CH340串口烧写模块与单片机的具体接线图如下表所示。
CH340模块 单片机开发板
TXD RXD(单片机引脚PA10)
RXD TXD(单片机引脚PA9)
GND GND
CH340串口烧写模块与单片机接线
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。