一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AT89C51系列單片機(jī)和霍爾傳感器實(shí)現(xiàn)測控系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:現(xiàn)代電子技術(shù) ? 作者:林游,張俊杰,易 ? 2020-12-21 10:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來,隨著傳感器技術(shù)的不斷發(fā)展,特別是單片機(jī)技術(shù)的廣泛應(yīng)用,采用單片機(jī)與PC機(jī)構(gòu)成的小型傳感器測控系統(tǒng)越來越多。因?yàn)樗鼈兒芎玫亟Y(jié)合了單片機(jī)的價格低,功能強(qiáng),抗干擾能力好,溫限寬和面向控制等優(yōu)點(diǎn)及Pc機(jī)操作系統(tǒng)中Windows的高級用戶界面、多任務(wù)、自動內(nèi)存管理等特點(diǎn)。在這種測控系統(tǒng)中,單片機(jī)主要進(jìn)行實(shí)時數(shù)據(jù)采集及預(yù)處理,然后通過串行口將數(shù)據(jù)送給PC機(jī),PC機(jī)再對這些數(shù)據(jù)進(jìn)一步處理,例如求均值、方差、畫動態(tài)曲線與計(jì)算給定、打印輸出的各種參數(shù)等任務(wù)。

這里采用霍爾傳感器作為前端進(jìn)行數(shù)據(jù)采集,然后在單片機(jī)控制下進(jìn)行A/D轉(zhuǎn)換,并將信號通過串口送給PC機(jī)進(jìn)行繪圖處理。

1 系統(tǒng)介紹

系統(tǒng)可以分為3個部分。第一部分是信號源,由霍爾傳感器產(chǎn)生電壓信號,信號通過差分放大,濾波得到較清晰的信號;第二部分是信號經(jīng)過A/D轉(zhuǎn)換送入單片機(jī)進(jìn)行處理,再通過串行通信送入PC機(jī)處理得到結(jié)果;第三部分是數(shù)據(jù)的顯示,這部分是通過VB的繪圖程序來完成,顯示結(jié)果以v-x關(guān)系圖來顯示。系統(tǒng)總流程如圖1所示。

基于AT89C51系列單片機(jī)和霍爾傳感器實(shí)現(xiàn)測控系統(tǒng)的設(shè)計(jì)

2 硬件設(shè)計(jì)及實(shí)現(xiàn)

2.1 霍爾傳感器

霍爾傳感器是利用霍爾效應(yīng)實(shí)現(xiàn)磁電轉(zhuǎn)換的一種傳感器。它具有靈敏度高,應(yīng)用廣泛的特點(diǎn)。其工作原理如圖2所示:一塊半導(dǎo)體薄片,其長度為L,寬度為B,厚度為D,置于磁感應(yīng)強(qiáng)度為B的磁場中,在相對的兩邊通以控制電流I,且磁場方向與電流方向正交,則在半導(dǎo)體的兩邊將產(chǎn)生一個與控制電流和磁感應(yīng)強(qiáng)度乘積成正比的電勢U,該電勢即為霍爾電壓,用UH表示,即UH=KHIB,其中KH為霍爾元件的靈敏度,半導(dǎo)體薄片就是霍爾元件。

同理有2塊磁場相同的永久磁鐵,同極性相對放置。當(dāng)其表面積遠(yuǎn)遠(yuǎn)大于兩者的間距時,正中間磁感應(yīng)強(qiáng)度為O,在縫隙間沿z軸形成一個均勻梯度的磁場dB/dx=K(K為常數(shù))。B=0處作為位移x的參考原點(diǎn),則x=O時,B=O,UH=O。當(dāng)它們中間的霍爾元件移動到x處時,UH大小由x處的B決定。由公式UH=KHIB可知:保持I不變,則dUH/dx=IKHdB/dx=KHI=K,積分后得UH=Kx,即霍爾電勢與位移成比例。磁場梯度越大,靈敏度越高,磁場變化越均勻,UH和x的線性越好。

