亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Arduino控制的直流電機(jī)調(diào)速仿真

        2023-08-23 08:19:06樂萬德任靜張琛玥易朝韓王旭升閆潤(rùn)龍黨帥
        電子制作 2023年14期
        關(guān)鍵詞:直流電機(jī)調(diào)節(jié)器編碼器

        樂萬德,任靜,張琛玥,易朝韓,王旭升,閆潤(rùn)龍,黨帥

        (西安航空學(xué)院 計(jì)算機(jī)學(xué)院,陜西西安,710077)

        0 引言

        Arduino是高校在創(chuàng)新創(chuàng)業(yè)過程中廣泛使用的開發(fā)平臺(tái),在實(shí)際使用中能激發(fā)學(xué)生濃厚的探索興趣,深受大學(xué)生的歡迎。直流電機(jī)作為廣泛使用的智能產(chǎn)品核心部件,其PID(Proportional Integral Derivative)控制算法對(duì)學(xué)生有強(qiáng)烈的吸引力。PID廣泛應(yīng)用于控制領(lǐng)域。調(diào)速系統(tǒng)要求以動(dòng)態(tài)穩(wěn)定和穩(wěn)態(tài)精度為主,而微分D部分容易對(duì)系統(tǒng)造成擾動(dòng),所以傳統(tǒng)速度控制常用PI調(diào)節(jié)器。PID算法本身并不復(fù)雜,但對(duì)于PID參數(shù)整定,盡管有不少參數(shù)整定的方法和口訣,但在實(shí)際應(yīng)用中不盡人意。在參數(shù)整定過程中往往顯得盲目,甚至因?yàn)檎{(diào)參過程中參數(shù)選擇不合適,導(dǎo)致電機(jī)強(qiáng)烈振動(dòng)等,具有一定的安全隱患。

        Arduino仿真實(shí)驗(yàn)[1]及仿真平臺(tái)[2]是解決上述問題的有效方案。本文基于Proteus構(gòu)建Arduino控制電機(jī)的參數(shù)整定仿真平臺(tái),通過串口仿真將PID控制數(shù)據(jù)傳到Arduino串口監(jiān)視器進(jìn)行可視化顯示[3],幫助初學(xué)者及大學(xué)生創(chuàng)客實(shí)現(xiàn)PI調(diào)節(jié)器的可視化調(diào)參,形象直觀,并且排除了不合適參數(shù)可能引起的安全隱患。

        1 仿真硬件平臺(tái)

        Proteus是世界上著名的EDA仿真軟件,融合了電路仿真、PCB設(shè)計(jì)和虛擬模型仿真等功能,使用異常方便。Proteus支持大多數(shù)單片機(jī)仿真,也支持Arduino[4]。

        實(shí)驗(yàn)硬件參考設(shè)計(jì)如圖1所示,包括:主控板Arduino Mega2560、電機(jī)驅(qū)動(dòng)板L298、編碼電機(jī)moterencoder、串口物理端口模型COMPIM。示波器可選。

        圖1 仿真硬件平臺(tái)

        ■1.1 主控板

        Arduino硬件開發(fā)板是一個(gè)單片機(jī)集成電路,它的核心是一個(gè)單片機(jī),開發(fā)板上的其他電路用來供電和轉(zhuǎn)換信號(hào)。官方Arduino使用的是megaAVR系列的芯片,主要是ATmega8、ATmega168、ATmega328、ATmega1280以及ATmega2560,可根據(jù)項(xiàng)目需求進(jìn)行選用。

        Arduino Mega2560在Arduino系列開發(fā)板中具有較強(qiáng)的性能及豐富的接口,具有廣泛的適應(yīng)性,因而作為本實(shí)驗(yàn)平臺(tái)選定的開發(fā)板。Arduino Mega2560處理器核心是ATmega2560, 同時(shí)具有54路數(shù)字輸入/輸出口,其中15路可作為PWM輸出,15路模擬輸入,4路UART接口,一個(gè)16MHz晶體振蕩器,一個(gè)USB口,一個(gè)電源 插座,一個(gè)ICSP header和一個(gè)復(fù)位按鈕。Arduino Mega2560也能兼容為Arduino UNO設(shè)計(jì)的擴(kuò)展板。

        ■1.2 電機(jī)驅(qū)動(dòng)板

        電機(jī)驅(qū)動(dòng)板L298是一款常用的雙路全橋式電機(jī)驅(qū)動(dòng)芯片,工作電壓可達(dá)46V,輸出電流可達(dá)4A。L298通過控制主控芯片上的I/O輸入端,調(diào)節(jié)輸出電壓,實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止。通常情況下L298可直接驅(qū)動(dòng)繼電器、直流電機(jī)以及步進(jìn)電機(jī)。

        L298的四個(gè)輸出引腳OUT1、OUT2和OUT3、OUT4分別接兩個(gè)直流電機(jī)Motor1、Motor2。四個(gè)輸入引腳IN1、IN2、IN3、IN4從單片機(jī)接入控制電平,控制電機(jī)的正反轉(zhuǎn)。另外兩個(gè)引腳ENA、ENB控制電機(jī)調(diào)速。

        ■1.3 編碼電機(jī)

        PI控制器根據(jù)電機(jī)反饋的速度進(jìn)行控制,因而需要測(cè)得電機(jī)的實(shí)時(shí)轉(zhuǎn)速,轉(zhuǎn)速單位是rpm(轉(zhuǎn)每分)。本實(shí)驗(yàn)平臺(tái)選用編碼電機(jī)MOTOR-ENCODER。該電機(jī)有五根線,左右兩側(cè)兩根線接電源。上面有三根線,左右兩側(cè)兩根線輸出相位差90度的脈沖,據(jù)此可以測(cè)得電機(jī)旋轉(zhuǎn)方向;每旋轉(zhuǎn)一圈輸出多少個(gè)脈沖可以在設(shè)置對(duì)話框中設(shè)置,中間那根線,每圈輸出一個(gè)脈沖;利用其中任何一個(gè)可以測(cè)出轉(zhuǎn)速[5]。示波器可以顯示對(duì)應(yīng)波形及相位關(guān)系。

        ■1.4 串口物理端口模型

        為了可視化觀察PI控制過程中的現(xiàn)象和參數(shù),實(shí)驗(yàn)平臺(tái)通過串口物理端口模型COMPIM(COM Port Physical Interface model)將需要顯示的數(shù)據(jù)傳遞到串口監(jiān)視器。Proteus中的COMPIM是標(biāo)準(zhǔn)的RS232端口,可設(shè)置占用計(jì)算機(jī)上哪一個(gè)串口,可以是“實(shí)際串口”,也可以是“虛擬串口”,可以實(shí)現(xiàn)虛擬仿真電路與外部實(shí)際電路的雙向串行通信。

        本實(shí)驗(yàn)中電腦通過虛擬串口接收COMPIM的數(shù)據(jù),并通過Arduino IDE中串口監(jiān)視器將數(shù)據(jù)以文本或圖像方式顯示出來,據(jù)此調(diào)整PI參數(shù)。

        2 仿真軟件平臺(tái)

        系統(tǒng)軟件設(shè)計(jì)如圖2所示。在Arduino框架函數(shù)setup()中設(shè)置初始目標(biāo)轉(zhuǎn)速Target,綁定編碼器脈沖中斷,并設(shè)置定時(shí)中斷。脈沖中斷觸發(fā)時(shí)調(diào)用中斷函數(shù)Code(),該函數(shù)在編碼電機(jī)旋轉(zhuǎn)過程中對(duì)脈沖計(jì)數(shù),為計(jì)算轉(zhuǎn)速做準(zhǔn)備。定時(shí)中斷觸發(fā)時(shí)調(diào)用中斷處理函數(shù)revolution_measure(),該函數(shù)根據(jù)脈沖數(shù)計(jì)算轉(zhuǎn)速,并將脈沖數(shù)清零,為下次計(jì)算轉(zhuǎn)速做準(zhǔn)備。

        圖2 系統(tǒng)軟件設(shè)計(jì)

        在loop()函數(shù)里,每隔時(shí)間tSample,根據(jù)當(dāng)前速度與目標(biāo)速度采用PI速度控制器,計(jì)算PI調(diào)節(jié)器的輸出Output并作為電動(dòng)機(jī)驅(qū)動(dòng)PWM值并更新。

        在新的PWM驅(qū)動(dòng)下,電機(jī)轉(zhuǎn)速發(fā)生變化,此時(shí)將需要觀察的數(shù)據(jù)通過串口進(jìn)行輸出,特別是實(shí)際轉(zhuǎn)速與目標(biāo)轉(zhuǎn)速的對(duì)比情況。結(jié)合實(shí)際轉(zhuǎn)速達(dá)到目標(biāo)轉(zhuǎn)速的快慢、是否有超調(diào)等情況,進(jìn)一步調(diào)整PI參數(shù)。

        ■2.1 編碼器測(cè)速

        編碼器測(cè)速是分析超調(diào)的基礎(chǔ)。旋轉(zhuǎn)設(shè)備測(cè)量轉(zhuǎn)速,一般采用和速度成正比的脈沖信號(hào)進(jìn)行測(cè)量。通過測(cè)量脈沖信號(hào)的頻率,進(jìn)而計(jì)算實(shí)際轉(zhuǎn)速。本文研究的PI調(diào)速主要以較高轉(zhuǎn)速為研究對(duì)象,采用M法測(cè)速,即通過單位時(shí)間內(nèi)脈沖的個(gè)數(shù)推算轉(zhuǎn)速。這種測(cè)量方法轉(zhuǎn)速越高精度越高。兩次采樣計(jì)時(shí)中斷間采樣的脈沖數(shù)計(jì)算公式為:

        式中cs為采樣數(shù),revolution為轉(zhuǎn)速,單位為rpm。pulse為編碼器脈沖數(shù)。tSample為采樣時(shí)間,單位為ms。采樣時(shí)長(zhǎng)及編碼器頻數(shù)都對(duì)測(cè)速精度有影響:較長(zhǎng)的采樣時(shí)長(zhǎng)和較高的編碼器頻數(shù)有利于提高轉(zhuǎn)速的測(cè)量精度。電機(jī)調(diào)速PWM的調(diào)節(jié)與采樣同頻,因此采樣時(shí)長(zhǎng)過長(zhǎng),對(duì)PWM的平滑性有影響。本文中取采樣時(shí)間tSample為150ms,編碼器脈沖數(shù)為360。以每分鐘100轉(zhuǎn)的轉(zhuǎn)速為例,根據(jù)公式1,150ms采樣數(shù)為90。按每次采樣最大有兩個(gè)脈沖測(cè)量誤差計(jì),測(cè)速誤差為2%左右,滿足實(shí)驗(yàn)要求。

        ■2.2 Arduino PWM頻率調(diào)節(jié)

        PWM(Pulse Width Modulation)簡(jiǎn)稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。PWM調(diào)速就是在一定的頻率下,通過控制一周期內(nèi)的開通與關(guān)斷時(shí)間,即調(diào)節(jié)占空比來調(diào)整直流電機(jī)兩端的電壓大小,從而調(diào)節(jié)電機(jī)轉(zhuǎn)速。因其相比于直接調(diào)整電壓,顯得方便快捷,廣泛應(yīng)用于通信、工控等方面。

        PWM本質(zhì)上是一種方波,并不是連續(xù)的模擬信號(hào)。開關(guān)的通斷頻率不僅直接決定了等效電壓的高低和電機(jī)的轉(zhuǎn)速,還影響到電機(jī)的轉(zhuǎn)矩特性、機(jī)械特性及效率特性等。一般來說,PWM的頻率越高,直流電機(jī)轉(zhuǎn)動(dòng)越流暢;PWM的頻率越低,直流電機(jī)轉(zhuǎn)動(dòng)越卡頓。但是頻率越高則需要的啟動(dòng)占空比越高,使調(diào)節(jié)范圍變窄。因此,使用PWM控制電機(jī)時(shí),應(yīng)綜合硬件設(shè)計(jì)選取合適的頻率。一般PWM頻率需大于1kHz,才能穩(wěn)定地控制電機(jī)。但Arduino控制板很多引腳輸出的默認(rèn)PWM頻率是480Hz。這就意味著需要根據(jù)電機(jī)的實(shí)際要求對(duì)PWM頻率進(jìn)行調(diào)節(jié)。

        有多種方式可以讓Arduino引腳輸出不同頻率,本文使用Arduino PWM頻率庫。這種方法避免了直接對(duì)芯片寄存器逐位操作的繁瑣和易錯(cuò)。

        Arduino PWM頻率庫有五個(gè)全局函數(shù),分別是InitTimers() ,InitTimersSafe(),pwmWrite(),SetPinFrequency() ,SetPinFrequencySafe()。此外還有針對(duì)各個(gè)timer的函數(shù)。

        值得注意的是Arduino的開發(fā)系統(tǒng)中,millis()和delay()等計(jì)時(shí)相關(guān)函數(shù)基于Timer 0時(shí)鐘。所以如果修改了Timer 0的時(shí)鐘周期,這兩個(gè)計(jì)時(shí)函數(shù)也會(huì)受到影響。因此本文系統(tǒng)中用Arduino Mega 2560 引腳12進(jìn)行PWM輸出。12號(hào)引腳受Timer 1控制,改變12號(hào)引腳的頻率不會(huì)影響millis()和delay()等函數(shù)。另外,本文編碼器函數(shù)使用Timer 2時(shí)鐘。因此,本系統(tǒng)中各個(gè)時(shí)鐘互不影響。

        PWM頻率調(diào)節(jié)見圖3。首先導(dǎo)入PWM庫,然后用InitTimersSafe()函數(shù)對(duì)系統(tǒng)時(shí)鐘進(jìn)行初始化。為了不影響delay()和millis()函數(shù),這個(gè)函數(shù)不初始化timer0。調(diào)用SetPinFrequency()函數(shù)對(duì)受Timer1控制的12號(hào)引腳進(jìn)行頻率設(shè)置。如果成功,返回值success為真,則通過12號(hào)引腳輸出頻率調(diào)整后的PWM信號(hào)對(duì)電機(jī)進(jìn)行調(diào)速;如果不成功,則提示用戶頻率調(diào)節(jié)不成功,是否用原頻率調(diào)速。

        圖3 PWM頻率調(diào)節(jié)

        ■2.3 PI調(diào)速

        PI調(diào)節(jié)器基于PID。PID廣泛應(yīng)用于控制領(lǐng)域,對(duì)一個(gè)控制系統(tǒng)的性能一般用穩(wěn)、準(zhǔn)、快來衡量,即穩(wěn)定性、快速性、準(zhǔn)確性。具體的評(píng)估指標(biāo)有最大超調(diào)量、上升時(shí)間、靜差等。在實(shí)踐生產(chǎn)工程中,不同的控制系統(tǒng)對(duì)控制器效果的要求不一樣。P值影響系統(tǒng)的快速性,I值影響系統(tǒng)的靜差及準(zhǔn)確性,D值雖然影響穩(wěn)定性,但也會(huì)放大噪聲誤差。調(diào)速系統(tǒng)要求以動(dòng)態(tài)穩(wěn)定和穩(wěn)態(tài)精度為主,傳統(tǒng)速度控制常用PI調(diào)節(jié)器。

        PI調(diào)節(jié)器如圖4所示, PI調(diào)節(jié)器的基本原理是在對(duì)比目標(biāo)轉(zhuǎn)速與實(shí)際轉(zhuǎn)速的差值的基礎(chǔ)上,通過算法動(dòng)態(tài)產(chǎn)生調(diào)節(jié)量PWM驅(qū)動(dòng)直流電機(jī)。直流電機(jī)的目標(biāo)轉(zhuǎn)速在設(shè)置界面設(shè)定,實(shí)際轉(zhuǎn)速通過前述編碼測(cè)速獲得。

        圖4 PI調(diào)速器

        設(shè)t時(shí)刻目標(biāo)轉(zhuǎn)速為target(t),實(shí)際轉(zhuǎn)速為real(t),轉(zhuǎn)速誤差為e(t)=target(t)-real(t),則連續(xù)PI調(diào)節(jié)器公式可表示為:

        其中Kp為比例常數(shù),Ti為積分常數(shù)。

        為方便程序?qū)崿F(xiàn),PI調(diào)節(jié)器寫成離散形式:

        其中kp為比例常數(shù),ki為積分常數(shù)。

        公式(2),(3)被稱為位置式PI調(diào)節(jié)器,在程序?qū)崿F(xiàn)中也常常采用成增量形式:

        位置式PI調(diào)節(jié)器與增量式PI調(diào)節(jié)器的本質(zhì)是一樣的,位置式PI調(diào)節(jié)器需要對(duì)誤差進(jìn)行累加,增量式PI調(diào)節(jié)器需要對(duì)調(diào)節(jié)量進(jìn)行累加,為了減小計(jì)算量,可將這兩個(gè)累加量在程序中設(shè)置為靜態(tài)變量。

        3 仿真實(shí)驗(yàn)

        電機(jī)PI參數(shù)整定過程中可遵循一些經(jīng)驗(yàn)總結(jié),一般先調(diào)節(jié)比例系數(shù)kp,再調(diào)節(jié)積分系數(shù)ki,各個(gè)參數(shù)采用由小到大進(jìn)行嘗試。對(duì)于虛擬實(shí)驗(yàn)平臺(tái),初學(xué)者調(diào)參過程中可以做更加大膽地試調(diào),以便加深各個(gè)系數(shù)對(duì)系統(tǒng)貢獻(xiàn)的理解。

        系統(tǒng)基本參數(shù)采樣時(shí)間間隔與PWM重新計(jì)算間隔均為tSample=150 ms,目標(biāo)調(diào)節(jié)速度為Target=200 rpm。

        圖5各子圖中水平線為目標(biāo)轉(zhuǎn)速200 rpm,曲線為PI控制的實(shí)際轉(zhuǎn)速。圖5(a)中,kp等于2時(shí),響應(yīng)速度較慢,且無法達(dá)到目標(biāo)轉(zhuǎn)速,需增大比例系數(shù)kp。圖5(b)中,kp等于12,響應(yīng)速度很快,但最終轉(zhuǎn)速與目標(biāo)轉(zhuǎn)速間仍有靜差,需引入積分環(huán)節(jié)。圖5(c)中,kp等于12,ki等于0.1,響應(yīng)速度較快,且最終速度沒有靜差,但過程中有超調(diào),需降低積分參數(shù)。圖5(d)中,kp=12,ki=0.075,響應(yīng)速度快,最終速度沒有靜差,也沒有超調(diào),調(diào)參結(jié)果比較滿意。

        圖5 PI控制器參數(shù)整定

        4 小結(jié)

        直流電機(jī)PI參數(shù)調(diào)節(jié)是PI調(diào)節(jié)器落地應(yīng)用的一個(gè)重點(diǎn),對(duì)初學(xué)者又是一個(gè)難點(diǎn)。文中仿真實(shí)驗(yàn)平臺(tái)有效地解決了這一難點(diǎn),讓學(xué)生及初學(xué)者可視化地體會(huì)到運(yùn)用Arduino控制板調(diào)節(jié)電機(jī)轉(zhuǎn)速時(shí)PI參數(shù)調(diào)節(jié)的效果,并減少實(shí)際調(diào)節(jié)中因參數(shù)不合適可能導(dǎo)致的安全隱患。

        猜你喜歡
        直流電機(jī)調(diào)節(jié)器編碼器
        基于模糊PID的無刷直流電機(jī)速度控制系統(tǒng)的設(shè)計(jì)與仿真
        基于FPGA的同步機(jī)軸角編碼器
        基于FPGA的雙繞組無刷直流電機(jī)軟件設(shè)計(jì)
        電子制作(2017年1期)2017-05-17 03:54:12
        基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
        JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
        電子器件(2015年5期)2015-12-29 08:42:24
        基于Superbuck拓?fù)涞母咝铍姵爻潆娬{(diào)節(jié)器研究
        一種新穎的單PI調(diào)節(jié)器消除雙向有源橋無功功率的方法
        基于抗積分飽和速度調(diào)節(jié)器的TSMC-PMSM矢量控制
        基于模糊神經(jīng)網(wǎng)絡(luò)PID的無刷直流電機(jī)控制系統(tǒng)研究
        一種改進(jìn)的無刷直流電機(jī)控制方法
        97午夜理论片影院在线播放| 亚洲中文字幕在线精品2021| 国产精品日韩亚洲一区二区| 人人妻人人添人人爽欧美一区| 少妇愉情理伦片丰满丰满午夜| 亚洲专区欧美| 亚洲国产色图在线视频| 99精品久久精品一区| 欧美又粗又长又爽做受| 欧美老熟妇欲乱高清视频 | 激情伊人五月天久久综合| 破了亲妺妺的处免费视频国产| 国产乱子伦视频一区二区三区| 极品少妇高潮在线观看| 丰满熟妇人妻av无码区| 亚洲av无码第一区二区三区 | 亚洲精品精品日本日本| 日韩少妇人妻中文视频| 日韩人妻无码精品久久| 亚洲毛片网| 日韩字幕无线乱码免费| 人妻少妇偷人精品久久性色av| 免费人成在线观看视频播放 | 中出人妻希奇杰卡西av| 亚洲爆乳精品无码一区二区| 乱人伦人妻中文字幕无码| 青青草免费视频一区二区| 日本一卡二卡3卡四卡免费观影2022| 无套内谢的新婚少妇国语播放| 97av在线播放| 漂亮人妻出轨中文字幕| 大地资源在线观看官网第三页| 亚洲成人福利在线观看| 一本色道久久88综合亚洲精品| 色综合久久中文字幕综合网| 撕开奶罩揉吮奶头视频| 亚洲日韩中文字幕在线播放 | 97精品人妻一区二区三区蜜桃| 一二三四视频社区在线| 久久99久久99精品免视看国产成人| 午夜免费观看日韩一级片|