久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6391|回復: 0
打印 上一主題 下一主題
收起左側

直流電機調速仿真課程設計報告及單片機匯編程序

[復制鏈接]
跳轉到指定樓層
樓主



電氣工程學院

單片機課程設計報告

班    級:134

姓    名:王*旭

學    號:1312021108

設計題目:直流電機調速系統設計

設計時間:12.22~12.28   

評定成績:

評定教師:

摘要:

近年來,隨著科技的進步,電力電子技術得到了迅速的發展,直流電機得到了越來越廣泛的應用。直流它具有優良的調速特性,調速平滑、方便,調速范圍廣;需要能滿足生產過程自動化系統各種不同的特殊運行要求,從而對直流電機的調速提出了較高的要求,改變電樞回路電阻調速,改變電樞電壓調速等技術已遠遠不能滿足要求,這時通過PWM方式控制直流電機調速的放大應運而生。

本課程設計主要是通過按鍵調整PWM信號實現直流電機的調速。并實現電路仿真。設計中,采用了AT89C51單片機作為整個控制系統的控制電路的核心部分,配以各種顯示、驅動模塊,實現對電動機轉速的計算和顯示。

目錄

設計要求  ………………………………………………………  4

總體方案  ………………………………………………………  5

硬件設計  ………………………………………………………  7

軟件設計  ………………………………………………………  8

調試過程  ………………………………………………………  11

設計總結  ………………………………………………………  13

其他      ………………………………………………………  14

  • 設計要求

    直流電機調速控制

實現具有電機速度設定、控制及顯示的調速系統,功能及指標如下:

  • 電機控制

   要求電機能進行速度設定,速度調控以及正反轉功能

  • 數碼管顯示

   數碼管的顯示要準確,不可出現異常符號

  • 鍵盤的輸入

   本設計方案中采用鍵盤輸入,要求繪圖連線準確,按鍵無異常響應

  • 程序要求

   程序應盡可能的模塊化,對每個模塊的功能及作用進行標注

  • 繪圖

  繪圖的功能要全面,連線盡量少交叉,整體美觀。

  • 總體方案

2.1 文獻綜述

   直流電機的調速方法

  • 電樞回路串電阻調速:調速平滑性差,低速時損耗大、效率低,串入電阻值越大穩定性越差
  • 降低電源電壓調速:調速平滑性好,調速前后機械斜率不變穩定性好調速范圍廣,調速損耗小調速經濟性好。
  • 改變勵磁磁通調速:調節平滑,勵磁電流小能量損耗小經濟性好,轉速穩定。

芯片選擇:DA芯片、mc1413芯片、uln2003芯片等等

分析:在直流電機調速方法中,從性能上選擇,應選降低電樞電壓調速和改變勵磁磁通調速。但從實行的難易程度上看應選擇降低電源電壓調速。

在芯片的選擇上,DA芯片、mc1413芯片和uln2003芯片。前者為數字模擬量轉換芯片,后兩者功能均為放大電壓和電流。這三個芯片均可以設計直流電機的調速控制。從成本上考慮,DA芯片價格超后者,后兩者功能都較為相似,但ULN2003便宜少許所以選擇ULN2003芯片。

2.2 方案設計

   本方案基于性價比高的原則來設計。通過按鍵控制PWM信號占空比控制輸入電壓的幅值來控制直流電機的轉速。使用ULN2003芯片來驅動電機。


按鍵:按鍵分為停止鍵,1~10檔位調節,正轉反轉調節及每個檔位上的轉速微調

數碼管顯示轉速:由占空比計算得轉速并加以顯示在數碼管上

PWM信號:PWM信號占空比控制輸入電壓的幅值

ULN2003驅動電路:ULN2003 放大信號 通過H橋電路來驅動電機可正反轉

直流電機:被控制對象

單片機:用于接收按鍵值處理并發出相應的PWM信號以及顯示轉速在數碼管上

三、硬件設計

3.1 電路原理圖

3.2 器件選擇
   考慮單片機無法驅動直流電機所以用了ULN2003這個放大電壓的芯片,因為ULN2003最高輸出電壓為50V完全可以滿足所選擇電機。且在設計中需要正反轉,所以電路選擇了H橋電路通過切換輸出PWM信號的端口可實現電機的正反轉。



F0為輸出高電平還是低電平的標志位

JG為定義的數組

