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