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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7921|回復: 3
收起左側

L298N無刷直流步進電機驅動控制器電路圖PCB與單片機源程序等資料

[復制鏈接]
ID:284341 發表于 2018-2-19 02:00 | 顯示全部樓層 |閱讀模式

Altium Designer畫的L298N直流電機與步進電機可編程驅動控制模塊電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png 0.png 0.png

簡要說明:
一、尺寸:長88mmX寬67mmX高35mm
二、主要芯片:L298N、光電耦合器
三、工作電壓:輸入電壓(5V~30V)輸入電壓的大小由被控制電機的額定電壓決定。
四、可驅動直流(5~30V之間電壓的直流電機或者步進電機)
五、最大輸出電流2A (瞬間峰值電流3A)
六、最大輸出功率25W
七、特點:
         1、具有信號指示
         2、轉速可調
         3、抗干擾能力強
         4、具有續流保護
         5、可單獨控制兩臺直流電機
         6、可單獨控制一臺步進電機
         7、PWM脈寬平滑調速(可使用PWM信號對直流電機調速)
         8、可實現正反轉
         9、采用光電隔離
        10、P3口全部引出
        11、四位LED燈指示
        12、四位按鍵輸入(可以對AT89S52單片機編程實現任何控制)

最大特點:可以對AT89S52單片機編程實現任意控制被控的直流電機或者步進電機。


注意啦:提供例程(附帶原理圖以及說明!)
【標注圖片】
image004.jpg
【步進電機接線圖】
【直流電機接線圖】

實例一:步進電機的控制實例

步進電機是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合于單片機控制。步進電機可分為反應式步進電機(簡稱VR)、永磁式步進電機(簡稱PM)和混合式步進電機(簡稱HB)。

一、步進電機最大特點是:

1、它是通過輸入脈沖信號來進行控制的。

2、電機的總轉動角度由輸入脈沖數決定。

3、電機的轉速由脈沖信號頻率決定。

二、步進電機的驅動電路

根據控制信號工作,控制信號由單片機產生。(或者其他信號源)

三、控制步進電機的速度

如果給步進電機發一個控制脈沖,它就轉一步,再發一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發出的脈沖頻率,就可以對步進電機進行調速。(注意:如果脈沖頻率的速度大于了電機的反應速度,那么步進電機將會出現失步現象)。

四、此板驅動步進電機測試程序

說明:以AT89S52單片機控制單元,C語言編程!
【測試程序】
  1. /********************************************************************
  2.                             匯誠科技
  3. 實現功能:正轉_反轉_減速_加速程序
  4. 使用芯片:AT89S52 或者 STC89C52
  5. 晶振:11.0592MHZ
  6. 編譯環境:Keil
  7. 作者:zhangxinchun
  8. 淘寶店:匯誠科技  
  9. *********************************************************************/
  10. #include<reg52.h>
  11. /*------宏定義------*/
  12. #define uchar unsigned char
  13. #define uint unsigned int
  14. /*****P1.0=A ;P1.1=B ;P1.2=A' ; P1.3=B'****/
  15. /*******************************正轉數組**************************************************/
  16. code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //兩相四線八拍工作方式
  17. /*******************************反轉數組**************************************************/
  18. code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};  //兩相四線八拍工作方式
  19. uchar keycan=0;                            //鍵值
  20. int y=15;//定義轉動速度,數值越大電機轉速越慢反之則快
  21. sbit P2_0=P2^0;//正轉按鍵
  22. sbit P2_1=P2^1;//反轉按鍵
  23. sbit P2_2=P2^2;//電機減速
  24. sbit P2_3=P2^3;//電機加速
  25. /********************************************************************
  26.                             延時函數
  27. *********************************************************************/
  28. void delay(i)//延時函數
  29.   {
  30.       uchar              j,k;
  31.       for(j=0;j<i;j++)
  32.       for(k=0;k<250;k++);
  33.   }
  34. /********************************************************************
  35.                             正轉運行函數
  36. *********************************************************************/
  37. void zrun()// 正轉運行
  38. {
  39.    uchar z;
  40.    for(z=0;z<8;z++)
  41.        {
  42.          P1=runz[z];
  43.          delay(y);
  44.        }
  45. }
  46. /********************************************************************
  47.                             反轉運行函數
  48. *********************************************************************/
  49. void frun()// 反轉運行
  50. {
  51.      uchar z;
  52.      for(z=0;z<8;z++)
  53.         {
  54.             P1=runf[z];
  55.             delay(y);
  56.          }
  57. }
  58. /********************************************************************
  59.                             主函數
  60. *********************************************************************/
  61. main()
  62. {
  63.    while(1)
  64.     {
  65.        if(P2_0==0) //如果電機正轉按鍵按下
  66.       {
  67.         keycan=1;              //鍵值等于1
  68.       }
  69.          if(P2_1==0) //如果電機反轉按鍵按下
  70.       {
  71.         keycan=2;              //鍵值等于2
  72.        }
  73.                            switch (keycan)
  74.                           {
  75.                            case 1: zrun();  //鍵值等于1 正轉
  76.                                                         break;
  77.                            case 2: frun();  //鍵值等于2 反轉
  78.                            break;
  79.                            }
  80.                    if(P2_2==0)  //  電機減速
  81.       {
  82.         y+=2;
  83.       }
  84.          if(P2_3==0)   // 電機加速
  85.       {                                         
  86.         y-=2;
  87.        }
  88.    }
  89. }
