
基于立创·梁山派的遥控麦轮小车
简介
本项目以GD32F470ZGT6作为主控,电机驱动为DRV8701,通过LORA实现遥控器与小车之间的通信,能通过遥控器控制小车运动
简介:本项目以GD32F470ZGT6作为主控,电机驱动为DRV8701,通过LORA实现遥控器与小车之间的通信,能通过遥控器控制小车运动开源协议
:GPL 3.0
描述
本项目中小车采用了GD32F470ZGT6作为主控,这是一款国产的主控,本人在之前从来没有接触过,这次是第一次采用这款芯片。
但好在该芯片能完全兼容STM32F429ZGT6的代码,并且兼容CUBEMX生成的代码,所以用起来还是很不错的。
在本项目中用到了该主控通过PWM去驱动两个双路的DRV8701电机驱动,并通过读取编码器值实现速度闭环。车与遥控器采用LORA串口通信。得益于麦轮的优势,该小车能实现前进后退,左右自旋的基础运动外,还可以根据麦轮运动学解算,实现横移和斜向移动的特殊运动方式,由于时间有限,在本项目中仅实现了简单的横向移动。
控制方面主要通过串口来实现,通过串口传出4个编码的数值,以及接受控制的指令,通过接受不同的字符,对应不同的移动方向。
该项目中遥控器采用的STM32F103RCT6作为主控,主要的工作就是采集摇杆的ADC值,并发送到小车上,所以不需要用性能太好的主控
遇到的困难:
难点主要是串口方面,一开始想用单字节接收,但是这种方式需要接收的数据是定长,于是后面改成了包头包尾接收不定长数据。后期可以通过遥控器把摇杆的ADC值按比例发出,那么小车就可以按照ADC值进行可控速度运行。
总结:
本次项目是首次使用国产的GD32为主控,这款主控价格亲民,而且上手难度适中,非常适合有一定STM32基础的去学习。在本项目中我运用到了GD32F470的定时器来产生PWM波形来驱动电机,以及通过定时器的编码器模式来读取编码器的值,并且通过串口收发把数据传出以及从遥控端接收指令。在本次项目开发中完全按照STM芯片的开发逻辑,并没有遇到任何因为芯片不同而产生的问题。
设计图

BOM


评论