本系統(tǒng)中的第一部分由圖3中的霍爾傳感器裝置提供,由霍爾元件(A44E)、差分放大器濾波器組成。其輸出電壓與霍爾元件位移成比例,具有較高靈敏度,能夠產(chǎn)生出符合要求的電壓信號。

2.2 模/數(shù)轉(zhuǎn)換原理

該系統(tǒng)中的單片機(jī)是使用Atmel公司的AT89C51微控制器,與MCS一51單片機(jī)產(chǎn)品兼容,具有4 KB閃爍可編程可擦除只讀存儲器、1 000次擦寫周期、32個可編程I/O口線、2個16位定時器/計(jì)數(shù)器、5個中斷源、UART串行通道等特點(diǎn)。在設(shè)計(jì)中主要用它來控制傳感器信號發(fā)生裝置輸出的模擬信號轉(zhuǎn)換成數(shù)字信號,進(jìn)行數(shù)據(jù)采集和顯示以及串行通信。

經(jīng)過與標(biāo)準(zhǔn)量比較處理后的模擬量轉(zhuǎn)化成以二進(jìn)制數(shù)值表示的離散信號的轉(zhuǎn)換器,簡稱A/D轉(zhuǎn)換器.轉(zhuǎn)換器的輸入量一般為直流電流或電壓,輸出量為二進(jìn)制數(shù)碼的數(shù)字量。該設(shè)計(jì)中使用ADC0809轉(zhuǎn)換器。過程如下:首先它可以將其看成由一個8位A/D轉(zhuǎn)換器和一個8通道模擬多路開關(guān)組合而成,INO~I(xiàn)N7分別對應(yīng)8路模擬量輸人,由引腳ADDA,ADDB和ADDC決定具體是哪一條模擬量來進(jìn)行轉(zhuǎn)化。在引腳START和ALE上加1個正脈沖后,通道選擇碼立即鎖定并同時ADC轉(zhuǎn)換啟動。轉(zhuǎn)換開始后OE引腳加1個正脈沖,將輸出緩沖器的三態(tài)門打開,使轉(zhuǎn)換后的數(shù)字量能夠傳送至數(shù)據(jù)總線。

2.3 數(shù)據(jù)采集和顯示

放大處理后的電壓信號,雖然在幅值上達(dá)到了可以處理的范圍,但模/數(shù)電壓轉(zhuǎn)換的范圍是0~5 V,而傳感器輸出的電壓存在負(fù)值,為了使電壓匹配,信號電壓在接人模/數(shù)轉(zhuǎn)換器前可以加一級加法電路,將電壓信號全部轉(zhuǎn)換為正值。放大電路、濾波電路和加法電路均使用LM324實(shí)現(xiàn),硬件電路如圖4所示。

數(shù)據(jù)顯示電路分為數(shù)碼管顯示電路和PC機(jī)顯示 部分。數(shù)碼管顯示用于單片機(jī)上,單片機(jī)分別通過段顯 碼和位顯碼對數(shù)碼管上顯示的數(shù)據(jù)進(jìn)行控制。段顯碼 控制顯示的數(shù)據(jù)內(nèi)容,位顯碼則控制數(shù)碼管亮或滅。段 顯碼是單片機(jī)通過可編程通用并行接口8155逐位傳到 8位移位寄存器74LSl64中去,再由它將串行傳輸數(shù)據(jù) 變?yōu)椴⑿袛?shù)據(jù)傳給數(shù)碼管顯示。而位顯碼是單片機(jī) 通過8155一次性送到數(shù)據(jù)鎖存器74L$244中鎖存,再 去驅(qū)動數(shù)碼管并控制其亮或滅。

2.4 串行通信

