




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式技術(shù)課程論文嵌入式技術(shù)課程論文 單位(學(xué) 院): 學(xué) 生 姓 名: 專 業(yè): 學(xué) 號(hào): 指 導(dǎo) 教 師: 設(shè)計(jì)時(shí)間: 年 月題目:基于CAN總線的三電機(jī)協(xié)同控制摘 要本文提出了一種簡便實(shí)用的基于CAN總線的多電機(jī)協(xié)同控制系統(tǒng)設(shè)計(jì)方案。本設(shè)計(jì)中,CAN總線系統(tǒng)智能節(jié)點(diǎn)由最小系統(tǒng)、CAN總線接口電路、電機(jī)驅(qū)動(dòng)模塊、測速模塊及人機(jī)界面幾部分組成。本設(shè)計(jì)采用內(nèi)置CAN控制器的STM32F103作為主控芯片,結(jié)合高速CAN隔離收發(fā)器CTM1050T進(jìn)行CAN通信;利用單片機(jī)的高級(jí)定時(shí)器產(chǎn)生占空比可調(diào)的PWM波,通過L298N大功率直流電機(jī)驅(qū)動(dòng)板,控制電機(jī)運(yùn)轉(zhuǎn);采用反射式光電開關(guān)TCRT5000及雙
2、電壓比較器LM393組成測速模塊,將測得的速度脈沖接單片機(jī)外部中斷處理;由此可獲得設(shè)定速度與實(shí)際轉(zhuǎn)速之間的偏差,運(yùn)用PID算法,實(shí)現(xiàn)電機(jī)的閉環(huán)調(diào)速;此外,采用操作簡便、顯示內(nèi)容豐富多彩的觸摸屏作為人機(jī)交互界面,向主節(jié)點(diǎn)輸入電機(jī)控制指令,同時(shí)向用戶反映實(shí)際轉(zhuǎn)速等信息。本設(shè)計(jì)的關(guān)鍵在于CAN總線通信,即主節(jié)點(diǎn)將轉(zhuǎn)速控制信息傳送到CAN總線進(jìn)行廣播,從節(jié)點(diǎn)均可從總線上獲取該報(bào)文并幾乎同時(shí)執(zhí)行其中的指令。CAN通信的實(shí)時(shí)性,為主從電機(jī)的同步運(yùn)行提供了堅(jiān)實(shí)的保障。本文從CAN協(xié)議規(guī)范、CAN通信機(jī)制等方面對(duì)CAN總線進(jìn)行了詳細(xì)的介紹。然后基于模塊的概念,進(jìn)行系統(tǒng)的軟硬件設(shè)計(jì)以及調(diào)試。3電機(jī)的協(xié)同測試結(jié)果
3、表明該設(shè)計(jì)方案能較好地實(shí)現(xiàn)協(xié)同控制,具有很好的實(shí)用價(jià)值。 目 錄前 言1第一章 緒論2第一節(jié) 基于CAN總線的三電機(jī)協(xié)同控制簡介2一、 三電機(jī)協(xié)同控制分類2二、 三電機(jī)協(xié)同控制方式2第二節(jié) 現(xiàn)場總線以及CAN總線的概述4一、 現(xiàn)場總線在多電機(jī)協(xié)同控制系統(tǒng)中的應(yīng)用4二、 CAN總線的概述5第三節(jié) 研究的目的與意義7第四節(jié) 本章小結(jié)8第二章 基于CAN的總線三電機(jī)協(xié)同控 制系統(tǒng)總體設(shè)計(jì)方案9第一節(jié) 總體設(shè)計(jì)要求9第二節(jié) 總體設(shè)計(jì)框架9第三節(jié) 各個(gè)模塊設(shè)計(jì)方案的論證10一、 節(jié)點(diǎn)模塊的選擇10二、 電機(jī)模塊總體設(shè)計(jì)13第四節(jié) 本章小結(jié)13第三章 基于CAN總線的三電機(jī)協(xié)同控制系統(tǒng)硬件設(shè)計(jì)14第一節(jié)
4、硬件設(shè)計(jì)14一、 最小系統(tǒng)的設(shè)計(jì)14二、 CAN總線接口電路設(shè)計(jì)16三、 驅(qū)動(dòng)模塊的設(shè)計(jì)17四、 測速模塊的設(shè)計(jì)18五、 電源模塊的設(shè)計(jì)19第二節(jié) 本章小結(jié)20第四章 基于CAN總線的多電機(jī)協(xié)同控制系統(tǒng)軟件設(shè)計(jì)21第一節(jié) CAN通信模塊的軟件設(shè)計(jì)21一、 CAN總線的初始化21二、 收發(fā)報(bào)文程序設(shè)計(jì)22第二節(jié) 測速程序的設(shè)計(jì)23第三節(jié) 本章小結(jié)24第五章 系統(tǒng)調(diào)試及實(shí)現(xiàn)25第一節(jié) 硬件調(diào)試25第二節(jié) 軟件調(diào)試25第三節(jié) 系統(tǒng)調(diào)試及實(shí)現(xiàn)25第四節(jié) 本章小結(jié)26結(jié) 論27附 錄28一、CAN節(jié)點(diǎn)部分源程序:28二、系統(tǒng)調(diào)試實(shí)物圖38- IV -前 言 在當(dāng)代,單電機(jī)生產(chǎn)模式已經(jīng)無法滿足現(xiàn)代工業(yè)的發(fā)
5、展需求,多電機(jī)協(xié)同控制成為人們改善并發(fā)展電機(jī)在工業(yè)中控制作用的新探索點(diǎn)。因此,需要科研人員去研究多個(gè)電機(jī)的同步控制問題讓多個(gè)電機(jī)能在生產(chǎn)環(huán)境下協(xié)調(diào)的運(yùn)行。工業(yè)自動(dòng)化研究中,作為運(yùn)動(dòng)控制的一個(gè)分支多個(gè)電機(jī)協(xié)同控制很早就被人們提及,科研人員通過不懈的研究和努力從控制方式的實(shí)現(xiàn)、控制策略以及控制算法都對(duì)多電機(jī)的協(xié)同控制做了很大的提升,已經(jīng)在早期的機(jī)械總軸方式的基礎(chǔ)上又提出了一種更為實(shí)用可靠的控制方式即電方式控制。本文也正是在電方式控制基礎(chǔ)上展開研究,因此對(duì)于我們來說本文基于CAN總線的三電機(jī)協(xié)同控制的研究對(duì)于改善多電機(jī)協(xié)同控制具有較高的實(shí)用價(jià)值。現(xiàn)場總線是指將現(xiàn)場設(shè)備與工業(yè)過程控制單元、現(xiàn)場操作站等
6、互連而形成的計(jì)算機(jī)網(wǎng)絡(luò)具有全數(shù)字化、分散、雙向傳輸、多分支的特點(diǎn)。工業(yè)自動(dòng)化研究中,快速發(fā)展的工業(yè)總線技術(shù)也對(duì)研究多電機(jī)協(xié)同控制技術(shù)的改善以及研究發(fā)展起到很大的促進(jìn)效果?,F(xiàn)場總線是一種實(shí)時(shí)的、可靠的、低廉的、串行的這些特點(diǎn)都促使他們?cè)诂F(xiàn)代工業(yè)中有了廣泛的應(yīng)用。而快速發(fā)展的工業(yè)總線技術(shù)也對(duì)研究多電機(jī)協(xié)同控制技術(shù)的改善以及研究發(fā)展起到很大的促進(jìn)效果。為多電機(jī)協(xié)同控制的研究提供了新視角以及條件。CAN總線、Profibus總線、CC-LINK總線都是當(dāng)下發(fā)展比較成熟的現(xiàn)場總線,價(jià)格比較便宜以及比較實(shí)用是這些總線的相似點(diǎn),這也使現(xiàn)場總線與多電機(jī)協(xié)同控制結(jié)合研究提供了可能。本設(shè)計(jì)主要選取CAN總線作為總
7、線控制,其除了有以上大部分總線所具有的優(yōu)點(diǎn)外,還具有自己的獨(dú)特優(yōu)勢。筆者將在后文為讀者詳細(xì)說明。綜合分析,我認(rèn)為這是一件非常值得的并且非常有意義的事能夠?qū)贑AN總線的三電機(jī)協(xié)同控研究探索。第1章 緒論第1節(jié) 基于CAN總線的三電機(jī)協(xié)同控制簡介1、 三電機(jī)協(xié)同控制分類 通??梢詫⒍嚯姍C(jī)協(xié)同控制分為三類,主要是主和從電機(jī)以相同的速度運(yùn)轉(zhuǎn),我們一般稱這空控制為多電機(jī)的同步控制;另外一種主電機(jī)與從電機(jī)及從電機(jī)與從電機(jī)間以某種比例關(guān)系的速度運(yùn)轉(zhuǎn),在一定的場合往往需要各個(gè)電機(jī)間以某種比例關(guān)系來運(yùn)轉(zhuǎn),且這種比例關(guān)系是可以根據(jù)運(yùn)用場合的不同而改變的,我們稱這種主、從電機(jī)速度按比例關(guān)系保持不變的控制為協(xié)調(diào)控
8、制;第三種是主電機(jī)與從電機(jī)間以及從電機(jī)與從電機(jī)間保持恒定的速差運(yùn)轉(zhuǎn),這種控制方式在日常生產(chǎn)中也得到很廣泛的運(yùn)用。我們對(duì)于多電機(jī)協(xié)同控制的研究根據(jù)選擇的控制分類不同,研究的軟硬件設(shè)計(jì)也會(huì)跟著改變。 本設(shè)計(jì)預(yù)期達(dá)到的目標(biāo)是實(shí)現(xiàn)主電機(jī)與從電機(jī)以相同的速度實(shí)現(xiàn)運(yùn)轉(zhuǎn)控制的效果。2、 三電機(jī)協(xié)同控制方式 機(jī)械總軸同步控制方式形成較早控制策略相對(duì)于其他控制方式也較簡單,且在早期的升船機(jī)、造紙機(jī)、紡織印染機(jī)等得到廣泛的運(yùn)用。主要是通過一臺(tái)大功率電機(jī)來拖動(dòng)機(jī)械總軸使系統(tǒng)中其他的電機(jī)通過各自的齒輪絞合在總軸上。機(jī)械總軸控制方式雖然同步性比較高、機(jī)械結(jié)構(gòu)較為固定,但往往系統(tǒng)的結(jié)構(gòu)較為復(fù)雜、且系統(tǒng)中得各個(gè)單元的干擾較
9、為強(qiáng)烈、工作噪音大、靈活性差、傳動(dòng)范圍和距離小、單元負(fù)載小、系統(tǒng)成本高。 電方式協(xié)同控制方式是模擬機(jī)械總軸控制方式通過控制多臺(tái)電機(jī)的轉(zhuǎn)速、轉(zhuǎn)角等信息實(shí)現(xiàn)多電機(jī)的協(xié)同控制。這種方式不受距離的約束,同時(shí),這種控制方式在同步性、靈活性性上都比機(jī)械總軸控制方式較好。電方式并且克服了機(jī)械方式的種種缺點(diǎn),對(duì)外部的擾動(dòng)有比較高的抗擾能力。 主令同步控制方式是指系統(tǒng)在共同的輸入信號(hào)作用下,各個(gè)電機(jī)由各自的電機(jī)驅(qū)動(dòng)模塊功率驅(qū)動(dòng)下形成的物理上相互獨(dú)立的單元。各個(gè)電機(jī)模塊間不會(huì)相互干擾。在這種控制方式下,如果主、從電機(jī)在受到較少擾動(dòng)的情況下具有較高的同步效果。主令控制方式系統(tǒng)雖然在啟停階段系統(tǒng)的同步性能很好、不同單
10、元不受距離的限制等優(yōu)點(diǎn),但是,如果系統(tǒng)的某個(gè)節(jié)點(diǎn)受到外界擾動(dòng)的干擾作用,會(huì)出現(xiàn)失同步的現(xiàn)象,不適用于同步性要求嚴(yán)格的場合。主令控制方式結(jié)構(gòu)如下圖1.1所示。 圖1.1 主令控制方式 主從多電機(jī)協(xié)同控制方式適用于主節(jié)點(diǎn)主電機(jī)受到較大干擾而從節(jié)點(diǎn)從電機(jī)一般不收環(huán)境干擾的場合。各個(gè)從電機(jī)把主電機(jī)在某個(gè)時(shí)刻受到的干擾信號(hào)作為從電機(jī)的輸入信號(hào)。主從多電機(jī)協(xié)同控制方式主要有以下兩種情況:第一種情況是第一臺(tái)為主電機(jī)其他未從電機(jī)。主電機(jī)根據(jù)系統(tǒng)給定信號(hào)的信息運(yùn)轉(zhuǎn),同時(shí)主電機(jī)的輸出信號(hào)控制其他從電機(jī)的運(yùn)轉(zhuǎn)。主從控制形式一結(jié)構(gòu)如下圖1.2所示。圖1.2 主從控制形式一 第二種情況是:第一臺(tái)電動(dòng)機(jī)為主機(jī),最后一臺(tái)電
11、動(dòng)機(jī)為從機(jī),其余的電動(dòng)機(jī)充當(dāng)雙重角色,既是主機(jī)又是從機(jī)。主從控制形式二如下圖1.3所示。圖1.3 主從控制形式二 通過上面的比較我們不難發(fā)現(xiàn)采用主從方式進(jìn)行多電機(jī)的協(xié)同控制。第2節(jié) 現(xiàn)場總線以及CAN總線的概述1、 現(xiàn)場總線在多電機(jī)協(xié)同控制系統(tǒng)中的應(yīng)用現(xiàn)場總線是指將能夠?qū)⒐I(yè)生產(chǎn)某些設(shè)備與工控制單元按一定的控制方式進(jìn)行相互連接得網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò)具有全數(shù)字化、分散、雙向傳輸、多分支的特點(diǎn)。它的關(guān)鍵標(biāo)志是能雙向多節(jié)點(diǎn)、總線式全數(shù)字通訊。工業(yè)自動(dòng)化研究中,快速發(fā)展的工業(yè)總線技術(shù)也對(duì)研究多電機(jī)協(xié)同控制技術(shù)研究以及改善有比較大的促進(jìn)效果?,F(xiàn)場總線是一種實(shí)時(shí)的、可靠的、低廉的、串行的這些特點(diǎn)都促使他們?cè)诂F(xiàn)
12、代工業(yè)中有了廣泛的應(yīng)用。 當(dāng)前國際具有代表性的現(xiàn)場總線現(xiàn)場總線技術(shù)與產(chǎn)品是CC-LINK、Profibus、CANBus等。本節(jié)將對(duì)以上幾種總線簡單介紹和性能比較,分析各種總線的優(yōu)缺點(diǎn)來讓我們做出正確的選擇。1、 CC-LINKCC-LINK(control&conmunication Link)總線是有日本推出的一種開放式總線并在亞洲市場得到廣泛的運(yùn)用。CC-LINK總線可以實(shí)現(xiàn)循環(huán)傳輸和瞬時(shí)傳輸兩種通信方式,是一種可以快速處理即時(shí)信息和控制即時(shí)數(shù)據(jù)的現(xiàn)場網(wǎng)絡(luò)系統(tǒng)。CC-LINK總線主要由特定功能的通信模塊和I/O借口鏈接而成并通過PLC來協(xié)調(diào)通信網(wǎng)絡(luò)的工作。CC-LINK起源于亞洲
13、并迅速得到廣泛的應(yīng)用,CC-LINK總線數(shù)據(jù)在傳輸速度快、價(jià)格,性能等方面比其他的總線更優(yōu)越。2、 ProfibusProfibus(Process Fieldbus,過程現(xiàn)場總線)是德國西門子推出的適用于流程自動(dòng)化和制造業(yè)自動(dòng)化、交通電力的一種總線標(biāo)準(zhǔn)。它由3部分組成:Profibus-DP用于現(xiàn)場級(jí)的高速數(shù)據(jù)傳輸,實(shí)現(xiàn)設(shè)備級(jí)自動(dòng)控制系統(tǒng)與設(shè)備級(jí)分散的I/O之間的通信;Profibus-PA用于過程自動(dòng)化;Profibus-FMS用于車間監(jiān)控層,實(shí)現(xiàn)控制器與現(xiàn)場設(shè)備、控制器之間的通信。Profibus采用OSI模型的第1、2層,Profibus-FMS還定義了第7層。它支持主從、令牌傳遞通信
14、。3、CANCAN(Controller Area Network,控制器局域網(wǎng))是德國Bosch公司為汽車應(yīng)用而開發(fā)的一種有效支持分布式實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò)。它采用OSI模型的第1、2、7層。CAN總線支持多主方式運(yùn)行,采用非破壞性位仲裁機(jī)制確定數(shù)據(jù)塊的優(yōu)先級(jí),有效地避免了沖突等待;采用短幀結(jié)構(gòu),通信實(shí)時(shí)性好,且每幀都有CRC校驗(yàn)及其它檢錯(cuò)措施,可靠性高;對(duì)報(bào)文而非站地址進(jìn)行編碼,可實(shí)現(xiàn)全局廣播、一點(diǎn)對(duì)多點(diǎn)、點(diǎn)對(duì)點(diǎn)等多種傳輸方式;節(jié)點(diǎn)發(fā)生嚴(yán)重錯(cuò)誤時(shí),具備自動(dòng)退出總線功能。鑒于其可靠性、實(shí)時(shí)性、靈活性方面的突出優(yōu)勢,CAN總線的使用已不再限于汽車行業(yè),在工業(yè)自動(dòng)化、醫(yī)療設(shè)備、工業(yè)設(shè)備、機(jī)器人
15、等領(lǐng)域都得到了廣泛應(yīng)用。 上述幾種現(xiàn)場總線的比較如下圖1.1所示表1.1 幾種現(xiàn)場總線的性能比較 由于性能對(duì)比,CAN總線性能卓越。故我們選取CAN總線作為我們本次研究多電機(jī)協(xié)同控制的現(xiàn)場總線。2、 CAN總線的概述在1993年,CAN總線通過ISO認(rèn)證并有ISO頒布ISO11898CAN國際標(biāo)準(zhǔn),為CAN總線在國際的廣泛運(yùn)用鋪平了道路。1、 CAN總線工作原理 CAN總線是一個(gè)串行通信網(wǎng)絡(luò),能支持分布式實(shí)時(shí)控制。主節(jié)點(diǎn)以廣播形式將要傳播的數(shù)據(jù)在CAN總線上廣播,位于CAN總線上的從節(jié)點(diǎn)都能接受到來之主節(jié)點(diǎn)的數(shù)據(jù)報(bào)文。無論報(bào)文是發(fā)送給哪一個(gè)節(jié)點(diǎn),總線上每個(gè)節(jié)點(diǎn)都對(duì)其進(jìn)行接收。報(bào)文開頭的標(biāo)識(shí)符I
16、D,定義了報(bào)文的優(yōu)先級(jí)7,并且在一個(gè)系統(tǒng)中ID唯一。當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)搶占總線取時(shí),根據(jù)ID優(yōu)先級(jí)進(jìn)行仲裁,決定總線訪問權(quán)(ID值越小,報(bào)文優(yōu)先級(jí)越高)。當(dāng)一個(gè)節(jié)點(diǎn)要向其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),該節(jié)點(diǎn)的CPU將標(biāo)識(shí)符和要發(fā)送的數(shù)據(jù)傳送給CAN控制器,處于準(zhǔn)備狀態(tài);當(dāng)總線空閑時(shí),馬上進(jìn)入發(fā)送狀態(tài)。CAN芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報(bào)文格式發(fā)出,這時(shí),網(wǎng)上的其它節(jié)點(diǎn)處于接收狀態(tài)。 CAN總線可以在硬件和軟件沒有改動(dòng)的情況下進(jìn)行節(jié)點(diǎn)的擴(kuò)展,使其具有極高的靈活性。同時(shí),允許分布過程同步化,即總線上控制器需要測量數(shù)據(jù)時(shí),可從網(wǎng)絡(luò)上獲取,而無須每個(gè)控制器都有自己獨(dú)立的傳感器。2、 CAN總線協(xié)議規(guī)范與差錯(cuò)檢測 根
17、據(jù)OSI模型1、4、7層可以將CAN分為物理層和數(shù)據(jù)鏈路層,CAN總線協(xié)議結(jié)構(gòu)模型如下圖1.4所示。圖1.4 CAN協(xié)議模型 物理層和數(shù)據(jù)鏈路層根據(jù)協(xié)議的不同實(shí)現(xiàn)不同的功能。物理層描述了節(jié)點(diǎn)間的實(shí)際傳輸速率、同步機(jī)制、電平信號(hào)等信息。數(shù)據(jù)電路曾又可以分為兩層,即MAC層和LLC層。介質(zhì)訪問控制層主要是為了節(jié)點(diǎn)間報(bào)文傳輸提供服務(wù),而協(xié)議傳送主要是在傳輸層完成。CAN總線錯(cuò)誤處理與檢測主要是在傳輸層完成。位錯(cuò)誤、形式錯(cuò)誤、CRC錯(cuò)誤等是CAN總線存在的主要錯(cuò)誤類型。與此相對(duì)應(yīng)的主動(dòng)/被動(dòng)錯(cuò)誤、離線狀態(tài)時(shí)CAN節(jié)點(diǎn)間三種錯(cuò)誤狀態(tài)。這三種錯(cuò)誤狀態(tài)所對(duì)應(yīng)的狀態(tài)圖如下圖1.4所示。圖1.5 CAN錯(cuò)誤狀態(tài)
18、圖第3節(jié) 研究的目的與意義本課題設(shè)計(jì)是在學(xué)習(xí)CAN總線協(xié)議規(guī)范的基礎(chǔ)上,將其應(yīng)用到多電機(jī)協(xié)同控制系統(tǒng)中,利用CAN總線的實(shí)時(shí)性、可靠性與靈活性,改善協(xié)同控制的快速性、精度等性能,以滿足現(xiàn)代協(xié)同控制系統(tǒng)愈來愈苛刻的生產(chǎn)要求??偩€技術(shù)在控制系統(tǒng)中的應(yīng)用,已經(jīng)改變了原有系統(tǒng)的體系結(jié)構(gòu),掀起了一場巨大的變革,而CAN總線作為最有前途的現(xiàn)場總線之一,毫無疑問,具有廣闊的發(fā)展前景。本課題的最終目的在于通過對(duì)基于CAN通信的多電機(jī)協(xié)同控制系統(tǒng)的設(shè)計(jì),學(xué)習(xí)和理解CAN通信的工作機(jī)制,掌握其設(shè)計(jì)方法,在實(shí)際應(yīng)用中獲得更深的體會(huì);同時(shí)增強(qiáng)學(xué)習(xí)新理論技能并進(jìn)行實(shí)際應(yīng)用的能力,以及提升對(duì)科技發(fā)展前沿的靈敏度。本課題的
19、研究意義在于實(shí)現(xiàn)一種有效支持分布式實(shí)時(shí)控制的系統(tǒng),它通過成本低廉的雙絞線進(jìn)行實(shí)時(shí)通信,達(dá)到電機(jī)同步運(yùn)行的目的。在控制系統(tǒng)日益分散化的今天,該設(shè)計(jì)具有重要的實(shí)用價(jià)值。第4節(jié) 本章小結(jié) 本章對(duì)多電機(jī)協(xié)同控制系統(tǒng)的發(fā)展歷史及趨勢、控制方式及控制策略進(jìn)行了簡單介紹,闡述了總線技術(shù)對(duì)協(xié)同控制系統(tǒng)的優(yōu)化作用,并經(jīng)過分析比較,論證CAN總線在多電機(jī)協(xié)同控制系統(tǒng)中的適用性。此外,本章還簡要介紹了基于CAN總線的多電機(jī)協(xié)同控制系統(tǒng)設(shè)計(jì)的目的與意義,其主要內(nèi)容,以及該設(shè)計(jì)的創(chuàng)新之處與今后的研究思路。第2章 基于CAN的總線三電機(jī)協(xié)同控 制系統(tǒng)總體設(shè)計(jì)方案第1節(jié) 總體設(shè)計(jì)要求該方案基于CAN總線的3電機(jī)協(xié)同控制主要
20、采用主從控制方式通過CAN總線及其接口電路、最小系統(tǒng)、電機(jī)驅(qū)動(dòng)電路、測速電路等來實(shí)現(xiàn)控制從電機(jī)與主電機(jī)以相同的速度運(yùn)轉(zhuǎn)。設(shè)計(jì)用STM32F103作為主控芯片,通過CAN總線接口電路實(shí)現(xiàn)CAN通信;利用STM32F103芯片的定時(shí)器產(chǎn)生PWM波,通過電機(jī)的驅(qū)動(dòng)電路來控制主、從電機(jī)的運(yùn)轉(zhuǎn);同時(shí)作品為實(shí)現(xiàn)電機(jī)的閉環(huán)調(diào)速,根據(jù)PID算法設(shè)計(jì)了測速電路模塊來實(shí)時(shí)獲取實(shí)際電機(jī)運(yùn)轉(zhuǎn)速度與預(yù)設(shè)速度的偏差;此外,人機(jī)界面采用操作簡便的觸摸屏向用戶實(shí)時(shí)反應(yīng)轉(zhuǎn)速及其他信息大大優(yōu)化了系統(tǒng)的性能。本設(shè)計(jì)完全滿足設(shè)計(jì)初衷提出的一下幾點(diǎn)要求:1 讓兩臺(tái)從電機(jī)與主電機(jī)以相同的速度運(yùn)轉(zhuǎn);2 主、從電機(jī)間通信主要通過CAN通信網(wǎng)
21、絡(luò)實(shí)現(xiàn)。第2節(jié) 總體設(shè)計(jì)框架該設(shè)計(jì)主要采用內(nèi)置CAN控制器的STM32F103作為主控芯片,并通過五個(gè)電路模塊的軟硬件設(shè)計(jì)使功能得以實(shí)現(xiàn)。主、從電機(jī)間每臺(tái)電機(jī)都獨(dú)立的設(shè)計(jì)一個(gè)完整的系統(tǒng)去控制電機(jī),然后主、從電機(jī)間再通過CAN通信系統(tǒng)實(shí)現(xiàn)通信以完成轉(zhuǎn)速同步的效果。系統(tǒng)結(jié)構(gòu)框圖如下。圖2.1 系統(tǒng)結(jié)構(gòu)框圖第3節(jié) 各個(gè)模塊設(shè)計(jì)方案的論證1、 節(jié)點(diǎn)模塊的選擇基于CAN總線的3電機(jī)協(xié)同控制的主控芯片的選擇主要有兩種方案:第一種是51系列單片機(jī);第二種是使用ARM系列處理芯片(本設(shè)計(jì)基于CAN總線的三電機(jī)協(xié)同控制主要選用STM32F103)。根據(jù)選擇的主控芯片的不同,相應(yīng)的CAN總線接口電路設(shè)計(jì)方案也隨之
22、改變。 第一種方法MCU選用51單片機(jī),主控芯片與CAN總線間通過CTM1050T連接。51系列單片機(jī)是一種8位功能可擴(kuò)展的處理器,內(nèi)部用可供使用的定時(shí)器或者計(jì)數(shù)器,另外還有32個(gè)I/O口線以及一個(gè)全雙工通信口。CTM1050T主要由CAN隔離器、CAN收發(fā)器等組成,這些模塊都被集成在小于3cm芯片內(nèi)部。芯片的主要功能是將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平并且具有DC 2500V的隔離功能及ESD保護(hù)作用。 第二種方法MCU選用STM32F103作為主控芯片,主控芯片與CAN總線間通過CAN收發(fā)器連接。STM32F103是一種內(nèi)置CAN總線控制器的具有32位的ARM系列微型處理器
23、,內(nèi)部集成8個(gè)16位定時(shí)器、13個(gè)通信接口、80個(gè)I/O接口、6路的PWM、8路A/D轉(zhuǎn)換模塊以及2路專用的復(fù)位電路模塊等。TJA1050T是在PCA82C250和PCA82C251后發(fā)布的性能更優(yōu)的高速CAN收發(fā)器的后繼產(chǎn)品,能夠?qū)崿F(xiàn)輸出信號(hào)CANH與CANL的最佳匹配,同時(shí)在節(jié)點(diǎn)為供電時(shí)使系統(tǒng)的性能有所改進(jìn)。 本設(shè)計(jì)選擇STM32F103芯片作為MCU,通過JTA1050T實(shí)現(xiàn)主控芯片與CAN總線通信的方案更合理、電路構(gòu)建相對(duì)簡單、軟硬件設(shè)計(jì)也相對(duì)合理。因?yàn)镾TM32F103是一款內(nèi)置CAN控制器的32位ARM處理器,在性能上較51系列單片機(jī)卓越許多。主控芯片的選取也是這個(gè)方案可以容易且經(jīng)
24、濟(jì)的實(shí)現(xiàn)各種比較復(fù)雜的功能。1、 驅(qū)動(dòng)模塊的設(shè)計(jì)方案一:一種步進(jìn)電機(jī)的驅(qū)動(dòng)優(yōu)化方案,即將MCU產(chǎn)生的數(shù)字信號(hào)經(jīng)由DAC0832變換成相應(yīng)的模擬信號(hào),通過功率放大電路進(jìn)行步進(jìn)電機(jī)的細(xì)分控制。這種方法可以降低步進(jìn)電機(jī)的振動(dòng)和噪音,提高控制精度,改善運(yùn)行性能。方案二:選用常用的L298N驅(qū)動(dòng)電路。L298N是ST公司的生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。輸出電壓可用單片機(jī)的I/O口控制信號(hào)進(jìn)行調(diào)節(jié)。電路簡單,使用方便。鑒于本設(shè)計(jì)使用的是微型直流電機(jī),選擇第二種方案即可。3、 測速模塊的選擇目前,霍爾傳感器、直流測速發(fā)電機(jī)以及光電測速裝置是較常使用的電機(jī)測速方法。第一種方法是采用霍爾傳感器對(duì)主、從電
25、機(jī)進(jìn)行測速?;魻杺鞲衅鳒y速原理是根據(jù)霍爾效應(yīng)原理,將具有磁性的磁鋼粘放。同時(shí)使磁鋼的磁極與傳感器的磁極相對(duì)準(zhǔn),并把霍爾傳感器固定在機(jī)架上。主要通過霍爾元件去感應(yīng)由固定在轉(zhuǎn)盤上并隨電機(jī)轉(zhuǎn)動(dòng)而轉(zhuǎn)動(dòng)的磁鋼引起的磁場強(qiáng)度的變化,磁場變化通過霍爾傳感器轉(zhuǎn)化為連續(xù)的電壓信號(hào)并將其作為輸出電壓送到單片機(jī)。第二種方法是采用直流測速發(fā)電機(jī)來對(duì)主從電機(jī)進(jìn)行測速。直流測速發(fā)電機(jī)測速原理是根據(jù)電磁感應(yīng),通過將電機(jī)的機(jī)械能轉(zhuǎn)化為物理信號(hào)從而對(duì)主和從電機(jī)進(jìn)行速度測量。第三種方法是采用光電測速傳感器來對(duì)主、從電機(jī)進(jìn)行測速。光電測速傳感器測速原理是利用光電效應(yīng),光敏元件通過感應(yīng)被固定在電機(jī)上的的光電碼盤阻擋或沒有阻擋的光源,
26、并隨之改變光敏元件的阻值,轉(zhuǎn)化成電壓信號(hào)從輸出產(chǎn)生正負(fù)變化的周期性脈沖。以上幾種測速方案的比較如下表。表2.1幾種測速方法的比較通過對(duì)霍爾傳感器、直流測速發(fā)電機(jī)以及光電測速裝置三種方案進(jìn)行比較,不難看出采用光電測速傳感器測速靈敏度較高、電路簡單、誤差叫小。相對(duì)于其他兩種方法有一定的優(yōu)勢。所以,本設(shè)計(jì)基于CAN總線的三電機(jī)協(xié)同控制系統(tǒng)采用光電測速傳感器測速。4、人機(jī)界面設(shè)計(jì)人機(jī)界面是指人和機(jī)器在信息交換和功能上接觸或互相影響的領(lǐng)域,或稱用戶界面。方案一:選擇按鍵輸入及LCD1602顯示。液晶顯示器體積小、功耗低、顯示操作簡單,顯示質(zhì)量高且不會(huì)閃爍,顯示字符優(yōu)美,能顯示數(shù)字、字符與圖形,但使用溫度
27、范圍較窄,正常工作溫度范圍為。該方案價(jià)格低廉,應(yīng)用較廣。方案二:選用TFTLCD觸摸屏輸入指令并顯示電機(jī)運(yùn)行情況。TFT(Thin Film Transistor)即薄膜場效應(yīng)晶體管,LCD上的每一液晶象素點(diǎn)都是由集成在其后的TFT來驅(qū)動(dòng),做到高速度、高亮度、高對(duì)比度顯示屏幕信息。TFTLCD作為現(xiàn)今的主流顯示器,具有低壓應(yīng)用、低壓驅(qū)動(dòng)、平板化、低功耗、使用方便靈活、壽命長、高分辨率、高彩色保真度、高亮度、高對(duì)比度、高響應(yīng)速度、無輻射、無閃爍、環(huán)保性好、適用范圍寬(-20至+50的溫度范圍內(nèi)都可以正常使用)等優(yōu)點(diǎn)。并且TFTLCD產(chǎn)業(yè)技術(shù)成熟,易于集成與更新,完美融合了光源與大規(guī)模半導(dǎo)體集成電
28、路技術(shù),有很好的發(fā)展前景。而將觸摸屏與液晶屏配套使用,組合成為一個(gè)可交互的輸入輸出系統(tǒng),操作簡便,時(shí)尚大方。鑒于TFTLCD觸摸屏將輸入及輸出集成在一起,使用更為簡便舒適,視覺效果極佳,本設(shè)計(jì)選取TFTLCD觸摸屏作為用戶界面。2、 電機(jī)模塊總體設(shè)計(jì)該方案基于CAN總線的3電機(jī)協(xié)同控制主要采用主從控制方式通過CAN總線及其接口電路、最小系統(tǒng)、電機(jī)驅(qū)動(dòng)電路、測速電路等來實(shí)現(xiàn)控制從電機(jī)與主電機(jī)以相同的速度運(yùn)轉(zhuǎn)。設(shè)計(jì)用STM32F103作為主控芯片,通過CAN總線接口電路實(shí)現(xiàn)CAN通信;利用STM32F103芯片的定時(shí)器產(chǎn)生PWM波,通過電機(jī)的驅(qū)動(dòng)電路來控制主、從電機(jī)的運(yùn)轉(zhuǎn);同時(shí)作品為實(shí)現(xiàn)電機(jī)的閉環(huán)
29、調(diào)速,根據(jù)PID算法設(shè)計(jì)了測速電路模塊來實(shí)時(shí)獲取實(shí)際電機(jī)運(yùn)轉(zhuǎn)速度與預(yù)設(shè)速度的偏差;此外,人機(jī)界面采用操作簡便的觸摸屏向用戶實(shí)時(shí)反應(yīng)轉(zhuǎn)速及其他信息大大優(yōu)化了系統(tǒng)的性能。節(jié)點(diǎn)結(jié)構(gòu)框圖如下。圖2.2 節(jié)點(diǎn)結(jié)構(gòu)框圖 第4節(jié) 本章小結(jié) 本章首先明確了設(shè)計(jì)的要求,確立了CAN通信系統(tǒng)的整體方案,然后根據(jù)模塊功能,提出多種較為合理的節(jié)點(diǎn)設(shè)計(jì)方案,通過分析與論證,最終確定了網(wǎng)絡(luò)節(jié)點(diǎn)的總體設(shè)計(jì)方案,作為下文具體電路設(shè)計(jì)的引導(dǎo)與鋪墊。第3章 基于CAN總線的三電機(jī)協(xié)同控制系統(tǒng)硬件設(shè)計(jì)第1節(jié) 硬件設(shè)計(jì)基于CAN總線的三電機(jī)協(xié)同控制系統(tǒng)的硬件開發(fā)平臺(tái)是在Altium Designer上進(jìn)行,通過Altium Desi
30、gner軟件來繪制系統(tǒng)的原理圖和PCB板。在此基礎(chǔ)上,根據(jù)功能需求可以把系統(tǒng)分為MCU最小系統(tǒng)、人機(jī)控制界面、CAN總線接口電路、測速電路以及電動(dòng)機(jī)驅(qū)動(dòng)模塊。1、 最小系統(tǒng)的設(shè)計(jì)1、 MCU簡介STM32F103是一種內(nèi)置CAN總線控制器的具有32位的ARM系列微型處理器,內(nèi)部集成8個(gè)16位定時(shí)器、13個(gè)通信接口、80個(gè)I/O接口、6路的PWM、8路A/D轉(zhuǎn)換模塊以及2路專用的復(fù)位電路模塊等。STM32F103工作頻率高達(dá)72MHz,內(nèi)置高速存儲(chǔ)器,具有豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè)19。STM32F103配置如表3.1所示。表3.1 STM32F103功能表2、 MCU最小
31、系統(tǒng)的實(shí)現(xiàn)STM32F103最小系統(tǒng)主要由:復(fù)位電路、電源電路以及時(shí)鐘電路等組成。MCU最小系統(tǒng)原理圖如圖3.1所示。圖3.1 mcu最小系統(tǒng)設(shè)計(jì)2、 CAN總線接口電路設(shè)計(jì)系統(tǒng)采用內(nèi)置CAN控制器的STM32F103作為主控芯片,通過高速CAN收發(fā)器TJA1050T芯片實(shí)現(xiàn)主控芯片CAN總線相連接。TJA1050T芯片引腳功能見下表3.2所示。系統(tǒng)采用內(nèi)置CAN控制器的STM32F103作為主控芯片,通過高速CAN收發(fā)器TJA1050T芯片實(shí)現(xiàn)主控芯片CAN總線相連接。TJA1050T芯片引腳功能見下表3.2所示。表3.2 CTM1050T引腳定義 由上表可看出,只需在TJA1050T芯片3
32、引腳加入+5V電壓,將TJA1050T芯片的RXD/TXD引腳上拉電阻與STM32F103的PB8引腳以及PB9引腳相連即可。用TJA1050T芯片的CAN總線接口電路如下圖3.2所示。圖3.2 CAN總線接口電路設(shè)計(jì)3、 驅(qū)動(dòng)模塊的設(shè)計(jì)1、 PWM調(diào)速原理PWM(Pulse Width Modulation,脈沖寬度調(diào)制),即通過調(diào)制一系列脈沖的寬度,獲得所需的等效波形(含形狀和幅值),其理論基礎(chǔ)是面積等效原理,即沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時(shí),其效果基本相同(沖量即窄脈沖的面積)。根據(jù)PWM原理,只要改變占空比就實(shí)現(xiàn)電機(jī)調(diào)速的的功能。目前,一般通過半導(dǎo)體器件的通斷區(qū)改變電
33、機(jī)電壓的通斷時(shí)間以及通電周期已達(dá)到改變電機(jī)的占空比的目的。2、 L298N簡介L298N是ST公司的生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。工作電壓為5V46V;輸出電流大,持續(xù)工作電流可達(dá)2A,瞬間峰值可達(dá)3A;內(nèi)含兩個(gè)H橋全橋式驅(qū)動(dòng)器,可用來驅(qū)動(dòng)直流電動(dòng)機(jī)與步進(jìn)電機(jī)等感性負(fù)載,可驅(qū)動(dòng)兩臺(tái)直流電機(jī)(或二相步進(jìn)電機(jī)),或一臺(tái)四相步進(jìn)電機(jī)。其輸出電壓可由電源直接調(diào)節(jié),也可由單片機(jī)產(chǎn)生的控制信號(hào)進(jìn)行調(diào)節(jié)。其真值表如表3.3所示。表3.3 L298N真值表3、驅(qū)動(dòng)電路的實(shí)現(xiàn) 本設(shè)計(jì)中,STM32F103的PE5、PE6分別接IN1、IN2,控制電機(jī)的啟停及轉(zhuǎn)向;PA8接ENA,通過改變定時(shí)器TIM1所
34、產(chǎn)生的PWM波的占空比,調(diào)節(jié)電機(jī)轉(zhuǎn)速。驅(qū)動(dòng)電路設(shè)計(jì)如圖3.3所示,控制端與驅(qū)動(dòng)端不共地,采用光耦TLP521來實(shí)現(xiàn)完全的電氣隔離,從而增強(qiáng)系統(tǒng)的抗干擾能力,并使驅(qū)動(dòng)可以接入3.3V的控制系統(tǒng)。圖3.3 驅(qū)動(dòng)電路設(shè)計(jì)4、 測速模塊的設(shè)計(jì)本設(shè)計(jì)基于CAN總線的三電機(jī)協(xié)同控制主要通過LM393、TCRT5000以及一些外圍電路組成。雙電壓比較器LM393常用于檢測弱電壓信號(hào),主要存在兩種狀態(tài),即輸出管飽和和輸出管截止。當(dāng)其同相輸入端電壓高于反相輸入端時(shí),輸出管截止,相當(dāng)于輸出端開路;當(dāng)反相輸入端電壓高于同相輸入端時(shí),輸出管飽和,相當(dāng)于輸出端置低。當(dāng)輸入端電壓差大于10mV,輸出狀態(tài)就能進(jìn)行可靠轉(zhuǎn)換,
35、故常用于檢測弱信號(hào)。TCRT5000有發(fā)射管和接收管組成,由發(fā)射管發(fā)射并由接受管接受的紅外線因其反射的情況影響接受管的電阻。測速電路的設(shè)計(jì)圖如下。當(dāng)檢測到亮色的碼盤時(shí),TCRT5000發(fā)射管發(fā)出的紅外線被反射回來并且強(qiáng)度足夠大,被接收管(光敏三極管)接收,光敏三極管飽和,TCRT5000輸出低電平,接入LM393的反相端,LM393輸出高電平,二極管不亮;當(dāng)檢測到空隙時(shí),發(fā)射管發(fā)出的紅外線未被反射回來,光敏三極管截止,TCRT5000輸出高電平,LM393輸出低電平,二極管發(fā)光。圖3.4 測速電路設(shè)計(jì)圖5、 電源模塊的設(shè)計(jì)本系統(tǒng)時(shí)鐘電路的備用電源采用VBAT 3.3v鋰子片狀電池,提供+3.3
36、V直流電源備用電源經(jīng)去耦濾波電容穩(wěn)壓,提供+5V直流電源,如圖3.5 所示。系統(tǒng)中,STM32F103主控芯片需要3.3V電源,因此,需將+5V直流電轉(zhuǎn)換為+3.3V。本設(shè)計(jì)采用AMS1117-3.3進(jìn)行5V到3.3V的轉(zhuǎn)換。AMS1117輸入+5V,提供+3.3V的固定電壓輸出。為了降低電磁干擾,C7-C10濾波后,為CPU提供電源,R8為DGND與AGND的接地,R9為D5 LED電源指示。如圖3.6所示。圖3.5 +5V備用電源電路圖3.6 ASM1117-3.3產(chǎn)生3.3V應(yīng)用電路第2節(jié) 本章小結(jié) 該設(shè)計(jì)主要采用內(nèi)置CAN控制器的STM32F103作為主控芯片,并通過五個(gè)電路模塊的軟硬
37、件設(shè)計(jì)使功能得以實(shí)現(xiàn)。主、從電機(jī)間每臺(tái)電機(jī)都獨(dú)立的設(shè)計(jì)一個(gè)完整的單片機(jī)系統(tǒng)去控制電機(jī),然后主、從電機(jī)間再通過CAN通信系統(tǒng)實(shí)現(xiàn)通信以完成轉(zhuǎn)速同步的效果。本章節(jié)對(duì)這五個(gè)模塊設(shè)計(jì)及原理進(jìn)行詳細(xì)的介紹與分析,為軟件的設(shè)計(jì)鋪墊。第4章 基于CAN總線的多電機(jī)協(xié)同控制系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的硬件開發(fā)平臺(tái)是在Keil uVision4上進(jìn)行,運(yùn)用我們比較熟悉C語言進(jìn)行編程,并運(yùn)用Keil uVision4通過JTAG接口在線編程調(diào)試。系統(tǒng)的軟件設(shè)計(jì)可以分為三個(gè)部分進(jìn)行,即電機(jī)控制模塊、CAN通信模塊和人機(jī)界面模塊。總體工作流程圖如下圖4.1所示。圖4.1 總體工作流程圖第1節(jié) CAN通信模塊的軟件設(shè)計(jì)1、 CA
38、N總線的初始化CAN初始化的主要任務(wù)是完成CAN模塊功能的設(shè)置,包括外設(shè)時(shí)鐘的使能、GPIO口配置、CAN的NVIC配置、CAN的模式設(shè)置、以及CAN的過濾器配置15。圖4.2 CAN通信模塊初始化2、 收發(fā)報(bào)文程序設(shè)計(jì)報(bào)文發(fā)送流程:通過將TXRQ置“1”以及設(shè)定IDLC、ID以及待發(fā)送數(shù)據(jù)是被選擇的空置的郵箱進(jìn)入掛號(hào)狀態(tài);當(dāng)CAN總線處于閑置狀態(tài),最高級(jí)優(yōu)先級(jí)的郵箱就可以進(jìn)行報(bào)文的發(fā)送。報(bào)文接受流程:當(dāng)一個(gè)報(bào)文到來,郵箱FIFO0產(chǎn)生一次中斷,讀取報(bào)文信息通過標(biāo)示符判定是否為有效報(bào)文,并相應(yīng)的設(shè)定標(biāo)示位。報(bào)文接受流程圖如下圖4.3與圖4.4所示。 圖4.3 報(bào)文接受流程圖圖4.4 報(bào)文接受流
39、程圖第2節(jié) 測速程序的設(shè)計(jì)本設(shè)計(jì)中,直流電機(jī)轉(zhuǎn)速的測量通過兩部分完成:外部中斷PA1用于對(duì)速度脈沖進(jìn)行計(jì)數(shù);TIM2溢出中斷用于定時(shí)。其中斷服務(wù)函數(shù)分別如圖4.5和圖4.6所示。圖4.5 速度脈沖計(jì)數(shù)函數(shù)流程圖4.6 定時(shí)器TIM2測速函數(shù)流程第3節(jié) 本章小結(jié)系統(tǒng)的軟件設(shè)計(jì)可以分為三個(gè)部分進(jìn)行,即電機(jī)控制模塊、CAN通信模塊和人機(jī)界面模塊。本章節(jié)對(duì)這三部分的軟件編程算法進(jìn)行了詳細(xì)的介紹。第5章 系統(tǒng)調(diào)試及實(shí)現(xiàn)第1節(jié) 硬件調(diào)試通過Altium Designer軟件來繪制系統(tǒng)的原理圖和PCB板,在此基礎(chǔ)上完成制版以及焊接任務(wù)后,開始對(duì)硬件調(diào)試以檢查是否正確。硬件調(diào)試主要通過以下兩個(gè)部分完成:1 用
40、萬用表檢測電路。根據(jù)原理圖逐一的檢測電路是否存在錯(cuò)誤,比方虛焊、錯(cuò)焊以及漏焊等。2 通過 JTAG在線調(diào)試,檢查電機(jī)是否能夠正常的運(yùn)作。第2節(jié) 軟件調(diào)試根據(jù)系統(tǒng)軟件程序分為三個(gè)模塊設(shè)計(jì),也可以將軟件調(diào)試通過對(duì)每個(gè)模塊的逐一進(jìn)行調(diào)試以達(dá)到預(yù)期的效果。通過調(diào)試主要存在以下的問題:首先,沒有辦法正常的測速。檢查程序最終發(fā)現(xiàn)沒有清除EXTI_Line1標(biāo)志位。其次,在調(diào)試階段設(shè)置了正反轉(zhuǎn)按鍵的標(biāo)志變化,是人機(jī)界面對(duì)電機(jī)的指令更清晰明了。第3節(jié) 系統(tǒng)調(diào)試及實(shí)現(xiàn)液晶顯示模塊主要有三個(gè)環(huán)節(jié)的展示:畢業(yè)設(shè)計(jì)報(bào)告名字的展示、主電機(jī)和從電機(jī)預(yù)期轉(zhuǎn)速和實(shí)際轉(zhuǎn)速的顯示以及電機(jī)的啟停、正反轉(zhuǎn)、加減速按鍵。系統(tǒng)整體調(diào)試圖
41、如下。圖5.1 系統(tǒng)整體調(diào)試圖第4節(jié) 本章小結(jié)本章主要介紹了控制系統(tǒng)硬件與軟件調(diào)試的方法,通過軟硬件的調(diào)試從中找到不足并給予改善。結(jié) 論本文基于CAN通信協(xié)議以及32位ARM系列STM32F103,實(shí)現(xiàn)了一種創(chuàng)新的基于CAN總線的多電機(jī)協(xié)同控制系統(tǒng)。該系統(tǒng)利用高實(shí)時(shí)性、高可靠性的CAN串行通信網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)多電機(jī)的同步控制,優(yōu)化了系統(tǒng)結(jié)構(gòu),節(jié)約了系統(tǒng)成本,具有廣闊的應(yīng)用前景。此外,本文中軟硬件設(shè)計(jì)均采用模塊化思想。硬件設(shè)計(jì)包括最小系統(tǒng)、CAN總線接口電路設(shè)、驅(qū)動(dòng)模塊、測速模塊及人機(jī)界面的設(shè)計(jì);軟件設(shè)計(jì)同樣包括CAN通信模塊、電機(jī)控制模塊、人機(jī)界面模塊的設(shè)計(jì)。這種模塊化的設(shè)計(jì)方法具有便于操作、易于
42、調(diào)試與移植調(diào)用的優(yōu)點(diǎn),可應(yīng)用于將來的學(xué)習(xí)研究。附 錄一、CAN節(jié)點(diǎn)部分源程序:1、CAN通信模塊部分源程序/*CAN初始化接口函數(shù)*/void USER_CAN_Init(void)CAN_GPIO_Config();CAN_NVIC_Config();CAN_Mode_Config(); CAN_Filter_Config(); static void CAN_GPIO_Config(void)/CAN GPIO 和時(shí)鐘配置 GPIO_InitTypeDef GPIO_InitStructure; /*外設(shè)時(shí)鐘設(shè)置*/ RCC_APB2PeriphClockCmd(RCC_APB2Perip
43、h_AFIO | RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); /* Configure CAN pin: RX */ /PB8-CANRX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉輸入 GPIO_Init(GPIOB, &GPIO_InitStructure); /* Configure CAN pin: TX */ /PB
44、9-CANTX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /復(fù)用推挽輸出 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);static void CAN_NVIC_Config(void)/CAN RX0 中斷優(yōu)先級(jí)配置 NVIC_
45、InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /* 中斷設(shè)置 */ NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;/CAN1 RX0中斷 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; /搶占優(yōu)先級(jí)為0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /子優(yōu)先級(jí)為0 NVIC_InitStru
46、cture.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);static void CAN_Mode_Config(void)/CAN的模式配置CAN_InitTypeDef CAN_InitStructure;/* CAN 寄存器初始化 */CAN_DeInit(CAN1);CAN_StructInit(&CAN_InitStructure);/* CAN 單元初始化 */CAN_InitStructure.CAN_TTCM=DISABLE; /時(shí)間觸發(fā)通信禁止CAN_InitStructure.CAN_
47、ABOM=DISABLE; /離線退出是在中斷置位清0后退出CAN_InitStructure.CAN_AWUM=DISABLE; /自動(dòng)喚醒模式:清零sleepCAN_InitStructure.CAN_NART=DISABLE; /自動(dòng)重傳CAN_InitStructure.CAN_RFLM=DISABLE; / FIFO沒有鎖定,新報(bào)文覆蓋舊報(bào)文CAN_InitStructure.CAN_TXFP=DISABLE; /發(fā)送報(bào)文優(yōu)先級(jí)確定:標(biāo)志符CAN_InitStructure.CAN_Mode=CAN_Mode_Normal; /正常傳輸模式CAN_InitStructure.CAN_
48、SJW=CAN_SJW_1tq; /1-4CAN_InitStructure.CAN_BS1=CAN_BS1_12tq; /1-16CAN_InitStructure.CAN_BS2=CAN_BS2_7tq; /1-8CAN_InitStructure.CAN_Prescaler=9; /波特率為 36/(9*(1+12+7)=200kCAN_Init(CAN1,&CAN_InitStructure);static void CAN_Filter_Config(void)/CAN的過濾器配置CAN_FilterInitTypeDef CAN_FilterInitStructure;/*
49、 CAN 過濾器初始化 */CAN_FilterInitStructure.CAN_FilterNumber=0; /CAN1 RX0中斷CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;/工作在標(biāo)識(shí)符屏蔽位模式CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; /過濾器位寬為單個(gè)32位/* 使能報(bào)文標(biāo)識(shí)符過濾器按照標(biāo)示符的內(nèi)容進(jìn)行比對(duì)過濾,擴(kuò)展ID不是如下的就拋棄掉,是的話,會(huì)存入FIFO0。 */CAN_FilterInitStructure.C
50、AN_FilterIdHigh=0x0000; /要過濾的ID高位 CAN_FilterInitStructure.CAN_FilterIdLow=0x0000; /要過濾的ID低位 CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000; /過濾器高16位每位不必關(guān)心CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000; /過濾器低16位每位不必關(guān)心CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;/過濾器被關(guān)聯(lián)到FIFO0CAN
51、_FilterInitStructure.CAN_FilterActivation=ENABLE; /使能過濾器CAN_FilterInit(&CAN_FilterInitStructure);/*允許FMP0中斷*/ CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);/*發(fā)送報(bào)文接口函數(shù)*/void SendCan(u16 dat_0,u16 dat_1,u16 dat_2)TxMessage.ExtId=0x0000; /使用的擴(kuò)展IDTxMessage.IDE=CAN_ID_EXT; /擴(kuò)展模式TxMessage.RTR=CAN_RTR_DATA; /
52、發(fā)送的是數(shù)據(jù)TxMessage.DLC=3; /數(shù)據(jù)長度為3字節(jié)TxMessage.Data0=dat_0;TxMessage.Data1=dat_1;TxMessage.Data2=dat_2;CAN_Transmit(CAN1,&TxMessage);/*CAN接收中斷服務(wù)程序*/void USB_LP_CAN1_RX0_IRQHandler(void)CAN_Receive(CAN1,CAN_FIFO0, &RxMessage); /從郵箱中讀出報(bào)文if(RxMessage.ExtId=0x0000)flag = 0; /接收成功elseflag = 0xff; 2、電機(jī)控制模塊部分源程序/*PID運(yùn)算接口函數(shù)*/void PIDcalc(void)e=speed_set-speed;/計(jì)算速度偏差duk=( Kp*(e - e1) + Ki*e + Kd*(e - 2*e1 + e2)/100; /控制量增量計(jì)算uk = uk1 + duk ;pwmout=(int16_t)uk; /PWM波占空比if(pwmout > 99) /設(shè)定限值pwmout = 99 ;else if(pwmout < 0)pwmout = 0 ;uk1 = uk ; /保存歷史數(shù)據(jù)e2=e1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眾籌購買合同范本
- 免招標(biāo)合同范本
- 買房贈(zèng)與車庫合同范本
- 冷凍物品購銷合同范本
- 2025屆中國電建集團(tuán)重慶工程有限公司秋季招聘筆試參考題庫附帶答案詳解
- 交流合同范本
- 義診合作合同范本
- 獸醫(yī)雇傭合同范本
- 創(chuàng)建服務(wù)合同范本
- 三方企業(yè)合資經(jīng)營合同范本
- 體育老師籃球說課
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年2025屆高三第一學(xué)期學(xué)業(yè)期末質(zhì)量陽光指標(biāo)調(diào)研卷試題和答案
- 浙江省金華市義烏市2024年中考語文二模試卷含答案
- GB/T 45015-2024鈦石膏綜合利用技術(shù)規(guī)范
- 2025-2025學(xué)年度第二學(xué)期仁愛版七年級(jí)英語下冊(cè)教學(xué)計(jì)劃
- 人教版高考生物一輪復(fù)習(xí):選擇性必修1~3考點(diǎn)復(fù)習(xí)提綱匯編
- 廣東省廣州普通高中2025屆高三一診考試數(shù)學(xué)試卷含解析
- 車站信號(hào)自動(dòng)控制(第二版) 課件 -2-室外設(shè)備接口電路
- 國開電大、普通本科、成考畢業(yè)論文-《電子商務(wù)對(duì)傳統(tǒng)零售業(yè)的影響及其對(duì)策》(電子商務(wù)專業(yè))
- 未來畜牧養(yǎng)殖業(yè)人才需求分析與發(fā)展策略-洞察分析
- 兒科一型糖尿病
評(píng)論
0/150
提交評(píng)論