描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302482185丛书名: 清华开发者书库
目录
推荐序(一)Ⅰ
推荐序(二)Ⅲ
前言Ⅴ
第1章电子元件与电源
1.1概述
1.1.1电子元件不是纸上的一个符号
1.1.2知其然知其所以然
1.1.3选择元器件型号
1.1.4从数据手册中筛选重要信息
1.2电子元件基础知识
1.2.1常用电子元件介绍
1.2.2MOSFET
1.2.3运算放大器
1.2.4芯片封装的选择
1.3电源基础知识
1.3.1电池与充电器
1.3.2线性电源基础知识
1.3.3开关电源原理与设计
1.3.4反馈环路
1.4其他
1.4.1浮地驱动
1.4.2逻辑电平的兼容性
1.4.3导线与接线端子
1.4.4如何和线路板厂家打交道
第2章控制器与传感器
2.1智能车中的控制器
2.1.1认识控制器
2.1.2控制器的输入特性
2.1.3控制器的输出特性
2.1.4单片机小系统的制作
2.2智能车常用传感器
2.2.1什么是传感器
2.2.2转速传感器
2.2.3光电传感器
2.2.4线性CCD
2.2.5摄像头
2.2.6电磁传感器
2.2.7电轨传感器
2.2.8金属传感器
2.2.9超声波传感器
2.2.10磁场传感器
2.3智能车常用模块
2.3.1串口数传模块
2.3.2NRF24L01模块
2.3.3WiFi
2.3.4遥控按键
2.4智能车外部存储系统
2.4.1SD卡
2.4.2外挂字库
第3章嵌入式C语言的应用
3.1嵌入式概述
3.1.1认识嵌入式系统
3.1.2编程语言
3.2嵌入式C语言基础
3.2.1数据类型、运算符、语句及表达式
3.2.2结构体与共用体
3.2.3条件与循环语句
3.2.4函数与指针
3.3算法
3.4性能优化
3.4.1数据类型与算法优化
3.4.2减小运算强度
3.4.3优化编译
3.4.4内嵌汇编
3.4.5合适的函数声明
3.4.6充分利用硬件特性
3.5做一名合格的程序员
3.5.1代码注释
3.5.2头文件
3.5.3函数
3.5.4良好的编程习惯
3.5.5勤于写文档
3.6C语言编程常见问题
第4章智能车电机控制系统设计
4.1智能车机电传动部分介绍
4.1.1机电传动部分组成概述
4.1.2车模中直流电动机介绍
4.2电机驱动电路原理与分析
4.2.1电机驱动电路的构成方式
4.2.2PWM技术及其调制方法
4.2.3电机驱动电路运行模态分析
4.3电机驱动电路设计方案
4.3.1入门级电机驱动电路方案
4.3.2中级电机驱动电路方案
4.3.3高级电机驱动电路方案
4.3.4电机驱动电路的几点总结与讨论
4.4电机转速测量方法
4.4.1智能车常用测速方案
4.4.2转速、转向测量与计算方法
4.5智能车速度控制策略
4.5.1电机转速开环控制方法
4.5.2电机转速闭环控制方法
4.5.3闭环调速系统仿真验证与分析
4.5.4智能车电机控制系统设计流程
第5章智能车巡线技术
5.1比赛用四轮车建模
5.1.1他励直流电机建模
5.1.2四轮车转向建模
5.1.3控制实例: 光伏并网逆变系统
5.2巡线识别
5.2.1引导信息
5.2.2轮廓提取
5.2.3原始图像获取
5.3巡线技术涉及的实用方法
5.3.1内存分配
5.3.2逆透视变换
5.3.3小二乘法及其应用
5.3.4巡线实例
5.4控制器程序设计
5.4.1控制器程序面对的主要问题
5.4.2需要考虑的一些细节
5.4.3一些没有提及的事情
第6章智能车直立技术
6.1平衡车基本知识
6.1.1控制系统硬件设计要点
6.1.2控制系统软件设计要点
6.1.3传感器系统设计
6.1.4平衡车的姿态
6.1.5陀螺仪传感器误差模型
6.1.6加速度计传感器误差模型
6.1.7陀螺仪、加速度计传感器的数据处理
6.2平衡车的姿态解算
6.2.1互补滤波的姿态解算
6.2.2卡尔曼滤波器基本方法和姿态解算
6.2.3卡尔曼滤波姿态解算实验
6.3姿态控制的实现
6.4平衡车速度控制
6.4.1速度控制主导运动状态阶段
6.4.2姿态控制主导运动状态阶段
6.4.3速度控制实现
6.5平衡车方向控制
6.6平衡车机械简要分析
6.6.1机械结构分析
6.6.2传感器的安装
6.7平衡车的制作流程
6.7.1平衡车制作初级阶段
6.7.2平衡车制作进阶
6.8后再说点什么
第7章PCB设计实例
7.1PCB设计工具概述
7.2原理图库绘制
7.3原理图绘制
7.4封装库绘制
7.5线路板布局布线
7.6线路板打样与BOM整理
7.7焊接与调试
7.8绘制PCB时的注意事项
7.8.1PCB的设计流程思考
7.8.2大功率电路PCB设计
7.8.3信号检测电路设计
第8章智能车机械调校与设计
8.1智能车车模简介
8.1.1车模类型
8.1.2智能车竞赛对车模的规定
8.2四轮车机械调校
8.2.1虚位处理
8.2.2轮胎处理
8.2.3差速处理
8.2.4底盘处理
8.2.5防撞结构
8.2.6关于新C车模
8.3自平衡车模的机械调校
8.3.1车模简介
8.3.2自平衡车模的机械调校
8.3.3球车和自行车
8.4节能车的机械设计和调校
8.4.1车模方案的选择
8.4.2电机方案的选择
8.4.3轮胎方案选择
8.4.4传动部分方案选择
8.5小结
附录A智能车车模总结
附录B智能车设计中的常见问题
参考文献
前言
将人类的经验、知识、语言甚至心理赋予机器,我们称为人工智能。与之类似,智能车的研究主要是希望通过计算机技术取代人,实现自动驾驶。本书所涉及智能车知识基于全国大学生智能车竞赛,它要求小型车模能够在规定的赛道上实现路径识别、自主寻迹,并快速行驶。麻雀虽小,五脏俱全,虽然竞赛智能车没有现实生活中的无人驾驶技术那么复杂,但是也需要相应的传感器、执行器、控制器以及硬件电路并进行控制算法的设计与调试等。一般需要数月才能较为系统地掌握上述知识,而能熟练应用并进行系统化调试以及创新往往需要更长时间。因此,该项赛事为大学生将理论知识转化为实践技术提供了良好的平台。同时,智能车竞赛组委会每年都会对竞赛规则、赛道元素等进行非常用心的调整,竞赛的新颖性与公平性得到了保证,因此每年都会吸引大量相关学科背景的学生积极参与。而出版本书的主要目的就是能够为这些参赛队员提供参考和指导。
国内的智能车竞赛是在韩国智能车大赛基础上发展而来的,并于2006年举办了届全国大学生智能车邀请赛。笔者有幸于2007年参与了第二届赛事,那时参赛规模较小,手中可供参考的资料也很少。基于共享资料与交流的目的,笔者于2007年创办了智能车制作网站www.znczz.com,为参赛同学提供了一个线上交流平台。时光匆匆,一晃十年已经过去,智能车制作网站积累了大量智能车竞赛的技术、经验分享以及赛事影像等资料。更宝贵的是,笔者通过网站认识了众多志同道合的朋友,也因此持续关注智能车赛事。在这个过程中,笔者也从当年的参赛学生变成学长,再到博士毕业,如今作为指导老师开始指导学生参赛。
值得一提的是,每年的比赛过程中,智能车制作网站都会涌现出一批热心回答网友问题并乐于分享的会员,他们热衷于智能车竞赛和相关技术,并积极参与论坛的管理工作。所形成的论坛管理团队不仅规范论坛运行,还会针对智能车中的热点问题展开激烈讨论,当然过程中也少不了调侃与嘻哈。除了网上聊天,我们还经常利用智能车竞赛寻找线下聚会的可能。前不久,一个偶然的机会让我们产生了写书的想法,这次几个老友又一次一拍即合,虽然大家都已工作,但是仍然纷纷表示会抽出时间完成这件富有情怀的事情,书名也因此确定为《智能车制作》。
本书的作者不仅都来自智能车制作网站管理团队,他们还是当年叱咤智能车赛场的佼佼者,工作后的他们继续从事所热爱的技术工程行业,有的积累了丰富的硬件经验,有的成为了优秀的嵌入式开发者,有的在高校指导学生参赛屡获殊荣。本书的具体编写情况为:
第1章由樊越骁完成,他就是当年的论坛名人凤姐,在硬件设计、开关电源方面极富工程经验,现任职于江苏某科技公司;
第2章由佟超完成,他是北京科技大学智能车领队之一,硬件功底深厚,常年活跃在论坛帮助大家解决问题;
第3章由单超群完成,他是早加入智能车论坛管理团队的成员之一,现任职于深圳某科技公司,在程序设计开发方面积累了丰富经验;
第4章由王盼宝完成,目前为哈尔滨工业大学智能车俱乐部的指导老师;
第5章由朱葛峻完成,他毕业于中南大学,曾是学校智能车协会副会长,现就职于国核电力规划设计研究院有限公司;
第6章由曹楠完成,他历任第七届至第九届南京师范大学平衡团队队员及领队,现任职于恩智浦半导体;
第7章由樊越骁和渠占广共同完成,渠占广毕业于厦门大学,现任职于华为公司,曾获智能车竞赛国家一等奖;
第8章由萧英喆完成,他是太原理工大学晋豹智能车队的指导老师,带领学生屡获智能车相关国家奖项。在此,也非常感谢清华大学卓晴老师以及组委会马莉老师在此书出版过程中给予的大力支持和帮助。
实际上,本书的读者并不局限于智能车竞赛参赛队员,对智能车制作有兴趣的大中小学生以及相关的科技竞赛爱好者都可以从中找到需要的软硬件知识、电路方案等。本书的作者始终相信兴趣引导才是做好事情的途径,但由于编写时间仓促、水平有限,书中不足与错误难免,欢迎读者将发现的问题反馈给我们,问题反馈邮箱是[email protected]。
编者
2017年6月
3.1嵌入式概述如何让小车在竞赛中聪慧过人并发挥出异于“常车”的超能力,如何让小车在竞赛中极速飞驰、不走寻常路,这一切都将寄托于软件的设计。史蒂夫·乔布斯曾说: “如果说硬件是我们产品的大脑和肌肉,软件就是产品的灵魂”。在智能车竞赛中,软件控制部分占了较大的比重。如果没有良好的软件支持,再好的硬件平台也仅仅是一堆靠电子元件堆积的板卡而已,不能发挥出它的作用。在智能车系统中,传感器相当于眼睛、耳朵来获取外界的信息,轮子则是四肢,驱动器部分相当于车子的肌肉,而控制器则相当于车子的大脑,软件则是在控制器“大脑”中运行的思想和灵魂!智能车的“智商”和“习性”均须由软件来体现。嵌入式系统属于一种特殊的专用计算机系统,是装置或者设备的一部分。IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是“Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants”,即“用来作为控制、监视或者辅助操作机器或者设备的装置”。嵌入式系统的风靡归功于半导体集成电路的高速发展。20世纪70年代,集成电路技术发展出了微处理器,也就是智能内核,它有两个重要的功能,一是运算处理能力,二是自动控制功能,前者促进了计算机的飞速发展,后者使微型控制器走进人们的生活,如图3.1所示,信息时代的生活离不开嵌入式的支撑。
嵌入式计算机系统以应用为中心,以计算机技术为基础,而且在软件、硬件方面均可根据实际需要进行裁剪,适用于应用控制系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。它一般由嵌入式微型处理器、外围配套硬件器件、嵌入式操作系统以及用户的应用程序四大部分组成。我们使用的单片机就是一个典型的嵌入式系统。3.1.1认识嵌入式系统嵌入式系统与一般PC系统有着一定的区别,它包括两大部分: 硬件和软件。如图3.2所示,硬件包括处理器、存储器、外设器件、I/O设备。软件部分包括操作系统、应用程序等,操作系统主要负责与硬件设备的交互,应用程序则完成该系统的功能。
图3.1嵌入式系统的应用
图3.2嵌入式系统构成
嵌入式系统的核心部件是嵌入式处理器,嵌入式处理器与普通PC处理器相比有以下特点: (1) 能完成实时多并发任务,能在较短时间内响应中断信号; (2) 具有可扩展的结构,能增设其他器件设备满足不同的应用场景; (3) 功耗较低,一般嵌入式处理器对功耗有着较好的控制能力。嵌入式操作系统软件也是一种计算机系统软件,但它与普通的计算机操作系统有一定的区别,如: (1) 嵌入式操作系统一般与具体应用结合在一起,有着较强的针对性; (2) 嵌入式操作系统通常使用面向特定的应用场景的嵌入式处理器,体积较小,功耗相对较低,集成度比较高; (3) 嵌入式操作系统本身不具备开发能力,通常由一套独立的开发工具和环境才能完成对系统功能的开发。
评论
还没有评论。