欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32+ULN2003驅(qū)動28BYJ4步進(jìn)電機(jī)(正反轉(zhuǎn))

1126626497 ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-03-21 09:26 ? 次閱讀

?

一、環(huán)境介紹

MCU: STM32F103ZET6

編程軟件: Keil5

二、硬件介紹

開發(fā)板采用STM32F103ZET6 最小系統(tǒng)板

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

電機(jī)驅(qū)動板采用的是ULN2003

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

步進(jìn)電機(jī)采用的是28BYJ4 (5V 4相5線步進(jìn)電機(jī))

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

三、驅(qū)動代碼

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

3.1 motor.c

#include "motor.h"


//步進(jìn)電機(jī)正反轉(zhuǎn)數(shù)組1
u16 PositiveSequence[4] ={0x0200,0x0100,0x0080,0x0040};// D-C-B-A   
u16 ReverseOrder[4]={0x0040,0x0080,0x0100,0x0200};// A-B-C-D.


void motor_delay_ms(u32 ms)
{
 u32 i,j;
	for(i=0;iAPB2ENR|=1<<4;
    GPIOC->CRL&=0x00FFFFFF;
    GPIOC->CRL|=0x33000000;
    GPIOC->CRH&=0xFFFFFF00;
    GPIOC->CRH|=0x00000033;
	
// IN4: PC9   d
// IN3: PC8   c
// IN2: PC7   b
// IN1: PC6   a
}

void GPIO_Write(GPIO_TypeDef* GPIOx, u16 PortVal)
{
  GPIOx->ODR = PortVal;
}


void motor_just(int speed)  //一個脈沖
{  
    uint8_t i;  
  
    for(i=0;i<4;i++)  
    {  
        GPIO_Write(GPIOC,PositiveSequence[i]);
        motor_delay_ms(speed);  
    }
}


void motor_back(int speed)  
{  
    uint8_t i;  
    for(i=0;i<4;i++)  
    {  
        GPIO_Write(GPIOC,ReverseOrder[i]);  
        motor_delay_ms(speed);  
    } 

}


//由于   *一個脈沖*   *輸出軸*  轉(zhuǎn)0.08789度(電機(jī)實轉(zhuǎn)0.08789*64=5.625度),即步進(jìn)角為5.625度。則轉(zhuǎn)完A-B-C-D為  *8個脈沖*  
//,即0.08789*8=0.70312度。若稱A-B-C-D為一個周期,則j為需要的轉(zhuǎn)完angle角度所需的周期數(shù)。
//步進(jìn)電機(jī)正轉(zhuǎn)角度函數(shù)
void motor_just_angle(int angle,int speed)
{
	int i,j;
	j=(int)(angle/0.70312);
	for(i=0;i;i++)>;i++)>
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.2 motor.h

#ifndef _MOTOR_H
#define _MOTOR_H
#include "sys.h"

void motor_delay_ms(u32 x);//延時函數(shù)
void motor_init(void);  //步進(jìn)電機(jī)初始化
void motor_just(int speed);    //步進(jìn)電機(jī)正轉(zhuǎn)函數(shù)
void motor_back(int speed);   //步進(jìn)電機(jī)反轉(zhuǎn)函數(shù)
void motor_just_angle(int angle,int speed);  //步進(jìn)電機(jī)正轉(zhuǎn)角度函數(shù)
void motor_back_angle(int angle,int speed); //步進(jìn)電機(jī)反轉(zhuǎn)角度函數(shù)
void motor_stop(void);  //步進(jìn)電機(jī)停止函數(shù)
void motor_just_circle(int ring ,int speed); //步進(jìn)電機(jī)正轉(zhuǎn)圈函數(shù)
void motor_back_circle(int ring ,int speed);//步進(jìn)電機(jī)反轉(zhuǎn)圈函數(shù)

//IN
#define MOTOR_1  PCout(6)
#define MOTOR_2  PCout(7)
#define MOTOR_3  PCout(8)
#define MOTOR_4  PCout(9)

#endif
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.3 main.c

/*
ULN2003控制28BYJ-48步進(jìn)電機(jī)接線:

ULN2003接線:
IN4: PC9   d
IN3: PC8   c
IN2: PC7   b
IN1: PC6   a
+  : 5V
-  : GND
*/

int main()
{
    u8 time_cnt=0;
    u8 key;
    LED_Init();
    KEY_Init();
    USART1_Init(115200);
    motor_init();  //步進(jìn)電機(jī)初始化
    USART1_Printf("程序初始化.....\r\n");
    
	 while(1)
	 {
         //按鍵可以測試開鎖和關(guān)鎖
        key=KEY_Scan(0);
        if(key==1)
        {
            LED1=0;  //亮燈--表示開鎖
            motor_just_circle(1,300);   //電機(jī)正轉(zhuǎn)1圈
        }
        else if(key==2)
        {
            LED1=1;  //滅燈--表示關(guān)鎖
            motor_back_circle(1,300);  //電機(jī)反轉(zhuǎn)1圈
        } 

        DelayMs(10);
        time_cnt++;
        if(time_cnt>=50)
        {
            time_cnt=0;
            LED2=!LED2;
        }
	 }
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

審核編輯:湯梓紅

?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2273

    文章

    10926

    瀏覽量

    357821
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3406

    瀏覽量

    66499
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    152

    文章

    3120

    瀏覽量

    147903
收藏 人收藏

    評論

    相關(guān)推薦

    STM32+ULN2003驅(qū)動28BYJ4步進(jìn)電機(jī)驅(qū)動代碼是什么?

    STM32+ULN2003驅(qū)動28BYJ4步進(jìn)電機(jī)的硬件有哪些?STM32+ULN2003
    發(fā)表于 06-29 08:53

    STM32+ULN2003驅(qū)動28BYJ4步進(jìn)電機(jī)相關(guān)資料分享

    一、環(huán)境介紹MCU: STM32F103ZET6編程軟件: Keil5二、硬件介紹開發(fā)板采用STM32F103ZET6 最小系統(tǒng)板電機(jī)驅(qū)動板采用的是
    發(fā)表于 06-29 06:15

    STM8S103F3P6+步進(jìn)電機(jī)28BYJ-48+ULN2003實現(xiàn)簡單的正反轉(zhuǎn)demo

    STM32F103+步進(jìn)電機(jī)28BYJ-48+ULN2003 實現(xiàn)簡單的正反轉(zhuǎn)demo這篇文章的拓展,針對此文章的程序
    發(fā)表于 06-29 07:16

    Arduino,ULN200328YJ-48步進(jìn)電機(jī)執(zhí)行控制 相關(guān)資料下載

    使用ULN2003驅(qū)動板和Arduino控制28BYJ-48步進(jìn)電機(jī)的所有信息。我提供了數(shù)據(jù)表,接線圖和許多示例代碼!在每個示例之后,我都會
    發(fā)表于 07-08 09:26

    28BYJ-48步進(jìn)電機(jī)+ULN2003驅(qū)動程序是什么

    28BYJ-48步進(jìn)電機(jī)+ULN2003驅(qū)動程序(STM32
    發(fā)表于 07-08 07:13

    28BYJ-48步進(jìn)電機(jī)是什么?

    基于STM32單片機(jī)的28BYJ-48步進(jìn)電機(jī)驅(qū)動一、ULN2003這是
    發(fā)表于 07-08 06:33

    如何根據(jù)STM32F103+步進(jìn)電機(jī)28BYJ-48+ULN2003實現(xiàn)簡單的正反轉(zhuǎn)

    如何根據(jù)STM32F103+步進(jìn)電機(jī)28BYJ-48+ULN2003實現(xiàn)簡單的正反轉(zhuǎn)?
    發(fā)表于 10-15 07:57

    STM32F103+步進(jìn)電機(jī)28BYJ-48+ULN2003如何實現(xiàn)簡單的正反轉(zhuǎn)?

    STM32F103+步進(jìn)電機(jī)28BYJ-48+ULN2003如何實現(xiàn)簡單的正反轉(zhuǎn)
    發(fā)表于 10-15 09:15

    如何使用ULN2003驅(qū)動28BYJ-48步進(jìn)電機(jī)?

    如何使用ULN2003驅(qū)動28BYJ-48步進(jìn)電機(jī)?
    發(fā)表于 10-18 06:24

    分享一個不錯的28BYJ-48步進(jìn)電機(jī)+ULN2003驅(qū)動程序

    分享一個不錯的28BYJ-48步進(jìn)電機(jī)+ULN2003驅(qū)動程序
    發(fā)表于 12-21 06:31

    ULN2003APG芯片是如何驅(qū)動28BYJ-48步進(jìn)電機(jī)

    ULN2003APG芯片是如何驅(qū)動28BYJ-48步進(jìn)電機(jī)的?
    發(fā)表于 12-21 07:11

    ULN2003驅(qū)動28BYJ48步進(jìn)電機(jī)STM32F103版庫函數(shù)合集免費下載

    ULN2003驅(qū)動28BYJ48步進(jìn)電機(jī)STM32F103版庫函數(shù)合集免費下載
    發(fā)表于 03-10 08:00 ?0次下載
    <b class='flag-5'>ULN2003</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>28BYJ</b>48<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>STM32</b>F103版庫函數(shù)合集免費下載

    STM32+ULN2003驅(qū)動28BYJ4步進(jìn)電機(jī)(根據(jù)圈數(shù)正轉(zhuǎn)、反轉(zhuǎn))

    一、環(huán)境介紹MCU: STM32F103ZET6編程軟件: Keil5二、硬件介紹開發(fā)板采用STM32F103ZET6 最小系統(tǒng)板電機(jī)驅(qū)動板采用的是
    發(fā)表于 12-05 19:21 ?47次下載
    <b class='flag-5'>STM32+ULN2003</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>28BYJ4</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>(根據(jù)圈數(shù)正轉(zhuǎn)、<b class='flag-5'>反轉(zhuǎn)</b>)

    STM8S103F3P6+步進(jìn)電機(jī)28BYJ-48+ULN2003 實現(xiàn)簡單的正反轉(zhuǎn)demo

    STM32F103+步進(jìn)電機(jī)28BYJ-48+ULN2003 實現(xiàn)簡單的正反轉(zhuǎn)demo這篇文章的拓展,針對此文章的程序
    發(fā)表于 12-27 18:28 ?24次下載
    STM8S103F3P6+<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>28BYJ-48+ULN2003</b> 實現(xiàn)簡單的<b class='flag-5'>正反轉(zhuǎn)</b>demo

    STM32F103RCT6利用ULN2003驅(qū)動步進(jìn)電機(jī)正反轉(zhuǎn)

    接通電源后,電機(jī)開始正轉(zhuǎn),轉(zhuǎn)夠一圈后,電機(jī)開始反轉(zhuǎn),同時在OLED上會顯示forward和reverse分別表示正反轉(zhuǎn) 器件 :STM32
    發(fā)表于 03-24 09:55 ?13次下載
    <b class='flag-5'>STM32</b>F103RCT6利用<b class='flag-5'>ULN2003</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>正反轉(zhuǎn)</b>