描述
接下来的两篇文章将介绍磁条机器人的算法开发部分。
这一篇主要介绍机器人主控的配置及部分算法思路主控
这次机器人的主控芯片,我们选择的型号是STM32F103RCT6,这是意法半导体比较便宜的一款产品了,但用做我们这次的开发是足够的。在网上我们买了这个芯片的一个开发版,如图。
为了便于进行传感器的插入,我们配合这个开发版,还做了一块拓展版,这里就不贴出图片了。
管脚配置
为了使这块主控起到磁条机器人核心的作用,我们自然要对他进行管脚配置,使得这些管脚分别对应不同的传感器。
这里说明一下,管脚配置是根据拓展板的设计走的,因此以下配置是专属于我的配置。不过整体的思路都可以被参考
这里简述一下步骤哈
1.打开CubeMX软件,选择左上角的“File”——“New Project”,建造一个新的工程

2.选择你的芯片类型,我的是STM32F103RCT6,双击确定

3.上一个操作后会进入芯片编辑界面,界面的最右侧是我们的芯片。我们设置所有的管脚如下
PA0—TIM2_CH1(左电机)
PA1—TIM2_CH2(左电机)
PA2—USART2_TX (磁传感器)
PA3—USART2_RX(磁传感器)
PA6—TIM3_CH1(右电机)
PA7—TIM3_CH2(右电机)
PA9—USART1_TX(上位机控制命令)
PA10—USART1_RX(上位机控制命令)
PB6—TIM4_CH1(状态灯)
PB10—USART3_TX(RFID模块)
PB11—USART3_RX(RFID模块)
PC10—UART4_TX(左超声传感器)
PC11—UART4_RX(左超声传感器)
PC12—UART5_TX(左右超声传感器)
PD2—UART5_RX(右超声传感器)这些管脚设置后,如图

4.在左侧的小菜单中选择“Timers”中,将TIM2、TIM3和TIM4进行设置。全部的修改我都截图了,如下。



唯一有些特殊的就是状态灯的TIM4,需要额外的一项操作。可以参考我之前的这篇文章《stm32 CubeMX控制WS2812灯带(二)(Develop文章4.2)》,这里截出这项特殊的操作,请照做。

执行完定时器的设定,我们可以看到这些管脚在右图变为了绿色,完成了设置。

5.对USART1、USART2、USART3、UART4和UART5进行设置,下面贴出了UART4和UART5的设置图片。实际上需要注意的就是,USART1和USART2的波特率为115200,USART3、UART4和UART5的波特率是9600,将他们NVC Settings中的global interrupt的enable打钩,并将这几个的RX的GPIO Settings中的推挽模式设置为No pull-up and no pull-down。






6.将系统的时钟图更改,如下图

7.对项目文件进行两项配置后,生成代码。


项目配置
我们通过CubeMX的generate code按钮已经生成了全部的工程,生成后的工程文件树如下

在keil软件中点击菜单栏的“魔法棒”,将Debug中的编译器更改为“CMSIS-DAP Debugger”

这篇文章介绍了主控的管脚配置和项目,下一篇将介绍算法及代码
免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:云恒制造:一起来开发一个磁条机器人(四) https://www.bxbdf.com/a/19713.shtml