找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9367|回復(fù): 11
收起左側(cè)

51單片機(jī)步進(jìn)電機(jī)控制系統(tǒng)Proteus仿真程序設(shè)計(jì) 加減速 正反轉(zhuǎn)

  [復(fù)制鏈接]
ID:721134 發(fā)表于 2020-7-2 11:31 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

仿真

仿真

本設(shè)計(jì)研究的是基于
51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。采用單片機(jī)AT89C51作為控制核心,通過五個(gè)按鍵控制步進(jìn)電機(jī)的運(yùn)行狀態(tài),即控制啟停、正反轉(zhuǎn)、加減速,并利用八位的數(shù)碼管顯示步進(jìn)電機(jī)的速度等級(jí)。本設(shè)計(jì)的硬件部分主要由單片機(jī)、鍵盤控制模塊、電機(jī)驅(qū)動(dòng)模塊、數(shù)碼管顯示模塊以及電源模塊五部分組成。
51hei.png
編程實(shí)現(xiàn)方式有兩種,查詢和中斷。全部文件都在附件中上傳了。

軟件設(shè)計(jì)部分本控制算法分為查詢方式和中斷方式兩種控制算法。相比于查詢方式,中斷方式按鍵響應(yīng)延時(shí)更小。主要的思路是:主函數(shù)先初始化相關(guān)寄存器后,在while循環(huán)中不斷執(zhí)行鍵盤掃描函數(shù),而步進(jìn)電機(jī)控制函數(shù)在調(diào)用定時(shí)器中斷來實(shí)現(xiàn)。以下是算法解析:

步進(jìn)電機(jī)采用八拍控制,數(shù)碼管顯示0-9的數(shù)字。預(yù)先設(shè)定對(duì)應(yīng)的16進(jìn)制數(shù),存入數(shù)組。
本設(shè)計(jì)研究的是基于51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。采用單片機(jī)AT89C51作為控制核心,通過五個(gè)按鍵控制步進(jìn)電機(jī)的運(yùn)行狀態(tài),即控制啟停、正反轉(zhuǎn)、加減速,并利用八位的數(shù)碼管顯示步進(jìn)電機(jī)的速度等級(jí)。本設(shè)計(jì)的硬件部分主要由單片機(jī)、鍵盤控制模塊、電機(jī)驅(qū)動(dòng)模塊、數(shù)碼管顯示模塊以及電源模塊五部分組成。系統(tǒng)框圖如圖1所示
本設(shè)計(jì)主要實(shí)現(xiàn)的功能:
(1)5 個(gè)按鍵控制整個(gè)電路,對(duì)應(yīng)功能分別是:啟動(dòng)    / 暫停、正轉(zhuǎn)、反轉(zhuǎn)、加速、減速。
(2)數(shù)碼管顯示電機(jī)轉(zhuǎn)動(dòng)速度的等級(jí);

單片機(jī)源程序如下:

  1. uchar cw[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};     //正轉(zhuǎn)

  2. uchar acw[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};    //反轉(zhuǎn)

  3. uchar a[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共陽數(shù)碼管段碼

  4. 聲明相關(guān)函數(shù)

  5. void Delay_ms(uint x);         //延時(shí)函數(shù)

  6. void scan_key();                              //鍵盤掃描

  7. void display(uchar num);      //顯示函數(shù)                  

  8. 定時(shí)器中斷控制函數(shù):index是一個(gè)循環(huán)系數(shù),每次進(jìn)入中斷,系數(shù)自增一,當(dāng)index到達(dá)預(yù)設(shè)的速度檔位,就執(zhí)行電機(jī)控制部分。



  9. void MOTOR_control() interrupt 3 //定時(shí)器1中斷服務(wù)程序

  10. {

  11.        TH1=(65536-10000)/256;

  12.        TL1=(65526-10000)%256;

  13.        index++;

  14.        if(index >= loop)  //循環(huán)系數(shù)

  15.        {

  16.               index=0;

  17.               if(sw==1)

  18.               {

  19.                      step++;    //步進(jìn)值

  20.                      if(step>8)

  21.                      {

  22.                             step=0;

  23.                      }

  24.                      else

  25.                      {

  26.                             if(flag==1)

  27.                             {

  28.                                    P2=cw[step-1]; //正轉(zhuǎn)

  29.                             }

  30.                             else

  31.                             {

  32.                                    P2=acw[step-1];  //反轉(zhuǎn)

  33.                             }

  34.                      }

  35.               }

  36.               else P2=0x00;}}
復(fù)制代碼
51hei.png

全部資料51hei下載地址:
項(xiàng)目1.rar (339.84 KB, 下載次數(shù): 640)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:793275 發(fā)表于 2020-7-3 10:50 | 顯示全部樓層
附件里的仿真文件是仿真文件嗎
回復(fù)

使用道具 舉報(bào)

ID:721134 發(fā)表于 2020-7-8 10:44 | 顯示全部樓層
yanannl 發(fā)表于 2020-7-3 10:50
附件里的仿真文件是仿真文件嗎

是的,是proteus仿真工程文件,直接打開就可以了
回復(fù)

使用道具 舉報(bào)

ID:875327 發(fā)表于 2021-1-23 11:06 來自觸屏版 | 顯示全部樓層
你好,STC89C51單片機(jī)可以用嗎?
回復(fù)

使用道具 舉報(bào)

ID:875327 發(fā)表于 2021-1-23 11:19 來自觸屏版 | 顯示全部樓層
STC89C51單片機(jī)可以用嗎?電機(jī)的轉(zhuǎn)速大致范圍是多少
回復(fù)

使用道具 舉報(bào)

ID:875327 發(fā)表于 2021-1-23 11:41 來自觸屏版 | 顯示全部樓層
mule.。 發(fā)表于 2021-1-23 11:19
STC89C51單片機(jī)可以用嗎?電機(jī)的轉(zhuǎn)速大致范圍是多少

樓主,希望你看到后回答下。謝謝
回復(fù)

使用道具 舉報(bào)

ID:881092 發(fā)表于 2021-1-28 10:06 | 顯示全部樓層
為什么我復(fù)制來不能用
回復(fù)

使用道具 舉報(bào)

ID:875327 發(fā)表于 2021-3-19 16:34 來自觸屏版 | 顯示全部樓層
請(qǐng)問如何讓基礎(chǔ)速度加快一些
回復(fù)

使用道具 舉報(bào)

ID:815563 發(fā)表于 2021-3-25 17:41 | 顯示全部樓層
步進(jìn)電機(jī)控制是基礎(chǔ)動(dòng)作,一定要學(xué)好這個(gè)
回復(fù)

使用道具 舉報(bào)

ID:967400 發(fā)表于 2021-9-21 23:44 | 顯示全部樓層
新手,可以直接學(xué)這個(gè)有壓力嘛?
回復(fù)

使用道具 舉報(bào)

ID:721134 發(fā)表于 2022-1-8 17:18 | 顯示全部樓層
mule.。 發(fā)表于 2021-1-23 11:41
樓主,希望你看到后回答下。謝謝

51的都可以用的
回復(fù)

使用道具 舉報(bào)

ID:304740 發(fā)表于 2023-3-22 07:33 | 顯示全部樓層
謝謝你的寶貴資料,感謝你的分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表