freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

大學(xué)生電子設(shè)計大賽論文簡易旋轉(zhuǎn)倒立擺及控制裝置(c題)-預(yù)覽頁

2025-07-12 12:58 上一頁面

下一頁面
 

【正文】 抖動性很好。而且?guī)俣乳]環(huán)的直流電機可以綜合考慮采用方案三。在將自己制作的L298N電路連線調(diào)試之后,我們發(fā)現(xiàn)完全可以在程序要求的頻率下工作,雖然死區(qū)電壓有些不近人意,低速是電機會有抖動現(xiàn)象,但是總體來說,情況比較樂觀。 底座由于自己加工制作的連接不能精確的達(dá)到完全對稱,導(dǎo)致電機不在底座的中央,因此我們選擇質(zhì)量較大的鋼材來做底座,并焊接一個港版來固定底座,防止傾倒。 直流電機加速度分析與計算 由公式4求導(dǎo)可以得到: 公式7 上式中加速度為a,公式4經(jīng)變換可得到加速度的表達(dá)式: 公式8 再結(jié)合直流電機機械特性的三個方程式可以得到電機電壓與加速度的關(guān)系如下式所示: 公式9 擺桿從靜止到振蕩是一個需要擺動幅度逐漸增加的過程。特意要說明的是,由于擺桿在自然下垂?fàn)顟B(tài)時檢測到的角度為0,因此按照以上推論,此時單片機輸出的加速度為0,這樣擺桿永遠(yuǎn)無法起振。要實現(xiàn)上述功能,我們首先只開啟擺桿的角度反饋,不給電機控制電壓,然后用手轉(zhuǎn)動擺桿,找到第一個Z相信號,并將之定在180的平衡位置上。在做完標(biāo)定之后,我們將程序設(shè)計為一開始就通過PID調(diào)節(jié)給電機一個最大的加速度,使擺桿盡量能在一個擺動周期內(nèi)擺至180度平衡位置附近,然后結(jié)束使擺桿幅度加大的正反饋環(huán)節(jié),開始進入到所加的加速度隨著擺桿與180度平衡位置夾角的大小成正比,但加速度的方向與夾角變化方向成反比的程序中。為了比較接近實際的物理情況,以及直流電機控制電壓與加速度的關(guān)系,即公式9,。之前我們在模型的建立上忽略了公式9等號右邊的后兩項,造成了比較大的誤差。系統(tǒng)總體框圖如圖1所示,圖1 系統(tǒng)總體框圖 系統(tǒng)電路原理圖 見附件2 電機驅(qū)動模塊的電路設(shè)計 如圖2所示 圖2 電機驅(qū)動模塊的電路 程序功能描述根據(jù)題目要求,本系統(tǒng)程序的任務(wù)如下:對檢測擺桿位置的增量編碼器1的輸入信號進行計數(shù)和方向識別,根據(jù)擺桿的擺角發(fā)出PWM波,對電機進行控制,同時接受外部計數(shù)器對旋轉(zhuǎn)臂速度檢測反饋回來的信息,綜合兩個反饋,根據(jù)基于物理模型得到的電機控制電壓計算公式,控制電機使給擺桿一個加速度,不同的控制算法能夠?qū)崿F(xiàn)相應(yīng)的功能,如起振,圓周運動,倒立平衡等。實現(xiàn)另一個功能需要單片機復(fù)位后重新運行。 測試次數(shù)12345678完成時間(s)22221211測試功能三:擺桿盡快達(dá)到倒立平衡狀態(tài)并保持5s以上,且旋轉(zhuǎn)臂旋轉(zhuǎn)的轉(zhuǎn)動角度不大于90度。好的硬件電路時成功的奠基石。在斷斷續(xù)續(xù)的將硬件做好之后,在調(diào)試軟件時我們一直采用的程序設(shè)計思路在我們攻克倒立平衡的穩(wěn)定性時,遇到了很大的挑戰(zhàn),我們在這個程序思路上下了很多功夫,但是調(diào)整結(jié)果很不滿意。感謝全國大學(xué)生電子設(shè)計大賽的組委會,提供這樣優(yōu)秀的平臺和機會給我們充足的鍛煉。235。216。216。185。218。233。247。235。247。235。246。242。 unsigned char leftdir,rightdir。 //讀取轉(zhuǎn)向 rightdir = PORTB amp。 //讀取脈沖數(shù) PACNT = 0。0X00。 LeftMotorPulseSigma += (int)nLeftPulse。 //if(leftdir == 0) g_lPosition = LeftMotorPulse。 PWMDTY01 = nLeftVal + 120。 //float K,P。 if (PORTB_PB4 ==0) { if ((LeftMotorSpeed = 0)amp。 } if ((g_ucRight == 1)amp。(GravityAngle 60))) { LeftMotorOutput = 0 。amp。amp。 } } if (PORTB_PB3 == 0) { if ((LeftMotorSpeed = 0)amp。 } if ((g_ucRight == 1)amp。(GravityAngle = 180))) LeftMotorOutput = LeftMotorOutput。 g_ucRight = 0。amp。 POSITION_CONTROL_P = 12。 //else fP = POSITION_CONTROL_P*tancode[GravityAngle]。 //else fP = POSITION_CONTROL_P*tancode[GravityAngle]。 PositionControlNew = fP + fD。 //RightMotorPulseSigma = 0。//計算速度誤差 if((PORTB_PB4 == 0) amp。 } else { SPEED_CONTROL_P = 120。 //SPEED_CONTROL_D = 0。 //SpeedControlOld = SpeedControlNew。 LeftMotorPulseSigma = 0。 } void Delay(int num) { int delay_c。 } void PositionSetOut(void) { float fvalue。 //const float float POSITION_CONTROL_P,POSITION_CONTROL_D,POSITION_CONTROL_I。 unsigned char g_ucBegin,g_ucRight,g_ucLeft。 int g_lPosition = 0,g_lPositionBase = 0。 //int PositionErr = 5500,PositionErrOld。 int LeftMotorOutput。 /**************************主程序*********************************/ void main(void) { //總線頻率設(shè)置為80Mhz PLL_init()。 GPIO_init()。 for(。 //獲取編碼器脈沖 PositionControlCount ++。 PositionControlCount = 0。 SpeedControl()。 } void interrupt VectorNumber_Vtimch0 TIM0Interrupt(void) { //EnableInterrupts。(LeftMotorSpeed 2) ) { SPEED_CONTROL_P = 30。 } g_ucRight=
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1