国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于倒立擺的便捷自動控制教學平臺的研究與設計

2015-08-07 13:39:36燕王江華郭海文
大眾科技 2015年1期
關鍵詞:參數(shù)設置陀螺儀中斷

趙 燕王江華郭海文

(1.燕京理工學院,河北 三河 065201;2.華北科技學院,河北 三河 065201)

基于倒立擺的便捷自動控制教學平臺的研究與設計

趙 燕1王江華2郭海文2

(1.燕京理工學院,河北 三河 065201;2.華北科技學院,河北 三河 065201)

設計一基于倒立擺的便捷自動控制教學平臺,內(nèi)置三維陀螺儀、加速度計等傳感器,可實現(xiàn)平臺的自主直立控制。平臺利用STM32單片機對陀螺儀的角速度和加速度計的加速度進行實時跟蹤,采用卡爾曼濾波算法對陀螺儀與加速度計采集回來的姿態(tài)信號進行校正,從而得到一個準確的空間姿態(tài);通過采集編碼器產(chǎn)生的脈沖來計數(shù),形成速度閉環(huán)控制,實現(xiàn)雙輪自平衡教學平臺在任何干擾情況下,均能保持直立平衡狀態(tài)。該教學平臺的特點在于體積小巧,攜帶方便,操作簡單,運行可靠,調(diào)整速度快。該平臺是一個可隨堂演示的PID控制系統(tǒng),采用現(xiàn)場實物演示將大大增添課堂趣味性,學生們學習相關理論知識時將會更加積極主動,從而提高理論教學的質(zhì)量。

教學平臺;STM32單片機;PID控制

基于理論教學的抽象不靈活性,導致學生對理論知識的不理解,從而失去學習的興趣,于是創(chuàng)新性的設計出了基于倒立擺的便捷自動控制教學平臺,來調(diào)節(jié)現(xiàn)存的理論教學模式,進而激發(fā)學生學習的積極性,從而提高理論教學的質(zhì)量。

1 平臺總體設計

平臺采用基于ARM Cortex-M3內(nèi)核的32位處理器STM32F103C8作為控制核心,其總體結構如圖1所示。采用傳感器MPU-6050來檢測陀螺儀的角速度和加速度計的加速度;按鍵模塊用于菜單的選擇和調(diào)試使用;OLED顯示模塊用來顯示平臺的狀態(tài)信息;直流電機控制模塊采用PWM方式控制兩個獨立的直流電機運行;電源模塊提供平臺工作所需的+5V和+3.3V電壓;脈沖捕捉模塊用于捕捉采集編碼器產(chǎn)生的脈沖,達到測速的目的;NRF24L01無線模塊利用無線通信方式將數(shù)據(jù)傳輸至上位機。

圖1 平臺總體結構圖

2 平臺硬件設計

平臺硬件電路包括STM32單片機主控模塊、電源模塊、傳感器檢測模塊以及直流電機控制模塊等。

2.1 STM32單片機主控模塊

平臺采用32位單片機STM32F103C8作為主控核心,該單片機集高速運算與面向直流電機驅(qū)動的高效控制能力于一體,可以用軟件取代模擬器件,方便的修改控制策略和控制參數(shù),兼具故障檢測、自診斷和上位機管理與通信功能,內(nèi)置數(shù)模轉(zhuǎn)換器、同步串行外設接口、異步串口通信接口、PWM控制管理器,其PWM波形產(chǎn)生單元包括可編程死區(qū)控制,可輸出非對稱PWM波形、對稱PWM波形和空間矢量SVP-VM波形。

平臺采用上電復位和手動復位相結合的方式來實現(xiàn)對單片機的復位。時鐘電路采用外部時鐘,晶振頻率為8MHZ。平臺設計有JTAG的程序下載接口,本設計程序的開發(fā)主要通過單片機內(nèi)部的Bootloader程序完成程序的下載和調(diào)試,因此單片機最小系統(tǒng)只需要一個UART便可進行,無需額外的接口調(diào)試器。若用串口下載代碼,則必須配置BOOT0為1、BOOT1為0;而若使STM32一按復位鍵就開始執(zhí)行代碼程序,則需配置BOOT0為0、BOOT1為任意狀態(tài)即可。[1]

2.2 MPU-6050傳感器模塊

平臺采用MPU-6050傳感器來檢測陀螺儀的角速度和加速度計的加速度。MPU-6050是一個9軸運動處理傳感器,內(nèi)部整合了3軸陀螺儀、3軸加速器,并自帶AD轉(zhuǎn)換,通過I2C總線方式與單片機進行通信。該傳感器內(nèi)置在一個芯片中,可以有效地抑制陀螺儀的溫漂問題。

傳感器模塊通過I2C通信方式輸出相應的9軸數(shù)字信號。I2C是二線接口,包括串行數(shù)據(jù)線SDA和串行時鐘線SCL。連接到I2C接口的設備可做主設備或從設備。主設備將Slave地址傳到總線上,從設備用與其匹配的地址來識別主設備。當連接到系統(tǒng)芯片時,MPU-6050總是作為從設備。SDA和SCL信號線通常需要接上拉電阻到VCC,最大總線速率為400kHzbps。[2]

