具体描述
本书通过在数控平台上设计的一系列的Simulink 与Arduino实验,把机电一体化及数字控制的理论应用于真实环境下的系统设计、测试和验证。有助于更深入地理解工程理论,获得第一手与实际硬件打交道的经验。熟悉在机电一体化和数字控制系统中常用的传感器件和控制算法,如陀螺仪、加速度计、磁力计等,了解它们的工作原理、性能特点和使用注意事项; 学习和使用Arduino这一在机电一体化及数字控制领域中最常用的低成本硬件平台,了解其特点和适用范围,为采用这一平台进行复杂的机电一体化及数字控制系统的设计打下坚实的基础。
通过学习和使用本书,读者可以熟悉和理解“基于系统模型的工程设计”的思想、方法和工具; 通过实际的建模实践,练习并掌握使用Simulink进行系统设计的流程和方法。
作者简介
作者:丁亦农;Joshua L. Hurst(乔舒亚•何斯特)
丁亦农:拥有电气工程学士、硕士和博士学位,IEEE高级会员。在数字信号处理及数字通信领域拥有三十多年的教学、科研和产品开发经验。曾在多家世界500强公司(包括德州仪器(Texas Instruments)、三星移动 (Samsung Mobile))就职,从事信号处理及通信系统的研发和研发管理工作。 2007年加入美国迈斯沃克(MathWorks)公司,致力于MATLAB/Simulink这个动态系统设计及开发平台的推广与服务工作。
Joshua L. Hurst(乔舒亚•何斯特):于2002年、2003年和2008年从美国伦斯勒理工学院先后获得机械工程学士、硕士和博士学位。曾在位于宾夕法尼亚州的JBT公司从事自动导向车辆的导航和制导系统的研发;并在位于纽约的通用电气全球研发中心控制实验室任顾问,参与F136 联合攻击战斗机飞行控制系统的工作。2011年,加入美国伦斯勒理工学院的机械、航天和核工程系,担任教授。2013年起,研究开发用于机电一体化教学的低成本硬件设备和平台,教学兴趣主要集中在机电一体化、动态系统及其控制和优化等领域。
目录信息
第1章Simulink与低成本硬件开发平台
1.1Arduino
1.2Raspberry Pi
1.3Simulink低成本硬件支持软件包
1.4关于Arduino支持软件包
第2章基于Arduino的机电一体化实验平台
2.1机电一体化平台的开发环境
2.2机电一体化平台的组成和组合形式
2.3机电一体化平台的硬件配置
2.3.1平台的主板
2.3.2直流电机
2.3.3其他可选器件
第3章点亮发光二极管
3.1实验目的
3.2实验平台设置
3.3Simulink/Arduino支持软件包和Arduino驱动器的安装
3.3.1Simulink/Arduino支持软件包的安装
3.3.2Arduino驱动器(Arduino Mega 2560 drivers)的安装和设置
3.4建立并在部署至硬件模式下运行Simulink模型
3.4.1建立Simulink模型的步骤
3.4.2在部署至硬件模式下运行Simulink模型
3.4.3纠错
3.5在外部模式下运行Simulink模型
3.5.1通过改变PWM参数改变发光二极管亮度
3.5.2外部运行模式的特点
3.5.3目标硬体的自由运行
3.5.4纠错
3.6在Windows 8系统上安装Arduino驱动器
第4章模拟传感器与电机编码器数据的读取
4.1实验平台(硬件)
4.2模拟信号的获取
4.2.1模数转换器的背景知识
4.2.2用模拟输入电压控制PWM
4.2.3观测和问题
4.3电机编码器数据的读取
4.3.1编码器的背景知识
4.3.2用编码器的输出控制PWM
4.3.3观测和问题
第5章通过I2C总线读取陀螺仪和加速(度)计的数据
5.1实验平台(硬件)
5.2陀螺仪信号数据的读取
5.2.1陀螺仪的背景知识
5.2.2从陀螺仪及加速度计读取数据
5.2.3观测和问题
5.3根据陀螺仪数据计算陀螺仪所处的实验平台的角度
5.3.1从陀螺仪获得角位置
5.3.2消除陀螺仪的误差
5.3.3问题和练习
第6章数字罗盘(指南针)的制作
6.1实验平台(硬件)设置
6.2磁力计信号数据的读取
6.2.1磁力计的背景知识
6.2.2从磁力计(HMC5883L)读取数据
6.3收集和分析磁力传感器数据
6.3.1实验步骤
6.3.2用MATLAB进行数据分析
6.4在Simulink里实现罗盘校准算法
6.4.1建立实现罗盘校准算法的Simulink模型
6.4.2观测与练习
第7章串行通信基础
7.1串行通信的背景知识
7.2实验平台(硬件)的设置
7.3从实验平台(Arduino)向计算机发送单字节数据
7.4在Arduino集成开发环境(IDE)下实现数据发送
7.5发送和接收含有多个字节的串行数据
7.5.1发送和接收单通道含有双字节的串行数据
7.5.2发送和接收双通道含有4个字节的串行数据
7.6用使用并集的SFunction发送16比特的整数和单精度浮点数
7.6.1用Simulink发送,MATLAB程序读取16比特的整数
7.6.2用实验平台(Arduino)发送,MATLAB程序读取单精度的浮点数
7.7用MATLAB读取串行数据
第8章蓝牙通信
8.1实验平台(硬件)的设置
8.2蓝牙模块的安装及设置
8.2.1蓝牙通信的背景知识
8.2.2蓝牙模块的安装
8.2.3蓝牙设备及其设置
8.3通过回路试验测试蓝牙通信
8.3.1RealTerm的设置
8.3.2蓝牙通信的回路测试
8.4接收蓝牙模块发送的数据
8.4.1建立向计算机发送数据的Simulink模型
8.4.2在部署至硬件模式下运行Simulink模型
第9章直流电机的阶梯响应
9.1实验平台
9.2背景知识
9.3电机的阶梯响应
9.3.1建立Simulink模型
9.3.2通过Simulink的外部模式获得电机的阶梯响应
9.4通过串行口(串行通信)获得电机速度的阶梯响应
9.4.1Simulink模型及其设置
9.4.2在外部模式和“部署至硬件”模式下获取电机响应
9.5控制电机的方向和速度
9.5.1Simulink模型及其设置
9.5.2电机的受控响应
9.6直流电机阶梯响应的仿真
9.6.1一阶及二阶直流电机模型的阶梯响应
9.6.2Simulink模型及其设置
9.6.3电机仿真模型的运行
9.6.4仿真结果及结果观察
9.6.5考虑数字化和延迟效应时使用一阶系统的电机仿真
第10章直流电机控制的基本知识和途径
10.1实验平台(硬件)
10.2电机位置的开环控制
10.2.1Simulink模型
10.2.2获取数据
10.2.3整理数据
10.2.4用所得数据进行电机位置控制
10.2.5结果讨论
10.3电机位置的闭环反馈控制
10.3.1比例控制器(proportional controller)
10.3.2比例加积分控制器(proportional plus integral controller)
10.4电机速度的开环控制
10.5电机速度的闭环反馈控制
第11章实际应用环境下直流电机的仿真及速度控制
11.1实验平台(硬件)
11.2理想的二阶直流电机模型的阶梯响应
11.3用理想电机模型进行速度控制的仿真
11.4饱和效应
11.5控制的离散时间效应
11.6控制的离散测量效应
11.7控制的仿真结果与实际效果的比较
第12章根据加速度计和陀螺仪确定(实验平台)角度
12.1实验平台(硬件)及背景知识
12.2从陀螺仪读数计算角位置
12.3从加速度计读数计算角位置
12.4采用互补滤波器
12.5根据陀螺仪和加速度计的输出控制电机的(角)位置
附录ASimulink/Arduino硬件支持软件包的获取和安装
A.1什么是Simulink/Arduino硬件支持软件包
A.2Simulink/Arduino硬件支持软件包的安装方法
A.2.1准备工作
A.2.2Arduino硬件Simulink支持软件包的在线安装
A.2.3Arduino硬件Simulink支持软件包的离线安装
· · · · · · (收起)
读后感
用户评价
这本书的内容厚重,字里行间透露着一种老派工科教育的严谨作风,这让人感觉踏实。它覆盖了控制工程中许多经典且不可或缺的知识点,比如系统的稳定判据、频率响应分析等,这些都是任何一个机电领域专业人士必须掌握的内功。我注意到,书中对经典控制理论的讲解非常透彻,每一个定理的推导都力求完备。但遗憾的是,当代工业控制领域越来越依赖于基于模型的预测控制(MPC)和强化学习等前沿优化方法来解决复杂的多目标优化问题。这本书在这方面的覆盖几乎为零,它更像是停留在上世纪八九十年代的控制思想体系内。我期待能看到一些关于如何将这些现代优化算法的思想融入到机电系统设计中的探讨,哪怕只是一个概念性的介绍也好,这样才能让这本书的内容更具时代感和前瞻性,而不是仅仅作为一本巩固传统控制基础的优秀参考书。
这本书的封面设计倒是挺吸引人的,那种带着一点点复古科技感的蓝色调,配上清晰的字体,让人忍不住想翻开看看里面究竟讲了些什么硬核的内容。我本来还挺期待能在里面找到一些关于如何用现代建模工具来模拟和控制那些老式机械系统的深度见解,毕竟“机电一体化”这个词本身就自带一种跨学科的魅力。拿到手沉甸甸的,感觉内容肯定很扎实。我本来想找一些关于如何利用最新的嵌入式平台,比如树莓派或者Arduino,来实现复杂的传感器数据融合与实时控制算法的详细步骤,最好是能配上实际的硬件连接图和代码示例,这样对于初学者来说会友好很多。但翻阅之后,发现更多的是对基础理论和经典控制方法的介绍,这虽然重要,但对于我这种已经有一定基础,更关注“如何快速落地”的实践者来说,稍微有点意犹未尽。这本书似乎更侧重于构建一个坚实的理论框架,而不是提供一套可以直接搬到实验室去调试的现成方案集。也许对于刚入门的本科生来说,这恰恰是他们需要的“打地基”的读物,但对于寻求工程应用突破的人来说,可能需要搭配其他更偏向实践操作的书籍一起阅读。
说实话,我对这本书的期望值原本是冲着“低成本硬件”这个关键词去的,心想这下终于有本教材能把高深的控制理论和我们实验室里那些几百块钱买来的开发板结合起来了。我一直在琢磨着如何用有限的预算搭建一个能进行有效验证的原型系统,尤其是在涉及到非线性系统辨识和自适应控制的时候,软件仿真和硬件实际运行之间的差异总是让人头疼。我特别希望书中能详细对比不同类型低成本微控制器在处理浮点运算和实时中断方面的性能差异,以及它们在内存限制下如何优化控制代码的技巧。然而,这本书更像是一本经典的控制系统教科书的现代版本,它把重点放在了系统的建模精度和控制器的设计原理上,对于“低成本”的实现细节,比如如何选择合适的驱动芯片、如何处理噪声干扰、或者如何用最廉价的传感器实现期望的精度,这些工程上的“小窍门”却着墨不多。这让这本书在工程实用性上打了一些折扣,更像是停留在“理论上可行”的层面,距离“低成本实际可行”还有一段距离需要读者自己去弥补。
这本书的排版和图示质量相当高,这一点必须承认。清晰的流程图和数学推导过程,使得即便是比较复杂的拉普拉斯变换或状态空间模型,也能被拆解得井井有条。我个人非常欣赏那种一步步引导读者理解数学模型背后的物理意义的做法。但是,当涉及到机电一体化中的具体应用案例时,我感觉内容的广度稍显不足。例如,在电机控制部分,虽然提到了经典的PID控制,但对于现代电力电子中常用的无传感器控制策略,比如磁场定向控制(FOC)的原理和如何在资源受限的平台上实现,就没有深入展开。我原本期待看到更多关于如何将这些先进算法与实际的电机特性(如饱和、温度漂移等)结合起来进行鲁棒设计的讨论。这本书似乎把“机电一体化”这个概念理解得偏向于传统的机电耦合系统,而不是包含了大量现代电子和信息技术的复杂集成系统。希望后续的版本能增加一些关于现代伺服系统或柔顺性控制方面的案例分析,这样才能真正体现出前沿技术与传统学科的融合。
阅读这本书的过程中,我深切感受到作者深厚的学术功底,他对系统建模和控制理论的阐述极其严谨和规范,这对于建立扎实的理论基础无疑是极有帮助的。从线性系统的分析到非线性系统的初步探讨,脉络非常清晰,逻辑链条也无可挑剔。然而,对于我们这些期望将理论快速转化为生产力的工程师来说,这本书似乎缺少了一座至关重要的“桥梁”。它在描述完一个理想化的数学模型之后,往往没有详细探讨在真实世界中,当模型参数与实际情况存在偏差时,应该如何进行系统辨识或参数自整定。我希望能看到更多关于“仿真到现实”过程中常见陷阱的剖析,比如量化误差、时间延迟、或者外部环境扰动如何影响控制性能,以及相应的工程化解决方案。这本书更像是在一个真空的环境中讲解理论,缺少了与真实、复杂、充满不确定性的物理世界对接的经验分享,使得读者在实际应用中可能会感到理论与实践脱节的落差感。