1379|7

1513

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【小华HC32F448测评】+步进电机驱动控制 [复制链接]

  本帖最后由 jinglixixi 于 2023-8-13 10:55 编辑

利用HC32F448开发板可进行步进电机的驱动,这里选用的步进电机型号为28BYJ-48,由于其工作电流相对较大,故需要配相应的驱动模块来实现,其驱动芯片为ULN2003,该芯片的引脚排列如图1所示。

图1 引脚排列

驱动芯片ULN2003由7组达林顿电路构成,其中每一组达林顿电路都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压。 
 

28BYJ-48是一款4相5线制减速步进电机,它共有5条引线,其中VCC接电机的中心抽头线(一般为红色),其它4条接电机的A、B、C、D相。该电机的直径为28mm,电压:5V,步进角度:5.625 x 1/64,减速比:1/64。

图2 内部类型及信号驱动顺序

 

为控制步进电机的转动,其与开发板的引脚连接关系为:

MA:PC7

MB:PE14

MC:PE12

MD:PC4

为输出高低电平,所进行的引脚定义为:

#define MAH    GPIO_SetPins(GPIO_PORT_C, GPIO_PIN_07)

#define MAL    GPIO_ResetPins(GPIO_PORT_C, GPIO_PIN_07)

#define MBH    GPIO_SetPins(GPIO_PORT_E, GPIO_PIN_14)

#define MBL    GPIO_ResetPins(GPIO_PORT_E, GPIO_PIN_14)

#define MCH    GPIO_SetPins(GPIO_PORT_E, GPIO_PIN_12)

#define MCL    GPIO_ResetPins(GPIO_PORT_E, GPIO_PIN_12)

#define MDH    GPIO_SetPins(GPIO_PORT_C, GPIO_PIN_04)

#define MDL    GPIO_ResetPins(GPIO_PORT_C, GPIO_PIN_04)

对所用引脚的配置函数为:

void Init_BJDJ(void)
{
    stc_gpio_init_t stcGpioInit;
    (void)GPIO_StructInit(&stcGpioInit);
    stcGpioInit.u16PinState = PIN_STAT_RST;
    stcGpioInit.u16PinDir = PIN_DIR_OUT;
	(void)GPIO_Init(GPIO_PORT_C, GPIO_PIN_04, &stcGpioInit);
	(void)GPIO_Init(GPIO_PORT_C, GPIO_PIN_07, &stcGpioInit);
	(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_12, &stcGpioInit);
	(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_14, &stcGpioInit);
}

测试步进电机正反转的主程序为:

int32_t main(void)
{
	unsigned int X,Y;
    LL_PERIPH_WE(LL_PERIPH_GPIO);
    LED_Init();
    Init_BJDJ();
	LL_PERIPH_WP(LL_PERIPH_GPIO);
	DDL_DelayMS(100);
	MAL;
    MBL;
    MCL;
    MDL;
    // 转动
    for(X=0;X<192;X++)
    {
      for(Y=0;Y<8;Y++)
      {
         MDL;
         MAH; //A
         delay (n);
         MBH; //AB
         delay (n);
         MAL; //B
         delay (n);
         MCH; //BC
         delay (n);
         MBL; //C
         delay (n);
         MDH; //CD
         delay (n);
         MCL; //D
         delay (n);
         MAH; //DA
         delay (n);
       }
    }
    DDL_DelayMS(100);
    // 换向
    for(X=0;X<192;X++)
    {
      for(Y=0;Y<8;Y++)
      {
         MDH;
         MAH; //DA
         delay (n);
         MAL; //D
         delay (n);
         MCH; //CD
         delay (n);
         MDL; //C
         delay (n);
         MBH; //BC
         delay (n);
         MCL; //B
         delay (n);
         MAH; //AB
         delay (n);
         MBL; //A
         delay (n);
       }
    }
    // 停止
	MAL;
    MBL;
    MCL;
    MDL;
    for (;;) {
        LED_G_TOGGLE();
		DDL_DelayMS(DLY_MS);
    }
}

 

经程序的编译与下载,其运行效果如图3至图5所示。

图1 转动状态1

 

图2 转动状态2

 

图3 转动状态3

 

在使用时,还可通过延时值的调整,来实现转速快慢的改变。

此外,在使用开发板上按键的情况下,还可通过按键来实时控制电机的转向。

 

视频演示:

 

 

 

 

 

最新回复

李老师讲的非常好!学生受教了,刚开始学习步进电机  详情 回复 发表于 2023-9-3 09:25
点赞 关注
 
 

回复
举报

6964

帖子

11

TA的资源

版主

沙发
 
详细的讲解了如何控制步进电机,李老师的帖子,一直这么的优秀!
 
 
 

回复

1469

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
有没有那种很薄的步进电机,厚度在10mm上下的轴直径在1mm左右,网上找了好久都是很厚20mm左右的
 
 
 

回复

1513

帖子

1

TA的资源

五彩晶圆(初级)

4
 
lugl4313820 发表于 2023-8-13 17:14 详细的讲解了如何控制步进电机,李老师的帖子,一直这么的优秀!

过奖了,感谢支持!!!

 
 
 

回复

1513

帖子

1

TA的资源

五彩晶圆(初级)

5
 
本帖最后由 jinglixixi 于 2023-8-14 00:51 编辑
lkh747566933 发表于 2023-8-13 18:59 有没有那种很薄的步进电机,厚度在10mm上下的轴直径在1mm左右,网上找了好久都是很厚20mm左右的

看看这个可用否?

https://item.taobao.com/item.htm?spm=a230r.1.14.16.275331270BSAkx&id=711000438484&ns=1&abbucket=15#detail

 
 
 

回复

1469

帖子

0

TA的资源

五彩晶圆(初级)

6
 
jinglixixi 发表于 2023-8-14 00:50 看看这个可用否? https://item.taobao.com/item.htm?spm=a230r.1.14.16.275331270BSAkx&id=71100 ...

嗯,感谢楼主帮忙找的链接,看尺寸是可以的,买了一个回来试试。我那个原来是5线的,这个4线,回来看看看电路怎么改改

 
 
 

回复

1513

帖子

1

TA的资源

五彩晶圆(初级)

7
 
lkh747566933 发表于 2023-8-15 15:05 嗯,感谢楼主帮忙找的链接,看尺寸是可以的,买了一个回来试试。我那个原来是5线的,这个4线,回来看看看 ...

好的,也可问问商家能否给一些相关的资料,会更方便些。

 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

8
 

李老师讲的非常好!学生受教了,刚开始学习步进电机


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表