
基于N32G430平衡小车
简介
基于N32G430C8L7的两轮平衡小车,通过ESP8266进行通讯。 立创&国民技术暑期训练营延期完成的工程,但是延期太久了,比赛工程无法提交了,这里是另外创建发布的工程。
简介:基于N32G430C8L7的两轮平衡小车,通过ESP8266进行通讯。 立创&国民技术暑期训练营延期完成的工程,但是延期太久了,比赛工程无法提交了,这里是另外创建发布的工程。开源协议
:GPL 3.0
描述
1、项目功能介绍
- 主控芯片N32G430C8L7;
- 电机驱动AS4950;
- 姿态传感器MPU6050;
- 通过ESP8266通信控制前进后退,及上传姿态信息到上位机
- 外围测距超声波模块
2、项目属性
- 参加 立创&国民技术 开办的暑期训练营,由于出现了各种意外(菜)导致延迟完成。
3、开源协议
- GPL3.0
4、硬件部分
车架@电池


这些都可以根据情况购买,其实用PCB也能做车架(得自己画),买俩编码电机就行,注意PCB板和车架的铜柱孔要对应,不然没地方安装。
主控部分

该连的连。
滤波电容

每个电源接口都接一个100nf的电容进行滤波,一脚额外加一个4.7uf的电容。
BOOT

BOOT1内部已经默认上拉,硬件只需要配置BOOT0即可,串口下载BOOT0接3v3,SWD或JTAG下载接地
晶振

32.768k用不着,就没焊,但是得有;
C1 C2用30pf有点大,我实际用的22pf,但是只要能起镇,问题都不大;
测试起振的方法很多,可以网上看看,我之前就是晶振不起振问题,卡了一段时间,后面发现是芯片问题...
电源输入及降压电路

不建议直接12V->3v3,压降太大,电流一大就烫手,先经过78M05再经过1117降压到3v3,78M05还能给超声模模块供电;
用0R电阻将电机驱动和芯片的地线隔离。
电机驱动

使用的驱动芯片是AS4950,也是头一回使用,也出现过很多问题;

控制方式是全低为停止状态的时候会出想上面的情况;
黄色是正常的PWM信号,绿色是电机的电压信号,会有很强的反电动势,特别是占空比低的时候,完全不会动;
但是当我换成全高为停止状态的时候就能正常控制,并没有出现反电动势;
索性找到解决的方法,之前用过TB6612并没有这样的问题,但是这款胜在便宜,能用。
电机接口

需要注意的是定时器只有通道1、2才有编码器模式;
注意电机编码器正负,接反直接短路。
MPU6050

应该是最熟悉不过的一款姿态传感器了,某宝价格也不贵。
ESP8266

引出串口接口和BOOT接口,下载时将BOOT接地;
注意焊上后串口和N32连接,要下载的话,N32的串口不能使用,要先烧录普通程序(LED例程之类的),下载好ESP8266程序,再下回N32程序,
有点麻烦,但还好。
再准备一个ESP8266和电脑连接,用于接收数据,图中烧录座:点这里。
超声波(非必要)

我使用外挂一个MCU,是进行超声波的测距,然后输出高低电平给N32,减少N32的负担,但这款MCU嘉立创没有,而且这种芯片烧录条件苛刻,不建议使用;
可以在上图中,将ECO和DATA、CLK和TRI用0R电阻短接,直接用N32控制;
如果实在不想折腾,这一部分不要也罢。
5、软件部分
- 参考训练营官方案例——姿态显示:【训练营官方案例】 基于N32G430的实时姿态 ,——使用官方案例给出的上位机,和发送函数;
- ADC、串口发送和接收使用DMA传输,减少使用CPU资源;
- pwm控制驱动调速,定时器编码器模式测速;
- I2C获取MPU6050数据(移植官方文件);
- 通过MPU6050中断脚发生外部中断,进行数据获取、处理和控制;
- ESP8266 arduino开发,我也是小白一枚,基本上都是现学现卖,传输数据会有丢包情况(后面再看看有没有解决之法),但是传输成功的数据还是可以够用的

- 最后是算法,也是平衡小车最核心的部分,推荐:天下行走,感觉讲得很好,然后把N32当ST配置
- 我的工程
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。



评论