【廣告】
我們設(shè)計(jì)的粉末噴涂生產(chǎn)線控制器基于STM32微控制器控制器,完成控制器的硬件設(shè)計(jì)后,需要設(shè)計(jì)和實(shí)現(xiàn)控制器的軟件,實(shí)現(xiàn)控制器的功能。軟件設(shè)計(jì)采用ST的STM32CUBE作為驅(qū)動開發(fā)環(huán)境,該軟件可以在圖形界面中配置粉末噴涂生產(chǎn)線MCU的時鐘和外設(shè),直接生成MDK開發(fā)的C語言代碼,大大節(jié)省了MCU的時間。數(shù)據(jù)打包器的功能不僅是對數(shù)據(jù)進(jìn)行封裝,而且對數(shù)據(jù)類型的優(yōu)先級標(biāo)志uSendDataFlag的相應(yīng)位進(jìn)行定位,并計(jì)算數(shù)據(jù)幀有效部分的CRC校驗(yàn)碼。配置提高了開發(fā)效率。
粉末噴涂生產(chǎn)線控制板編程控制板主程序包括初始化程序,RS422通信模塊,ADC模擬數(shù)據(jù)采樣模塊,電壓電流控制算法模塊,氣壓控制和步進(jìn)電機(jī)驅(qū)動模塊,EEPROM數(shù)據(jù)存儲模塊,管理協(xié)調(diào)軟件和數(shù)據(jù)存儲單元。它貫穿操作面板的參數(shù)配置,還具有氣壓,電機(jī)控制,電壓和電流輸出,電壓和電流測量功能。管理協(xié)調(diào)軟件負(fù)責(zé)各功能軟件之間的通信和協(xié)調(diào),實(shí)現(xiàn)各模塊之間的同步;功能軟件模塊通常由主程序調(diào)用子程序和中斷程序?qū)崿F(xiàn)。
粉末噴涂生產(chǎn)線存儲模塊編程靜電噴涂控制器配置參數(shù)保存在主板的EEPROM中。斷電時電源不會丟失。但時在實(shí)踐的情況中,是有不同尺度、不同形狀的工件會同時被懸掛在同一條輸送鏈上??梢栽俅螐膯又凶x取參數(shù)。存儲芯片2_SLC640是一個64Kb電可擦PROM,它是8Kx8bit結(jié)構(gòu),存儲空間地址為Ox0000} Ox1FFF,頁面大小為承諾字節(jié),通過SPI接口通信,通信頻率高達(dá)2MHz。
粉末噴涂生產(chǎn)線顯示:在自檢狀態(tài)下,各數(shù)字管的參數(shù)顯示子程序依次調(diào)用鍵顯示模塊顯示參數(shù)1s,用于檢查硬件是否處于良好狀態(tài)。在停止?fàn)顟B(tài)下顯示測量參數(shù)。運(yùn)行狀態(tài)顯示測量參數(shù)。按“流化氣壓”和“霧化氣壓”按鈕可以切換這兩組數(shù)碼管的顯示內(nèi)容。瀏覽配置參數(shù)以瀏覽選擇狀態(tài)顯示。流速氣壓:流速壓力越高會使得粉料沉積的速度越快,有利于快速得到期望厚度的涂層,可是過高就會添入粉末使用量和靜電噴槍的磨損速度。粉末噴涂生產(chǎn)線接收的配置參數(shù)被存儲為用于瀏覽的臨時參數(shù)。確認(rèn)選擇后,按.”按鈕將它們保存為配置參數(shù)。預(yù)設(shè)狀態(tài)顯示臨時參數(shù)。在修改參數(shù)時,根據(jù)相應(yīng)的鍵選擇閃爍的數(shù)據(jù)位。確認(rèn)選擇之后,按“確認(rèn)”按鈕保存配置參數(shù)。當(dāng)不修改時,再次按“預(yù)設(shè)”來取消修改。
由于粉末噴涂生產(chǎn)線按鍵顯示驅(qū)動芯片BC7277的通信速率低,刷新每組參數(shù)需要很多時間,所以每個周期只刷新一個參數(shù),LED指示燈顯示總共九個周期刷新一組參數(shù),所以主程序有增量。運(yùn)行速度提高了9倍。為了完成粉末噴涂生產(chǎn)線控制任務(wù),將不同類型的數(shù)據(jù)劃分為發(fā)送優(yōu)先級。數(shù)據(jù)被打包在每個模塊中。加熱烘干體系堅(jiān)持烘干室溫度恒定,確保噴涂前水洗的水分烘干,確保噴涂后高溫固化的溫度安穩(wěn)。在發(fā)送時應(yīng)考慮優(yōu)先級和發(fā)送間隔,設(shè)計(jì)數(shù)據(jù)封裝。程序和發(fā)送程序確保正常通信。數(shù)據(jù)打包器的功能不僅是對數(shù)據(jù)進(jìn)行封裝,而且對數(shù)據(jù)類型的優(yōu)先級標(biāo)志uSendDataFlag的相應(yīng)位進(jìn)行定位,并計(jì)算數(shù)據(jù)幀有效部分的CRC校驗(yàn)碼。本文采用16位CRC校驗(yàn)碼對有效數(shù)據(jù)位進(jìn)行校驗(yàn)。