JG與JG+1里面分別存儲了PWM信號高電平與低電平的次數

FLAG 正反轉標志位

IS_BUFF數碼管緩沖顯示單元首地址

   鍵盤主要是用線反轉法,先給列線全賦0,行線全賦1.有行按下,對應行為0,。同理再給列線全賦1,行線全賦0。哪一列為0則為該列按下。由此可得是哪一個鍵按下

ULN2003:

ULN2003 的每一對達林頓都串聯一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數據。ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態時承受50V 的電壓,輸出還可以在高負載電流并行運行。ULN2003 采用DIP—16 或SOP—16 塑料封裝。
它是雙列16腳封裝,NPN晶體管矩陣,最大驅動電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達林頓管組成驅動電路。 ULN是集成達林頓管IC,內部還集成了一個消線圈反電動勢的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負載可根據以上參數估算。采用集電極開路輸出,輸出電流大,故可直接驅動繼電器或固體繼電器,也可直接驅動低壓燈泡。通常單片機驅動ULN2003時,上拉2K的電阻較為合適,同時,COM引腳應該懸空或接電源。

五、調試過程

5.1 軟硬件調試

用Proteus跟Keil聯調。將Proteus跟Keil設置好以后,先運行寫的程序,沒有錯誤后進入DEBUG模式,點擊運行Proteus做出響應。

遇到的問題:

    在仿真過程中我發現按鍵電機轉速并未有變化。在進行聯調后,按下按鍵,單步運行發現鍵盤程序始終在按鍵掃描部分跳轉,修改了程序,解決了問題。

5.2 運行效果

電機停轉

電機正60轉

電機反轉150轉

六、設計總結

    通過本次設計,加強了我對知識的掌握,使我對設計過程有了全面的了解。為了完成這次設計,我查閱了相關資料,學會了許多知識,培養了我獨立解決問題的能力。同時在對電路設計的過程中,鞏固了我的專業知識,使我受益匪淺。

    這次的設計也有不足之處。在測量轉速上,我并未用反饋的方法來顯示轉速,而是通過計算得到轉速。這使得轉速與真實值有一定的偏差。這主要是因為我一開始所做的準備工作不充分。并未注意到這一部分。這是本次設計給我教訓,在以后的工作中一定要對課題做好充分的了解以及準備工作。

參考文獻

【1】張毅剛,單片機原理及其應用,高等教育出版社

【2】張毅剛,基于Proteus的單片機課程的基礎實驗與課程設計,人民郵電出版社

【3】羌予踐,電機與電力拖動基礎教程,電子工業出版社

【4】谷腰欣司,直流電動機實際應用技巧,科學出版社   


