基于LabVIEW的直流電機測控系統(tǒng)設(shè)計_第1頁
基于LabVIEW的直流電機測控系統(tǒng)設(shè)計_第2頁
基于LabVIEW的直流電機測控系統(tǒng)設(shè)計_第3頁
基于LabVIEW的直流電機測控系統(tǒng)設(shè)計_第4頁
基于LabVIEW的直流電機測控系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

岳址農(nóng)抹科找大學(xué)NORTHWESTA&FUNIVERSITY學(xué)號:岳址農(nóng)抹科找大學(xué)NORTHWESTA&FUNIVERSITY機械與電子工程學(xué)院Coileg?cfMechanicalandElectronicEngineering《虛擬儀器技術(shù)》課程大作業(yè)基于LabVIEW的直流電機測控系統(tǒng)設(shè)計專業(yè)班級:學(xué)生姓名:指導(dǎo)教師:完成日期:成績:目錄TOC\o"1-5"\h\z\o"CurrentDocument"設(shè)計要求、內(nèi)容 2要求 2內(nèi)容 2LabVIEW與單片機串口通信硬件/程序設(shè)計 2\o"CurrentDocument"電機驅(qū)動模塊/調(diào)速程序設(shè)計 6電機測速模塊/測速程序設(shè)計 8\o"CurrentDocument"總硬件/程序的設(shè)計 11\o"CurrentDocument"1.3設(shè)計環(huán)境: 14\o"CurrentDocument"設(shè)計過程 14\o"CurrentDocument"設(shè)計思路 14硬件系統(tǒng)方案設(shè)計 14軟件系統(tǒng)設(shè)計 14\o"CurrentDocument"程序設(shè)計流程 15\o"CurrentDocument"設(shè)計好的程序框圖及前面板 16\o"CurrentDocument"任務(wù)總結(jié)與展望 17\o"CurrentDocument"個人收獲 17\o"CurrentDocument"附:個人信息 171設(shè)計要求、內(nèi)容1.1要求1?理解《虛擬儀器技術(shù)》課程中所學(xué)的理論知識,掌握相關(guān)的設(shè)計方法和技能,能夠讀懂一些不太難的程序,能夠獨立的設(shè)計一些不太復(fù)雜的程序;2?能熟練運用LabVIEW進行編程操作,并且能夠自主的通過即時幫助通過程序的編寫明白一些未知控件的作用;3?通過學(xué)習(xí),掌握基于LabVIEW的電機測控系統(tǒng)的具體設(shè)計過程,完成設(shè)計;4?認真總結(jié),完成計報告1.2內(nèi)容1.2.1LabVIEW與單片機串口通信硬件/程序設(shè)計單片機作為下位機核心器件,負責(zé)數(shù)據(jù)的采集和通信及電機轉(zhuǎn)速的控制, 而上位機通常以基于圖形界面的Windows系統(tǒng)為操作平臺。核心是數(shù)據(jù)通信,它包括單片機和上位機之間的通信,而單片機和上位機之間數(shù)據(jù)通信則是整個系統(tǒng)的基礎(chǔ)。單片機和PC的通信是通過單片機的串口和PC串口之間的硬件連接實現(xiàn)的。Tnrxricamn?HOUTA3^■&N?wc圖1.1PC與單片機串口通信線路數(shù)據(jù)通信的硬件上采用3線制,將單片機和PC串口的3個引腳(RXD、TXD、GND)分別連在一起,即將PC和單片機的發(fā)送數(shù)據(jù)線TXD與接收數(shù)據(jù)RXD交叉連接,兩者的地線GND直接相連,而其他信號線,如握手信號線均不用,采用軟件握手的方式,這樣既可以實現(xiàn)預(yù)定的任務(wù)又可以簡化電路設(shè)計。利用KeilC51和LabVIEW編寫程序?qū)崿F(xiàn)PC與單片機串口通信。C51程序:#include<REG52.H>/*主程序*/voidmain(void){SCON=0x50;/*SCON:模式1,8-bitUART,使能接收*/TMOD=0x20;/*TMOD:timer1,mode2,8-bitreload*/TH1=0xFD;/*TH1:reloadvaluefor9600baud11.0592MHz*/

