單片機課程設計論文--直流電機調速_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  目錄</b></p><p>  摘要………………………………………………………… ……… …………………1 </p><p>  方案選擇………………………………………………………… ……… ………2</p><p>  1、直流電機調速環(huán)節(jié)………………………………………………………… ………2</p&

2、gt;<p>  2、直流電機速度測量環(huán)節(jié)……………………… …………………………… ………2</p><p>  3、直流電機速度顯示環(huán)節(jié)……………………………………… …………… ………2</p><p>  二、各環(huán)節(jié)電路原理和數(shù)據(jù)程序分析……………………………… …… …………2</p><p>  1、直流電機調速環(huán)節(jié)………………………………

3、………………………… ………2</p><p> ?。?)電路圖及線路連接………………………………………………………………2</p><p>  (2)調壓原理……………………… …………… …………………………………3</p><p> ?。?)程序編寫及控制方法…………… ………………………… ………… ……… 3</p><p>  2

4、、直流電機速度測量環(huán)節(jié) ……… ………… ………………… …………… ………3</p><p> ?。?)電路圖及線路連接…………… ……… ………………… …………… ………3</p><p>  (2)測速原理…………… ………………………………………………… ………4</p><p> ?。?)程序編寫及控制方法 … ……………………………………………………

5、…4</p><p>  3、直流電機速度顯示環(huán)節(jié) ……………………………………………………………4</p><p>  (1)電路圖及線路連接………………………………………………………………5</p><p> ?。?)速度顯示原理…………… …………… …… …………………………………5</p><p> ?。?)程序編寫及控制方法………

6、 ……………………… …… ………… …………5</p><p>  4、數(shù)據(jù)計算………………………………… ……………… ………… ……………5</p><p>  三、直流電機調速系統(tǒng)的總電路原理圖……………………… …… ………………6</p><p>  四、直流電機調速系統(tǒng)的總程序流程圖 ……………………………………………7</p><

7、p>  五、直流電機調速系統(tǒng)的總程序 ……………………………………………………7</p><p>  六、設計體會及今后的改進意見…………………… ………………………………11</p><p>  參考文獻……………………………………… ……… …………………………11</p><p><b>  摘要</b></p>&l

8、t;p>  某些場合往往要求直流電機的轉速在一定范圍內可調節(jié),例如,電車、機床等,調節(jié)范圍根據(jù)負載的要求而定。調速可以有三種方法:(1)改變電機兩端電壓;(2)改變磁通;(3)在電樞回路中,串聯(lián)調節(jié)電阻。本設計采用第一種方法:通過改變施加于電機兩端的電壓大小達到調節(jié)直流電機轉速的目的。而本設計選用DAC0832式D/A轉換器及通用型低功耗集成運放LM324結合輸出適合控制直流電機的電壓。而在直流電機測速中,使用柵格圓盤和光電門組成

9、測速系統(tǒng)。當直流電機通過傳動部分帶動柵格圓盤旋轉時,測速光電門獲得一系列脈沖信號。這些脈沖信號通過單片機兩個定時/計數(shù)器配合使用,一個計數(shù),一個定時。計算出單位時間內的脈沖數(shù),經過單位換算,就可以算得直流電機旋轉的速度。而在速度顯示系統(tǒng)中,先把計算得到的速度值的每一位分別取出,再運用74LS164串行輸入并行輸出移位寄存器通過查表逐步把各位要顯示的數(shù)據(jù)移給數(shù)碼管顯示出來。這樣,最終就可以對直流電機進行調速并測速顯示了,達到了預期目的。&

10、lt;/p><p>  關鍵詞:D/A轉換調壓調速 光電測速 74LS164移位顯示</p><p><b>  方案選擇</b></p><p>  本設計需要分三個環(huán)節(jié):調速、速度測量、速度顯示。</p><p>  調速可以有三種方法:</p><p> ?。?)改變電機兩端電壓;</p&

