開關量輸入接口主要用于采集外部開關量信號,此部分電路使用TLP521光耦進行隔離,保證信號采樣電路的安全性,同時可減小電路干擾。開關量信號從IN輸入,COM為信號輸入公共端。開關量信號經光耦輸出至STM32的GPIO口,實現對外部開關量信號的檢測。
2.4電壓電流信號采樣接口電路
傳感器將非電量信號轉換為電信號,一般輸出標準電壓電流信號,STM32F101自帶AD轉換通道允許輸入電壓范圍為0-3.3V,因此傳感器輸出信號需經信號調理電路調整到AD通道有效采樣電壓范圍。本課題的設計的數據采集卡可采樣DC0-5V電壓信號和DC4-20mA電流信號,使用HCNR201線性光耦進行隔離,輸出跟隨輸入變化,線性度較好,保證了信號采樣的準確性。
電壓信號采樣接口電路輸入電壓范圍為DC0-5V,輸入電壓經電阻R1A和R1B分壓后經電阻R63輸入至運放U30A反相端,電容C107構成反饋電容,主要用來消除噪聲和干擾。運放U30A在此處構成比較器,當有外部電壓功率電感器公司信號接入時,U30A的1端輸出低電平,線性光耦HCNR201的LED發光,當光照到PD1、PD2時分別形成通路,線性光耦主要實現光電轉換和隔離,經過線性光耦輸出的電流信號通過運放U31B構成的電路形成電壓信號,經過U功率電感廠家31B輸出的電壓信號經過運放U31A構成的3.3V限幅電路,將輸出電壓限定在0-3.3V范圍內,以保證STM32F10插件電感生產廠家1的AD通道采集到正常的電壓信號。
2.5RS485通信接口電路
RS485通信主要實現采集的數據傳輸,為保證數據傳輸的安全性和通信的兼容性,在硬件設計上使用SP3485作為收發控制器,同時使用TLP521光耦進行隔離,保證數據采集卡硬件通信的安全;在軟件設計上使用工業標準的MODBUS協議作為RS485通信規約,保證系統良好的兼容性和數據傳輸的準確性。
3軟件設計
數據采集器軟件設計主要采用模塊化編程,主程序流程圖主要包括關中斷、各功能模塊初始化、開相關中斷、看門狗定時、開關量輸入采集、AD采樣處理、RS485通信數據處理和定時喂狗;主程序流程圖如圖6所示。