電機是工業(yè)生產(chǎn)領(lǐng)域中最主要的驅(qū)動源,,如何有效地監(jiān)控電機的運行狀態(tài),保護電機回路,,提高電機的運行時間,,減少電機故障,,對工廠整體電網(wǎng)的運行十分關(guān)鍵,。
電動機保護裝置有很多種,目前使用得比較普遍的還是基于金屬片機械式的熱繼電器,,它結(jié)構(gòu)簡單,,在保護電動機過載方面具有反時限特性。但它的保護功能少,,無斷相保護,,對電機發(fā)生通風(fēng)不暢,、掃膛、堵轉(zhuǎn),、長期過載,、頻繁啟動等故障也不能起保護作用。此外,,熱繼電器還存在重復(fù)性能差,、大電流過載或短路故障后不能再次使用、調(diào)整誤差大,、易受環(huán)境溫度影響而誤動或拒動,、功耗大、耗材多,、性能指標落后等缺陷,。
為響應(yīng)國家節(jié)能減排的要求,采用基于微控制器的電子式電機保護器替代現(xiàn)有熱繼電器,,具有廣大的市場,。設(shè)計采用集成豐富外設(shè)的STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32" title="STM32">STM32系列ARM芯片為核心的智能電機保護器,具有響應(yīng)速度快,、附加芯片少,、生產(chǎn)調(diào)試簡單、生產(chǎn)及社會效益高等優(yōu)點,。
1 智能保護器功能及硬件架構(gòu)
電機運行中主要發(fā)生的故障包括:起動超時,、過載、堵轉(zhuǎn),、缺相,、不平衡、過熱,、欠載,、過壓、欠壓等,。因此智能保護器需要監(jiān)測電機的工作電壓,、工作電流和機殼溫度。
同時,,由于電機的類型,、容量和負載類型不同,電機保護的參數(shù)也不盡相同,,所以需要能夠針對不同的電機設(shè)置保護參數(shù),。
再者,為了使智能保護繼電器能夠滿足當(dāng)前流行的智能電機控制中心(IMCC)的需求,,智能電機保護器還需要具有網(wǎng)絡(luò)通訊功能,。
圖1是智能電機保護器的硬件結(jié)構(gòu)框圖,。
2 系統(tǒng)硬件設(shè)計
2.1 MCU
MCU是電機保護器的核心部分,主要負責(zé)數(shù)據(jù)采集,、數(shù)據(jù)處理,、輸出控制和參數(shù)設(shè)置。這里采用的是ST公司最新推出的STM32F103xD系列ARM芯片,。
該系列芯片采用ARM公司32位的C0rtex M3為核心,,最高主頻為72MHz,Cortex核心內(nèi)部具有單周期的硬件乘法和除法單元,,所以適合用于高速數(shù)據(jù)的處理,。
芯片具有三個獨立的轉(zhuǎn)換周期,最低為1μs的高速模數(shù)轉(zhuǎn)換器,,三個獨立的數(shù)模轉(zhuǎn)換器帶有各自獨立的采樣保持電路,,所以特別適合三相電機控制、電網(wǎng)監(jiān)測和多參數(shù)儀器設(shè)備的使用,。
芯片還帶有豐富的通訊單元,,包括多達5個異步串行接口、1個USB從器件,、1個CAN器件,、I2C和SPI等模塊。
2.2 模擬量采集單元
電機保護器主要需要采集電流,、電壓和溫度這三個模擬量來對電機的運行狀態(tài)進行監(jiān)測和保護,。
電流傳感器類型眾多,主要包括磁芯電流互感器,、霍爾傳感器,、分流電阻。而電機保護器所連接的電機容量主要以幾千瓦至數(shù)十千瓦的電機為主,,因此電機相電流主要在數(shù)安培至幾十安培,。因此采用電流互感器為電流采集單元,具有量程寬,、發(fā)熱小,、隔離電壓高等優(yōu)點。同時在不改變處理電路的參數(shù)的同時,,采用不同變比的電流傳感器可以方便地改變電機保護器的電流檢測量程,,從而可以方便地用于更大容量的電機保護。
電壓直接通過電阻分壓獲得,,因此整個電機控制器是共熱地的系統(tǒng),。電阻采用的是高阻抗高耐壓類型電阻,,同時為了提高電壓采集回路的過電壓能力,,電壓分壓電路采用多電阻串聯(lián)形式,,從而降低每一個電阻上的額定壓降,同時提高整個支路的最高耐壓,。
溫度傳感器采用常見的鉑電阻傳感器或者NTC熱敏電阻,,保護器硬件上設(shè)計有對應(yīng)的熱電阻信號調(diào)理電路。由于熱電阻都是非線性器件,,因此溫度采集處理通道都需要進行非線性處理,,為了減少硬件電路的復(fù)雜程度,因此實際熱電阻調(diào)理單元只是設(shè)計采用一個儀表放大器,,而熱電阻的非線性處理由MCU完成,。另外還有一路MCU芯片內(nèi)置的半導(dǎo)體溫度傳感器,用于檢測保護器內(nèi)的溫度,,從而防止由于系統(tǒng)過熱而導(dǎo)致控制出錯,。
2.3 液晶顯示
對于獨立應(yīng)用的電機保護器,需要能夠設(shè)置保護參數(shù),,顯示當(dāng)前的運行狀態(tài),,當(dāng)發(fā)生故障時候還需要顯示故障類型。因此電機保護器需要有顯示單元,。
系統(tǒng)設(shè)計采用點陣形式STN黑白液晶顯示(LCD)模塊,,相比TFT彩色LCD模塊,具有使用溫度范圍寬,、壽命長,、強光下仍可以閱讀的優(yōu)點。
LCD模塊內(nèi)置的控制器采用的并行數(shù)據(jù)通訊接口,,包括數(shù)據(jù)總線,、讀寫控制線、器件選通和復(fù)位引腳,。系統(tǒng)設(shè)計時,,使用STM32F103xD芯片的多功能靜態(tài)存儲器控制器(FSMC)與LCD模塊相連。
STM32F芯片的FSMC模塊是一個支持靜態(tài)存儲器(SRAM),、NOR F1ash和PSRAM的多功能靜態(tài)存儲器控制器,。可以支持8位或者16位寬度的存儲器,。
LCD模塊的訪問時序與SRAM的相同,,而且可以通過配置引腳選擇為8080或者6800類型的接口時序。圖2是STM32芯片的FSMC接口與LCD的電氣連接,,這里的液晶是采用的8080接口時序,。
2.4 通訊電路
智能電機控制中心(IMCC)的控制結(jié)構(gòu)大都是總線型分布式網(wǎng)絡(luò)結(jié)構(gòu),系統(tǒng)中有中央控制器負責(zé)調(diào)度和監(jiān)控所有電機的運行。根據(jù)所使用的中央控制器(大多為PLC)的不同,,系統(tǒng)的通訊協(xié)議有MODBUS,、Fieldbus和以太網(wǎng)等。其中最常見的是MODBUS協(xié)議,。MODBUS協(xié)議的物理層是基于RS485的半雙工通訊網(wǎng)絡(luò),,電機保護器在其中是處于從機地位。
由于電機保護器內(nèi)部是共熱地系統(tǒng),,所以RS485遠程通訊需要與控制器主回路隔離,。對于RS485收發(fā)器的隔離,需要對通訊信號和收發(fā)器的供電進行隔離,。電機保護器的通訊接口設(shè)計的通訊波特率最高需要達到57.6kbps,,因此需要使用高速光耦或者數(shù)字隔離芯片完成對通訊信號的隔離。
數(shù)字隔離芯片是一種新型的器件,,TI,、ADI和Silicon Lab等公司都有推出擁有各自專利的數(shù)字隔離器件,但各家芯片的引腳封裝和引腳功能大部分都是兼容的,,可以直接替換,。相對傳統(tǒng)的高速光耦,數(shù)字隔離器件具有功耗低,、傳輸速率高,、兼容3V/5V系統(tǒng)和外設(shè)簡單等優(yōu)點。實際連接電路如圖3所示,。
3 系統(tǒng)軟件設(shè)計
3.1 監(jiān)控程序
智能電機保護器中,,MCU只要完成電流和電壓的采樣、計算,、分析來實現(xiàn)各種保護功能,,并且實時顯示線路的參數(shù)和記錄故障狀態(tài)。
系統(tǒng)軟件中,,全局監(jiān)控軟件用來循環(huán)掃描各個單元子程序的狀態(tài),,包括模數(shù)轉(zhuǎn)換器的數(shù)據(jù)采樣,數(shù)據(jù)采集完成后對數(shù)據(jù)進行計算,,而后根據(jù)計算結(jié)果和預(yù)先設(shè)置的電機參數(shù),,結(jié)合保護策略判斷出當(dāng)前電機的狀態(tài)。最后通過LCD顯示器和輸出控制接口發(fā)出相應(yīng)的狀態(tài)信息和控制功能,。
3.2 ADC的配置和使用
由于電機保護器采集的是50Hz工頻電壓電流,,同時為了能夠監(jiān)測到電網(wǎng)中的高次諧波成分(主要是3次諧波),因此在ADC的采樣頻率需要設(shè)置在工頻的整數(shù)倍,,從而使得采樣快速傅立葉(FFT)運算時得到最準確的精度,。同時,,數(shù)據(jù)采樣時,由于計算功率需要同時采集電壓,、電流值,,因此在系統(tǒng)設(shè)計時,將三相的參數(shù)分別分配到兩個模數(shù)轉(zhuǎn)換器,,而將溫度量放置在第三個模數(shù)轉(zhuǎn)換器,。所有的模數(shù)轉(zhuǎn)換均采用內(nèi)部定時器中斷觸發(fā),。
對于電壓和電流的采集,,系統(tǒng)采用同步采樣模數(shù),即同時采集同一個通道的電壓和電流值,;同時在采樣通道配置寄存器中,,將三個電壓電流通道依次排列,使得在一次定時器觸發(fā)下,,一次性完成所有通道的轉(zhuǎn)換,。
由于FFT需要一組數(shù)據(jù)進行計算,所以為了最低程度的CPU干預(yù),,系統(tǒng)設(shè)計使用了DMA來完成轉(zhuǎn)換結(jié)果的傳遞,。程序設(shè)計時,需要設(shè)置兩塊數(shù)據(jù)存放區(qū),,用于采樣數(shù)據(jù)的交替存放,;同時DMA傳遞的字節(jié)計數(shù)的預(yù)置值即為傅立葉轉(zhuǎn)換數(shù)組長度乘以采集的通道數(shù)。
3.3 遠程通訊
電機保護器設(shè)計為MODBUS從機,,所有的電機運行狀態(tài),、控制狀態(tài)等參數(shù)都是放置在系統(tǒng)約定地址的寄存器中。同時MODBUS從機需要給每一個電機控制器預(yù)置一個網(wǎng)絡(luò)中唯一的從機地址,,所以還需要使用按鍵和LCD屏幕來設(shè)置從機地址,。
4 結(jié)語
本文提出一種基于STM32系列新品的智能電機保護器,本設(shè)計充分利用了STM32芯片的資源,,提供必要的外圍器件構(gòu)成了一個完整的系統(tǒng),。實際應(yīng)用證明,此系統(tǒng)能有效保護電機,,且具有結(jié)構(gòu)簡單,、功能完善、接口豐富等優(yōu)點,,根據(jù)實際需要還可以開發(fā)出諸如USB,、CAN open等接口,因此此系統(tǒng)可以更廣泛地應(yīng)用于工業(yè)生產(chǎn)各個領(lǐng)域,。