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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7425|回復: 7
收起左側(cè)

ULN2003驅(qū)動28BYJ-48步進電機STM32F103庫函數(shù)版

  [復制鏈接]
ID:320908 發(fā)表于 2018-6-2 02:44 | 顯示全部樓層 |閱讀模式
本實驗下載后,電機1先逆時針旋轉(zhuǎn)90度,再順時針旋轉(zhuǎn)90度。電機2逆時針旋轉(zhuǎn)90度,再順時針旋轉(zhuǎn)90度。

◆硬件資源:
    1,ULN2003驅(qū)動模塊
    2,28BYJ-48步進電機電機1:
    // IN4: PC9   d
    // IN3: PC8   c
    // IN2: PC7   b
    // IN1: PC6   a

    3,28BYJ-48步進電機電機2:
    // IN4: PD11   d
    // IN3: PD10   c
    // IN2: PD9    b
    // IN1: PD8    a
   

單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bjdj.h"
  3. #include "delay.h"

  4. int main(void)
  5. {       
  6.         Moto_Init();
  7.         delay_init();
  8.         Motorcw_angle(90,8);//電機1逆時針
  9.         MotorStop();
  10.         delay_ms(500);
  11.         delay_ms(500);
  12.         Motorccw_angle(90,8);//電機1順時針
  13.         MotorStop();
  14.         delay_ms(500);
  15.         delay_ms(500);
  16.         Motorcw_angle1(90,8);//電機2逆時針
  17.         MotorStop1();
  18.         delay_ms(500);
  19.         delay_ms(500);
  20.         Motorccw_angle1(90,8);//電機2順時針
  21.         MotorStop1();
  22.         delay_ms(500);
  23.         delay_ms(500);
  24.         //for(;;);
  25. }
復制代碼
  1. #include "bjdj.h"
  2. #include "delay.h"

  3. #define uint unsigned int
  4.        
  5. //步進電機正反轉(zhuǎn)數(shù)組1
  6. uint16_t phasecw[4] ={0x0200,0x0100,0x0080,0x0040};// D-C-B-A   
  7. uint16_t phaseccw[4]={0x0040,0x0080,0x0100,0x0200};// A-B-C-D.

  8. //步進電機正反轉(zhuǎn)數(shù)組2
  9. uint16_t phasecw1[4] ={0x0800,0x0400,0x0200,0x0100};// D-C-B-A   
  10. uint16_t phaseccw1[4]={0x0100,0x0200,0x0400,0x0800};// A-B-C-D.       
  11. void Delay_xms(uint x)
  12. {
  13. uint i,j;
  14. for(i=0;i<x;i++)
  15.   for(j=0;j<112;j++);
  16. }

  17. void Moto_Init(void)
  18. {
  19.         //電機1
  20.        
  21. GPIO_InitTypeDef GPIO_InitStructure;
  22. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  23. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 ;
  24. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  25. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  26. GPIO_Init(GPIOC,&GPIO_InitStructure);
  27. GPIO_ResetBits(GPIOC,GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9 );
  28. // IN4: PC9   d
  29. // IN3: PC8   c
  30. // IN2: PC7   b
  31. // IN1: PC6   a

  32.        
  33.         //電機2
  34. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
  35. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 ;
  36. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  37. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  38. GPIO_Init(GPIOD,&GPIO_InitStructure);
  39. GPIO_ResetBits(GPIOD,GPIO_Pin_8 | GPIO_Pin_9 |GPIO_Pin_10 |GPIO_Pin_11 );
  40. // IN4: PD11  d
  41. // IN3: PD10  c
  42. // IN2: PD9   b
  43. // IN1: PD8   a
  44. }

  45. void Motorcw(uint speed)  
  46. {  
  47.     uint8_t i=0;  
  48.   
  49.     for(i=0;i<4;i++)  
  50.     {  
  51.         GPIO_Write(GPIOC,phasecw[i]);  
  52.         delay_ms(speed);  
  53.     }  
  54. }

  55. void Motorcw1(int speed)  
  56. {  
  57.     uint8_t i;  
  58.   
  59.     for(i=0;i<4;i++)  
  60.     {  
  61.         GPIO_Write(GPIOD,phasecw1[i]);  
  62.         delay_ms(speed);
  63.     }  
  64. }

  65. void Motorccw(int speed)  
  66. {  
  67.     uint8_t i;  
  68.     for(i=0;i<4;i++)  
  69.     {  
  70.         GPIO_Write(GPIOC,phaseccw[i]);  
  71.         delay_ms(speed);
  72.     }  
  73. }

  74. void Motorccw1(int speed)  
  75. {  
  76.     uint8_t i;  
  77.   
  78.     for(i=0;i<4;i++)  
  79.     {  
  80.         GPIO_Write(GPIOD,phaseccw1[i]);  
  81.         delay_ms(speed);   
  82.     }  
  83. }

  84. void MotorStop(void)  
  85. {
  86.          //GPIO_ResetBits(GPIOC,GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9 );
  87. GPIO_Write(GPIOC,0x0000);  
  88. }

  89. void MotorStop1(void)  
  90. {  
  91.     GPIO_Write(GPIOD,0x0000);  
  92. }

  93. //由于   *一個脈沖*   *輸出軸*  轉(zhuǎn)0.08789度(電機實轉(zhuǎn)0.08789*64=5.625度),即步進角為5.625度。
  94. //則轉(zhuǎn)完A-B-C-D為  *8個脈沖*  ,即0.08789*8=0.70312度。若稱A-B-C-D為一個周期,則j為需要的轉(zhuǎn)完angle角度所需的周期數(shù)。
  95. void Motorcw_angle(int angle,int speed)
  96. {
  97.         int i,j;
  98.         j=(int)(angle/0.70312);
  99.         for(i=0;i<j;i++)
  100.         {
  101.                 Motorcw(speed);
  102.         }
  103. }

  104. void Motorcw_angle1(int angle,int speed)
  105. {
  106.         int i,j;
  107.         j=(int)(angle/0.70312);
  108.         for(i=0;i<j;i++)
  109.         {
  110.                 Motorcw1(speed);
  111.         }
  112. }

  113. void Motorccw_angle(int angle,int speed)
  114. {
  115.         int i,j;
  116.         j=(int)(angle/0.70312);
  117.         for(i=0;i<j;i++)
  118.         {
  119.                 Motorccw(speed);
  120.         }
  121. }

  122. void Motorccw_angle1(int angle,int speed)
  123. {
  124.         int i,j;
  125.         j=(int)(angle/0.70312);
  126.         for(i=0;i<j;i++)
  127.         {
  128.                 Motorccw1(speed);
  129.         }
  130. }