該設(shè)計(jì)中采用異步串行通信的方式。而AT89C51 單片機(jī)的串行口,當(dāng)工作于方式1,2和3時,UART(通用異步接收和發(fā)送)可以實(shí)現(xiàn)單片機(jī)系統(tǒng)與PC機(jī)之間的串行通信。PC機(jī)串行通信主要是通過串行口芯片8251實(shí)現(xiàn)的。8251有10個寄存器,端口地址從3F8H~3FEH(c0M1),可以通過對8251編程來指定通信協(xié)議即通信的波特率、數(shù)據(jù)位數(shù)、奇偶類型和停止位長度。另外由于Pc機(jī)串口的電平是RS 232電平,不與單片機(jī)串口的TTL電平兼容,因此需要在它們之間進(jìn)行電平轉(zhuǎn)換。傳統(tǒng)的方法是使用MCl488將TTL電平轉(zhuǎn)換成RS 232電平,用MCl488實(shí)現(xiàn)反向轉(zhuǎn)換,由于MCl488需要±12 V電壓,使用中非常不便,故該設(shè)計(jì)采用MAXIM公司的產(chǎn)品片MAX232來實(shí)現(xiàn),由單+5 V的電壓供電,既可實(shí)現(xiàn)TTL到RS 232的電平轉(zhuǎn)換,也可實(shí)現(xiàn)RS 232到TTL電平的轉(zhuǎn)換,使用十分方便,具體的線路如圖5所示。

3 軟件實(shí)現(xiàn)部分

3.1 單片機(jī)部分

AT89C51系列單片機(jī)的串行口可工作于4種不同的方式。在該程序中,單片機(jī)串行口工作設(shè)定為方式1,即數(shù)據(jù)經(jīng)TxD端發(fā)送,RxD端接收,波特率2 400 b/s,10位構(gòu)成一幀,l位起始位,8位數(shù)據(jù)位,1位停止位,初值0F3H,SMOD=1。

由于單片機(jī)多應(yīng)用于實(shí)時性較強(qiáng)的控制場合,為了盡量少占用CPU的時間,充分發(fā)揮CPU的功能。該系統(tǒng)在單片機(jī)程序設(shè)計(jì)中采用中斷方式與PC機(jī)進(jìn)行通信。主程序只進(jìn)行串行通信、數(shù)碼管實(shí)時顯示、模/數(shù)轉(zhuǎn)換結(jié)果的初始化和循環(huán)等待串行中斷工作,當(dāng)接收到PC機(jī)發(fā)來的信號時,就轉(zhuǎn)人中斷服務(wù)程序,進(jìn)行A/D轉(zhuǎn)換,并向Pc機(jī)發(fā)送數(shù)據(jù)。中斷服務(wù)子程序流程圖如圖6所示。

以下僅給出串行通信初始化和中斷服務(wù)子程序代碼

串行通信初始化程序?yàn)椋?/p>

3.2 PC機(jī)部分

在Windows中,串行口的硬件設(shè)備通過通信驅(qū)動程序comm.drv與windows進(jìn)行連接,通過使用標(biāo)準(zhǔn)的windows API函數(shù)發(fā)送和接收數(shù)據(jù)。而MSComm控件通信功能的實(shí)現(xiàn),是調(diào)用windows API函數(shù),并通過設(shè)置其屬性和事件,來定義windows通信驅(qū)動程序的API函數(shù)接口,為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。

MSCOmm控件提供了2種處理通信的方法:一是事件驅(qū)動方法,也就是利用OnComm事件,這是一種處理串行端口活動非常有效的方法,不僅能夠利用MSCOmm控件來偵測并處理通信事件和錯誤,而且還具有程序響應(yīng)及時、可靠性高等優(yōu)點(diǎn);另一種方法是查詢法,MSComm控件的C0mmEvent屬性返回通信中產(chǎn)生的事件和錯誤類型,由通信控件自動檢測和跟蹤通信狀態(tài)后設(shè)置。因此可以直接讀取CommEvent屬性的值來檢測通信中產(chǎn)生的事件和錯誤類型,這種方法比較簡單,常用在小的自含程序中。