TL1=0XFD;TR1=1; /*TR1:timer1run*/EA=1; /*打開總中斷*/ES=1; /*打開串口中斷*/while(1){}}while(1){}}voidUART_SER(void)interrupt4//{unsignedcharTemp;if(RI){RI=0;Temp=SBUF;P0=~Temp;SBUF=Temp;}if(TI)TI=0;}LabVIEW程序://主循環(huán)不做任何動作串行中斷服務(wù)程序//定義臨時變量//判斷是接收中斷產(chǎn)生//標(biāo)志位清零//讀入緩沖區(qū)的值//把值輸出到P0口,用于觀察//把接收到的值再發(fā)回電腦端//如果是發(fā)送標(biāo)志位,清零FTO3T|steE|Er圖1.2發(fā)送程序圖1.3接收程序FTO3T|steE|Er圖1.2發(fā)送程序圖1.3接收程序圖1.4判斷通信狀態(tài)程序圖1.5LabVIEW前面板1?設(shè)計任務(wù)一PC通過串行口將數(shù)字(00,01,02,03...,FF,十六進制)發(fā)送給單片機,單片機收到后回傳這個數(shù)字,PC接收到回傳數(shù)據(jù)后顯示出來,若發(fā)送的數(shù)據(jù)和接收到的數(shù)據(jù)相等,貝U串行通信正確,否則有錯誤。啟始符是數(shù)字 00,結(jié)束符是數(shù)字FF。斗嚴(yán):fTK■二MbjI?>I1I-片*IT'Q^-lrF*t§ 1E5-1:sn斗嚴(yán):fTK■二MbjI?>I1I-片*IT'Q^-lrF*t§ 1E5-1:sn■-<u:i- US:?-e.:■■rn-li.^-?Ell11M科.HM.iI.-:-!:.J'TII—nTTjWTBSr? 注帕 - ■■1TU^mr-am蘭帀■+?*1^-??|WIM<n>]l!3E>lta-t(l[NHbmuiHMIEilmlhBll.nAiH雷兀Je:-LZMTJEX-&lzi圖1.6串口助手調(diào)試單片機串口通信2?設(shè)計任務(wù)二(1)測試通信狀態(tài)。

先在文本框中輸入字符串FF”,單擊測試”按鈕,將字符串FF”發(fā)送到單片機,若PC與單片機通信正常,在LabVIEW程序前面板顯示字符串“0K”,否貝U顯示字符串通信異?!薄D1.7LabVIEW圖1.7LabVIEW與單片機串口通信測試(2)控制指示燈。將單片機接收到的數(shù)值賦給P0口,P0口接一排LED,觀察LED的顯示結(jié)果(表示該數(shù)值的二進制顯示)是否與輸入值相符合。圖1.8輸入“FF”圖圖1.8輸入“FF”圖1.9輸入“01”單片機和LabVIEW通信,在程序設(shè)計上涉及兩個部分的內(nèi)容。一是單片機的C51程序,二是LabVIEW的串口通信程序和界面的編制1.2.2電機驅(qū)動模塊/調(diào)速程序設(shè)計圖1.10LS298N驅(qū)動模塊設(shè)置IN1和IN2,確定電機的轉(zhuǎn)動方向,然后對使能端輸出PWM脈沖,實現(xiàn)電機調(diào)速。當(dāng)使能信號為0,電機處于自由停止?fàn)顟B(tài);當(dāng)使能信號為1,且IN1和IN2為00或11時,電機處于制動狀態(tài),阻止電機轉(zhuǎn)動。C51程序:#include<reg52.h>sbitIN仁P1A0;sbitIN2=P1A1;sbitENA=P"2;〃x毫秒延時voiddelay(unsignedintx){unsignedinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}〃y微秒延時voiddelay_us(unsignedinty){while(y__);}//主函數(shù)voidmain(){

