单片机学习小组
直播中

世态薄凉

8年用户 1123经验值
私信 关注

如何利用stm32去做一个智能小车呢

如何利用STM32去做一个智能小车呢?其程序代码该怎样去实现呢?

回帖(1)

邓莎

2022-1-20 15:06:49
最近在做一个简单的小项目,用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();
        }
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分