單片機源程序如下:
  1. FLAG BIT 00H      ;正反轉標志位
  2. DIS_BUFF EQU 30H  ;數碼管緩沖顯示單元首地址
  3. JG  EQU 40H       ;PWM信號占空比數值 & 數碼管位選循環次數存儲地址
  4. ORG 0000H
  5. LJMP MAIN
  6. ORG 000BH
  7. LJMP IT0P
  8. ORG 0100H
  9. MAIN:MOV SP,#60H
  10.      MOV TMOD,#02H ;T0 方式2
  11.          MOV TL0,#0FEH
  12.          MOV TH0,#0FEH
  13.          MOV JG,#0    ;占空比為0%
  14.          MOV JG+1,#1
  15.          MOV JG+3,#1  ;數碼管位選循環1次
  16.          MOV R5,JG
  17.          SETB P2.5    ;輸出PWM信號(p2.5為信號輸出,將p2.5給p2.7為正轉,將p2.5給p2.6為反轉)
  18.          SETB F0
  19.          SETB ET0
  20.          SETB EA
  21.          SETB TR0
  22. LOOP:
  23.      LCALL KEY    ;按鍵掃描
  24.          LCALL DISPLAY;數碼管動態顯示
  25.          LJMP LOOP
  26. IT0P:DJNZ R5,PWM0
  27.      JB F0,S_LOW
  28.          SETB P2.5
  29.          SETB F0
  30.          MOV R5,JG
  31. PWM0:JB FLAG,PWM1;置1為反轉,置0為正轉
  32.      JB P2.5,S1
  33.      CLR P2.7
  34.          RETI
  35. S1:         SETB P2.7
  36.          RETI
  37. PWM1:JB P2.5,S2
  38.          CLR P2.6
  39.          RETI
  40. S2:         SETB P2.6
  41.          RETI
  42.          
  43. S_LOW:CLR P2.5
  44.      CLR F0
  45.          MOV R5,JG+1
  46.          
  47. EXIT:RETI

  48. KEY: MOV P1,#0FH   ;列線(p1.4~p1.7)為0,行線(p1.0~p1.3)為1
  49.      MOV A,P1
  50.      CJNE A,#0FH,T;檢測是否有行按下
  51.          RET
  52. T:   LCALL DELAY   ;延時消抖
  53.      CJNE A,#0FH,H0;是否真的有按鍵按下
  54.          LJMP LOOP
  55. H0:  JB P1.0,H1    ;檢測哪一行按下(為0)
  56.      MOV R3,#0
  57.          LJMP L_SCAN
  58. H1:  JB P1.1,H2
  59.      MOV R3,#4
  60.          LJMP L_SCAN
  61. H2:  JB P1.2,H3
  62.      MOV R3,#8
  63.          LJMP L_SCAN
  64. H3:  JB P1.3,L_SCAN
  65.      MOV R3,#12
  66. L_SCAN:MOV P1,#0F0H;列線(p1.4~p1.7)為1,行線(p1.0~p1.3)為0
  67. L0:  JB P1.4,L1    ;檢測哪一行按下(為0)
  68.      MOV R2,#0
  69.          LJMP JS
  70. L1:  JB P1.5,L2
  71.      MOV R2,#1
  72.          LJMP JS
  73. L2:  JB P1.6,L3
  74.      MOV R2,#2
  75.          LJMP JS
  76. L3:  JB P1.7,JS
  77.      MOV R2,#3
  78. JS:  MOV A,R3      ;計算行列值
  79.      ADD A,R2

  80.          


  81. KEY0:CJNE A,#0,KEY1;關閉電機
  82.          CLR TR0
  83.          SETB P2.5
  84.          MOV JG+3,#1
  85.          MOV DIS_BUFF,#0H
  86.          SETB P2.7
  87.          SETB P2.6
  88.          LJMP LOOP
  89. KEY1:CJNE A,#1,KEY2;一檔30轉
  90.      SETB TR0
  91.          MOV JG,#208    ;PWM占空比
  92.          MOV JG+1,#30         
  93.          LJMP SCREEN
  94. KEY2:CJNE A,#2,KEY3;二擋60轉
  95.      SETB TR0
  96.          MOV JG,#178
  97.          MOV JG+1,#60         
  98.          LJMP SCREEN
  99. KEY3:CJNE A,#3,KEY4;三擋90轉
  100.      SETB TR0
  101.          MOV JG,#148
  102.          MOV JG+1,#90         
  103.          LJMP SCREEN
  104. KEY4:CJNE A,#4,KEY5;四擋110轉
  105.      SETB TR0
  106.          MOV JG,#128
  107.          MOV JG+1,#110        
  108.          LJMP SCREEN
  109. KEY5:CJNE A,#5,KEY6;五檔130轉
  110.      SETB TR0
  111.          MOV JG,#108
  112.          MOV JG+1,#130         
  113.          LJMP SCREEN
  114. KEY6:CJNE A,#6,KEY7;六檔150轉
  115.      SETB TR0
  116.          MOV JG,#88
  117.          MOV JG+1,#150
  118.          LJMP SCREEN
  119. KEY7:CJNE A,#7,KEY8;七檔170轉
  120.      SETB TR0
  121.          MOV JG,#68
  122.          MOV JG+1,#170         
  123.          LJMP SCREEN
  124. KEY8:CJNE A,#8,KEY9;八檔190轉
  125.      SETB TR0
  126.          MOV JG,#48
  127.          MOV JG+1,#190         
  128.          LJMP SCREEN
  129. KEY9:CJNE A,#9,KEY10;九檔210轉
  130.      SETB TR0
  131.          MOV JG,#28
  132.          MOV JG+1,#210                  
  133.          LJMP SCREEN
  134. KEY10:CJNE A,#10,KEY11;滿轉(由于關閉T0,手動裝入數值顯示)
  135.       CLR TR0
  136.           CLR P2.5                  
  137.           MOV JG+3,#3      
  138.           JNB FLAG,MINUS1     ;檢測正反轉
  139.           MOV JG+3,#4
  140.           MOV DIS_BUFF+3,#0AH
  141. MINUS1:                        
  142.       MOV DIS_BUFF,#8H
  143.           MOV DIS_BUFF+1,#3H
  144.           MOV DIS_BUFF+2,#2H
  145.           JB FLAG,PWM3
  146.           CLR P2.7
  147.          
  148.           LJMP LOOP
  149. PWM3: CLR P2.6
  150.       LJMP LOOP
  151. KEY11:CJNE A,#11,KEY12
  152.                         
  153.       CLR FLAG          ;標志位置0 正傳
  154.           MOV A,#00H
  155.           LJMP KEY0

  156. KEY12:CJNE A,#12,KEY13
  157.       SETB FLAG         ;標志位置1 反轉
  158.           MOV A,#00H
  159.           LJMP KEY0


  160. KEY13:CJNE A,#13,KEY14 ;微調占空比  增加轉速
  161.       CLR C
  162.           SETB TR0
  163.       MOV A,JG+1
  164.       SUBB A,#239
  165.           MOV A,#10
  166.           JNC KEY10
  167.           MOV R0,#JG+1
  168.       INC @R0
  169.           MOV R0,#JG
  170.       DEC @R0
  171.          
  172.           LJMP SCREEN

  173. KEY14:CJNE A,#14,KEY15  ;微調占空比 減少轉速
  174.       CLR C
  175.       SETB TR0
  176.       MOV A,JG+1
  177.       SUBB A,#1
  178.           MOV A,#11
  179.           JC KEY11
  180.       MOV R0,#JG
  181.           INC @R0
  182.           MOV R0,#JG+1
  183.       DEC @R0
  184.          
  185.           LJMP SCREEN
  186. KEY15:LJMP LOOP
  187.         
  188. SCREEN:
  189.        MOV A,JG+1      ;計算轉速      
  190.        MOV B,#64H
  191.            DIV AB  
  192.            MOV DIS_BUFF+2,A
  193.            MOV A,B
  194.            MOV B,#0AH
  195.            DIV AB
  196.            MOV DIS_BUFF+1,A
  197.            MOV DIS_BUFF,B
  198.            MOV R1,#33H
  199.            

  200. LOOP0: MOV DIS_BUFF+3,#00H;計算位選循環次數
  201.        CJNE @R1,#00H,FZ
  202.            DEC R1
  203.            CJNE R1,#2FH,LOOP0
  204. FZ:    JB FLAG,MINUS      
  205.        MOV A,R1
  206.        SUBB A,#2FH
  207.        MOV JG+3,A
  208.        LJMP LOOP

  209. MINUS: INC R1             ;顯示負號
  210.        MOV @R1,#0AH
  211.        MOV A,R1
  212.        SUBB A,#2FH
  213.                      
  214.        MOV JG+3,A
  215.        LJMP LOOP           
  216. DISPLAY:MOV R1,#DIS_BUFF ;動態顯示程序
  217.         MOV R4,JG+3
  218.                 MOV B,#10H
  219. ……………………

  220. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
