基于stm32f4的蓝牙控制小车本科论文
《2024年基于STM32的智能小车研究》范文

《基于STM32的智能小车研究》篇一一、引言随着科技的进步和智能化设备的广泛应用,智能小车已成为人们生活中不可或缺的一部分。
基于STM32的智能小车凭借其卓越的硬件性能、高效的运算速度以及灵活的扩展能力,在各种应用场景中展现出强大的优势。
本文旨在探讨基于STM32的智能小车的设计原理、技术特点及其在多个领域的应用。
二、STM32简介STM32系列微控制器由意法半导体公司生产,广泛应用于嵌入式系统中。
该微控制器具备高性价比、高性能以及丰富的资源优势,成为众多研发人员首选的硬件平台。
基于STM32的智能小车,通过搭载传感器、执行器等设备,实现智能化的导航、避障等功能。
三、智能小车设计原理1. 硬件设计:智能小车的硬件设计主要包括STM32微控制器、电机驱动模块、传感器模块(如超声波传感器、红外传感器等)、执行器等部分。
这些硬件设备通过STM32微控制器的控制,实现小车的智能化运行。
2. 软件设计:智能小车的软件设计主要基于嵌入式操作系统或实时操作系统,实现对硬件设备的控制以及任务调度等功能。
软件设计应具备高效、稳定、可扩展的特点,以满足不同应用场景的需求。
四、技术特点1. 智能化:基于STM32的智能小车可实现自动导航、避障等功能,具备高度自主化特性。
2. 高效性:STM32微控制器的高性能和高效的运算速度,使智能小车能够快速响应环境变化,实现实时控制。
3. 灵活性:智能小车具备丰富的接口资源,可方便地扩展其他功能模块,如摄像头、通信模块等,以满足不同应用场景的需求。
4. 稳定性:智能小车的软件设计采用嵌入式或实时操作系统,具备较高的稳定性和可靠性,确保小车在复杂环境中能够稳定运行。
五、应用领域1. 物流配送:基于STM32的智能小车可应用于物流配送领域,实现自动化货物运输,提高物流效率。
2. 巡检工作:智能小车可应用于工厂、仓库等场所的巡检工作,提高工作效率和安全性。
3. 自动驾驶:在自动驾驶领域,智能小车可实现自动驾驶功能,提高交通安全性和道路利用率。
基于STM32智能车设计与实现本科毕业设计

基于STM32智能车设计与实现本科毕业设计本科毕业设计论文《基于STM32智能车设计与实现》摘要:随着科技的不断进步和应用的不断推广,智能车作为一种智能化、自动化的交通工具,越来越受到人们的关注。
本文以STM32为核心芯片,设计和实现了一辆智能车,并通过实验验证了车辆的性能和功能。
设计过程主要包括了硬件设计和软件设计两个方面。
在硬件设计方面,本文详细介绍了智能车的电路设计和传感器的选择和接口设计。
在软件设计方面,本文介绍了智能车的控制算法和实现方法。
通过对实验结果的分析,验证了智能车设计的可行性和有效性。
本文的研究成果对于智能车的发展和应用具有一定的参考价值。
关键词:STM32,智能车,硬件设计,软件设计,控制算法1.引言智能车作为一种重要的智能交通工具,具有广泛的应用前景和研究价值。
随着科技的不断进步和应用的不断推广,智能车的研究和应用变得越来越重要。
本文以STM32为核心芯片,设计和实现了一辆智能车,并通过实验验证了车辆的性能和功能。
2.设计原理和方法2.1硬件设计本文的智能车硬件设计包括电路设计和传感器的选择和接口设计。
首先,根据智能车的功能需求和性能要求,选择了适当的传感器并进行了接口设计。
然后,根据传感器的信号特点和STM32的特点,设计了电路图并制作了PCB板。
2.2软件设计本文的智能车软件设计主要包括控制算法的设计和实现方法。
首先,根据智能车的运动控制需求,设计了合适的控制算法。
然后,将控制算法实现在STM32的软件中,并通过编程实现智能车的自动控制功能。
3.实验结果与分析通过对智能车的性能和功能进行实验测试,得到了以下结果。
首先,智能车能够根据传感器的反馈信息进行自主导航和避障。
其次,智能车的运动轨迹准确且稳定,具有较好的控制性能。
最后,智能车的速度和灵敏度能够满足智能交通的需求。
通过对实验结果的分析,证明了智能车设计的可行性和有效性。
4.结论本文以STM32为核心芯片,设计和实现了一辆智能车,并通过实验验证了车辆的性能和功能。
基于STM32的蓝牙平衡小车系统设计