while(1){unsignedinti,cycle=1300,T=2048;/*IN1=1;IN2=0;for(i=0;i<200;i++){//反轉(zhuǎn)PWM脈沖delay(10);ENA=~ENA;}//PWM占空比為50%,修改延時調(diào)整*/IN1=0;IN2=1;for(i=0;i<200;i++){delay(10);ENA=~ENA;}//正轉(zhuǎn)IN1=0;IN2=1;while(cycle<2048){ENA=1;delay_us(cycle++);ENA=0;delay_us(T-cycle);}//自動加速正轉(zhuǎn)/*IN1=1;IN2=0;//自動減速反轉(zhuǎn)*/while(cycle>1300){ENA=1;delay_us(cycle--);ENA=0;delay_us(T-cycle);}}

1.2.3電機測速模塊/測速程序設(shè)計圖1.11光電耦合測速傳感器模塊1?模塊槽中無遮擋時,接收管導(dǎo)通,模塊DO輸出低電平,遮擋時,DO輸出高電平;2、DO輸出接口可以與單片機10口直接相連,檢測傳感器是否有遮檔,如用電機碼盤則可檢測電機的轉(zhuǎn)速。設(shè)計選用的測速碼盤有20格光柵,因此速度計算公式為:Speed=(count/20)*60(轉(zhuǎn)/分)圖1.12電機測速調(diào)試1圖1.13電機測速調(diào)試2C51程序:#include<REG52.H>sbitIN仁P1A0;sbitIN2=P1A1;sbitENA=P1A2;unsignedinti=0,pul=0,count=0,Speed=0;unsignedintcycle=2000,T=7000;//x毫秒延時voiddelay(unsignedintx){unsignedinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}〃y微秒延時voiddelay_us(unsignedinty){while(y--);}voidmain(){TMOD=0x15;//打開定時器T1和計數(shù)器T0,TMOD為00010101,都為模式1因此矩形脈沖輸入端接P3.4EA=1;TH0=0x00;TL0=0x00;ET0=1;ET1=1;TH1=0x3C; //50ms 0x3CB0=15536TL1=0xB0;TR0=1;TR1=1;while(1){IN1=0; //自動加速正轉(zhuǎn)IN2=1;while(cycle<3000)

ENA=1;delay_us(cycle++);ENA=0;delay_us(T-cycle);}while(cycle>2000) //自動減速{ENA=1;delay_us(cycle--);ENA=0;delay_us(T-cycle);}}//定時器中斷時間到//定時器中斷時間到,就讀取計數(shù)器值timer3()interrupt3{TH1=0X3C;TL1=0XB0;i++;if(i<20) //累計1s內(nèi)的脈沖數(shù){pul=TH0; //計數(shù)器計入脈沖,每來一個矩形脈沖計數(shù)值加 1pul=pul<<8;//得高八位后,左移8位,pul=pul+TL0;//再加上低八位count+=pul;pul=0;TH0=0; //計數(shù)器速度獲取后清零,進行下次獲取TL0=0;}if(i==20) //每秒更新一次速度{pul=TH0; //計數(shù)器計入脈沖,每來一個矩形脈沖計數(shù)值加 1pul=pul<<8;pul=pul+TL0;count+=pul;Speed=(count/20)*60; //測得的速度(轉(zhuǎn)/分)i=0;count=0;

THO=O;TLO=O;PO=~Speed;}〃計數(shù)器速度獲取后清零,進行下次獲取〃觀察速度值}〃計數(shù)器速度獲取后清零,進行下次獲取〃觀察速度值圖1.14直流電機測控系統(tǒng)硬件原理框圖直流電機圖1.15總硬件設(shè)計1.2.4總硬件/程序的設(shè)計圖1.14直流電機測控系統(tǒng)硬件原理框圖直流電機圖1.15總硬件設(shè)計C51總程序:#include<REG52.H>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>sbitIN仁P1A0;sbitIN2=P1A1;sbitENA=P1A2;unsignedinti=0,pul=0,count=O,Speed=O,Speed_dec=O;unsignedintcycle=2000,T=7000;〃x毫秒延時voiddelay(unsignedintx){

unsignedinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}〃y微秒延時voiddelay_us(unsignedinty){while(y--);}/*主程序*/voidmain(void){SCON=0x50;/*SCON:模式1,8-bitUART,使能接收*/TMOD=0x25;/*TMOD:timer1,mode2,8-bitreloadT0計數(shù),模式1,因此矩形脈沖輸入端接P3.4*/TH1=0xFD;TL1=0XFD;/*TH1:reloadvaluefor9600baud11.0592MHz*/TH0=0x00;TL0=0x00;TR1=1;EA=1;/*TR1:timer1run*//*打開總中斷*/ES=1;TR0=1;/*打開串口中斷*/TR1=1;while(1)/*TR1:timer1run*///主循環(huán){if(Speed_dec=Speed){//停轉(zhuǎn)////停轉(zhuǎn)//自動加速正轉(zhuǎn)IN2=0;}if(Speed_dec>Speed){IN1=0;IN2=1;while(cycle!=T){ENA=1;delay_us(cycle++);

ENA=0;delay_us(T-cycle);}}if(Speed_dec<Speed){IN1=1;//IN1=1;//自動減速反轉(zhuǎn)串行中斷服務(wù)程序,串行中斷服務(wù)程序,在LabVIEW中設(shè)置每隔一秒中斷//定義臨時變量//計算速度//判斷是接收中斷產(chǎn)生//標(biāo)志位清零//讀入緩沖區(qū)的值IN2=0;while(cycle!=T){ENA=1;delay_us(cycle++);ENA=0;delay_us(T-cycle);}}voidUART_SER(void)interrupt4//一次(便于測速){unsignedcharTemp1,ch1;unsignedcharhex;unsignedinti;TH1=0X3C;TL1=0XB0;i++;if(RI){RI=0;Temp1=SBUF;if(Temp1>=0x30&&Temp1<=0x39)ch1=Temp1-0x30;elseif(Temp1>=0x41&&Temp1<=0x46)ch1=Temp1-0x37;elsech1=0xff;pul=TH0; //計數(shù)器計入脈沖,每來一個矩形脈沖計數(shù)值加 1pul=pul<<8;pul=pul+TL0;count+=pul;Speed=(count/20)*60;//測得的速度(轉(zhuǎn)/分)i=0;count=0;TH0=0; //計數(shù)器速度獲取后清零,進行下次獲取TL0=0;SBUF=Speed; //把速度值再發(fā)回電腦端}if(TI) //如果是發(fā)送標(biāo)志位,清零TI=0;}1.3設(shè)計環(huán)境:硬件環(huán)境:單片機、直流電機及驅(qū)動模塊、串口。軟件環(huán)境:LabVIEW編程軟件、Keil編程軟件、串口調(diào)試助手。2設(shè)計過程2.1設(shè)計思路2.1.1硬件系統(tǒng)方案設(shè)計本系統(tǒng)主要實現(xiàn)對直流電機進行測速和調(diào)速。(1)調(diào)速控制由LabVIEW編程產(chǎn)生電機所需要控制的轉(zhuǎn)速值,將該速度值通過串口送入單片機,與測得的速度值進行比較,若送入值大于測量值則單片機控制直流電機加速,若送入值小于測量值則單片機控制直流電機減速。(2)測速控制將電機上的測速碼盤安裝在光電耦合器的發(fā)射端和接收端之間,當(dāng)測速碼盤轉(zhuǎn)動時,光柵阻擋光耦發(fā)射出的光信號,在光耦接收端得到一段連續(xù)的脈沖波形,該脈沖波形經(jīng)過斯密特觸發(fā)器進行整形后,得到一形狀規(guī)則的脈沖波形。整形后的脈沖波形輸出至單片機計數(shù)器端,用C51程序算出速度值后傳回計算機(LabVIEW)并顯示。2.1.2軟件系統(tǒng)設(shè)計LabVIEW程序,主要包括用戶界面設(shè)計(前面板的設(shè)計)和框圖程序設(shè)計兩部分。(1) 用戶界面設(shè)計用戶界面(前面板)是虛擬儀器的重要組成部分,儀器參數(shù)的設(shè)置、測試結(jié)果顯示等功能都是通過軟件實現(xiàn),因此要求軟件界面簡單直接,便于使用。用戶可根據(jù)需要設(shè)置轉(zhuǎn)速參數(shù),并將測量結(jié)果數(shù)據(jù)顯示出來。(2) 框圖程序設(shè)計系統(tǒng)框圖程序大體分為三個模塊:通信模塊和儀器功能模塊。通信模塊模塊中包括對設(shè)定速度值的發(fā)送和對測量速度的接收;儀器功能模塊主要實現(xiàn)參數(shù)設(shè)置和測量結(jié)果顯示。C51單片機程序設(shè)計,主要包括控制電機加速、減速,輸入速度和測量速度,比較以及串口通信程序。因為測速碼盤有20片光柵,所以應(yīng)將1s內(nèi)計數(shù)值除以20再乘以60才得到風(fēng)扇轉(zhuǎn)速(轉(zhuǎn)/分)。2.2程序設(shè)計流程圖2.1程序設(shè)計流程圖

2.3設(shè)計好的程序框圖及前面板程序框圖:□ 口口口3□LUJU□L.LUULUS JU□Z3Jm:B就砂咐I"na03asEDEnE□□□Z□Zu;4□ 口口口3□LUJU□L.LUULUS JU□Z3Jm:B就砂咐I"na03asEDEnE□□□Z□Zu;4'^|■n,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論