開關(guān)電源狀態(tài)監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)——畢業(yè)設(shè)計總結(jié)(一)
2019年6月16日10:48:40
我的畢設(shè)題目是開關(guān)電源狀態(tài)監(jiān)測系統(tǒng)設(shè)計與實現(xiàn),其中的主要工作是設(shè)計制作電壓和頻率可以調(diào)節(jié)的開關(guān)電源睦番,并在此基礎(chǔ)上對主電路中的電流進(jìn)行監(jiān)控类茂。下面我將從軟件、硬件托嚣、仿真等方面來對本次畢業(yè)設(shè)計進(jìn)行一些總結(jié)巩检。
首先,我想談的是軟件方面的控制要求示启。由于此前從沒有做過電源方面的控制兢哭,我對這方面知之甚少。在從同學(xué)丑搔、書籍等方面了解以后就著手進(jìn)行了控制板的繪制厦瓢。在此項目中提揍,對于BUCK降壓電路以及逆變電路都需要互補PWM,我自己覺得對STM32比較熟悉煮仇,使用其任意通道輸出PWM我都能夠做到劳跃。因此我一開始繪制PCB時,隨意選擇了STM32的定時器通道(考慮到以前對程序理解不夠透徹浙垫,對定時器1的使用有過不成功的時候刨仑,這次選擇定時器還特意避免了定時器1)。在電路板做回來以后夹姥,我發(fā)現(xiàn)了一系列的問題杉武!首先是互補PWM的輸出,我固然能夠使用所選的幾個通道輸出互補PWM辙售,但是在本項目中還要求互補PWM要帶死區(qū)時間(避免同一側(cè)的開關(guān)管同時導(dǎo)通造成的短路轻抱、燒電路)。通過網(wǎng)上查找資料旦部,只有STM32的高級定時器(定時器1和定時器8)才能輸出帶死區(qū)時間的互補PWM祈搜,對于普通定時器,沒有官方的配置士八。對此感到很苦惱容燕,于是我去想了一些辦法:
(1)上網(wǎng)查詢找了很久的資料,終于被我找到一份關(guān)于使用普通定時器輸出帶死區(qū)時間的互補PWM婚度。他使用的方法是將定時器初始化為中間對齊模式蘸秘,互補通道使用反向輸出。在占空比合適的時候蝗茁,這種方法確實能夠輸出帶死區(qū)時間的互補PWM醋虏,但是有一點不好的就是互補通道的輸出占空值始終是對稱的,在將占空比調(diào)節(jié)至較小的時候评甜,死區(qū)時間就會顯得特別大灰粮,所以這個辦法只能輸出固定占空比的互補PWM,對于本設(shè)計所要求的占空比可調(diào)來講并不適用忍坷。
(2)PWM產(chǎn)生的原理就是電平的拉高拉低,如果單片機的I/O口被人為地置高置低熔脂,同樣可以產(chǎn)生PWM佩研。如果需要增加死區(qū)時間的設(shè)置,在置位復(fù)位之前添加延時就可以了霞揉。但是這個方案很快就被我放棄了(我不記得我是否嘗試過這個方案了)旬薯。原因有這么幾個:使用定時器產(chǎn)生精確的計時、及時拉高拉低電平的動作需要在中斷中進(jìn)行适秩,這些并沒有問題绊序,但是如果是在中斷中添加延時函數(shù)則可能會發(fā)生意外情況硕舆;另外的一個原因是,本設(shè)計所使用的互補PWM頻率的在10KHz以上骤公,使用中斷內(nèi)部執(zhí)行拉高拉低電平的指令所使用的時間將會對頻率造成巨大的誤差抚官。因此這個方案還未被我使用就否定了。
辦法想完了阶捆,問題沒解決凌节,只有重新畫板子了......