直流電機.rar (144.85 KB, 下載次數: 112)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区在线观看 | 免费在线看黄 | 精品国产久| 色婷婷av一区二区三区软件 | 欧美日韩精品免费 | 777zyz色资源站在线观看 | 天天操夜夜操免费视频 | av在线免费观看网站 | 免费欧美 | 国产一区二区精品在线观看 | 搞av.com | 91精品国产高清一区二区三区 | 蜜桃免费一区二区三区 | 天堂网中文字幕在线观看 | 九一视频在线播放 | 亚洲国产情侣自拍 | 国产高清精品一区二区三区 | 99精品国产一区二区三区 | 日韩一级二级片 | a级在线免费视频 | 欧美一区二区三区在线观看 | 欧美精品一区二区三区在线播放 | 玖玖玖av| 欧美日韩在线一区二区三区 | 国产精品久久久久久52avav | 一级黄色裸片 | 久久精品成人一区 | 青青草av网站 | 亚洲国产精品一区二区三区 | 蜜桃av鲁一鲁一鲁一鲁 | 看av片网站 | 日韩久久精品电影 | 久久草在线视频 | 午夜影晥 | 久草免费在线视频 | 香蕉一区二区 | 国产yw851.c免费观看网站 | 99精品免费 | 日韩一级免费电影 | 国产精品日韩欧美一区二区三区 | 欧美成人手机视频 |