我们使用的32开发板为冰达机器人官方的开发板,类型为STM32RCT6。32章节的目的为,将官方所给源码转化为 官方标准库函数来进行使用
——————————————
需求提出:
电源
1. 3.3V-200ma供电
2. 输入 9-12.6V 5A
控制:
1. 两路编码器电机控制 (HR8833)
2. 1~3路可控制PWM
3. 九轴MPU9250采取数据
4. 采集电流电压数据(ADC)
硬件框图:
本节为硬件篇,为接下来引脚的定义进行
这是芯片引脚的分布图,以及各个脚对应的作用
电源输入
P2为电池的入口,PU1是一个保险丝,这样可以保护整个PCB,Q2的mos管用来做一个防反设计
电源12V转5V ,电池正极进来后,经过DCDC芯片,输出一个5V的电压,再利用LDO转化为3.3V,输出给单片机
电机驱动-HR8833
对控制的小信号进行放大
编码器
这个逻辑转化最早是TB6612芯片,但是由于价格上升进行替换,但是为了兼容这种模式,就添加了与门,让两个脚接到与门上,共同使用一个PWM信号,而在V2.1版本中,我们的驱动芯片替换为了AT8236,他的逻辑和HR8833是相同的,区别是他是由一个芯片来驱动一个电机,输出的功率更大
IMU模块
使用IIC通信接口
剩下的都是需要IO口驱动,舵机需要配置一个PWM