基于stm32控制四轮小车电机驱动(一)

最近在做一个简单的小项目,用stm32做一个智能小车,我用的32板子是正点原子stm32mini的。以后我会持续更新项目动态会和大家积极分享经验和程序。

这次是小车的初步——电机驱动

我的小车将左边的一排电机并联,将右边的电机并联,发现并联电机会更加的方便和简单。

首先电机驱动模块用的是L9110这个模块,L9110驱动直流电机的话比较简单,输出等于电源电压。

此次小车电机方面用到的PWM方面比较简单。
我用的是定时器3的通道1和通道3,设置 TIM3_CH1和TIM3_CH3 的 PWM 模式。

因为我一开始驱动时用的是定时器TIM1发现很复杂,配置起来不太容易。

并且keil5编译器固体库也不是很清楚,我建议大家配置电机高低电平时,不要在电机的.c文件中直接宏定义,系统不认同。

在主函数中直接定义驱动函数会更好。

以及我出现了报错Undefined symbol time (referred from dianji.o).

程序:

void ahead(void)//定义前进函数
{
	A1=1;
	A2=0;
	B1=1;
	B2=0;
}

void back(void)//定义后退函数
{
	A1=0;
	A2=1;
	B1=0;
	B2=1;
}

void STOP(void)//定义停车函数
{
	A1=0;
	A2=0;
	B1=1;
	B2=1;
}

void right(void)//定义右转函数
{
	A1=1;
	A2=0;
	B1=1;
	B2=1;
}

void left(void)//定义左转函数
{
	A1=0;
	A2=0;
	B1=1;
	B2=0;
}

int main(void)
{					   
	system_Clock_Init();	//系统时钟设置
	uart_init(115200);	//串口初始化为115200
	delay_init();	   	 	//延时初始化 
  	TIM3_PWM_Init();	
	dianji_Init();
  	while(1)
	{
		ahead();
	}
}


你可能感兴趣的:(stm32,单片机,编程语言,c语言)