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

正文內(nèi)容

電動車無刷電機(jī)控制器軟件設(shè)計(jì)詳解-文庫吧

2025-06-22 15:46 本頁面


【正文】 直接讀出來,對應(yīng)十六進(jìn)制值是0X100X60,考慮到霍爾出錯的可能,那么對應(yīng)的值是0X000X70,顯然這個值對今后的查表處理造成非常大的麻煩,我們不可能去弄一個0X70這么大的表格而其中只放僅僅8個元素,所以有必要考慮編程時的優(yōu)化,且看下面一個例程:
讀取相位值的例程:
READHALL:
SWAPF PORTC,W 。將PORTC的高,低半字節(jié)交換后讀至W
ANDLW 0X07 。屏蔽掉不必要的位,
MOVWF HALLTEMP 。存人暫存器
SWAPF PORTC,W 。再次讀
ANDLW 0X07
SUBWF HALLTEMP,W 。與舊值比較
BTFSS STATUS,Z
GOTO READHALL 。如果與第一次讀取的不一樣,則從頭再來
SWAPF PORTC,W 。第三次讀
ANDLW 0X07
SUBWF HALLTEMP,W 。再次比較
BTFSS STATUS,Z
GOTO READHALL 。不一樣則從頭再來
RETURN 。三次讀取值一致,返回。
這個程序中,最關(guān)鍵是SWAPFPORTC,W這句,這句語句一方面讀取了霍爾值,另一方面與下句語句結(jié)合還將此值變?yōu)?7的最小值,這樣使得我們后面的查表只需要8個空間的元素。
以上程序,也有人認(rèn)為有可能會導(dǎo)致程序陷入死循環(huán),但不必?fù)?dān)心,因?yàn)橐獙?dǎo)致這個程序進(jìn)入死循環(huán)的信號頻率必須非常高,有興趣的讀者可計(jì)算一下。
有了上面的霍爾讀取程序,我們下面的查表讀取相應(yīng)驅(qū)動值就會變的比較方便,但查表也有很多種,在PIC16F72中,查表可以用RETLW在程序空間查,也可以用專用的讀取FLASH空間的指令去讀,考慮到我們這個表格一共只有8個元素,我們可以將器放在內(nèi)存寄存器中,利用用FSR去讀取表內(nèi)容。這樣做有好處,就是查表時不用去考慮查表偏移量造成程序計(jì)數(shù)器溢出,另一方面是120176。和60176??梢允褂猛粋€表格而不用切換。這個表格,我們可以放在寄存器空間不太方便使用的BANK1,在程序初始化時預(yù)先寫入正確的換向?qū)?yīng)值。這個程序在時間上并不比其它兩種查表法顯得快多少,而且程序空間也不節(jié)省,在這里只是作為一個方法示例,可以讓我們看到實(shí)現(xiàn)同一個功能可以走不同的路。
使用內(nèi)存查表法的驅(qū)動值獲取例程:

HALLSTART EQU 0XA1 。定義霍爾驅(qū)動表格的起始地址在BANK1的0XA1開始處

