失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > DRV8825步进电机驱动控制模块以及双轴平台

DRV8825步进电机驱动控制模块以及双轴平台

时间:2020-08-09 02:56:44

相关推荐

DRV8825步进电机驱动控制模块以及双轴平台

简 介: 实验研究了基于TI公司的DRV8825不仅电机驱动芯片模块,并利用它与原来存在的X-Y的平台构建了一个可以自动测量的平台 。

关键词DRV8825X-Y平台

■ DRV8825简介

这款基于TI公司的DRV8825步进电机驱动芯片模块是由优信电子出品的。(TB:¥5.9), 它可以用于RepRap 3D打印机开源项目中的StepStick

DRV8825数据手册可以知道该模块的基本应用数据:

1. 具有嘴大32细分步骤;

2. 工作电压可达45V;

3. 输出最大电流2.5A(24V工作电压的时候)

▲ 应用示意图以及32细分输出电流波形

01模块引脚说明

对照DRV8825数据手册中的管脚功能说明,分别确定模块管脚的功能,如下图所示:

工作模式设定如下表所示:

02驱动模块设计[^52893]

[^52893]:控制模块AD工程文件:AD\Tools\\DRV8825

1.电路设计[^52893]

2.MCU软件设计1

**◎ 蓝牙串口(COM2)命令 **

if(strcmp("hello",(char *)STD_ARG[0]) == 0)printf("%s is ready !\r\n", VERSION_STRING);else IFARG0("drvm1") {if(STD_NUM > 2) {sscanf(SDA(2), "%d", &nNumber);if(nNumber == g_ucCommandFlag) return;g_ucCommandFlag = nNumber;}sscanf(SDA(1), "%ld", &g_lnMotorStep1);if(g_lnMotorStep1 < 0) {g_lnMotorStep1 = -g_lnMotorStep1;ON(DIR1_PIN);} else OFF(DIR1_PIN);if(VAL(DIR1_PIN)) {if(VAL(SW1_PIN) == 0) {g_lnMotorStep1 = 0;OFF(DIR1_PIN);}}} else IFARG0("drvm2") {if(STD_NUM > 2) {sscanf(SDA(2), "%d", &nNumber);if(nNumber == g_ucCommandFlag) return;g_ucCommandFlag = nNumber;}sscanf(SDA(1), "%ld", &g_lnMotorStep2);if(g_lnMotorStep2 < 0) {g_lnMotorStep2 = -g_lnMotorStep2;ON(DIR2_PIN);} else OFF(DIR2_PIN);if(VAL(DIR2_PIN)) {if(VAL(SW2_PIN) == 0) {g_lnMotorStep2 = 0;OFF(DIR2_PIN);}}} else IFARG0("drvm12") {if(STD_NUM > 3) {sscanf(SDA(3), "%d", &nNumber);if(nNumber == g_ucCommandFlag) return;g_ucCommandFlag = nNumber;}sscanf(SDA(1), "%ld", &g_lnMotorStep1);if(g_lnMotorStep1 < 0) {g_lnMotorStep1 = -g_lnMotorStep1;ON(DIR1_PIN);} else OFF(DIR1_PIN);if(VAL(DIR1_PIN)) {if(VAL(SW1_PIN) == 0) {g_lnMotorStep1 = 0;OFF(DIR1_PIN);}}sscanf(SDA(2), "%ld", &g_lnMotorStep2);if(g_lnMotorStep2 < 0) {g_lnMotorStep2 = -g_lnMotorStep2;ON(DIR2_PIN);} else OFF(DIR2_PIN);if(VAL(DIR2_PIN)) {if(VAL(SW2_PIN) == 0) {g_lnMotorStep2 = 0;OFF(DIR2_PIN);}}} else IFARG0("drvorg") {ON(DIR1_PIN);ON(DIR2_PIN);g_lnMotorStep1 = 500000;g_lnMotorStep2 = 500000;if(VAL(DIR1_PIN)) {if(VAL(SW1_PIN) == 0) {g_lnMotorStep1 = 0;OFF(DIR1_PIN);}}if(VAL(DIR2_PIN)) {if(VAL(SW2_PIN) == 0) {g_lnMotorStep2 = 0;OFF(DIR2_PIN);}}}// else printf("Error command : %s !\r\n", STD_ARG[0]);}

02控制双轴平台

命令示例:

zbcmd(b’drvm1 1000’) : 对于顶层移动;zbcmd(b’drvm2 1000’):对于底层驱动;zbcmd(b’drvorg’) : 两个电机都回复的复位原点。

当参数大于零时,平台原理步进电机;当参数小于0,平台移动到步进电机;

移动参数: N= 200000,移动距离:6.6mm

因此,移动参数的参数:

Lstep=6.6200000=33nM=0.033μML_{step} = {{6.6} \over {200000}} = 33nM = 0.033\mu MLstep​=2000006.6​=33nM=0.033μM

■ 相关文献链接:

DRV8825优信电子出品RepRap 3D打印机开源项目StepStick

MCU工程文件:C51\STC\Tools\\DRV8825AXES2\DRV8825AXES2.uvproj ↩︎

如果觉得《DRV8825步进电机驱动控制模块以及双轴平台》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。