【单片机开发】智能小车技术总结 梦想起航

  1. 前言
  2. 工程前期准备

项目相关链接:
1.智能小车L298N驱动
2.智能小车寻迹驱动
3.智能小车蓝牙模块驱动
4.智能小车超声波测距驱动

(一)前言:

今年我二十岁了,在大学的第一年已经快要过去了,生活发生二十年以来最大的改变,我第一次来到了远离家乡的武汉求学,第一次可以由自己去决定自己的人生,第一次要去接触那么多的陌生人。从前从未想过过往,只是在对将来的生活憧憬,未来我会怎样?我会学医吗?成为一名妙手回春的医生。我会成为一个老师吗?给自己一个也可以给别人布置作业的机会。或者是诗人,或者成为一名物理学家。未来似乎有了太多的可能,似乎会有太多的精彩。

然而不知为何当从前所憧憬的未来来临的时候,我却好像不再想去思考未来。因为未来似乎已经完全可以预见,不出意外的完成大学阶段的学习,找到一份还算让家人满意的工作,再遇到一个人搭伙过过日子,然后,然后应该就是平平淡淡的一生了吧。所以我现在时常更愿意去想想我这二十年过的怎么样,我又干了哪些有意义的事。现在想想过去的二十年似乎也并非那么无趣。有过快乐,有过伤感,有过不懂事,当然也有过自己喜欢的女孩。
不久前在网上看到这样一句话:生活常和我们开着玩笑,你期待什么,什么就会离你越远;你执着谁,就会被谁伤害得最深。所以,做事不必太期待,坚持不必太执着;要学会放下,放下不切实际的期待,放下没有结果的执着。我当时就想我这是认同了吗,生活就真的没有可以期待的了吗?
过去已经过去,未来尚且未来,怎可说未来没有精彩,平平淡淡只是留给那些愿意平平淡淡的人。对我来说平平淡淡不是真,我依旧有一颗想搞事情的心,年纪轻轻不搞点事情,对不起自己从前的梦想。
这是我的第一篇博客,也是我人生新的开始。

(二)智能小车前期准备

距离自己第一次接触stm32已经过去三个月了,起初两个月基本没有进行什么学习,甚至不知道这个东西会有什么作用。但是自从一个月前完成了第一个驱动舵机的任务,我就被这个芯片,甚至于被这个行业深深的吸引。在过去的一个月中我度过了大学以来最充实的阶段。王者好久都没登录,之前在追的电视剧也已经忘记了情节。除了上课我基本都在学习这种芯片。你也许会问我为什么这么着急,将来有的是时间啊?其实如果学的只是一种芯片我肯定不会去如此上心,但是这不仅仅是一块芯片的学习,而是对我将来会从事行业的了解。这是我第一次如此近距离的去接触自动化这个学科,我第一次了解到要完成一个工程我需要些什么技能,我未来要学些什么,又是我第一次了解到自动化原来可以有这么多的应用。所以在前段时间我在学习完模数转换模块后准备着手自己的第一个工程,一方面作为前段时间学习的总结,另一方面也是送给二十岁自己的一份礼物。
此外感谢CSDN,在CSDN中我接触到了很多行业中的前辈,阅读了他们从前的文章,我见证了他们是如何从同我这样的小白白成为今天的优秀的攻城狮,是CSDN与这些前辈们的文章让我找到了前进的方向。因为是第一篇博客所以废话有点多,现在开始正文吧。

1.硬件介绍

1)stm32f103c8t6

首先是关于stm32这款芯片的介绍。
Stm32为意法半导体公司旗下的芯片。意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司,是世界最大的半导体公司之一。 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。
它具有以下三个特点:
1.新的基于ARM内核的32位MCU系列
2.标准的ARM架构 –内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核
3.超前的体系结构

–高性能
–低电压
–低功耗
–创新的内核以及外设
总的来说STM32具有如下优势:

1)极高的性能:主流的Cortex内核。
2)丰富合理的外设,合理的功耗,合理的价格。
3)强大的软件支持:丰富的软件包。
4)全面丰富的技术文档。
5)芯片型号种类多,覆盖面广。
6)强大的用户基础:最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫。

这也就解释了stm32这款芯片的优越性。相比于51和ARDUION它更倾向于专业的应用,也可以为未来进一步学习ARM打下基础。

从网上找的大家将就着看看吧。还有就是关于C8T6,先前我都是用正点原子的开发板精英ZET6进行的学习,为什么还要再买C8T6呢?显然是不舍得啦。C8T6烧了也没啥,要是精英板烧了估计我得吃半个学期的大白菜了。还有就是要反复刷机完成这个工程我至少刷了1000+次机,会影响开发板寿命。C8T6相比ZET6可用引脚较少,少了几个定时器和串口,但也能基本满足使用,关键便宜啊,就是一顿饭钱的事。

下图为C8T6最小系统原理图与PCB图:

【单片机开发】智能小车技术总结 梦想起航_第1张图片
【单片机开发】智能小车技术总结 梦想起航_第2张图片
2)JLINK
用作仿真与调试
3)USB转TTL
用作串口通信与刷机工具。
4)两个减速马达
5)车架
【单片机开发】智能小车技术总结 梦想起航_第3张图片
6)9V电池盒
好像太少的话功率会不够。
7)HC05 蓝牙模块
用作蓝牙串口透传,就是做遥控的。
8)HSCRO4 超声波测距模块
用作避障测距。
9)寻迹模块
10)测速模块
11)热熔胶
这玩意儿是真好使,处理问题简单粗暴。
12)3.3V稳压
自己的电路板3.3V口太少不够用。
12)一块电路板
板载L298N电机驱动与舵机接口
【单片机开发】智能小车技术总结 梦想起航_第4张图片
【单片机开发】智能小车技术总结 梦想起航_第5张图片

买完这些我大概要在一食堂吃一个月的蔬菜吧。
2.目标实现
1)通过L298N控制正反转 基本IO输出操作
2)通过PWM波实现小车基本的控速直行,转弯 定时器PWM输出
3)通过寻迹模块实现巡线行驶 与断崖停车 IO口输入判断
4)通过蓝牙串口通信实现小车遥控 串口通信与蓝牙模块
5)通过测速模块进行小车读速同时实现PID控制 定时器输入捕获 //没有成功
6)超声波测距并通过串口反馈 定时器输入捕获

我们来看一下最终成果
【单片机开发】智能小车技术总结 梦想起航_第6张图片
【单片机开发】智能小车技术总结 梦想起航_第7张图片
下面我将分别在软件代码层面实现这六个目标,其中第五个目标虽然代码写出来了但是始终不能成功执行,但我仍会去讲一下我的调试工作。提前说明因水平限制部分代码借鉴了原子与野火的参考例程,第一次做工程不喜勿喷哈?。

Stm32f103C8T6相关资料

智能小车硬件有关资料

你可能感兴趣的:(STM32开发技术总结)