HALL_DRIVER: 。由霍爾值取得對應(yīng)驅(qū)動值的內(nèi)存查表例程
MOVF HALLTEMP,W 。取得HALL的真值
ADDLW HALLSTART 。加上表格的起始地址
MOVWF FSR 。放到間接讀內(nèi)存的指針中。
MOVF INDF,W 。讀出驅(qū)動值
MOVWF PORTB 。不管返回值如何,先寫入驅(qū)動端口,
SUBLW STOP_D 。與電機(jī)停止值相比較,
BTFSC STATUS,Z
GOTO HALL_ERR 。如果獲得停止電機(jī)值,那么表示霍爾信號有問題
RETURN無級調(diào)速模塊部分:
由于使用直流電源,電機(jī)的速度得依靠調(diào)節(jié)加在電機(jī)兩端的電壓來調(diào)整,較簡單的辦法是使用PWM脈寬調(diào)制來調(diào)節(jié)加到電機(jī)兩端的電壓。PWM的工作周期根據(jù)電機(jī)的使用環(huán)境,采用64μS,頻率太低了會產(chǎn)生人耳能明顯感覺到的高頻噪聲,電流也不容易控制。太高了又增加電子開關(guān)的開關(guān)損耗;PWM脈沖的寬度是調(diào)節(jié)加到電機(jī)兩端有效電壓高低的手段,直接影響到電機(jī)的輸出功率,我們可以根據(jù)手柄輸出的電壓決定最終應(yīng)該分配給電機(jī)多高的電壓。
手柄電壓檢測比較簡單,人對速度的感覺很遲鈍,所以手柄的檢測不需要很頻繁,這個AD檢測與電源電壓AD等檢測均不需要很快的速度,所以每隔10mS50mS輪番檢測一次便足夠,AD的檢測在定時中斷中做,而結(jié)果則放在中斷外做,這樣不會占用中斷太多的時間。編程提示:
由于現(xiàn)在大多采用線性霍爾作為手柄調(diào)節(jié)速度方案,優(yōu)點(diǎn)是無觸電,故障率極低。缺點(diǎn)是在5V供電的情況下,因此軟件的處理相對復(fù)雜一點(diǎn)。這只需要我們做一點(diǎn)簡單的運(yùn)算,或者采用查表的方法,將這期間的AD數(shù)值轉(zhuǎn)換成PWM占空比的值即可。雖然講是無級調(diào)速,實(shí)際上分32級時人已經(jīng)感覺不出速度的細(xì)微變化了。但是有一點(diǎn),根據(jù)手柄得出的PWM脈沖寬度不能直接用來控制PWM占空比,需要在電流允許的情況下才能讓占空比達(dá)到設(shè)定值。
程序中所用關(guān)鍵控制寄存器及其作用:
PR2:決定PWM的工作周期,也就是PWM的調(diào)制頻率,工作中其值不斷地與TMR2中的值相比較,當(dāng)TMR2的值等于PR2時TMR2歸零重新開始另一個周期,由于用到TMR2,所以TMR2的預(yù)分頻器也同樣影響到PWM的工作周期。具體計(jì)算公式在數(shù)據(jù)手冊上可以找到,下同。
CCPR1L及CCP1CON的第4,5位:決定PWM的占空比,單片機(jī)在運(yùn)行時TMR2的值不斷與CCPR1L中的值比較,當(dāng)TMR2=CCPR1L時,PWM輸出腳輸出低電平。當(dāng)CCPR1L中的值大于PR2時,PWM輸出腳持續(xù)輸出高電平。注意:CCP1CON中的第4,5位在這里并非無用,在后面的電流調(diào)節(jié)中可以用來微調(diào)PWM的占空比。
T2CON:決定TMR2的預(yù)分頻器和后分頻器的分頻比,預(yù)分頻器和前面講過的PR2共同決定PWM頻率,后分頻器決定TMR2的中斷周期。剎車斷電模塊:
電動車在剎車手柄附近裝了一個微動開關(guān),一方面在剎車時點(diǎn)亮剎車燈,一方面給控制器提供一個剎車高或低電平信號,各廠家不一定,在電路上作一些電平轉(zhuǎn)換很容易就可以提供給單片機(jī)一個準(zhǔn)確的信號,我們可以采用數(shù)字測量的方法測量這個電平是高還是低,也可以使用AD去測量有幾伏,總之監(jiān)測到這個信號后必須關(guān)閉所有的驅(qū)動輸出和PWM輸出,這樣就可以實(shí)現(xiàn)剎車斷電。編程方面我就不多說了。至于如何實(shí)現(xiàn)EBS電子剎車,我們后面在附加功能再講。4。限流驅(qū)動
這是整個控制器的靈魂,如果限流驅(qū)動沒做好,其他功能再好還是一個字:燒!。
電動車控制器的電子開關(guān)均使用功率MOSFET控制,MOSFET的最大允許電流,最大允許功耗都有其限制,如果沒有電流控制,或者電流控制不好,均會導(dǎo)致功率MOSFET的燒毀,從而導(dǎo)致整個控制器報廢,因此電流控制是本程序的重中之重,這個做不好,其它功能一概免談。
說起來嚴(yán)重,其實(shí)做起來,摸到竅門也是很簡單的,其秘訣也只有四個字:準(zhǔn)確,及時
電流信號經(jīng)康銅絲采樣之后分兩路,一路送至放大器,一路送至比較器。具體電路見硬件部分。放大器用來實(shí)時放大電流信號,放大后的信號提供給單片機(jī)進(jìn)行AD采樣轉(zhuǎn)換,轉(zhuǎn)換所得數(shù)字用
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1