11、gt;<p><b> ?。?)改變磁通;</b></p><p> ?。?)在電樞回路中串聯(lián)調節(jié)電阻。</p><p>  本設計采用第一種方法改變電機兩端電壓,改變電壓可以采用定時器產生占空比可調的PWM波或者數(shù)模轉換產生。本設計選用DAC0832式D/A轉換器及通用型低功耗集成運放LM324輸出適合控制直流電機的電壓。</p><

12、;p>  2、直流電機速度測量環(huán)節(jié)</p><p>  速度測量主要有兩種方法:</p><p> ?。?)光電測速法:使用柵格圓盤和光電門組成測速系統(tǒng)。當直流電機通過傳動部分帶動柵格圓盤旋轉時,測速光電門獲得一系列脈沖信號。這些脈沖信號通過單片機兩個定時/計數(shù)器配合,一個計數(shù),一個定時。計算出單位時間內的脈沖數(shù)m,經過單位換算,就可以算得直流電機旋轉的速度。</p>

13、<p>  直流電機轉速計算公式:r=1000n/(T*N1*N) (rps)</p><p>  r為直流電機轉速,N為柵格數(shù),N1為T1中斷次數(shù), T為定時器T1定時器溢出時間。</p><p>  (2)霍爾效應原理測速法:電動機轉軸帶動軸上的磁鋼旋轉,從而改變磁場大小,通過霍爾電路將磁場變化轉換為脈沖信號,經放大整形,輸出矩形脈沖信號。當轉速改變時,輸出脈沖的頻率會發(fā)生變

14、化。從而得到電機旋轉的速度。</p><p>  本設計根據(jù)實驗臺上的儀器選用了光電測速的方法。</p><p>  3、直流電機速度顯示環(huán)節(jié)</p><p>  速度顯示部分備選方案有兩種:</p><p> ?。?)把計算得到的速度值的每一位分別取出,再運用74LS164串行輸入并行輸出移位寄存器通過查表逐步把各位要顯示的數(shù)據(jù)移給數(shù)碼管顯

15、示出來。</p><p> ?。?)用CS8279鍵盤顯示模塊部分。</p><p>  本設計選用74LS164串行輸入并行輸出移位寄存器在數(shù)碼管上顯示速度值。</p><p>  總之,本設計采用“D/A轉換得到控制電壓—光電測速電路測速—74LS164移位寄存器顯示速度”的方案達到控制直流電機速度并測量速度到實時顯示電機速度的設計目的。</p>

16、<p>  各環(huán)節(jié)電路原理和數(shù)據(jù)程序分析</p><p>  1、直流電機調速環(huán)節(jié)</p><p>  本設計選用DAC0832式D/A轉換器及通用型低功耗集成運放LM324輸出適合控制直流電機的電壓。</p><p> ?。?)電路圖及線路連接</p><p>  運用DAC0832式D/A轉換器及通用型低功耗集成運放LM324輸

17、出適合控制直流電機的電壓的電路圖見圖1 的DAC0832并行數(shù)模轉換電路部分。</p><p>  線路連接:系統(tǒng)各跳線器處在初始狀態(tài),8P數(shù)據(jù)線將CPU模塊的P11F3和P1F3連接,即單片機P0口與DAC0832的8位數(shù)據(jù)輸入口相連接;用導線連接并行數(shù)模轉換模</p><p>  圖1 DAC0832并行數(shù)模轉換電路</p><p>  塊的CS_0832到地

18、,CPU模塊的/WR和D1區(qū)的/WR相連;并行數(shù)模轉換模塊的VOUT端口接入電動機電壓輸入口。 </p><p><b> ?。?)調壓原理</b></p><p>  單片機P0口輸出8位二進制數(shù)據(jù),進入D/A轉換器DAC0832的輸入端口,通過對D/A轉換器DAC0832的各控制端口的設置選通其直通方式工作,即每進入一個8位二進制數(shù)便可直接轉化成模擬量,與通用型

19、低功耗集成運放LM324共同作用產生電壓輸出??梢酝ㄟ^對單片機進行編程連續(xù)增加或者連續(xù)減小P0口輸出的8位二進制數(shù)據(jù)大小而達到改變輸出電壓的目的,便可改變直流電機的轉速。</p><p> ?。?)程序編寫及控制方法</p><p>  調壓環(huán)節(jié)程序流程圖: </p><p>  2、直流電機速度測量環(huán)節(jié)</p><p>  (1)電路圖及線

