本論文介紹的數字式電子調速器,是用步進電機作為執行器,以AT89C51單片機為主控芯片,通過編制相應的控制程序,實現了汽油機的數字調速。通過減小瞬時調速率成為全面提高汽油機調速性能的關鍵。采用PID控制算法,按汽油機過渡過程各階段轉速變化的情況,確定PID各項的系數,調節節氣門開度的變化量。實驗結果表明,瞬時調速率達到5.6%,穩定時間1.64s,瞬時調速率和穩定時間都有很大的提高,該方法對改善電子調速器的動態特性有明顯的效果。
標簽:
數字式
動態特性
電子調速器
上傳時間:
2013-11-10
上傳用戶:hwl453472107
一.高精度延時, 是 CPU 測速的基礎
Windows 內部有一個精度非常高的定時器, 精度在微秒級, 但不同的系統這個定時器的頻率不同, 這個頻率與硬件和操作系統都可能有關。
利用 API 函數 QueryPerformanceFrequency 可以得到這個定時器的頻率。
利用 API 函數 QueryPerformanceCounter 可以得到定時器的當前值。
根據要延時的時間和定時器的頻率, 可以算出要延時的時間定時器經過的周期數。
在循環里用 QueryPerformanceCounter 不停的讀出定時器值, 一直到經過了指定周期數再結束循環, 就達到了高精度延時的目的。
高精度延時的程序, 參數: 微秒
二.測速程序
利用 rdtsc 匯編指令可以得到 CPU 內部定時器的值, 每經過一個 CPU 周期, 這個定時器就加一。
如果在一段時間內數得 CPU 的周期數, CPU工作頻率 = 周期數 / 時間
為了不讓其他進程和線程打擾, 必需要設置最高的優先級
以下函數設置當前進程和線程到最高的優先級。
SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS)
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL)
CPU 測速程序的源代碼, 這個程序通過 CPU 在 1/16 秒的時間內經過的周期數計算出工作頻率, 單位 MHz:
標簽:
Windows
CPU
API
定時器
上傳時間:
2015-04-29
上傳用戶:iswlkje