同时要获取到如下一些东西: 1.1 电路板 1.2 芯片说明手册 ( 芯片寄存器手册 + 电路原理图) 2 如何我们要做的是直流电机的驱动 2.1 开直流电机的驱动原理 – 》 马达驱动 2.2 探究一下驱动电路与主芯片的关系 实际观察发现,马达的控制端口接在了电路板的P4器件 根据实际电路发现P4是我们点击的控制管脚 经过查询资料发现 结论:INPUTx与OUTx输入输出为正比关系 所以我们可以通过控制INPUTx来控制小车的移动 经过搜寻文档我们发现如下电路: 经过电路分析发现 结论: PA2与INPUT1成正比关系 而PA2就是主芯片上的管脚! 所以,我们有如下结论: PA2 ? INPUT1 ? OUT1 PB9 ? INPUT1 ? OUT2 PA1 ? INPUT1 ? OUT3 PC9 ? INPUT1 ? OUT4 PA0 ? INPUT1 ? ENA PA3 ? INPUT1 ? ENB 所以我们有如下结论: PA2 PB9 PA1 PC9 方向 PA0 PA3 1 0 1 0 后方 1 1 0 1 0 1 前方 1 0 0 0 左边 .... 硬件分析步骤已经完成以下是软件书写过程: 我们首先通过STM32CubeMX来生成一些基础代码。请打开Cube软件进行如下选择: 然后配置为如下状态 之后点击工具栏中的 Proect ? Generate Code(注意在生成代码的时候选择 MDK-ARM V5) 然后我们在对应的路径下找到要编辑的main函数也就是单片机在运作时要运行的入口函数。在其中找到该函数中MX_GPIO_Init(); 下书写如下代码: //设置电机状态 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,0); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,1); HAL_GPIO_WritePin(GPIOC,GPIO_PIN_9,0); //设置电机使能状态 HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,1); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,1); 然后在Keil中编译并稍写进入小车,查看情况。 |
|