注:本程序已验证可用,但只对本店模块做过适配测试,其他模块我们没法保证一定能用
实物参考链接 直戳跳转
一、资源说明
二、基本参数
1.参数
2、引脚说明
三、驱动说明
步进电机驱动时序
反向输出
对应程序:
//顺时针逆时针选择
void Swerve(uint8_t F_Dir)
{
if(F_Dir)
{
switch(MOTO_delay0)
{
case(1):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;
case(2):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;
case(3):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;
case(4):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;
}
}
else
{
switch(MOTO_delay0)
{
case(1):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;
case(2):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;
case(3):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;
case(4):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;
}
}
}
四、部分代码说明
1、接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+ULN2003模块
//输入信号引脚
sbit MOTOA=P1^0; //IN1
sbit MOTOB=P1^1; //IN2
sbit MOTOC=P1^2; //IN3
sbit MOTOD=P1^3; //IN4
//按键引脚
sbit KEY_Foreward = P1^4; //正转
sbit KEY_Reversal = P1^5; //反转
1.2、STM32F103C8T6+ULN2003模块
//输入信号引脚
#define MOTOA_GPIO_PORT GPIOA /* MOTOA端口 */
#define MOTOA_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOA端口时钟 */
#define MOTOA_GPIO_PIN GPIO_Pin_0
#define MOTOB_GPIO_PORT GPIOA /* MOTOB端口 */
#define MOTOB_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOB端口时钟 */
#define MOTOB_GPIO_PIN GPIO_Pin_1
#define MOTOC_GPIO_PORT GPIOA /* MOTOC端口 */
#define MOTOC_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOC端口时钟 */
#define MOTOC_GPIO_PIN GPIO_Pin_2
#define MOTOD_GPIO_PORT GPIOA /* MOTOD端口 */
#define MOTOD_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOD端口时钟 */
#define MOTOD_GPIO_PIN GPIO_Pin_3
//按键引脚
#define Foreward_GPIO_CLK RCC_APB2Periph_GPIOA
#define Foreward_GPIO_PORT GPIOA
#define Foreward_GPIO_PIN GPIO_Pin_5
//KEY2
#define Reversal_GPIO_CLK RCC_APB2Periph_GPIOA
#define Reversal_GPIO_PORT GPIOA
#define Reversal_GPIO_PIN GPIO_Pin_6
五、基础知识学习
STC89C52RC程序下载 直戳跳转
STM32F103C8T6程序下载
1、串口下载 直戳跳转
2、ST-LINK下载 直戳跳转
3、J-LINK下载 直戳跳转
4、DAP-LINK下载 直戳跳转
六、视频效果展示与程序资料获取
实物参考链接 直戳跳转
七、注意事项
VCC GND请勿接反,接反易烧
显示异常时,排除接线接触不良
电机抖动 也可能是接线接触不良引起 需要排查
八、接线说明
可参考程序main.c最上面接线说明