復制代碼

實例二:直流電機的控制實例
使用直流/步進兩用驅動器可以驅動兩臺直流電機。分別為M1和M2。引腳A,B可用于輸入PWM脈寬調制信號對電機進行調速控制。(如果無須調速可將兩引腳接5V,使電機工作在最高速狀態,既將短接帽短接)實現電機正反轉就更容易了,輸入信號端IN1接高電平輸入端IN2接低電平,電機M1正轉。(如果信號端IN1接低電平, IN2接高電平,電機M1反轉。)控制另一臺電機是同樣的方式,輸入信號端IN3接高電平,輸入端IN4接低電平,電機M2正轉。(反之則反轉),PWM信號端A控制M1調速,PWM信號端B控制M2調速。可參考下圖表:
電機
旋轉方式
控制端IN1
控制端IN2
控制端IN3
控制端IN4
輸入PWM信號改變脈寬可調速
調速端A
調速端B
M1
正轉
/
/
/
反轉
/
/
/
停止
/
/
/
M2
正轉
/
/
/
反轉
/
/
/
停止
/
/
/

五、此板驅動直流電機測試程序

【測試程序】
  1. /********************************************************************
  2.                             匯誠科技
  3. 實現功能:直流電機調試程序
  4. 使用芯片:AT89S52 或者 STC89C52
  5. 晶振:11.0592MHZ
  6. 編譯環境:Keil
  7. 作者:zhangxinchun   
  8. *********************************************************************/
  9. #include<reg52.h>
  10. #define uchar unsigned char//宏定義無符號字符型
  11. #define uint unsigned int  //宏定義無符號整型
  12. sbit P2_0=P2^0;//M1啟動
  13. sbit P2_1=P2^1;//M1停止
  14. sbit P2_2=P2^2;//M2啟動
  15. sbit P2_3=P2^3;//M2停止
  16. sbit P1_0=P1^0;//M1
  17. sbit P1_1=P1^1;//M1
  18. sbit P1_2=P1^2;//M2
  19. sbit P1_3=P1^3;//M2
  20. /********************************************************************
  21.                             延時函數
  22. *********************************************************************/
  23. void delay(uchar t)//延時程序
  24. {
  25. uchar m,n,s;
  26. for(m=t;m>0;m--)
  27. for(n=20;n>0;n--)
  28. for(s=248;s>0;s--);
  29. }
  30. /********************************************************************
  31.                             主函數
  32. *********************************************************************/
  33. main()
  34. {
  35. while(1)
  36.    {
  37.        if(P2_0==0){delay(3);if(P2_0==0)//M1啟動
  38.          {
  39.                        P1_0=1;                                                           
  40.                                           P1_1=0;
  41.           }}
  42.        if(P2_1==0){delay(3);if(P2_1==0)//M1停止
  43.          {
  44.                        P1_0=1;
  45.                                           P1_1=1;
  46.                               }}
  47.                  if(P2_2==0){delay(3);if(P2_2==0)//M2啟動
  48.          {
  49.                        P1_2=1;
  50.                                             P1_3=0;
  51.           }}
  52.        if(P2_3==0){delay(3);if(P2_3==0)//M2停止
  53.          {
  54.                        P1_2=1;
  55.                                           P1_3=1;
  56.                               }}
  57.     }
  58. }
復制代碼


【圖片展示】
【應用舉例】

0.png

全部資料51hei下載地址:
直流步進電機可編程控制器DXP資料.rar (152.91 KB, 下載次數: 63)
回復

使用道具 舉報

ID:320487 發表于 2018-5-2 15:08 | 顯示全部樓層
正好需要驅動步進電機  這個程序試試看
謝謝呀
回復

使用道具 舉報

ID:1013588 發表于 2023-8-3 14:17 | 顯示全部樓層
下載學習,樓主給力
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品亚洲日本在线观看 | 一级毛片网 | 波多野结衣一区二区三区 | 久久久青草 | 欧美1—12sexvideos| 一区二区三区视频在线 | 久久精品播放 | 精品久久久一区 | 盗摄精品av一区二区三区 | 日韩欧美视频免费在线观看 | 国产激情三区 | 一区二区三区四区免费视频 | 国产精品久久久精品 | 国产精品亚洲二区 | 人干人人| 亚洲三区在线观看 | 黄色大片免费看 | 久久99精品国产99久久6男男 | 91精品国产综合久久婷婷香蕉 | 中文字幕在线剧情 | 国产精品69毛片高清亚洲 | 久久天天躁狠狠躁夜夜躁2014 | 人人cao| 高清av一区 | 夜夜爽99久久国产综合精品女不卡 | 一区二区三区在线观看视频 | 日韩中文字幕在线免费 | 国产一区二区三区在线 | 亚洲中国字幕 | 999久久久国产精品 欧美成人h版在线观看 | 亚洲性爰 | h免费观看 | 国产精品国产馆在线真实露脸 | 国产激情视频在线免费观看 | 国产精品久久久久久婷婷天堂 | 99re在线| 黑人巨大精品欧美黑白配亚洲 | av大片| 香蕉国产在线视频 | 亚洲成人免费观看 | h片免费看|