復制代碼

所有資料51hei提供下載:
ULN2003驅(qū)動28BYJ-48步進電機STM32F103庫函數(shù)版.rar (283.17 KB, 下載次數(shù): 268)

評分

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

查看全部評分

回復

使用道具 舉報

ID:384700 發(fā)表于 2018-8-13 20:22 | 顯示全部樓層
樓主,運行你給的程序后,電機內(nèi)部能震動,但外部轉(zhuǎn)頭不會轉(zhuǎn),我用的是5V直流供電。
回復

使用道具 舉報

ID:252747 發(fā)表于 2019-2-6 16:21 | 顯示全部樓層
看看!
回復

使用道具 舉報

ID:208334 發(fā)表于 2019-7-7 22:45 | 顯示全部樓層
正好在研究  感謝樓主
回復

使用道具 舉報

ID:421308 發(fā)表于 2019-7-13 16:54 | 顯示全部樓層
正在研究,不知道可以用嗎
回復

使用道具 舉報

ID:492516 發(fā)表于 2019-7-19 15:43 | 顯示全部樓層

樓主,運行你給的程序后,電機內(nèi)部能震動,但外部轉(zhuǎn)頭不會轉(zhuǎn),我用的是5V直流供電。
回復

使用道具 舉報

ID:407977 發(fā)表于 2019-7-24 23:44 | 顯示全部樓層
代碼可以運行,但是依舊存在小小問題。
回復

使用道具 舉報

ID:476015 發(fā)表于 2019-7-26 11:21 | 顯示全部樓層
13610386127 發(fā)表于 2018-8-13 20:22
樓主,運行你給的程序后,電機內(nèi)部能震動,但外部轉(zhuǎn)頭不會轉(zhuǎn),我用的是5V直流供電。

解決了嗎,我剛開始以為是轉(zhuǎn)速問題,后來調(diào)整后也沒用
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久99精品久久久久 | 第一福利社区1024 | 91极品视频 | 婷婷午夜天 | 日本一区视频在线观看 | 日韩av资源站 | 久久青草av | 欧美日韩亚洲国产 | 欧美激情精品久久久久久变态 | 久久大陆 | 久久久久国产一区二区三区 | 中文字幕一区二区三区精彩视频 | 午夜视频一区二区三区 | 国产综合久久 | 国产一区二区精品在线 | 国产第一页在线观看 | 亚洲性视频网站 | 一级黄色裸片 | 亚洲 欧美 另类 综合 偷拍 | 国产精品一区二区av | 波多野结衣中文视频 | 手机av在线| 北条麻妃国产九九九精品小说 | 久久久久久91 | 日日骚av| 中文成人在线 | 欧美综合一区 | 亚洲人成免费 | 日韩精品av一区二区三区 | 亚洲视频免费播放 | 性生活毛片 | 久久精品久久久久久 | 亚洲精品久久久蜜桃 | 亚洲毛片在线观看 | 国产精品视频二区三区 | 日韩二区| 日韩精品久久 | 午夜精品一区二区三区免费视频 | 欧美精品在线一区 | 黑人性hd | 九九国产在线观看 |