• 172•本设计提出了一种基于STM32的蓝牙平衡车的软硬件设计方案,该方案利用蓝牙将手机APP 与系统进行通讯。
实现了小车的移动,以及对烟雾信息采集的功能。
随着控制技术的快速发展,两轮平衡车被广泛的应用。
这种紧凑、灵活的双轮平衡车,可以在稍微复杂一点的环境中工作。
本系统采用stm32f411ccu6作为主控制器,小车的倾斜度通过陀螺仪和加速度计获得,角度信息使用卡尔曼滤波算法进行修正,然后通过PID 算法控制汽车的速度来完成小车的自平衡。
1 系统整体方案设计系统使用STM32单片机作为主要的控制器,通过卡尔曼滤波算法使通过MPU6050采集到的角度更加稳定,再通过PID 算法控制输出信号的占空比(PWM 值),进而通过驱动模块控制小车的转速,使小车的平衡。
使用MQ-2烟雾传感器来获取周围环境的信息,PID 控制器的速度和倾角是基于传感器所获得的数据,使用蓝牙与手机APP 通信,手机APP 可以覆盖所有输出数据,输出到驱动芯片,并控制小车。
整体设计方案如图1所示。
图1 系统整体框图2 系统硬件设计2.1 主控芯片Stm32f411ccu6作为主控芯片,使用ARM 公司32位的 Cortex-M4内核,有48个引脚,256K 字节的FLASH 和128K 字节的SRAM 。
2.2 电源模块整个系统的所有模块需要+12V 、+5V 、+3.3V 电压。
使用+12V 的锂电池。
5V 电源是通过LM317可调线性电源模块降压得到的,由于线性电源波纹较小,因此有助于稳定系统,5V 通过AMS1117-3.3降压至3.3 V ,并提供给STM32。
模块示意图如图2所示。
图2 电源供电示意图2.3 电机驱动模块使用TB6612FNG 为直流电机进行驱动。
该驱动IC 是基于MOS-FET H 桥原理,它比晶体管H 桥更为有效的驱动。
外围电路简单。
它支持100KHZ 的PWM 信号。
2.4 MPU6050姿态检测模块MPU6050是六轴运动处理器,芯片内部集成了3轴微机械陀螺仪和3轴微机械加速度计,通过这六个量可以获得俯仰角,横滚角。
蓝牙智能遥控小车毕业设计论文