20、路連接</p><p>  圖2 直流電機電路</p><p>  圖3 光電測速電路</p><p>  線路連接:光電測速電路的輸出脈沖端口PulseOut接定時器0的外部輸入端口P3.4。</p><p><b> ?。?)測速原理</b></p><p>  光電測速法:使用柵格圓盤和

21、光電門組成測速系統(tǒng)。當直流電機通過傳動部分帶動柵格圓盤旋轉時,測速光電門獲得一系列脈沖信號。這些脈沖信號通過單片機兩個定時/計數(shù)器配合使用,一個計數(shù),一個定時。計算出單位時間內的脈沖數(shù)m,經過單位換算,就可以算得直流電機旋轉的速度。</p><p>  直流電機轉速計算公式:n=m/(N1·T·N)(rps)</p><p>  其中:n為直流電機轉速,N為柵格數(shù),N1

22、為T1中斷次數(shù),m為計數(shù)器T0在規(guī)定時間內測得的脈沖數(shù),T為定時器T1定時器溢出時間。</p><p>  (3)程序編寫及控制方法</p><p>  3、直流電機速度顯示環(huán)節(jié)</p><p>  (1)電路圖及線路連接</p><p>  圖4 74LS164與數(shù)碼管連接圖</p><p>  本設計中,用到四個

23、串聯(lián)使用的74LS164串行輸入并行輸出移位寄存器,每個74LS164的輸出引腳接一個共陰極數(shù)碼管。單片機的P1.4口接第一個74LS164串行輸入并行輸出移位寄存器的串行數(shù)據(jù)線DIN口,用來從單片機向數(shù)碼管輸送要顯示的速度數(shù)據(jù);P1.5接移位信號CLK端口,用來產生上升沿,以觸發(fā)74LS164串行輸入并行輸出移位寄存器工作。</p><p><b>  (2)速度顯示原理</b></

24、p><p>  靜態(tài)數(shù)碼管顯示電路由四只74LS164、四只共陰極數(shù)碼管組成。輸入有兩個信號:串行數(shù)據(jù)線DIN和移位信號CLK。74LS164首尾相連,并行輸出LED數(shù)碼管的段碼。把計算得到的速度值每一位取出,用74LS164通過查表把各位要顯示的數(shù)據(jù)移給數(shù)碼管顯示出來。</p><p>  (3)程序編寫及控制方法</p><p><b>  4、數(shù)據(jù)計算&

25、lt;/b></p><p>  定時器1定時27.7ms,賦初值TH1為93H,TL1為0CCH,循環(huán)3次,共計時83.1ms,這個時間里計數(shù)器T0計得n個脈沖。則轉速為1000n/(27.7*3*12)=n r/s.</p><p>  直流電機調速系統(tǒng)的總電路原理圖</p><p>  注:P1.0口接加速鍵,P1.1接減速鍵,P1.2接起啟動鍵,P1.

26、3接停止鍵。</p><p>  直流電機調速系統(tǒng)的總程序流程圖</p><p>  直流電機調速系統(tǒng)的總程序</p><p><b>  ORG 0000H</b></p><p><b>  JMP MAIN</b></p><p><b>  ORG 001B

27、H</b></p><p>  JMP dingshi</p><p><b>  ORG 0200H</b></p><p><b>  MAIN: </b></p><p>  MOV SP,#60H </p><p>  SETB P3.4

28、 ; P3.4口寫1,允許輸入脈沖</p><p>  MOV TMOD,#15H ; 設置定時器T1工作方式1,計數(shù)器T0工作方式1</p><p>  MOV TH0,#00H ; 計數(shù)器賦初值0</p><p>  MOV TL0,#00H </p>

29、<p>  MOV TH1,#0A7H ; 定時器定時27.7ms賦初值</p><p>  MOV TL1,#54H </p><p>  MOV IE,#88H ; 定時器中斷允許</p><p>  MOV r4,#3 ; 設置定時27.7ms的循環(huán)次數(shù)</