2.3 OLED顯示模塊

平臺采用OLED顯示屏來顯示一些狀態(tài)信息,此顯示屏的分辨率為128×64。OLED顯示參數(shù)設置界面如圖2所示,angle_mid為平衡角度的中心角度值,P_angle為角度PID算法的比例參數(shù)設置,D_angle為角度PID算法的微分參數(shù)設置,P_Speed為速度PID算法的比例參數(shù)設置,I_Speed為速度PID算法的積分參數(shù)設置,D_Speed為速度PID算法的微分參數(shù)設置,speed_set為運動速度的初值。

圖2 OLED參數(shù)設置界面

2.4 NRF24L01無線模塊

設計中采用的無線模塊為NRF24L01,一方面,利用無線進行數(shù)據(jù)傳輸,可以避免有線傳輸線對教學平臺調(diào)試的制約,通過這種方式可以遠離上位機調(diào)試,并且下位機參數(shù)數(shù)據(jù)實時上傳,不會有距離的限制。另一方面,利用NRF24L01制作無線遙控器,通過遙控器對教學平臺中的參數(shù)進行修改,便于現(xiàn)場問題的處理,方便調(diào)試。

3 平臺軟件設計

3.1 平臺程序設計

平臺由主程序和中斷程序兩部分程序構成。主程序流程圖如圖3所示,在主程序中先進行倍頻、GPIO、OLED、PWM以及定時器等各個模塊的初始化,然后使能總中斷。這樣可以為各個模塊配置好寄存器信息,給中斷要處理的信息提供保障。同時等中斷處理完信息又能確保中斷處理后的信息實時顯示在OLED上。方便程序的調(diào)試和效果的顯示。

中斷處理流程圖如圖4所示,利用定時器1ms中斷,在中斷中完成信號的采集和處理。采集MPU-6050輸出的陀螺儀、加速度計的數(shù)據(jù)值,然后將采集數(shù)據(jù)進行中值濾波,將中值濾波后的數(shù)據(jù)再進行10次的均值濾波。這樣可以保證濾去雜波和不正確的值,得到的數(shù)據(jù)比較平滑。將得到的值與中心值進行比較得到變化值,再將變化的信號值轉(zhuǎn)化成變化的角度值。將得到處理后的陀螺儀變化的角度值和加速度變化的角度值進行卡爾曼濾波,得到的角度與設定好的角度比較并用PID算法計算。再通過STM32的脈沖捕捉功能,分別捕捉兩路脈沖并計數(shù),將此數(shù)值與程序中設定好的數(shù)值比較并用PID算法計算。最后將角度PID值和速度PID值疊加,再調(diào)節(jié)PWM的占空比。[3]

圖3 平臺主程序流程圖

圖4 平臺中斷程序流程圖

3.2 單片機各模塊初始化

3.2.1 系統(tǒng)時鐘初始化

該函數(shù)的主要功能是初始化STM32的時鐘。其中包括對向量表的配置,以及相關外設的復位及配置。Stm32_Clock_Init函數(shù)只有一個變量PLL,用來配置時鐘的倍頻系數(shù)。比如當前所用的晶振為8MHz,PLL的值設為9,那么STM32將以72MHz的速度運行。系統(tǒng)時鐘初始化程序如下:

void Stm32_Clock_Init(u8 PLL)

{

unsigned char temp=0;

MYRCC_DeInit(); //復位并配置向量表

RCC->CR|=0x00010000; //外部高速時鐘使能HSEON

while(!(RCC->CR>>17)); //等待外部時鐘就緒

RCC->CFGR=0X00000400;

//APB1=DIV2;APB2=DIV1;AHB=DIV1;

PLL - =2; //抵消2個單位

RCC->CFGR|=PLL<<18; //設置PLL值 2~16

RCC->CFGR|=1<<16; //PLLSRC ON

FLASH->ACR|=0x32; //FLASH 2個延時周期

RCC->CR|=0x01000000; //PLLON

while(!(RCC->CR>>25)); //等待PLL鎖定

RCC->CFGR|=0x00000002; //PLL作為系統(tǒng)時鐘

while(temp!=0x02) //等待PLL作為系統(tǒng)時鐘設置成功

{

temp=RCC->CFGR>>2;

temp&=0x03;

}

}

3.2.2 I/O口模塊初始化

