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

正文內(nèi)容

無刷直流電機(jī)控制器的軟件設(shè)計(編輯修改稿)

2024-08-26 01:44 本頁面
 

【文章內(nèi)容簡介】 速度標(biāo)志位清零顯示當(dāng)前狀態(tài)和速度值N有其他鍵按下否?Y進(jìn)入工作程序 圖41 主程序流程圖 分析:主程序要做的事有三件,第一,初始化子程序的功能包括各變量賦初值,狀態(tài)指示變量z_s=0,速度變量sd=0,霍爾狀態(tài)變量hall=0x00,霍爾狀態(tài)比較變量hall_1=0x00,霍爾狀態(tài)改變次數(shù)值變量count=0,定時器定時次數(shù)變量T0_count=0,作為調(diào)節(jié)高電平脈寬的變量PWMZK=0;TMOD=0x02,開定時器0和1中斷,置139us定時器初值1TH1=31,TL1=128,置定時器0的278us計數(shù)初值;TH0=0x00,TL0=0x00清零顯示速度,開定時器0;第二,只有當(dāng)啟動鍵按下時才能進(jìn)入其他按鍵查詢工作,電機(jī)才可能有正轉(zhuǎn)、反轉(zhuǎn)、加速、停止等工作狀態(tài),否則程序會一直查詢啟動鍵,直到其被按下才進(jìn)入下一個操作;第三,當(dāng)140MS計時完成時,接收到來自中斷服務(wù)程序中的temp=1的信號,開始計算速度值sd,計算公式為sd=((count/12)/140)*1000(單位是轉(zhuǎn)/秒),并且將開始計算速度標(biāo)志位temp置為0,計時計數(shù)變量T0_count=0,霍爾改變次數(shù)計數(shù)變量count=0。 正反轉(zhuǎn)程序流程圖 表41 正轉(zhuǎn)霍爾狀態(tài)與控制字對應(yīng)關(guān)系表霍爾狀態(tài)101100110010011001hall值0x050x040x060x020x030x01控制字0x130x070x0d0x1c0x340x31 表42 反轉(zhuǎn)霍爾狀態(tài)與控制字對應(yīng)關(guān)系表霍爾狀態(tài)101001011010110100hall值0x050x010x030x020x060x04控制字0x1c0x0d0x070x130x310x34開始通過switch查詢獲得相應(yīng)控制字賦給P1口返回到主程序圖42 正轉(zhuǎn)流程圖Z_ZHUAN(){switch(hall) { case 0x05: P1=0x13。 break。 case 0x04: P1=0x07。 break。 case 0x06: P1=0x0d。 break。 case 0x02: P1=0x1c。 break。 case 0x03: P1=0x34。 break。 case 0x01: P1=0x31。 break。 default: P1=0x15。 break。 }}采用手動轉(zhuǎn)電機(jī)轉(zhuǎn)軸的方式確定電機(jī)轉(zhuǎn)動的霍爾狀態(tài)變換順序,電機(jī)在180176。內(nèi)霍爾狀態(tài)改變六次,自定義電機(jī)逆時針轉(zhuǎn)為正轉(zhuǎn),在正轉(zhuǎn)子程序中,hall是代表霍爾狀態(tài)的變量,電機(jī)不停地轉(zhuǎn)動,霍爾狀態(tài)在不斷的改變,hall有0x00x00x00x00x00x01六個值。通過不停地查詢霍爾狀態(tài)得到hall當(dāng)前的值,再運用switch~case語句查表獲取控制字送到P1口低六位以控制功率管。這樣循環(huán)操作,以達(dá)到控制電機(jī)的轉(zhuǎn)動和換相。定義電機(jī)順時針轉(zhuǎn)為反轉(zhuǎn),反轉(zhuǎn)原理與正轉(zhuǎn)類似,只是控制字不同,具體可以參照表42。當(dāng)有正轉(zhuǎn)鍵按下時,置正轉(zhuǎn)標(biāo)志flag_z=1,有反轉(zhuǎn)鍵按下時置flag_z=0,在工作子程序(G_ZUO())中判斷若flag_z=1,轉(zhuǎn)到正轉(zhuǎn)子程序執(zhí)行,當(dāng)flag_z=0時轉(zhuǎn)到反轉(zhuǎn)子程序執(zhí)行。 顯示子程序流程圖 ,經(jīng)光耦隔離后到ir2103驅(qū)動芯片的輸入端,控制功率管的導(dǎo)通,(起報警作用),,控制數(shù)碼管的位選通。YN四位一體數(shù)碼管顯示相應(yīng)的值給控制譯碼器的P0口賦給相應(yīng)的值四位數(shù)據(jù)顯示完成否?定義變量i=0,將兩個值進(jìn)行分離分別得到個、十位開始返回 圖43顯示子程序流程圖 表43 74ls48譯碼器真值表十進(jìn)制輸入BI/RB0輸出LTRBIDCBAabcdefg0HH0000H11111101HX0001H01100002HX0010H11011013HX0011H11110014HX0100H01100115HX0101H10110116HX0110H00111117HX0111H11100008HX1000H11111119HX1001H1110011分析:四位一體數(shù)碼管顯示比用八段數(shù)碼管顯示要簡單,設(shè)定前兩個數(shù)碼管顯示狀態(tài)指示值(其中11表示啟動,00表示停止,01表示正轉(zhuǎn),02表示反轉(zhuǎn),03表示逐步加速,04表示獲取固定速度),后兩位用來顯示當(dāng)前速度值(速度單位是轉(zhuǎn)/秒)。狀態(tài)指示值和速度值通過參數(shù)的形式送來賦給形參zhi_s、sudu,tempdata[]是存放四位數(shù)據(jù)的數(shù)組,由zhi_s/10獲得狀態(tài)指示值的十位存放在tempdata[0]中,由(zhi_s%10)獲得其位值存放在tempdata[1]中;由sudu/10獲得速度值的十位存放在tempdata[2]中;由sudu%10獲得個位值存放在tempdata[3]中。通過查tablewe[]表獲得位碼tablewe[i],查tempdata[]表獲得段碼tempdata[i],令P0=tempwe[i]|tempdata[i]每顯示完一位(如個位)變量i就加1,以達(dá)到動態(tài)顯示的效果。 圖44 正轉(zhuǎn)狀態(tài)顯示圖 圖45 反轉(zhuǎn)狀態(tài)顯示圖 中斷服務(wù)程序及其流程圖 從換相過程中的轉(zhuǎn)矩脈動角度來看,H_PWML_PWM方式的轉(zhuǎn)矩脈動最大,以及根據(jù)老師的建議,因此選擇H_PWML_PWM方式進(jìn)行調(diào)速控制。定時器0中斷服務(wù)程序:void timer0( ) interrupt 1//278US 自動重裝{ PWM=1。 TR1=1。hall=0x07amp。P2。if(hall!=hall_1) { count++。 hall_1=hall。 } if(T0_count=504)T0_count++。//140ms未到 else temp=1。 }定時器1中斷服務(wù)程序:void timer1( ) interrupt 3//初始139us{ TR1=0。 t1=0。 if(PWMZK=31) { PWMZK=0。 } TH1=31PWMZK。 TL1=119PWMZK。 }定時器中斷0入口開定時器1,PWM波輸出高,讀取霍爾狀態(tài)值N霍爾狀態(tài)改變否?Y記錄霍爾狀態(tài)改變次數(shù),并將當(dāng)前狀態(tài)值存在霍爾比較變量中Y定時滿140ms否?置temp標(biāo)志位為1定時次數(shù)T0_count加1N 返回圖46 定時器0中斷服務(wù)程序流程圖 定時器1中斷入口關(guān)定時器1,PWM波的輸出為低重新賦給定時器1計數(shù)初值 返回 圖47 定時器1中斷服務(wù)程序流程圖分析:用定時器0和1同時進(jìn)行來獲得周期一定(為278US)的pwm波,用定時器0作為278us的標(biāo)尺,在定時器0的中斷服務(wù)程序中獲取霍爾信號,獲取霍爾狀態(tài)值的方式是P2amp。0x07,即取P2口的第三位,并比較其是否改變,記錄改變次數(shù)存于count中;測速方式是記錄一定時間(本設(shè)計為140ms)內(nèi)霍爾狀態(tài)改變的次數(shù),根據(jù)電機(jī)轉(zhuǎn)一圈改變霍爾狀態(tài)12次的規(guī)律可測出速度值,當(dāng)定時器0定時次數(shù)T0_count值達(dá)到504次(即滿140ms)時令開始計算速度標(biāo)志位temp=1,進(jìn)入到主程序中計算速度值。定時器1的計數(shù)初值TH1=31PWMZK,TL1=128PWMZK;當(dāng)變量PWMZK的值發(fā)生改變時,定時器1的定時時間也就發(fā)生改變,即PWM波輸出高電平脈寬發(fā)生改變,這樣就可以改變功率管的平均電壓,從而改變其平均電流已達(dá)改變速度之效。 加速模塊介紹if(s4==0){ delay(10)。 if(s4==0)PWMZK++。}開始加速鍵按下PWM波高電平持續(xù)時間增長 返回圖48 加速子程序流程圖分析:若有加速鍵按下,PWMZK值加1,根據(jù)定時器1賦計數(shù)初值的方式TH1=31PWMZK,TL1=128PWMZK可知,pwm波輸出高電平時間就增長,功率管導(dǎo)通時間增長,140ms內(nèi)霍爾信號改變的次數(shù)count值增大,速度值sd隨之增大,顯示值就相應(yīng)改變了,根據(jù)數(shù)碼管顯示可知速度改變的大小。如下是加速前后的比較圖 圖49 未啟動顯示圖 圖410 啟動后顯示圖 圖411 加速后顯示圖 圖412 特定速度值鍵按下后顯示圖if(s0==0){ delay(10)。 if((s0==0)amp。amp。(flag_z!=2)) {PWMZK=20。 flag_j=0。 }}開始PWM波脈寬增長特定速度鍵按下返回 圖413 固定速度值程序流程圖分析:任何加速狀態(tài)的前提是處在正轉(zhuǎn)或反轉(zhuǎn)的情況下,因此必須flag_z標(biāo)志要有效。起初的加速鍵只能在較小程度上進(jìn)行加速操作,為達(dá)到快速到一定轉(zhuǎn)速的目的,本設(shè)計在按鍵設(shè)計部分增加了固定速度按鍵S0,當(dāng)該按鍵按下時,
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1