30、p><p>  SETB TR0 ; 開計數(shù)器 </p><p>  SETB TR1 ; 開定時器 </p><p><b>  SJMP $</b></p><p><b>  dingshi:</b></p>

31、<p>  djnz r4,mm ; 不到83.1ms轉到mm,重新賦初值循環(huán),到則順序執(zhí)行,停止計時和計數(shù)</p><p>  CLR TR0 ; 到83.1ms停止計時和計數(shù)</p><p><b>  CLR TR1</b></p><p>  MOV A,T

32、L0 ; 把83.1ms的脈沖數(shù)送到A中 </p><p>  MOV B ,#100</p><p><b>  DIV AB</b></p><p>  MOV R0,A ; 百位數(shù)送入R0</p><p&g

33、t;<b>  MOV A,#10</b></p><p><b>  XCH A,B</b></p><p>  DIV AB ; 十位數(shù)送入A,個位數(shù)送入B</p><p>  XCH A,B ; 個位數(shù)送入A,十位數(shù)送入B</p>

34、<p>  MOV DPTR,#0100H ; 設置表格地址</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,#8</b></p><p>  LOOP: ; 傳送個位數(shù)</p><p><b&

35、gt;  RLC A</b></p><p>  MOV P1.4,C ; 用p1.4傳輸進164</p><p>  CLR P1.5 ; 用p1.5口得到上升沿,觸發(fā)164</p><p><b>  SETB P1.5</b></p><p&

36、gt;  DJNZ R2,LOOP</p><p>  MOV A,B ; 十位數(shù)送入A </p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,#8</b></p><p>  LOOP1:

37、 ; 傳送十位數(shù) </p><p><b>  RLC A</b></p><p>  MOV P1.4,C</p><p><b>  CLR P1.5</b></p><p><b>  SETB P1.5</b></p><p>  DJN

38、Z R2,LOOP1</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,#8</b></p><p>  LOOP2: ; 傳送百位數(shù)</p>

39、<p><b>  RLC A</b></p><p>  MOV P1.4,C ; 用p1.4傳輸進164</p><p>  CLR P1.5 ; 用p1.5口得到上升沿,觸發(fā)164</p><p><b>  SETB P1.5</b><

40、;/p><p>  DJNZ R2,LOOP2</p><p>  MOV A,#00H</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,#8</b></p><p>  LOOP3: ; 傳送最高位0</

41、p><p><b>  RLC A</b></p><p>  MOV P1.4,C ; 用p1.4傳輸進164</p><p>  CLR P1.5 ; 用p1.5口得到上升沿,觸發(fā)164</p><p><b>  SETB P1.5</b

42、></p><p>  DJNZ R2,LOOP3 </p><p>  LCALL DELAY </p><p>  ;-----檢測按鍵------</p><p>  saomiaoanjian:</p><p>  MOV A,50H ; 把50H單元寄存的內容回送給A

43、 </p><p>  MOV DPTR,#7fffh ; 選中DAC0832 </p><p>  CLR P1.2 </p><p>  JB P1.2,START ; p1.2接啟動鍵,以某一較高速度啟動</p><p><b>  SETB P1.3</b><

44、;/p><p>  JB P1.3,CUT ; p1.3接停止鍵</p><p><b>  CLR P1.0</b></p><p>  JB P1.0,UP ; p1.0接加速鍵,若按下則轉up加速</p><p><b>  CLR P1.1&

45、lt;/b></p><p>  JB P1.1,DOWN ; p1.1接減速鍵,若按下則轉down減速 </p><p>  JMP AAA </p><p>  mm:MOV TH1,#0A7H ; 定時器定時27.7ms賦初值</p><p>  MOV TL1,#54H &l

46、t;/p><p>  RETI ; 不到416ms,中斷返回,繼續(xù)循環(huán)</p><p>  ;-----啟動----------</p><p>  START:MOV A,#07FH</p><p>  MOVX @DPTR,A</p><p>  LCALL DELAY<

47、;/p><p><b>  JMP AAA</b></p><p>  ;-----停止----------</p><p>  CUT: MOV A,#00H</p><p>  MOVX @DPTR,A</p><p>  LCALL delay</p><p><b