該設(shè)計(jì)程序即采用查詢法讀取InBufferCount的屬性值來接收單片機(jī)發(fā)來的數(shù)據(jù)。實(shí)驗(yàn)主程序?qū)Υ诔跏蓟嫵鲎鴺?biāo)系;每單擊‘繪點(diǎn)’鍵程序向單片機(jī)發(fā)送一個任意數(shù),告訴單片機(jī)將模數(shù)轉(zhuǎn)換結(jié)果發(fā)送過來,然后采用查詢方式接收該數(shù)據(jù),進(jìn)行相應(yīng)的轉(zhuǎn)化后把該點(diǎn)繪在坐標(biāo)系上,一次數(shù)據(jù)采集結(jié)束。

MSComm控件的常用屬性:CommPort:設(shè)置并返回通信端口號;Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位;Pott()pen:設(shè)置并返回通信端口的狀態(tài)也可以打開和關(guān)閉端口;Input:從接收緩沖區(qū)返回和刪除字符;Output:向傳輸緩沖區(qū)寫1個字符串。

該實(shí)驗(yàn)的Coml口串行通信初始化程序如下:

從圖7中PC機(jī)界面顯示位移一電壓坐標(biāo)圖,表1記錄的數(shù)據(jù)以及圖8在示波器上顯示的霍爾線性電路理想電壓一位移曲線圖相比較,可以發(fā)現(xiàn)由于傳感器實(shí)驗(yàn)臺受外界干擾等原因使得輸出信號輸出誤差在所難免,而且沒有電平轉(zhuǎn)換,使得VB繪圖中得到的數(shù)值存在負(fù)值;但是可以在圖中看到傳感器輸出的電壓值在正負(fù)之間有明顯的對稱性,與要求輸出的理想輸出信號波形相符合,證明本系統(tǒng)運(yùn)行良好,設(shè)計(jì)的非常成功。

4 結(jié) 語