JIANGSU UNIVERSITY OF TECHNOLOGY本科毕业设计(论文)基于蓝牙遥控的多功能智能小车设计与制作学院名称:机械工程学院专业:机械电子工程班级:09机电2Z学号:09324234姓名:祁星指导教师姓名:李尚荣指导教师职称:讲师二零一三年六月一日基于蓝牙遥控的多功能智能小车设计与制作摘要:无线遥控的机器人小车在危险环境作业、人员搜集等应用中可发挥特殊的作用。
本次毕业设计选择基于蓝牙遥控的多功能智能小车为对象。
设计了该系统的硬件电路原理图和PCB图,控制系统以STC12C5A60S2单片机为主控芯片,采用L293D为电机驱动芯片、蓝牙无线遥控模块、红外光电传感器模块、超声波发射与接收模块等构成外围扩展电路。
将自制的控制电路、控制程序和四轮小车机械结构相结合,制作多功能机器人小车。
实验调试实现了智能小车的蓝牙无线遥控、自动避障、自动循迹、自动测速、自动测距等功能。
关键词:单片机;蓝牙遥控;PWM调速;光电传感器Development of a smart remote control vehicle based on blue-toothcommunicationAbstract: Wireless remote control robot car could play a special role in the hazardous environment operations and search & rescue personnel. A multi-function smart car with bluetooth remote control is selected as my graduation thesis subject. The design of the system hardware circuit schematic and PCB diagram is present in paper. The control system circuit is mainly consist of a STC12C5A60S2 MCU as the main chip, as well as a L293D chip for motor driving, a bluetooth wireless communication module for remote control, a infrared photoelectric sensor module for object detection, a ultrasonic transmitter and receiver module for distance measurement. The smart car is implemented by the combination of the self-control circuit, the control program code and four-wheel car mechanical structure. Experimental tests showed that some functions such as Bluetooth wireless remote control, automatic obstacle avoidance, automatic tracking route, auto-sensing objects and auto-detecting distance were completely achieved in the smart car.Keywords:Single Chip Microcomputer; Blue-Tooth Remote control; PWM Speed Regulation; Optical Electronic Sensor目录第一章前言 (1)第二章方案比较与论证 (2)2.1总体方案设计 (2)2.2无线模块设计 (3)2.3显示模块设计 (3)2.4测速模块设计 (4)2.5调速模块设计 (6)2.6循迹模块设计 (7)2.7避障模块设计 (8)第二章智能车机结构分析 (9)3.1底板设计 (9)3.2电机与底板的连接支架设计 (10)3.3整体装配图 (11)第四章控制系统电路设计 (12)4.1MCU的选型 (12)4.2电机驱动电路设计 (14)4.3显示电路设计 (16)4.4蓝牙模块设计 (18)4.5电源电路设计 (20)4.6PCB图设计 (21)第五章蓝牙遥控小车程序设计 (24)5.1主程序设计 (24)5.2电脑端蓝牙控制软件的设置 (26)5.3蓝牙模块参数设置 (27)5.4超声波测距程序设计 (28)5.5超声波避障程序设计 (29)5.6红外循迹程序设计 (30)第六章调试结果分析 (31)6.1各模块功能调试 (31)6.2总结 (35)致谢 (36)参考文献 (37)附录A (38)附录B (39)第一章前言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
《2024年基于STM32智能小车的设计与实现》范文

《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断发展,智能小车在物流、安防、救援等领域的应用越来越广泛。
本文将详细介绍基于STM32的智能小车的设计与实现过程,包括硬件设计、软件设计、系统调试及实际运行效果等方面。
二、硬件设计1. 核心控制器本智能小车采用STM32F4系列微控制器作为核心控制器,其具有高性能、低功耗的特点,满足小车在运动控制、传感器数据处理等方面的需求。
2. 电机驱动智能小车的驱动部分采用电机和电机驱动器。
通过PWM (脉冲宽度调制)控制电机转速,实现对小车的运动控制。
此外,为了保证小车的运动稳定性和动力性,采用差速转向的方式。
3. 传感器模块传感器模块包括红外避障传感器、超声波测距传感器等。
红外避障传感器用于检测小车前方障碍物,实现自动避障功能;超声波测距传感器用于测量小车与前方障碍物的距离,为小车的速度和方向调整提供依据。
三、软件设计1. 操作系统及开发环境本智能小车采用基于STM32的嵌入式操作系统,开发环境为Keil uVision等软件工具。
这些工具能够为开发人员提供丰富的调试、测试等功能。
2. 软件设计流程软件设计包括初始化、数据采集、运动控制等部分。
初始化阶段包括对微控制器及各模块的配置;数据采集部分包括传感器数据的读取和解析;运动控制部分根据传感器数据调整小车的速度和方向,实现智能导航和避障功能。
四、系统调试与实现1. 系统调试系统调试包括硬件调试和软件调试两部分。
硬件调试主要检查电路连接是否正确,各模块是否工作正常;软件调试主要检查程序逻辑是否正确,各功能是否实现。
2. 实际运行效果经过系统调试后,智能小车能够在各种环境下自主导航和避障。
在平地、坡道等不同路况下,小车能够稳定运行,并自动调整速度和方向以适应不同环境。
此外,小车还具有较高的避障能力,能够快速识别并避开障碍物。
五、结论本文详细介绍了基于STM32的智能小车的设计与实现过程。
通过合理的硬件设计和软件设计,实现了智能小车的自主导航和避障功能。
基于STM32智能车设计与实现_毕业设计论文 精品

