2.系統結構
本文主要針對電機的轉速進行測量,然後用數碼管把電機的轉速顯示出來!
本裝置主要有兩部分構成。1光電測速部分。2測得的脈衝處理處理和顯示部分!
光電測速部分主要由光電感測器構成!脈衝處理部分主要經施密特觸發器對接收到的脈衝進行波形校正,由微控制器的t1口輸入,經80c51處理後顯示輸出電機的轉速
下面我們來了解一下光電測速部分!
3、脈衝訊號的獲得
可以有多種方式來獲得脈衝訊號,這些方法有各自的應用場合。下面逐一進行分析。
3.1霍爾感測器
霍爾感測器是對磁敏感的感測元件,常用於開關訊號採集的有cs3020、cs3040等,這種感測器是乙個3端器件,外形與三極體相似,只要接上電源、地,即可工作,輸出通常是集電極開路(oc)門輸出,工作電壓範圍寬,使用非常方便。如圖1所示是cs3020的外形圖,將有字面對準自己,三根引腳從左向右分別是vcc,地,輸出。
使用霍爾感測器獲得脈衝訊號,其機械結構也可以做得較為簡單,只要在轉軸的圓周上粘上一粒磁鋼,讓霍爾開關靠近磁鋼,就有訊號輸出,轉軸旋轉時,就會不斷地產生脈衝訊號輸出。如果在圓周上粘上多粒磁鋼,可以實現旋轉一周,獲得多個脈衝輸出。在粘磁鋼時要注意,霍爾感測器對磁場方向敏感,粘之前可以先手動接近一下感測器,如果沒有訊號輸出,可以換乙個方向再試。 這種感測器不怕灰塵、油汙,在工業現場應用廣泛。
3.2.光電感測器
光電感測器是應用非常廣泛的一種器件,有各種各樣的形式,如透射式、反射式等,基本的原理就是當發射管光照射到接收管時,接收管導通,反之關斷。以透射式為例,如圖2所示,當不透光的物體擋住發射與接收之間的間隙時,開關管關斷,否則開啟。為此,可以製作乙個遮光葉片如圖3所示,安裝在轉軸上,當扇葉經過時,產生脈衝訊號。當葉片數較多時,旋轉一周可以獲得多個脈衝訊號。
3.3.光電編碼器
光電編碼器的工作原理與光電感測器一樣,不過它已將光電感測器、電子電路、碼盤等做成乙個整體,只要用連軸器將光電感測器的軸與轉軸相連,就能獲得多種輸出訊號。它廣泛應用於數控工具機、迴轉台、伺服傳動、機械人、雷達、軍事目標測定等需要檢測角度的裝置和裝置中。如圖4所示,是某光電編碼器的外形。
這次課設我選的是光電感測器,採用穿透法測量電機轉速。光電感測器的原理上面有詳細的介紹。
當不透光的物體擋住發射與接收之間的間隙時,開關管關斷,否則開啟。為此,可以製作乙個遮光葉片如圖3所示,安裝在轉軸上,當扇葉經過時,產生脈衝訊號。當葉片數較多時,旋轉一周可以獲得多個脈衝訊號。 這裡我們才用轉10個孔的方式!在一分鐘的時間內,假如產生了10000脈衝,則電機的轉速就為1000r/min.
4、硬體連線
測速的方法決定了測速訊號的硬體連線,測速實際上就是測頻,因此,頻率測量的一些原則同樣適用於測速。
通常,可以用計數法、測脈寬法和等精度法來進行測試。所謂計數法,就是給定乙個閘門時間,在閘門時間內計數輸入的脈衝個數;測脈寬法是利用待測訊號的脈寬來控制計數門,對乙個高精度的高頻計數訊號進行計數。由於閘門與被測訊號不能同步,因此,這兩種方法都存在±1誤差的問題,第一種方法適用於訊號頻率高時使用,第二種方法則在訊號頻率低時使用。等精度法則對高、低頻訊號都有很好的適應性。
如上圖:因為光電感測器不好**,這裡我們採用了555晶元構成乙個施密特觸發器,由光電感測器得到的脈衝由2,5腳輸入,經3腳輸出接到微控制器的t1(p3.5).。經89c51程式設計處理後由p1口輸出通過數碼管顯示出轉速!
5、實驗程式及分析
測量轉速,使用光電感測器,被測電機帶動紙片旋轉,我們在紙片上開了10小孔,電機 每旋轉一周就會產生10個脈衝,產生12個脈衝,要求將轉速值**/分)顯示在數碼管上。
實驗程式如下:
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define led_dat p1
sbit led_seg0 = p0^3;
sbit led_seg1 = p0^2;
sbit led_seg2 = p0^1;
sbit led_seg3 = p0^0;
//sbit pin_speedsenser = p3^5; //光電感測器訊號接在t1上
#define time_cylc 100
//12m晶振,定時器10ms 中斷一次 我們1秒計算一次轉速
// 1000ms/10ms = 100
#define plus_per 10 //碼盤的齒數 ,這裡假定碼盤上有10個齒,即感測器檢測到10個脈衝,認為1圈
#define k 100.0 //校準係數
unsigned char code table=;
uchar data disbuf[4];// 顯示緩衝區
uint tcounter = 0; //時間計數器
bit flag_fresh = 0; // 重新整理標誌
bit flag_clac = 0; //計算轉速標誌
bit flag_err = 0; //超量程標誌
//在數碼管上顯示乙個四位數
void displayfresh();
//計算轉速,並把結果放入數碼管緩衝區
void clacspeed();
//初始化定時器t0
void init_timer0();
//初始化定時器t1
void init_timer1();
基於微控制器的數字溫度計設計
基於微控制器的數字溫度計 摘要 本文介紹一種基於at89c2051微控制器的一種溫度測量及報警電路,該電路採用ds18b20作為溫度監測元件,測量範圍 55 125 使用4位led模組顯示,能通過鍵盤設定溫度報警上下限。正文著重給出了軟硬體系統的各部分電路,介紹了整合溫度感測器ds18b20的原理,...
基於微控制器的熱敏電阻測溫設計
1.基本功能 1 具有聲光報警功能 2 使用液晶顯示 3 溫度上 下限報警值設定 溫度上 下限報警 4 手動方式設定溫度上下限 溫度控制系統主要由溫度感測器 熱敏電阻 a d轉換器,微控制器 stc12c5a60s2 按鍵設定和液晶顯示顯示組成。主函式 void main while 1 按鍵檢測 ...
基於微控制器溫度控制多路電機系統設計 畢設課設資料
溫度控制四個電機,電路圖如圖所示 標頭檔案 include include define uchar unsigned char define uint unsigned int sbit f1 p1 1 sbit f2 p1 2 sbit f3 p1 3 sbit f4 p1 4 共陽極數碼管段碼...