對于目前廣泛應(yīng)用的WindOWs環(huán)境下實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的通信問題具有重要的參考價值。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7952

    瀏覽量

    155022
  • 傳感器
    +關(guān)注

    關(guān)注

    2565

    文章

    52995

    瀏覽量

    767364
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44991

    瀏覽量

    650403
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    AT89C51單片機(jī)怎么實(shí)現(xiàn)通過傳感器傳遞信號給單片機(jī),處理后驅(qū)動步進(jìn)電機(jī)運(yùn)停

    請問一下,用AT89C51單片機(jī)怎么實(shí)現(xiàn)通過速度傳感器傳遞信號給單片機(jī),處理后驅(qū)動步進(jìn)電機(jī)轉(zhuǎn)動一定角度,然后停止,謝謝
    發(fā)表于 11-01 16:10

    如何設(shè)計(jì)一款基于AT89C51單片機(jī)的溫度測控系統(tǒng)?

    設(shè)計(jì)一款基于AT89C51單片機(jī)的溫度測控系統(tǒng),介紹該系統(tǒng)的工作原理和設(shè)計(jì)方法。該系統(tǒng)溫度信號由
    發(fā)表于 03-15 07:20

    AT89C51單片機(jī)的電風(fēng)扇控制系統(tǒng)設(shè)計(jì)流程圖

    AT89C51單片機(jī)的電風(fēng)扇控制系統(tǒng)設(shè)計(jì)流程圖仿真圖AT89C51單片機(jī)的電風(fēng)扇控制系統(tǒng)設(shè)計(jì)+流
    發(fā)表于 09-08 06:52

    AT89C51單片機(jī)溫度控制系統(tǒng)

    AT89C51單片機(jī)溫度控制系統(tǒng):本系統(tǒng)AT89C51單片機(jī)
    發(fā)表于 09-10 18:56 ?243次下載

    AT89C51系列單片機(jī)燒寫的設(shè)計(jì)與實(shí)現(xiàn)

    〔摘要〕本文以AT89C51單片機(jī)為例,介紹其電路和工作原理。〔關(guān)鍵詞〕單片機(jī);串行通信;MAX232
    發(fā)表于 09-11 10:05 ?190次下載

    如何實(shí)現(xiàn)(電腦)PC機(jī)單片機(jī)AT89C51的串行通信

    如何實(shí)現(xiàn)(電腦)PC機(jī)單片機(jī)AT89C51的串行通信 在Windows95下使用串口API函數(shù)實(shí)現(xiàn)PC
    發(fā)表于 04-07 09:45 ?4785次閱讀

    AT89C51單片機(jī)簡介

    AT89C51單片機(jī)簡介 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(FPEROM—Falsh Programmable and Erasable Read Only
    發(fā)表于 11-12 08:39 ?2w次閱讀
    <b class='flag-5'>AT89C51</b><b class='flag-5'>單片機(jī)</b>簡介

    采用AT89C51單片機(jī)設(shè)計(jì)的變頻調(diào)速控制系統(tǒng)

    采用AT89C51單片機(jī)設(shè)計(jì)的變頻調(diào)速控制系統(tǒng) 摘 要:本文介紹了一種由AT89C51單片機(jī)為主控制
    發(fā)表于 04-27 09:33 ?3750次閱讀
    采用<b class='flag-5'>AT89C51</b><b class='flag-5'>單片機(jī)</b>設(shè)計(jì)的變頻調(diào)速控制<b class='flag-5'>系統(tǒng)</b>

    基于AT89C51單片機(jī)的萬年歷設(shè)計(jì)與實(shí)現(xiàn)

    本文提出了一種基于AT89C51單片機(jī)的萬年歷設(shè)計(jì)方案,本方案以AT89C51單片機(jī)為主核心,與時鐘芯片DS1302、按鍵、LED顯示等模塊構(gòu)成硬件
    發(fā)表于 05-28 10:46 ?844次下載
    基于<b class='flag-5'>AT89C51</b><b class='flag-5'>單片機(jī)</b>的萬年歷設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于AT89C51單片機(jī)的電子計(jì)價秤的設(shè)計(jì)與實(shí)現(xiàn)

    本文介紹了基于AT89C51單片機(jī)的電子計(jì)價秤的軟硬件設(shè)計(jì)方法。該方法是由應(yīng)變片式傳感器組成的全橋電路感應(yīng)物料重量后轉(zhuǎn)換成與之成線性關(guān)系的電壓,再通過V/F變換電路、10倍倍頻電路轉(zhuǎn)換脈沖信號輸入
    發(fā)表于 03-28 15:38 ?33次下載

    AT89C51單片機(jī)實(shí)現(xiàn)頻率測量

    AT89C51單片機(jī)實(shí)現(xiàn)頻率測量,參考資料。
    發(fā)表于 05-06 10:25 ?0次下載

    基于AT89C51單片機(jī)的大棚環(huán)境測控系統(tǒng)

    基于AT89C51單片機(jī)的大棚環(huán)境測控系統(tǒng)
    發(fā)表于 05-18 08:50 ?14次下載

    基于AT89C51單片機(jī)的電子表設(shè)計(jì)

    AT89C51 單片機(jī)的電子表設(shè)計(jì)
    發(fā)表于 06-21 09:13 ?57次下載

    AT89C51單片機(jī)

    AT89C51單片機(jī)學(xué)習(xí)一、AT89S51單片機(jī)的I/O端口二、AT89S51單片機(jī)的中斷
    發(fā)表于 11-12 12:21 ?66次下載
    <b class='flag-5'>AT89C51</b><b class='flag-5'>單片機(jī)</b>

    基于AT89C51單片機(jī)用8255實(shí)現(xiàn)接口擴(kuò)展Proteus仿真及程序

    基于AT89C51單片機(jī)用8255實(shí)現(xiàn)接口擴(kuò)展Proteus仿真及程序
    發(fā)表于 05-05 09:57 ?12次下載