浙江万里学院本科毕业设计(论文)论文题目基于STM32智能车的设计与实现(英文) Design and Implementation of Smart CarBased on STM32所在学院电子信息学院专业班级电子093班完成日期2013 年05 月06 日摘要智能车是一种集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了微处理器、现代传感器、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。
本论文提出了一种基于STM32嵌入式微处理器的智能车的设计。
系统分为两部分:车载主机系统和手持主机系统。
车载主机系统主要以履带式车轮为其机械平台,结合主控电路、超声波避障、无线通信、语音播报、GPS数据采集、碰撞保护功能,完成车载主体功能。
手持主机系统主要包括无线通信、数据显示模块、体感操控,它主要负责控制智能车的运行姿态,实时车载数据的采集。
整个方案的控制器核心为意法半导体公司的STM32F103VCT6处理器,利用其高速的数据处理能力和丰富的集成外设接口资源,充分发挥智能车的性能,也有利于智能车的程序设计和功能扩展。
论文首先介绍了智能车领域的国内外研究现状,然后介绍智能车控制系统总体设计框架和整个开发流程,再是介绍了智能车系统硬件电路设计和软件设计流程和思想,最后介绍智能车系统的制作与调试以及对本次毕业设计总结。
关键词:STM32F103; GPS定位; 智能控制; uCOS-ii实时操作系统;AbstractThe smart car is a set of situational awareness, planning and decision-making, multi-level driver assistance functions in an integrated system,It is a typical high-tech complex of focusing on the use of a microprocessor, modern sensors, information fusion, communications, artificial intelligence and automatic control technology. This paper presents a design of smart car based on embedded microprocessor of STM32. The entire system is divided into two parts: Car host system and Handheld host system. The car host system is major to crawler wheels for its mechanical platform to Complete main function of Vehicle module Combine with The main control circuit module ultrasonic obstacle avoidance, voice broadcast, GPS data collection. Handheld host system mainly includes data of receiver module, data of show module, control of intelligent vehicle module and additional entertainment audio and video module. Handheld host system is mainly responsible for running posture control the smart car, real-time data acquisition of vehicle and handheld entertainment of audio and video. The main controller core is STMicroelectronics’ processor of STM32,Its high-speed data processing capabilities and a wealth of integrated peripherals interface resources, give full play to the performance of the smart car smart car, but also conducive programming and extensions.The paper introduces the field of smart car’s status of research and the control system design framework and the entire development process of smart car, Then it introduces hardware design of the smart car’s system and design processes and ideas of software. Finally, the production of the smart car system and debugging, as well as the Summary of graduation Design.Key Words:STM32F103;GPS positioning;Intelligent Control;Real-time operating system目录1 绪论 (1)1.1课题国内外研究现状 (1)1.1.1 智能车系统国内研究现状 (1)1.1.2 智能车系统国外研究现状 (2)1.3本文研究内容 (3)1.3.1 内容分析 (3)1.3.2 开发流程 (3)2 系统总体设计 (5)2.1系统对象描述 (5)2.2总体方案设计 (5)2.3车载主机硬件设计 (7)2.3.1 车载主机功能需求描述 (7)2.3.2 车载主机硬件设计方案 (7)2.3.3 手持主机功能需求描述 (8)2.3.4 手持主机硬件设计方案 (8)2.4系统软件设计 (8)2.4.1 软件设计思想 (8)2.4.2 软件设计流程 (9)2.5系统方案可行性分析 (9)3 主机硬件设计与实现 (10)3.1微处理器系统 (10)3.1.1 最小系统电路 (10)3.2电源系统设计 (12)3.3NRF24L01无线模块设计与实现 (13)3.3.1 NRF24L01无线模块电路 (13)3.3.2 NRF24L01无线模块应用电路 (14)3.4GPS定位模块设计与实现 (14)3.4.1 主控电路 (14)3.4.2 模块电源电路 (15)3.5超声波自主避障模块设计与实现 (16)3.5.1 超声波发射电路 (16)3.5.2 超声波接收电路 (16)3.6语音播报模块设计与实现 (17)3.6.1语音播报的设计原理 (17)3.6.2语音播报实现电路 (17)3.7液晶触摸屏模块设计与实现 (18)3.7.1液晶触摸屏模块原理 (18)3.7.2液晶触摸屏硬件实现 (18)3.8陀螺仪模块设计与实现 (20)3.8.1陀螺仪体感操作设计 (20)3.8.2陀螺仪体感操作硬件实现 (20)3.9碰撞保护模块设计与实现 (21)3.9.1碰撞保护模块实现原理 (21)3.9.2碰撞保护模块硬件实现 (21)4 系统软件设计 (22)4.1系统软件设计 (22)4.1.1 总体程序设计 (22)4.1.2 超声波自主避障处理程序 (23)4.1.3 GPS信息处理程序 (24)4.1.4 NRF24L01无线模块程序设计 (25)4.1.5 陀螺仪体感程序设计 (25)4.1.6 液晶触摸程序设计 (26)5 制作和调试 (28)5.1电源系统调试 (28)5.2液晶触摸屏显示调试 (28)5.3GPS信息数据采集调试 (29)6总结与提高 (31)致谢 (32)参考文献 (33)附录1 系统实物图 (34)附录2 毕业设计作品说明书 (35)1 绪论1.1 课题国内外研究现状1.1.1智能车系统国内研究现状我国开展智能车辆技术领域的研究起步较晚,起始于20世纪80年代。
《2024年基于STM32智能小车的设计与实现》范文