48、>  JMP AAA</b></p><p>  DELAY:MOV R5,#20</p><p>  D2:MOV R6,#50</p><p>  D3:MOV R7,#250</p><p><b>  D4:NOP</b></p><p><b>  NOP&l

49、t;/b></p><p>  DJNZ R7,D4</p><p>  DJNZ R6,D3</p><p>  DJNZ R5,D2</p><p><b>  RET</b></p><p>  ;-----加速----------</p><p>  UP:

50、 ; 每次按鍵增加0.1V</p><p>  CJNE A,#0FFH,AA</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p><b>  JMP AAA</b

51、></p><p><b>  AA:INC A</b></p><p>  CJNE A,#0FFH,BB</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p><b>  

52、JMP AAA</b></p><p><b>  BB:INC A</b></p><p>  CJNE A,#0FFH,CC</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p&g

53、t;<b>  JMP AAA </b></p><p><b>  CC:INC A</b></p><p>  CJNE A,#0FFH,DD</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</

54、p><p><b>  JMP AAA</b></p><p><b>  DD:INC A</b></p><p>  CJNE A,#0FFH,EE</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCA

55、LL DELAY</p><p><b>  JMP AAA</b></p><p><b>  EE:INC A</b></p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p

56、><b>  JMP AAA</b></p><p>  ;-----減速----------</p><p>  DOWN: ; 每次按鍵減小0.1V</p><p>  CJNE A,#00H,FF</p><p>  MOVX @DPTR,A

57、 ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p><b>  JMP AAA </b></p><p>  FF:DEC A </p><p><b>  DEC A</b></p><p>  CJNE A,#00H,HH<

58、;/p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p><b>  JMP AAA </b></p><p><b>  HH:DEC A</b></p><p>  CJNE

59、 A,#00H,JJ</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p><b>  JMP AAA </b></p><p><b>  JJ:DEC A</b></p>&

60、lt;p>  CJNE A,#00H,KK</p><p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY</p><p>  JMP AAA </p><p><b>  KK:DEC A</b></p><

61、p>  MOVX @DPTR,A ; 向DAC0832輸數(shù)據(jù)</p><p>  LCALL DELAY </p><p><b>  AAA:</b></p><p>  LCALL DELAY</p><p>  MOV 50H, A ; 把A的內容寄存

62、給50H單元</p><p>  MOV r4,#3 ; 設置定時26ms的次數(shù),共得到416ms </p><p>  MOV TH0,#00H ; 計數(shù)器賦初值0</p><p>  MOV TL0,#00H</p><p>  MOV TH1,#0A7H

63、 ; 定時器定時27.7ms賦初值</p><p>  MOV TL1,#54H </p><p>  SETB TR0 ; 開計數(shù)器 </p><p>  SETB TR1 ; 開定時器 </p><p>  RETI

64、; 到416ms,中斷返回,繼續(xù)測速</p><p><b>  ORG 0100H</b></p><p>  DMB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,73H</p><p><b>  END</b></p><p>  設計體會及今后的改

65、進意見</p><p>  經過這次獨立的課程設計,學到了很多實踐后才有的東西:</p><p>  連接線后,要檢查系統(tǒng)各跳線器是否處在初始設置狀態(tài),以保證硬件的可操作性。在編寫程序時,會出現(xiàn)各種錯誤,例:(1)target out of range:這種情況是程序繁瑣冗長使跳轉超出范圍,主要有jb jc jnb jnc jbc sjmp djnz acall jz jnz cjne等跳

66、轉指令超出跳轉的范圍,一般可以增加分支或改用長跳轉指令LJMP,LCALL等解決。(2)SJMP $指令不可在定時器中斷中亂用,要嚴格按照程序順序執(zhí)行才可以正確使用。程序必須反復寫-修改-使用,還要學會熟練使用單步調試修改程序。這樣,只有硬件與軟件相匹配好后,才能達到試驗功能成功。</p><p><b>  參考文獻</b></p><p>  【1】馬建

溫馨提示

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

評論

0/150

提交評論