K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停

实物参考链接 直戳跳转

一、资源说明

二、基本参数

1、参数

2、引脚说明

三、驱动说明

1、MX1919模块驱动时序

2、对应程序:

以下以STC89C52RC程序为例,驱动方式与MAX1508类似

//正转
 
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;
 
}

3、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+MX1919模块

// MX1919 引脚定义
 
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+MX1919模块

// MX1919 引脚定义
 
// 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下载  直戳跳转

六、视频效果展示与程序资料获取

演示视频连接 直戳跳转
资料获取 直戳跳转

实物参考链接 直戳跳转

七、注意事项

1、VCC GND请勿接反,接反易烧
2、异常时,排除接线接触不良
3、单片机与模块需要共地接线
4、注意模块与单片机板要共地

八、接线说明

可参考程序main.c最上面接线说明


深圳市咱们电子科技有限公司