STM32F103C8的I/O口可以配置成輸入模式、輸出模式或復用模式。如果把端口配置成輸出模式,有3種輸出速度可選,即2MHz、10MHz和50MHz,這個速度是指I/O口驅(qū)動電路的響應速度而不是輸出信號的速度,輸出信號的速度與程序有關。通過選擇速度來選擇不同的輸出驅(qū)動模塊,達到最佳的噪聲控制和降低功耗的目的。高頻的驅(qū)動電路,噪聲也高,當不需要高的輸出頻率時,請選用低頻驅(qū)動電路,這樣非常有利于提高系統(tǒng)的EMI性能。如果要輸出較高頻率的信號,但卻選用了較低頻率的驅(qū)動模塊,很可能會得到失真的輸出信號。如果把端口配置成輸入模式,無需設置輸出速度即可。如果把端口配置成復用輸出模式,則引腳和輸出寄存器斷開,并和片上外設的輸出信號連接。將管腳配置成復用輸出功能后,如果外設沒有被激活,那么它的輸出將不確定。

3.2.3 PWM模塊初始化

先對APB1ENR進行設置,開啟TIM2的時鐘,配置PA0、PA1為復用輸出,因為TIM2_CH2、TIM2_CH3通道是以I/O復用的形式連接到PA0、PA1上的,故使用其復用輸出功能。在開啟了TIM2的時鐘之后,要設置ARR和PSC兩個寄存器的值來控制輸出PWM的周期。PWM周期在這里不宜設置的太小,否則會有明顯的閃爍現(xiàn)象。之后設置TIM2_CH2、TIM2_CH3的PWM模式,使能TIM2的CH2、CH3輸出。在完成以上設置了之后,需要開啟TIM2的通道2輸出以及TIM2中斷。前者通過TIM2_CCER1來設置,是單個通道的開關, 而后者則通過TIM2_CR1來設置,是整個TIM2的總開關。只有設置了這兩個寄存器,在TIM2的通道2、3上才能輸出PWM波,此時輸出的PWM波的占空比和頻率都是固定的,通過修改TIM2_CCR2、TIM2_CCR3則可以控制CH2、CH3的輸出占空比,繼而控制舵機的輸出角度。

4 總結

圖5 平臺實物圖

平臺實物如圖5所示。本教學平臺體積小巧,攜帶方便,操作簡單,運行可靠,調(diào)整速度快,可應用于PID控制相關課程的理論教學,采用現(xiàn)場實物演示將大大增添課堂趣味性,學生們學習相關理論知識時將會更加積極主動,從而提高理論教學的質(zhì)量。

[1] 陳春,朱向冰,朱騫,等.基于STM32單片機的DLP驅(qū)動電路的研究[J].電子設計工程,2012,20(2):126-128.

[2] 李航.小型四旋翼飛行器實時控制系統(tǒng)研究[D].大連:大連理工大學,2010.

[3] 劉金琨.智能控制[M].北京:電子工業(yè)出版社,2009:124-125.

Research and design of convenient automatic control teaching platform based inverted pendulum

To design a teaching platform of the convenient automatic control based on the inverted pendulum , built-in 3 d gyroscope and accelerometer sensors, can realize autonomous vertical control. Platform uses STM32 MCU to track the accelerometer gyroscope of angular velocity and acceleration. Using Calman filtering algorithm for correcting the posture signal, the signal is collected by the gyroscope and accelerometer, to get an accurate space posture. By collecting generated pulse encoder counts, forming a closed loop speed control. Realization of two-wheeled self-balancing teaching platform in any interference, can maintain upright balance. Features of the teaching platform is compact, easy to carry, easy to operate, reliable, fast adjustment. The platform is a quiz presentation PID control system. Using live demonstrations will greatly increase the physical classroom fun. Students will learn the theory of knowledge when more proactive, thereby improving the quality of teaching theory.

Teaching platform; STM32 MCU; PID control

TP273

A

1008-1151(2015)01-0015-03

2014-12-12

廊坊市科學技術研究與發(fā)展計劃自籌經(jīng)費項目“基于倒立擺的便捷自動控制教學平臺的研究與設計”(2014011033)。

趙燕(1982-),女,燕京理工學院講師,從事理論及實驗教學和科研工作。

猜你喜歡
參數(shù)設置陀螺儀中斷
基于EMD的MEMS陀螺儀隨機漂移分析方法
我國著名陀螺儀專家——林士諤
跟蹤導練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
微機械陀螺儀概述和發(fā)展
蟻群算法求解TSP中的參數(shù)設置
MEMS三軸陀螺儀中不匹配干擾抑制方法
動車環(huán)境下U900異頻切換參數(shù)設置探討
基于MATLAB仿真的井下變壓器參數(shù)設置研究
AT89C51與中斷有關的寄存器功能表解
阿克苏市| 全州县| 颍上县| 淮北市| 南通市| 灵武市| 崇州市| 宁城县| 华安县| 皋兰县| 禄劝| 肇东市| 海丰县| 普定县| 江北区| 罗定市| 静宁县| 扎兰屯市| 大余县| 宁阳县| 颍上县| 多伦县| 清水县| 原阳县| 阿拉善盟| 托克托县| 房山区| 苍溪县| 浑源县| 儋州市| 精河县| 方山县| 黎川县| 育儿| 永新县| 兴宁市| 仪陇县| 乌恰县| 五家渠市| 娄烦县| 金昌市|