本書通過在數(shù)控平臺(tái)上設(shè)計(jì)的一系列的Simulink 與Arduino實(shí)驗(yàn),把機(jī)電一體化及數(shù)字控制的理論應(yīng)用于真實(shí)環(huán)境下的系統(tǒng)設(shè)計(jì)、測(cè)試和驗(yàn)證。有助于更深入地理解工程理論,獲得*手與實(shí)際硬件打交道的經(jīng)驗(yàn)。熟悉在機(jī)電一體化和數(shù)字控制系統(tǒng)中常用的傳感器件和控制算法,如陀螺儀、加速度計(jì)、磁力計(jì)等,了解它們的工作原理、性能特點(diǎn)和使用注意事項(xiàng); 學(xué)習(xí)和使用Arduino這一在機(jī)電一體化及數(shù)字控制領(lǐng)域中*常用的低成本硬件平臺(tái),了解其特點(diǎn)和適用范圍,為采用這一平臺(tái)進(jìn)行復(fù)雜的機(jī)電一體化及數(shù)字控制系統(tǒng)的設(shè)計(jì)打下堅(jiān)實(shí)的基礎(chǔ)。
通過學(xué)習(xí)和使用本書,讀者可以熟悉和理解基于系統(tǒng)模型的工程設(shè)計(jì)的思想、方法和工具; 通過實(shí)際的建模實(shí)踐,練習(xí)并掌握使用Simulink進(jìn)行系統(tǒng)設(shè)計(jì)的流程和方法。
本書旨在通過介紹一系列圍繞一個(gè)數(shù)控平臺(tái)設(shè)計(jì)的實(shí)驗(yàn),指導(dǎo)已經(jīng)或正在學(xué)習(xí)機(jī)電一體化和數(shù)字控制的讀者在實(shí)際環(huán)境下應(yīng)用所學(xué)理論,實(shí)現(xiàn)工程設(shè)計(jì)。本書配套的實(shí)驗(yàn)平臺(tái)采用Simulink 與Arduino硬件支持軟件包作為開發(fā)軟件,是一個(gè)集設(shè)計(jì)、仿真、硬件實(shí)現(xiàn)和測(cè)試驗(yàn)證為一體的實(shí)驗(yàn)及創(chuàng)新環(huán)境。通過學(xué)習(xí)和使用本書,讀者可以熟悉和理解基于系統(tǒng)模型的工程設(shè)計(jì)的思想、方法和工具。通過實(shí)際的建模實(shí)踐,練習(xí)并掌握使用Simulink進(jìn)行系統(tǒng)設(shè)計(jì)的流程和方法。本書涉及的主題:(1) Simulink與低成本硬件開發(fā)平臺(tái)(2) 機(jī)電一體化實(shí)驗(yàn)(3) Simulink 和Arduino(4) 模擬輸入, PWM 輸出, 正交編碼器(5) 陀螺儀讀取數(shù)值與校準(zhǔn)(6) 磁力計(jì) 指南針的設(shè)計(jì)(7) 串行通信(8) 藍(lán)牙通信(9) 直流電機(jī)的階梯響應(yīng)(10) 直流電機(jī)的位置控制(11) 用于直流電機(jī)速度控制的PI控制器的設(shè)計(jì)(12) 用陀螺儀和帶互補(bǔ)濾波器的加速度計(jì)估計(jì)角度
丁亦農(nóng):擁有電氣工程學(xué)士、碩士和博士學(xué)位,IEEE高級(jí)會(huì)員。在數(shù)字信號(hào)處理及數(shù)字通信領(lǐng)域擁有三十多年的教學(xué)、科研和產(chǎn)品開發(fā)經(jīng)驗(yàn)。曾在多家世界500強(qiáng)公司(包括德州儀器(Texas Instruments)、三星移動(dòng) (Samsung Mobile))就職,從事信號(hào)處理及通信系統(tǒng)的研發(fā)和研發(fā)管理工作。 2007年加入美國(guó)邁斯沃克(MathWorks)公司,致力于MATLAB/Simulink這個(gè)動(dòng)態(tài)系統(tǒng)設(shè)計(jì)及開發(fā)平臺(tái)的推廣與服務(wù)工作。Joshua L. Hurst(喬舒亞何斯特):于2002年、2003年和2008年從美國(guó)倫斯勒理工學(xué)院先后獲得機(jī)械工程學(xué)士、碩士和博士學(xué)位。曾在位于賓夕法尼亞州的JBT公司從事自動(dòng)導(dǎo)向車輛的導(dǎo)航和制導(dǎo)系統(tǒng)的研發(fā);并在位于紐約的通用電氣全球研發(fā)中心控制實(shí)驗(yàn)室任顧問,參與F136 聯(lián)合攻擊戰(zhàn)斗機(jī)飛行控制系統(tǒng)的工作。2011年,加入美國(guó)倫斯勒理工學(xué)院的機(jī)械、航天和核工程系,擔(dān)任教授。2013年起,研究開發(fā)用于機(jī)電一體化教學(xué)的低成本硬件設(shè)備和平臺(tái),教學(xué)興趣主要集中在機(jī)電一體化、動(dòng)態(tài)系統(tǒng)及其控制和優(yōu)化等領(lǐng)域。
目錄
第1章Simulink與低成本硬件開發(fā)平臺(tái)
1.1Arduino
1.2Raspberry Pi
1.3Simulink低成本硬件支持軟件包
1.4關(guān)于Arduino支持軟件包
第2章基于Arduino的機(jī)電一體化實(shí)驗(yàn)平臺(tái)
2.1機(jī)電一體化平臺(tái)的開發(fā)環(huán)境
2.2機(jī)電一體化平臺(tái)的組成和組合形式
2.3機(jī)電一體化平臺(tái)的硬件配置
2.3.1平臺(tái)的主板
2.3.2直流電機(jī)
2.3.3其他可選器件
第3章點(diǎn)亮發(fā)光二極管
3.1實(shí)驗(yàn)?zāi)康?/p>
3.2實(shí)驗(yàn)平臺(tái)設(shè)置
3.3Simulink/Arduino支持軟件包和Arduino驅(qū)動(dòng)器的安裝
3.3.1Simulink/Arduino支持軟件包的安裝
3.3.2Arduino驅(qū)動(dòng)器(Arduino Mega 2560
drivers)的安裝和設(shè)置
3.4建立并在部署至硬件模式下運(yùn)行Simulink模型
3.4.1建立Simulink模型的步驟
3.4.2在部署至硬件模式下運(yùn)行Simulink模型
3.4.3糾錯(cuò)
3.5在外部模式下運(yùn)行Simulink模型
3.5.1通過改變PWM參數(shù)改變發(fā)光二極管亮度
3.5.2外部運(yùn)行模式的特點(diǎn)
3.5.3目標(biāo)硬體的自由運(yùn)行
3.5.4糾錯(cuò)
3.6在Windows 8系統(tǒng)上安裝Arduino驅(qū)動(dòng)器
第4章模擬傳感器與電機(jī)編碼器數(shù)據(jù)的讀取
4.1實(shí)驗(yàn)平臺(tái)(硬件)
4.2模擬信號(hào)的獲取
4.2.1模數(shù)轉(zhuǎn)換器的背景知識(shí)
4.2.2用模擬輸入電壓控制PWM
4.2.3觀測(cè)和問題
4.3電機(jī)編碼器數(shù)據(jù)的讀取
4.3.1編碼器的背景知識(shí)
4.3.2用編碼器的輸出控制PWM
4.3.3觀測(cè)和問題
第5章通過I2C總線讀取陀螺儀和加速(度)計(jì)的數(shù)據(jù)
5.1實(shí)驗(yàn)平臺(tái)(硬件)
5.2陀螺儀信號(hào)數(shù)據(jù)的讀取
5.2.1陀螺儀的背景知識(shí)
5.2.2從陀螺儀及加速度計(jì)讀取數(shù)據(jù)
5.2.3觀測(cè)和問題
5.3根據(jù)陀螺儀數(shù)據(jù)計(jì)算陀螺儀所處的實(shí)驗(yàn)平臺(tái)的角度
5.3.1從陀螺儀獲得角位置
5.3.2消除陀螺儀的誤差
5.3.3問題和練習(xí)
第6章數(shù)字羅盤(指南針)的制作
6.1實(shí)驗(yàn)平臺(tái)(硬件)設(shè)置
6.2磁力計(jì)信號(hào)數(shù)據(jù)的讀取
6.2.1磁力計(jì)的背景知識(shí)
6.2.2從磁力計(jì)(HMC5883L)讀取數(shù)據(jù)
6.3收集和分析磁力傳感器數(shù)據(jù)
6.3.1實(shí)驗(yàn)步驟
6.3.2用MATLAB進(jìn)行數(shù)據(jù)分析
6.4在Simulink里實(shí)現(xiàn)羅盤校準(zhǔn)算法
6.4.1建立實(shí)現(xiàn)羅盤校準(zhǔn)算法的Simulink模型
6.4.2觀測(cè)與練習(xí)
第7章串行通信基礎(chǔ)
7.1串行通信的背景知識(shí)
7.2實(shí)驗(yàn)平臺(tái)(硬件)的設(shè)置
7.3從實(shí)驗(yàn)平臺(tái)(Arduino)向計(jì)算機(jī)發(fā)送單字節(jié)數(shù)據(jù)
7.4在Arduino集成開發(fā)環(huán)境(IDE)下實(shí)現(xiàn)數(shù)據(jù)發(fā)送
7.5發(fā)送和接收含有多個(gè)字節(jié)的串行數(shù)據(jù)
7.5.1發(fā)送和接收單通道含有雙字節(jié)的串行數(shù)據(jù)
7.5.2發(fā)送和接收雙通道含有4個(gè)字節(jié)的串行數(shù)據(jù)
7.6用使用并集的SFunction發(fā)送16比特的整數(shù)和單精度浮點(diǎn)數(shù)
7.6.1用Simulink發(fā)送,MATLAB程序讀取16比特的整數(shù)
7.6.2用實(shí)驗(yàn)平臺(tái)(Arduino)發(fā)送,MATLAB程序讀取單精度的浮點(diǎn)數(shù)
7.7用MATLAB讀取串行數(shù)據(jù)
第8章藍(lán)牙通信
8.1實(shí)驗(yàn)平臺(tái)(硬件)的設(shè)置
8.2藍(lán)牙模塊的安裝及設(shè)置
8.2.1藍(lán)牙通信的背景知識(shí)
8.2.2藍(lán)牙模塊的安裝
8.2.3藍(lán)牙設(shè)備及其設(shè)置
8.3通過回路試驗(yàn)測(cè)試藍(lán)牙通信
8.3.1RealTerm的設(shè)置
8.3.2藍(lán)牙通信的回路測(cè)試
8.4接收藍(lán)牙模塊發(fā)送的數(shù)據(jù)
8.4.1建立向計(jì)算機(jī)發(fā)送數(shù)據(jù)的Simulink模型
8.4.2在部署至硬件模式下運(yùn)行Simulink模型
第9章直流電機(jī)的階梯響應(yīng)
9.1實(shí)驗(yàn)平臺(tái)
9.2背景知識(shí)
9.3電機(jī)的階梯響應(yīng)
9.3.1建立Simulink模型
9.3.2通過Simulink的外部模式獲得電機(jī)的階梯響應(yīng)
9.4通過串行口(串行通信)獲得電機(jī)速度的階梯響應(yīng)
9.4.1Simulink模型及其設(shè)置
9.4.2在外部模式和部署至硬件模式下獲取電機(jī)響應(yīng)
9.5控制電機(jī)的方向和速度
9.5.1Simulink模型及其設(shè)置
9.5.2電機(jī)的受控響應(yīng)
9.6直流電機(jī)階梯響應(yīng)的仿真
9.6.1一階及二階直流電機(jī)模型的階梯響應(yīng)
9.6.2Simulink模型及其設(shè)置
9.6.3電機(jī)仿真模型的運(yùn)行
9.6.4仿真結(jié)果及結(jié)果觀察
9.6.5考慮數(shù)字化和延遲效應(yīng)時(shí)使用一階系統(tǒng)的電機(jī)仿真
第10章直流電機(jī)控制的基本知識(shí)和途徑
10.1實(shí)驗(yàn)平臺(tái)(硬件)
10.2電機(jī)位置的開環(huán)控制
10.2.1Simulink模型
10.2.2獲取數(shù)據(jù)
10.2.3整理數(shù)據(jù)
10.2.4用所得數(shù)據(jù)進(jìn)行電機(jī)位置控制
10.2.5結(jié)果討論
10.3電機(jī)位置的閉環(huán)反饋控制
10.3.1比例控制器(proportional
controller)
10.3.2比例加積分控制器(proportional
plus integral controller)
10.4電機(jī)速度的開環(huán)控制
10.5電機(jī)速度的閉環(huán)反饋控制
第11章實(shí)際應(yīng)用環(huán)境下直流電機(jī)的仿真及速度控制
11.1實(shí)驗(yàn)平臺(tái)(硬件)
11.2理想的二階直流電機(jī)模型的階梯響應(yīng)
11.3用理想電機(jī)模型進(jìn)行速度控制的仿真
11.4飽和效應(yīng)
11.5控制的離散時(shí)間效應(yīng)
11.6控制的離散測(cè)量效應(yīng)
11.7控制的仿真結(jié)果與實(shí)際效果的比較
第12章根據(jù)加速度計(jì)和陀螺儀確定(實(shí)驗(yàn)平臺(tái))角度
12.1實(shí)驗(yàn)平臺(tái)(硬件)及背景知識(shí)
12.2從陀螺儀讀數(shù)計(jì)算角位置
12.3從加速度計(jì)讀數(shù)計(jì)算角位置
12.4采用互補(bǔ)濾波器
12.5根據(jù)陀螺儀和加速度計(jì)的輸出控制電機(jī)的(角)位置
附錄ASimulink/Arduino硬件支持軟件包的獲取和安裝
A.1什么是Simulink/Arduino硬件支持軟件包
A.2Simulink/Arduino硬件支持軟件包的安裝方法
A.2.1準(zhǔn)備工作
A.2.2Arduino硬件Simulink支持軟件包的在線安裝
A.2.3Arduino硬件Simulink支持軟件包的離線安裝