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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3773|回復: 4
收起左側

STM32F407+ULN2003驅動步進電機源碼,使用方法及現象在readme文本里面很清楚。

  [復制鏈接]
ID:857818 發表于 2021-4-15 17:14 | 顯示全部樓層 |閱讀模式
如果你們有更好的方法,多多交流!
       ULN2003驅動-----STM32F407
           IN1-------------PC6
           IN2-------------PC7
           IN3-------------PC8
           IN4-------------PC9
           -5V-------------GND
           +12V-------------+5V
單片機源程序如下:
  1. #include "motor.h"

  2. #define uint unsigned int
  3.         
  4. uint16_t phasecw[4] ={0x0200,0x0100,0x0080,0x0040};// D-C-B-A   
  5. uint16_t phaseccw[4]={0x0040,0x0080,0x0100,0x0200};// A-B-C-D.

  6. void Delay_xms(uint x)
  7. {
  8. uint i,j;
  9. for(i=0;i<x;i++)
  10.   for(j=0;j<112;j++);
  11. }

  12. void Moto_Init(void)
  13. {
  14.         GPIO_InitTypeDef GPIO_InitStructure;
  15.   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
  16.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 ;
  17.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  18.   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  19.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  20.   GPIO_Init(GPIOC, &GPIO_InitStructure);
  21.   GPIO_ResetBits(GPIOC,GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9 );
  22. }

  23. void Motorcw(int speed)//步進電機順時針轉  
  24. {  
  25.     uint8_t i;  
  26.     for(i=0;i<4;i++)  
  27.     {  
  28.         GPIO_Write(GPIOC,phasecw[i]);  
  29.         Delay_xms(speed);  
  30.     }  
  31. }


  32. void Motorccw(int speed) //步進電機逆時針轉  
  33. {  
  34.     uint8_t i;  
  35.     for(i=0;i<4;i++)  
  36.     {  
  37.         GPIO_Write(GPIOC,phaseccw[i]);  
  38.         Delay_xms(speed);  
  39.     }  
  40. }


  41. void MotorStop(void)  //步進電機暫停
  42. {  
  43.     GPIO_Write(GPIOC,0x0000);  
  44. }


  45. //由于   *一個脈沖*   *輸出軸*  轉0.08789度(電機實轉0.08789*64=5.625度),即步進角為5.625度。
  46. //則轉完A-B-C-D為  *8個脈沖*  ,即0.08789*8=0.70312度。若稱A-B-C-D為一個周期,則j為需要的轉完angle角度所需的周期數。
  47. void Motorcw_angle(int angle,int speed)//步進電機逆時針轉 ,angle控制旋轉角度,speed控制旋轉速度(>500)
  48. {
  49.         int i,j;
  50.         j=(int)(angle/0.70312);
  51.         for(i=0;i<j;i++)
  52.         {
  53.                 Motorcw(speed);
  54.         }
  55.         MotorStop();
  56. }


  57. void Motorccw_angle(int angle,int speed)//步進電機逆時針轉 ,angle控制旋轉角度,speed控制旋轉速度(>500)
  58. {
  59.         int i,j;
  60.         j=(int)(angle/0.70312);
  61.         for(i=0;i<j;i++)
  62.         {
  63.                 Motorccw(speed);
  64.         }
  65.         MotorStop();
  66. }



復制代碼

所有資料51hei提供下載:
ULN2003 5V四相步進電機.7z (294.89 KB, 下載次數: 108)

評分

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

查看全部評分

回復

使用道具 舉報

ID:929128 發表于 2021-6-8 19:16 | 顯示全部樓層
這個不錯,增加了角度控制,備注清晰,謝謝分享,值得學習。
回復

使用道具 舉報

ID:929128 發表于 2021-6-8 19:17 | 顯示全部樓層
這個不錯,可以調整電機旋轉角度,備注清晰,謝謝分享!
回復

使用道具 舉報

ID:731673 發表于 2021-6-20 16:55 | 顯示全部樓層
本帖最后由 未藍澄海煙 于 2021-6-20 16:58 編輯

有資源,很友好
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品久久久久久久久久 | 国产精品亚洲一区 | 成人在线免费视频 | 国产一区二区不卡 | 九色91视频 | 日韩av免费在线电影 | 国产亚洲精品精品国产亚洲综合 | 免费av一区二区三区 | 国产特黄一级 | 色综合网站 | 91国自视频 | 羞羞的视频免费看 | 黄色在线 | 91免费福利视频 | 草草影院ccyy| 欧美一区视频 | 日韩一区二区三区在线观看 | 久久精品网| 亚洲免费高清 | 成人免费在线电影 | 米奇狠狠鲁 | 最新午夜综合福利视频 | 亚洲电影第1页 | 国产欧美在线 | 二区亚洲 | 在线播放中文字幕 | 色站综合 | 国产www. | 91综合在线视频 | 欧美精品在线一区 | 久久精品国产99国产精品 | 国产在线观看一区 | 久久精品网 | 日产久久 | 欧美综合在线视频 | 玖玖在线免费视频 | 国产精品久久久久久久久久久新郎 | 精品久久香蕉国产线看观看亚洲 | 国产在线播放av | 欧美精品网| 欧美在线a |