《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断发展,智能小车作为一种集成了传感器、控制算法和执行机构的智能移动平台,在物流、安防、救援等领域得到了广泛的应用。
本文将详细介绍基于STM32微控制器的智能小车的设计与实现过程。
二、系统概述本智能小车系统以STM32微控制器为核心,通过集成电机驱动、传感器(如红外传感器、超声波传感器等)、通信模块等,实现小车的自主导航、避障、远程控制等功能。
系统具有体积小、重量轻、成本低、性能稳定等特点。
三、硬件设计1. 微控制器选择本系统选用STM32系列微控制器,该系列微控制器具有高性能、低功耗、丰富的外设接口等特点,能够满足智能小车的控制需求。
2. 电机驱动设计电机驱动采用H桥电路,通过PWM信号控制电机的转速和方向。
同时,为了保护电机和电路,还设计了过流、过压等保护电路。
3. 传感器模块设计传感器模块包括红外传感器、超声波传感器等,用于实现小车的自主导航和避障功能。
传感器通过I2C或SPI接口与微控制器进行通信,实时传输数据。
4. 通信模块设计通信模块采用蓝牙或Wi-Fi等无线通信技术,实现小车的远程控制和数据传输功能。
通信模块与微控制器通过串口进行通信。
四、软件设计1. 开发环境搭建软件设计采用Keil uVision等集成开发环境,进行代码的编写、编译和调试。
同时,为了方便程序的烧写和调试,还使用了STM32的调试器。
2. 程序设计流程程序设计主要包括主程序、电机控制程序、传感器数据处理程序和通信程序等。
主程序负责整个系统的协调和控制,电机控制程序根据传感器数据和遥控指令控制电机的转速和方向,传感器数据处理程序负责处理传感器的数据并输出控制指令,通信程序负责与上位机进行数据传输和指令交互。
五、系统实现与测试1. 系统实现根据硬件设计和软件设计,将各部分模块进行组装和调试,完成智能小车的制作。
在制作过程中,需要注意各部分模块的连接和固定,确保系统的稳定性和可靠性。
基于 stm32 单片机的智能小车控制

