亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Arduino開(kāi)發(fā)環(huán)境的光電編碼器檢測(cè)儀的設(shè)計(jì)

        2014-04-12 00:00:00吳勇李林濤陳世純彭煒
        現(xiàn)代電子技術(shù) 2014年2期

        摘 要: 為了能快速簡(jiǎn)便地判斷光電編碼器的好壞,設(shè)計(jì)了一種基于Arduino新型集成開(kāi)發(fā)環(huán)境的光電編碼器檢測(cè)儀,實(shí)現(xiàn)了Arduino板與可編程智能液晶觸摸顯示器終端的通信控制,完成了對(duì)光電編碼器信號(hào)準(zhǔn)確的計(jì)數(shù),并能判斷其好壞。檢測(cè)儀操作簡(jiǎn)單方便,對(duì)于基于Arduino集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)的產(chǎn)品具有一定的參考價(jià)值。

        關(guān)鍵詞: Arduino; 光電編碼器; 觸摸顯示器; 脈沖計(jì)數(shù)

        中圖分類(lèi)號(hào): TN964?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)02?0124?03

        0 引 言

        Arduino是一款基于單片機(jī)系統(tǒng)的電子產(chǎn)品開(kāi)發(fā)平臺(tái),它的軟硬件系統(tǒng)都具有高度的模塊化,而且軟件系統(tǒng)是完全開(kāi)源的。其硬件系統(tǒng)也是高度模塊化的,在核心控制板的外圍有開(kāi)關(guān)量輸入/輸出模塊、各種模擬量傳感器輸入模塊、總線類(lèi)傳感器的輸入模塊,還有網(wǎng)絡(luò)通信模塊[1?2]。Arduino有自己特有的編程語(yǔ)言。其語(yǔ)法規(guī)則類(lèi)似C/C++語(yǔ)言,IDE環(huán)境和語(yǔ)言把單片機(jī)與硬件相關(guān)的一些參數(shù)都參數(shù)化并進(jìn)行了很好的封裝,把端口都打包,寄存器、地址指針之類(lèi)的基本不用管,大大降低了軟件開(kāi)發(fā)難度。因此不用開(kāi)發(fā)者去了解其硬件結(jié)構(gòu)即可對(duì)其編程,實(shí)現(xiàn)設(shè)計(jì)者的設(shè)計(jì)意圖和創(chuàng)意[3]。

        本文提出了一種基于Arduino開(kāi)發(fā)環(huán)境的光電編碼器檢測(cè)儀設(shè)計(jì)方案,能夠?qū)怆娋幋a器的好壞進(jìn)行判斷,實(shí)現(xiàn)光電編碼器正轉(zhuǎn)與反轉(zhuǎn)時(shí)的脈沖計(jì)數(shù)。

        1 整體設(shè)計(jì)

        該檢測(cè)儀主要由調(diào)理電路、Arduino控制板、液晶顯示電路等組成,如圖1所示。

        CLKA和CLKB為光電編碼器輸出的兩路相位相差90°的編碼信號(hào)。調(diào)理電路用來(lái)對(duì)這兩路信號(hào)進(jìn)行整形濾波等信號(hào)處理,最后送至Arduino控制板。Arduino控制板用來(lái)實(shí)現(xiàn)光編碼器脈沖個(gè)數(shù)的計(jì)數(shù),正轉(zhuǎn)、反轉(zhuǎn)兩種脈沖信號(hào)的判別。液晶顯示電路用來(lái)顯示檢測(cè)的參數(shù),同時(shí)對(duì)不同型號(hào)光電編碼器進(jìn)行選擇控制。

        2 硬件部分設(shè)計(jì)

        2.1 調(diào)理電路

        信號(hào)調(diào)理電路用于檢測(cè)信號(hào)的調(diào)理,主要是把待測(cè)交流信號(hào),經(jīng)過(guò)濾波、放大、選通、有效值轉(zhuǎn)換、限幅等處理,送到微控制器進(jìn)行測(cè)量。

        圖2為調(diào)理電路框圖,光電編碼器輸出的兩路相位相差90°的正弦波信號(hào)A、B,經(jīng)施密特觸發(fā)器變?yōu)閍、b兩組方波信號(hào)。A分為兩組:一路經(jīng)微分電路,在方波的上升沿形成脈沖信號(hào)d,再由門(mén)電路輸出,形成正轉(zhuǎn)脈沖,另一路經(jīng)反相器,形成反相方波c,再經(jīng)微分電路形成脈沖信號(hào)e,由門(mén)電路輸出反相脈沖g。b組方波直接連到兩個(gè)門(mén)電路的控制端,作為兩個(gè)門(mén)電路的選通信號(hào)。

        光電編碼器正轉(zhuǎn)時(shí),b組信號(hào)超前90°,它的方波正半波對(duì)應(yīng)不經(jīng)反相器a組方波的上升沿,正半波又使門(mén)電路選通,d組脈沖通過(guò)門(mén)電路形成正轉(zhuǎn)脈沖;而c組方波的上升沿對(duì)應(yīng)b組方波負(fù)半波,此時(shí)雖然微分電路輸出e脈沖,但門(mén)電路關(guān)閉,不能輸出反相脈沖g。當(dāng)編碼器反轉(zhuǎn)時(shí),情況正好相反。最終輸出的脈沖分別送入控制檢測(cè)電路進(jìn)行計(jì)數(shù)。

        2.2 Arduino控制板

        本檢測(cè)儀采用了意大利最新開(kāi)發(fā)的Arduino Due微控制器。Arduino Due是一塊基于 Atmel SAM3X8E CPU的微控制器板。它是第一塊基于32位ARM核心的Arduino,使用32位ARM核心的Due相較于以往的使用8位AVR核心的其他Arduino更強(qiáng)大:32位核心在一個(gè)時(shí)鐘能處理32位的數(shù)據(jù)??刂瓢灏?4個(gè)數(shù)字I/O引腳 (其中12路PWM輸出),12個(gè)模擬輸入通道,2個(gè)模擬輸出通道 (DAC),I/O口總輸出電流為130 mA。3.3 V端口輸出能力為800 mA,5 V端口輸出能力為800 mA,F(xiàn)LASH 512 KB (所有空間都可以?xún)?chǔ)存用戶(hù)程序),SRAM 96 KB (兩個(gè)部分:64 KB and 32 KB),時(shí)鐘速率[4?5]為 84 MHz。

        由于Arduino due的工作電壓為3.3 V,I/O口可承載電壓也為3.3 V,所以經(jīng)過(guò)調(diào)理電路產(chǎn)生的5 V脈沖不能直接處理。本檢測(cè)儀通過(guò)SN74lVC4245芯片把5 V的脈沖整形為3.3 V的脈沖。

        2.3 液晶顯示電路

        本設(shè)計(jì)中采用了國(guó)產(chǎn)開(kāi)發(fā)的可編程智能LCD(即Programmable Smart LCD,簡(jiǎn)稱(chēng)PS?LCD)。PS?LCD是一種包含LCD顯示屏、LCD控制器、觸摸屏、人機(jī)界面處理系統(tǒng)和通信接口于一體的智能顯示模組,通過(guò)可選的通信接口與外部控制單元(如:51單片機(jī)、ARM、DSP、PC、PLC、總線設(shè)備等)連接,實(shí)現(xiàn)系統(tǒng)的人機(jī)交互界面。

        新建Designer工程,定義界面分辨率、界面切換效果和主界面等;設(shè)置背景、加入/設(shè)置控件、定義事件動(dòng)作等;PS?LCD的采用Java Script的腳本語(yǔ)言,Java Script是因特網(wǎng)上最流行的腳本語(yǔ)言,它存在于全世界所有 Web 瀏覽器中,能夠增強(qiáng)用戶(hù)與 Web 站點(diǎn)和 Web 應(yīng)用程序之間的交互。本液晶顯示屏通過(guò)腳本編寫(xiě)實(shí)時(shí)地顯示微控制器采集送過(guò)來(lái)的脈沖個(gè)數(shù),并進(jìn)行判斷。

        用LCD模擬器驗(yàn)證界面效果和通信過(guò)程,重復(fù)前面步驟直到滿(mǎn)意為止。

        PS?LCD作為先進(jìn)的智能人機(jī)界面產(chǎn)品,能通過(guò)通信接口輕松靈活地與外部控制單元實(shí)現(xiàn)數(shù)據(jù)交互。目前,PS?LCD支持兩種通信協(xié)議:CTP(Cooky Talking Protocol)協(xié)議和用戶(hù)自定義(UserDefine)協(xié)議。本檢測(cè)儀采用的是CTP協(xié)議。

        在CTP通信模式下,PS?LCD在收到通信命令后,會(huì)立刻執(zhí)行,結(jié)束后會(huì)向主控制器返回結(jié)果。由于PS?LCD的串口通信協(xié)議跟微控制器Arduino Due的通信協(xié)議不一致,在通信過(guò)程中要進(jìn)行轉(zhuǎn)換和控制。為了取消PS?LCD命令執(zhí)行結(jié)果的自動(dòng)回復(fù)消息,在CTP通信模式下,通過(guò)調(diào)用ctpSet(“reply”, 0)函數(shù)取消PS?LCD的自動(dòng)回復(fù)。PS?LCD同時(shí)通過(guò)通信協(xié)議產(chǎn)生的串口信號(hào)來(lái)控制微控制器的工作,真正實(shí)現(xiàn)人機(jī)互動(dòng)的效果[6]。

        生成界面輸出文件spf,然后將spf文件通過(guò)PS?LCD專(zhuān)用軟件工具Flex下載到PS?LCD驗(yàn)證最終界面效果。

        本檢測(cè)儀PS?LCD最終的檢測(cè)界面如圖3所示。

        圖3 檢測(cè)界面

        3 軟件部分設(shè)計(jì)

        3.1 脈沖計(jì)數(shù)子程序

        為了能更加準(zhǔn)確地對(duì)脈沖進(jìn)行測(cè)試,采用外部中斷進(jìn)行計(jì)數(shù),Arduino due 控制板的54個(gè)數(shù)字I/O引腳,均可以作為中斷端口。編寫(xiě)的主要計(jì)數(shù)程序如下[7?10]:

        void setup()

        {

        Serial.begin(115200);

        pinMode(APin, INPUT);

        pinMode(BPin,INPUT);

        attachInterrupt(APin, blinkA,RISING); //上升沿中斷模式//

        attachInterrupt(BPin, blinkB,RISING);

        T=millis();

        }

        void loop()

        {

        if(Serial.available() > 0) //判斷顯示器是否發(fā)送信號(hào)//

        {

        str1 = Serial.read();

        if( str1==′A′)

        //根據(jù)顯示器送來(lái)的信號(hào)判斷光電編碼器型號(hào)//

        {

        count=0;

        num=0; //清零//

        }

        }

        while(num!=count)

        {

        num=count;

        sprintf(str,\"pulse.text=%d;\",num);

        Serial.println(str);

        }

        }

        void blinkA()

        {

        if((millis()?T)>0.5) //防抖動(dòng)設(shè)計(jì)//

        {

        count++;

        T=millis();

        }

        }

        void blinkB()

        {

        if((millis()?T)>0.5) //防抖動(dòng)設(shè)計(jì)//

        {

        count??;

        T=millis();

        }

        }

        3.2 液晶顯示程序

        根據(jù)所要測(cè)試的光電編碼器,選擇不同的型號(hào),不同型號(hào)的光電編碼器定義不同的發(fā)送信號(hào),以LBJ?001?2048型光電編碼器為例,選擇按鈕的腳本編寫(xiě)子程序如下:

        pulse.text=\"\"; //脈沖顯示個(gè)數(shù)清零//

        result.text=\"\"; //脈沖判斷結(jié)果清零//

        du.text=\"\"; //角速度顯示結(jié)果清零//

        if (xinghao.currentIndex=1) //選擇第一種型號(hào)//

        sysCom0.write(0x41); //向單片機(jī)發(fā)出A控制字符//

        else if (xinghao.currentIndex=2) //選擇第二種型號(hào)//

        sysCom0.write(0x42); //向單片機(jī)發(fā)出B控制字符//

        其中sysCom0.write(0x41)為寫(xiě)入串口發(fā)送緩沖區(qū),串口向外部發(fā)送1字節(jié)數(shù)據(jù) 0x41,即是字符‘A’。當(dāng)Arduino微控板接收到串口送過(guò)來(lái)的‘A’字符時(shí),即可判斷出待測(cè)試的光電編碼器型號(hào)為L(zhǎng)BJ?001?2048,啟動(dòng)相對(duì)應(yīng)的程序進(jìn)行測(cè)試。同理當(dāng)選擇第二種型號(hào)測(cè)試時(shí),Arduino微控板將接收到串口送過(guò)來(lái)的‘B’字符時(shí),即可判斷出待測(cè)試的光電編碼器型號(hào)為SE0932II?5400P/r,啟動(dòng)相對(duì)應(yīng)的程序進(jìn)行測(cè)試。

        4 結(jié) 語(yǔ)

        本文著重介紹了基于Arduino開(kāi)發(fā)環(huán)境的光電編碼器檢測(cè)儀的設(shè)計(jì),并實(shí)現(xiàn)Arduino微控板與PS?LCD的通信控制問(wèn)題。由于Arduino是一個(gè)開(kāi)放的單片機(jī)開(kāi)發(fā)人機(jī)互動(dòng)產(chǎn)品的軟硬件平臺(tái),對(duì)于基于Arduino開(kāi)發(fā)環(huán)境的電子制作競(jìng)賽、電子藝術(shù)品創(chuàng)意開(kāi)發(fā)、電子檢測(cè)產(chǎn)品等方面具有較好的參考價(jià)值。

        參考文獻(xiàn)

        [1] 蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計(jì)工程,2012,20(16):155?157.

        [2] 李德駿,馬孝輝.基于Arduino平臺(tái)的家用安防監(jiān)控系統(tǒng)設(shè)計(jì)[J].科技與生活,2011(1):114?115.

        [3] 王汀.微處理機(jī)原理與接口技術(shù)[M].杭州:浙江大學(xué)出版社,2008.

        [4] 楊繼志,楊宇環(huán).基于Arduino的網(wǎng)絡(luò)互動(dòng)產(chǎn)品創(chuàng)新設(shè)計(jì)[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2012,25(1):99?101.

        [5] 紀(jì)欣然.基于Arduino開(kāi)發(fā)環(huán)境的智能尋光小車(chē)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(15):161?163.

        [6] 紀(jì)松波,侯婷.智能液晶觸摸顯示終端與單片機(jī)接口的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(12):16?18.

        [7] 崔才豪,張玉華,楊樹(shù)財(cái).利用Arduino控制板的光引導(dǎo)運(yùn)動(dòng)小車(chē)設(shè)計(jì)[J].自動(dòng)化儀表,2011,32(9):5?7.

        [8] BENDER P, KUSSMANN K. Arduino based projects in the computer science capstone course [J].Journal of Computing Sciences in Colleges, 2012, 27(5): 152?157.

        [9] 鄒建梅,王亞格.利用Arduino增強(qiáng)FLASH互動(dòng)性的研究[J].中國(guó)教育技術(shù)裝備,2010(36):107?109.

        [10] 袁本華,董錚.基于Arduino控制板的溫室大棚測(cè)溫系統(tǒng)設(shè)計(jì)[J].安徽農(nóng)業(yè)科學(xué),2012,40(8):5049?5050.

        国产精品九九久久一区hh| 天堂中文官网在线| 亚洲а∨天堂久久精品2021| 亚洲色大成网站www在线观看 | 最新国产在线精品91尤物| 日韩av一区二区三区精品| 熟女人妻在线中文字幕| 99久久人妻无码精品系列| 女人被做到高潮免费视频| 无码高潮少妇毛多水多水免费 | 天堂精品人妻一卡二卡| 老鸭窝视频在线观看| 日本人与黑人做爰视频网站| Y111111国产精品久久久| 亚洲精品国产第一区三区| 青春草在线视频观看| 国产真实夫妇交换视频| 亚洲av不卡电影在线网址最新| 日韩精品自拍一区二区| 国产精品 无码专区| 亚洲欧美日韩综合久久久| 人妻无码ΑV中文字幕久久琪琪布| 在线观看国产一区二区av| 中文字幕无线码免费人妻| 青青草国产成人99久久| 最新国产精品精品视频 | 亚洲色欲色欲www在线播放| 成在线人视频免费视频| 日韩av在线手机免费观看| 亚洲人成网网址在线看| 四虎影视在线观看2413| 久久国产高潮流白浆免费观看| 国内嫩模自拍诱惑免费视频| 日本乱偷人妻中文字幕在线| 国产小屁孩cao大人| 国产一区二区三区在线观看黄| 亚洲精品国产成人片| 久久久久久av无码免费看大片| 日本av一区二区播放| 加勒比东京热中文字幕| 亚洲精品无码久久久久秋霞|