高源蓬
摘要:本文介紹了基于STM32F103VCT6單片機開發的彈簧位置-力測控系統的總體設計思路和方法,闡述了整個系統的工作原理,硬件和軟件設計及相關技術問題,該測控系統較機械彈簧控制閥具有精度高、可靠性好的特點。
關鍵詞:位置-力測控系統;單片機;PID校正;PWM脈沖
中圖分類號:TP368 文獻標識碼:A 文章編號:1007-9416(2018)06-0021-01
隨著人工智能的不斷發展,工業的自動化水平體現出無比重要的環節。然而,自PID控制器問世以來已有70多年歷史,控制理論的發展也經歷了古典、現代和智能控制理論三個階段。隨著傳感器應用,微電子技術的發展以及單片機技術在各領域的應用,為智能彈簧位置的測控系統測控功能的完善、測控精度的提高和抗干擾能力的增強都提供了有利條件。使用了STM32F103VCT6單片機,設計了一個簡單的彈簧位置-力測控系統,使用方便、靈活,成本低,足以完成整個系統算法的功能實現。
1 系統總體設計方案
根據智能高精度彈簧位置-力測控系統的要求,實現的目標應具有顯示功能在顯示器上顯示表示當前彈簧形變量的四位十進制數,具有按鍵輸入和操作功能,輸入為要求控制的彈簧形變量,具有PID校正的閉環控制彈簧受力。
綜合考慮系統可靠性、實用性以及便于可維護性操作簡便性,本系統設計時主要采用以下技術措施:
(1)利用了STM32F103VCT6的軟硬件資源,包括其內部的A/D轉換部件、獨立按鍵5顆、四位七段數碼管。(2)圖1中控制器單片機模塊為系統的核心部件,數碼管顯示以及按鍵用來實現人機交互功能,其中通過按鍵將需要的控制的彈簧長度數據輸入到單片機中,由數碼管顯示當前彈簧形變量。(3)在運行過程PWM脈沖由PID調節的并送到電機驅動電路中,驅動模塊根據PWM信號控制直流電機的扭矩。利用拉壓力傳感器將當前產生的力(彈簧當前所受力)反饋到單片機控制器中心,通過運算改變PWM脈沖的占空比,實現電機扭矩實時控制的目的。(4)系統軟硬件設計設計思想采用模塊化,以提高系統的可靠性。
2 硬件電路設計
圖1為系統的工作原理,以數字PID為基本控制算法,用STM32F103VCT6單片機作為控制單元,產生占空比根據數字PID算法,對PWM脈沖實現對直流電機扭矩的控制。同時利用拉壓力傳感器將彈簧受力轉換成脈沖頻率反饋到單片機中,實現轉速閉環控制。在通過五顆獨立按鍵設定彈簧形變量,確認后可以通過顯示部件了解彈簧當前的形變量,最后用七段數碼管作為顯示部件位置。
2.1 STM32F103xx簡介
STM32F103xx系統主系統由四個驅動單元和四個被動單元構成:四個驅動單元包括CortexTM-M3內核DCode總線(D-bus),和系統總線(S-bus) 和通用DMA1和通用DMA2。四個被動單元由內部SRAM、內部閃存存儲器、FSMC、AHB到APB的橋(AHB2APBx)構成,它連接所有的APB設備。
2.2 獨立按鍵模塊
這五顆按鍵為STM32F103VCT6自帶按鍵輸入模塊,當按鍵沒有被按下時,其對應引腳表現為高電平,當按下時表現為低電平。我們將五顆充分利用,功能分別為確認輸入完畢、十位數字加一、四位數字減一、個位數字加一、個位數字減一。
2.3 L298N電機驅動模塊
L298N驅動器是一種專門驅動二相和四相電機的,本設計應用中作為驅動電機使彈簧位置做出相應的變化。
2.4 拉壓力傳感器
一般來講,彈簧受力與上一次受力比較,有一定的誤差,通過偏差進行PID運算。通過用的是雙向拉壓力傳感器JLBS-M2來實現的,該傳感器量程較小,精度較高,適合小型彈簧的彈性力檢測。可將受力信號轉化為電信號輸入STM32F103VCT6的ADC數模轉換采樣模塊。
2.5 放大電路模塊
由于拉壓力傳感器輸出電壓小,并且為何更好的和ADC數模轉換采樣輸入額定電壓匹配,我們需要加上一定放大倍數的放大器。
根據傳感器參數計算,我們最終設計了放大倍數為3的放大電路。
2.6 ADC數模采樣模塊
ADC屬于STM32F103內部進行轉換,我們在軟件設置上進行就可以正常工作,但還需要在外部連接其端口到被測電壓,以便更好的顯示。
3 軟件設計
3.1 PID算法實現
控制算法是微機化控制系統的一個重要組成部分,整個系統的控制功能需要控制算法來實現基本功能。根據偏差的比例(P)、微分(D)、積分(I)進行的控制,稱之為PID控制。PID控制,對于相當多工業對象的控制要求,也是控制算法最好之一。
PID算法是本系統的核心算法,它根據采樣的數據與設定值進行比較得出偏差,對偏差進行P、I、D運算得到增量,從而改變PWM脈沖的占空比來實現對電機兩端電壓的調節,進而控制電機轉速。其運算公式為:
直流電機的扭矩與電機的轉速呈負相關關系,也就是說在電機正常工作的電壓范圍內,直流電機兩端的電壓越小,電機的轉速越慢,扭矩越大。而我們使用的電機驅動模塊里占空比與直流電機轉速是正比關系,所以我們需要在算法里做一定調整使整個PID算法完成負反饋。我們將算法最后的返回值用了TIM3->CCR3-=duk;的方式,將出始的占空比設為電機驅動額定電壓內較大驅動力對應的占空比,具體數值需要根據實際情況調節。
3.2 主函數流程圖
當通過按壓五位按鍵按出彈簧要求形變量,系統依次初始化相關硬件設置,當設定好后,按下確認鍵,電機即可轉動,同時系統進入PID控制調節,可通過數碼管屏幕顯示的值來觀察到實時彈簧形變量。
具體流程圖如圖2。
4 結語
利用單片機實現PID算法產生PWM脈沖來控制電機扭矩,利用電機使得彈簧發生形變,且形變量為是設定值是被控量。對彈簧一個方向的位置-力測控,具體方向由機械結構決定,解決彈簧變化顯示當前的形變量。
參考文獻
[1]盧京潮,趙忠,劉慧英,袁冬梅,賈秋玲.自動控制原理[M].北京:清華大學出版社,2013.
[2]沙占友.單片機外圍電路設計[M].北京:電子工業出版社,2003.
Abstract:This paper introduces the general design idea and method of the spring position and force measurement and control system based on STM32F103VCT6 single chip microcomputer, and expounds the working principle of the whole system, the design of hardware and software and the related technical problems. The measurement and control system has the characteristics of high precision and good reliability compared with the mechanical spring control valve.
Key words:position -force measurement and control system; single chip microcomputer; PID correction; PWM pulse