基于 stm32 单片机的智能小车控制摘要:进入21世纪以来,智能化已成为时下最热门的课题。
智能小车在日常生活、交通、军事等领域中发挥了独有作用,不仅断提高了人们的生活品质,而且还能够提升人们的服务效率、工作效率,成为了智能化研究的热门课题。
利用超声波传感器和SG90舵机组成超声波云台,以stm32单片机作为控制核心,对智能小车控制进行详细研究。
关键词:stm32单片机;智能小车;控制引言本文所设计的基于STM32F103的无线智能小车控制系统,其中以STM32F103单片机为控制核心,小车辅助避障模块为E18-D80NK光电传感器,使用超声波传感器和SG90舵机组成超声波云台,并将红外发射管、红外接收管和LM339电压比较器进行组合作为智能小车巡航传感器。
该小车在前进时能够检测一定范围内的障碍物距离,实现智能小车巡航、防摔等功能。
并且智能小车上安装GPS定位模块和无线模块,能够控制智能小车能够避开障碍自由行走。
GPS模块用于智能小车定位,无线模块能够使智能小车通过无线通信连接,与PC无线通信连接,将智能小车定位信息及障碍物距离信息显示到PC上,从而通过PC端控制智能小车的行走。
另外,为了驱动智能小车行走,并测量左右轮转速,直流电机驱动分别采用了TB6612FNG电机驱动模块和槽型光耦传感器、测速码盘,在PWM脉宽改变电机转速上,通过PID控制器实现小车调速功能。
一、基于STM32单片机的智能小车的硬件设计1.1主控芯片设计为了满足大多数嵌入式系统控制要求,采用STM32F103单机片,其性能优越且性价比较高。
1.2传感器设计避障系统传感器采用成本低、距盲区小及灵敏度高的HC-SR04超声波测距模块,该模块具有更好的抗干扰能力、可非接触测量0.02~4m的障碍物距离;巡航传感器选用模块价格便宜、体积较小的红外传感器,但该传感器多在没有强光的环境中使用,抗干扰能力较差,可控制小车巡航,防止摔倒;测速模块采用槽型光耦传感器和测速光电码盘组成测速系统,模块采用施密特触发器抖动触发脉冲,只要有非透明物体阻挡模块光电射槽,就可以触发模块输出5VTTL电压,触发脉冲稳定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM-STM32校园创新大赛项目报告题目:基于stm32f4的蓝牙控制小车学校:中南民族大学指导教师:视频观看地址:/v_show/id_XNjA3NTE4MzU2.html题目:基于stm32f4的蓝牙控制小车关键词:STM32F4 LM2940-5.0 L298N FBT06_LPDB 蓝牙串口通信android摘要“基于stm32f4的蓝牙控制小车”是一个基于意法半导体与ARM公司生产的STM32F4 DISCOVERY开发板的集电机驱动模块、电源管理模块、stm32f4主控模块、蓝牙串口通信模块、android控制端模块。
电机驱动模块使用了两个L298N 芯片来驱动4路电机,使能端连接4路来自主控板的PWM波信号,8个输入端接主控板的8个输出端口;电源管理模块使用了LM2940-5.0芯片进行12V到5V 的转换,12V用于电机模块的供电,5V用于蓝牙模块、传感器等的供电;主控模块采用了MDK编辑程序,然后下载到主控板,实现硬件与软件的交互;蓝牙串口通信模块则是采用了FBT06_LPDB针插蓝牙模块,与主控板进行串口通信,同时与android手机进行通信;android控制端模块是一个集开启蓝牙、搜索蓝牙、控制小车等功能。
用户可以通过android控制端进行控制小车的运动,实现一些用户需要的功能和服务。
1.引言蓝牙的创始人是瑞典爱立信公司,蓝牙技术是一种无限数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。
手机之间通过蓝牙实现数据共享成为常理,将手机变为遥控器为人们的生活带来无限方便。
遥控小车在工业、国防、科研等领域应用越来越广泛,例如说:消防遥控小车、探测小车等。
本文详细阐述了使用蓝牙通信的手机遥控小车前行、倒退、左转、右转和停止等功能的软硬件设计过程。
2.系统方案该系统分为电机驱动模块、电源管理模块、主控板、蓝牙通信模块、android 控制端等5个模块,如图2.1所示:图2.1 系统模块图 3. 系统硬件设计3.1 电机驱动模块3.1.1 L298N 的封装H 桥电路虽然有着诸多的优点,但是在实际制作过程中,由于元件较多,电路的搭建也较为麻烦,增加了硬件设计的复杂度。
由于H 桥电路有诸多的优点,但是在实际制作过程中电路又比较麻烦,因此在本设计中我们采用H 桥集成电机驱动芯片L298。
L298N 的工作原理和以上介绍的H 桥相同,引脚图如图3.1 所示:图3.1 L298N封装图3.1.2 L298N的原理图设计L298N 是ST 公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15 脚封装。
主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
L298 的参考电路图如图3.2所示。
图3.2 电机驱动电路原理图3.1.3 电机驱动模块实物1、控制板内部带5V逻辑电平转换芯片,不需要额外的5V供电。
2、如果EN1、EN2、EN3、EN4不接PWM调速信号,次脚需要和对应的管教短接。
3、GND和12V接电机电源,其中12V可以接7V--24V电平,板子上的电源开关只是控制逻辑5V电平的开关,L298的12V电源不受此开关控制.4、输出端和输入端一一对应,当输入端为5V时,输出端也为高电平,输入端为低电平时输出亦为低电平。
图3.3 L298N电机驱动模块实物图3.2 电源管理模块3.2.1智能车电源设计要点电源是整个系统稳定工作的前提,因此必须有一个合理的电源设计,对于小车来说电源设计应注意两点:1. 与一般的稳压电源不同,小车的电池电压一般在6-8V 左右,还要考虑在电池损耗的情况下电压的降低,因此常用的78 系列稳压芯片不再能够满足要求,因此必须采用低压差的稳压芯片,在本文中以较为常见的LM2940-5.0 为例。
2. 单片机必须与大电流器件分开供电,避免大电流器件对单片机造成干扰,影响单片机的稳定运行。
现在各种新型的电源芯片层出不穷,各位读者可以根据自己的需求自行选择电源芯片,对于本设计应该主要注意稳压压差和最大输出电流两个指标能否满足设计要求。
3.2.2 低压差稳压芯片LM2940 简介LM2940 系列是输出电压固定的低压差三端端稳压器;输出电压有5V、8V、10V 多种;最大输出电流1A;输出电流1A 时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40~+125℃;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。
同时LM2940 价格适中而且较容易购买,非常适合在本设计中使用。
LM2940-5.0 封装和实物如图3.4所示。
图3.4 LM2940 封装和实物图如图3.5所示,采用两路供电,这样可以使用其中一路单独为STM32F4discovery 电路板供电,指示灯等供电。
另外一路提供L298N、舵机、蓝牙的工作电压,L298N 的驱动电压由电池不经任何处理直接给出。
舵机可以用6V 供电,也可以直接用5V 供电。
图3.5 电源模块原理图如图3.6中的PCB图:图3.6 电源模块PCB图图3.7 是运用腐蚀液自制的电源管理模块,具有12v\5v的供电模块,可同时给电机模块和主控板(STM32DISCOVERY)供电:图3.7 电源管理模块实物图4.系统软件设计4.1 主控板程序设计4.1.1 main程序设计主函数主要分为延迟时间初始化、串口接收模块程序、电机初始化三部分。
主函数的流程图如图4.1所示:图4.1 主函数流程图主函数程序代码如下:int main(void){delay_init(168);//延迟时间初始化uart_init(9600);//串口初始化Direction(1);//电机初始化delay_ms(10);//延迟10msprintf(" welcome to control the smart car!:\n\r");//输入语句while(1);}4.1.2 串口接收模块程序主控板接收到蓝牙从串口传来的数据后存入Res变量,然后通过分支程序来选择执行前进、后退、左转、右转和停止等功能。
该模块的程序流程图如图2所示:图2 串口接收程序流程图4.1.3 修改PWM输出值程序该程序是基于“4_PWM的实现”中的程序改编的。
代码如下:void Change_PWM(int duty1,int duty2,int duty3,int duty4){SCB->AIRCR=0x05AF00;// 中断优先级分组抢占:响应=3:1 RCC->AHB1ENR|=(1<<2);// 打开GPIOC时钟GPIOC->MODER|=0x000AA000;// pc6789第二功能,推挽输出GPIOC->OSPEEDR|=0x000FF000;//输出速度为100mGPIOC->PUPDR|=0x00055000;//上拉GPIOC->AFR[0]|=0x22000000;//pc6789的第二功能为AF2 GPIOC->AFR[1]|=0x00000022;RCC->APB1ENR|=(1<<1);//打开TIM3时钟TIM3->PSC=83;//对84M时钟进行84分频,使得计数频率为1M TIM3->ARR=10000;//周期为10msTIM3->EGR|=1;//产生一次更新时间TIM3->CCMR1|=0x6060;//PWM模式1TIM3->CCMR2|=0x6060;//PWM模式2TIM3->CCR1=duty1;//1路PWMTIM3->CCR2=duty2;//2路PWMTIM3->CCR3=duty3;//3路PWMTIM3->CCR4=duty4;//4路PWMTIM3->CCER|=0x1111;//使能比较输出TIM3->CCMR1|=0x0808;//启动预装载TIM3->CCMR2|=0x8080;TIM3->CR1|=1;//开始计时}4.1.4 设置电机转向程序改程序将电机驱动模块的8个输入端口接到了主控板的8个GPIO口,通过推挽输出,从而控制电机的转向,代码如下:void Direction(int direction){SysTick_Config(SystemCoreClock / 1000); //时钟中断设为1msRCC->AHB1ENR |= 0x00000005; //使能GPIOA和GPIOD时钟RCC->APB2ENR |= (1<<14); //使能syscfg时钟if(direction==0){GPIOA->MODER &= 0xffff0000; //设置PA0,1,2,3为输出GPIOA->MODER |= 0x00005555;GPIOA->OTYPER &= 0xFFFFff00; //设置PA0,1,2,3为推挽输出GPIOA->OSPEEDR &= 0xffff0000; //设置PA0,1,2,3的输出速度为100M GPIOA->OSPEEDR |= 0x0000ffff;SYSCFG->CMPCR = 0x00000001; //使用IO补偿单元GPIOA->PUPDR &= 0xffffff00; //设置PA0,1,2,3无上拉,无下拉GPIOA->BSRRH = 0x00ff; //复位GPIOA_BSRRH寄存器GPIOA->BSRRL = 0x0055;}else{GPIOA->MODER &= 0xffff0000; //设置PA0,1,2,3为输出GPIOA->MODER |= 0x0000005555;GPIOA->OTYPER &= 0xFFFFff00; //设置PA0,1,2,3为推挽输出GPIOA->OSPEEDR &= 0xffff0000; //设置PA0,1,2,3的输出速度为100M GPIOA->OSPEEDR |= 0x0000ffff;SYSCFG->CMPCR = 0x00000001; //使用IO补偿单元GPIOA->PUPDR &= 0xffffff00; //设置PA0,1,2,3无上拉,无下拉GPIOA->BSRRH = 0x00ff; //复位GPIOA_BSRRH寄存器GPIOA->BSRRL = 0x00AA;}}4.2 android客户端程序设计4.2.1 控制界面的布局控制界面主要运用了线性布局、相对布局和表格布局。