注:本程序已验证可用,但只对本店模块做过适配测试,其他模块我们没法保证一定能用
实物参考链接 直戳跳转
一、资源说明
二、基本参数
1、参数
2、引脚说明
3、驱动说明
MAX1508模块驱动时序
对应程序:
以下以STC89C52RC程序为例
//正转
void turn_Syntropy(void)
{
Pwm_IN1_R=0;
Pwm_IN3_L=0;
}
//反转
void turn_Reverse(void)
{
Pwm_IN2_R=0;
Pwm_IN4_L=0;
}
//停止
void turn_Stop(void)
{
Pwm_IN1_R=1;
Pwm_IN2_R=1;
Pwm_IN3_L=1;
Pwm_IN4_L=1;
TR0=0;
}
PWM信号
此处用51定时器1来生成
void tim0() interrupt 1
{
TL0 = 0xA4; //设置定时初值
TH0 = 0xFF; //设置定时初值 0.1ms
times++;
if(times<=Speed)
{
if(!Flag_Syntropy_Reverse)
{
Pwm_IN2_R=1;
Pwm_IN4_L=1;
}
else
{
Pwm_IN1_R=1;
Pwm_IN3_L=1;
}
}
else
{
if(!Flag_Syntropy_Reverse)
{
Pwm_IN2_R=0;
Pwm_IN4_L=0;
}
else
{
Pwm_IN1_R=0;
Pwm_IN3_L=0;
}
}
if(times>=Period)
{
times=0;
}
}
四、部分代码说明
引脚定义
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1、STC89C52RC+MAX1508模块
//MAX1508引脚定义
sbit Pwm_IN1_R=P1^0;
sbit Pwm_IN2_R=P1^1;
sbit Pwm_IN3_L=P1^2;
sbit Pwm_IN4_L=P1^3;
//按键引脚定义
sbit K_Start_Stop=P2^0; //启停按键
sbit K_Syntropy_Reverse=P2^1; //两电机同向反向按键
sbit K_UP_Speed=P2^2; //两电机同时加速按键
sbit K_Down_Speed=P2^3; //两电机同时减速按键
2、STM32F103C8T6+MAX1508模块
//MAX1508引脚定义
// TIM3 输出比较通道1
#define GENERAL_TIM_CH1_GPIO_CLK RCC_APB2Periph_GPIOA
#define GENERAL_TIM_CH1_PORT GPIOA
#define GENERAL_TIM_CH1_PIN GPIO_Pin_6
// TIM3 输出比较通道2
#define GENERAL_TIM_CH2_GPIO_CLK RCC_APB2Periph_GPIOA
#define GENERAL_TIM_CH2_PORT GPIOA
#define GENERAL_TIM_CH2_PIN GPIO_Pin_7
// TIM3 输出比较通道3
#define GENERAL_TIM_CH3_GPIO_CLK RCC_APB2Periph_GPIOB
#define GENERAL_TIM_CH3_PORT GPIOB
#define GENERAL_TIM_CH3_PIN GPIO_Pin_0
// TIM3 输出比较通道4
#define GENERAL_TIM_CH4_GPIO_CLK RCC_APB2Periph_GPIOB
#define GENERAL_TIM_CH4_PORT GPIOB
#define GENERAL_TIM_CH4_PIN GPIO_Pin_1
//按键引脚定义
#define K_Start_Stop GPIO_Pin_4 //启停按键 GPIOB_Pin_4 0x0010 //?GPIOB_Pin_3
#define K_Syntropy_Reverse GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020
#define K_UP_Speed GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040
#define K_Down_Speed GPIO_Pin_7 //两电机同时减速按键 GPIOB_Pin_7 0x0080
五、基础知识学习与相关资料下载
STC89C52RC程序下载 直戳跳转
STM32F103C8T6程序下载
1、串口下载 直戳跳转
2、ST-LINK下载 直戳跳转
3、J-LINK下载 直戳跳转
4、DAP-LINK下载 直戳跳转
六、视频效果展示与程序资料获取
实物参考链接 直戳跳转
七、注意事项
VCC GND请勿接反,接反易烧
异常时,排除接线接触不良
单片机与模块需要共地接线
八、接线说明
可参考程序main.c最上面接线说明