站内搜索
发作品签到
专业版

基于N32G430平衡小车

工程标签

2.4k
0
0
3

简介

基于N32G430C8L7的两轮平衡小车,通过ESP8266进行通讯。 立创&国民技术暑期训练营延期完成的工程,但是延期太久了,比赛工程无法提交了,这里是另外创建发布的工程。

简介:基于N32G430C8L7的两轮平衡小车,通过ESP8266进行通讯。 立创&国民技术暑期训练营延期完成的工程,但是延期太久了,比赛工程无法提交了,这里是另外创建发布的工程。

开源协议

GPL 3.0

创建时间:2022-09-26 14:25:47更新时间:2022-11-21 09:42:52

描述

 

1、项目功能介绍


  1. 主控芯片N32G430C8L7;
  2. 电机驱动AS4950;
  3. 姿态传感器MPU6050;
  4. 通过ESP8266通信控制前进后退,及上传姿态信息到上位机
  5. 外围测距超声波模块

 

2、项目属性


  • 参加 立创&国民技术 开办的暑期训练营,由于出现了各种意外(菜)导致延迟完成。

 

3、开源协议


 

  • GPL3.0

 

4、硬件部分


 

车架@电池

sIqIQB08mXS7xI28sPvMbJbwFHi6VufvusLBsov1.png

DrcwJFFnGttqnExmrRa9JRAJYNUtdjBdjQxOit3a.png

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

 

主控部分

Xk9soaNeT0CQiFsDw9k4f2v9kSry5xjR41UX8gXh.png

该连的连。

 

滤波电容

wZLoTxU3XsVor1kb390ZbWKMOWTyYWizYMG1u9yr.png

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

 

BOOT

IJscUOBnhCncCDHH1WugA06rvHmSfjQ7nGH1gpby.png

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

 

晶振

vN2BobgW76ys93JobcgHnvfxE3o2F1ALakG4tz9z.png

32.768k用不着,就没焊,但是得有;

C1 C2用30pf有点大,我实际用的22pf,但是只要能起镇,问题都不大;

测试起振的方法很多,可以网上看看,我之前就是晶振不起振问题,卡了一段时间,后面发现是芯片问题...

 

电源输入及降压电路

ZRifRlnkbkeg3QAygPv2CGIIMS3dmMUaK0OUZtVE.png

不建议直接12V->3v3,压降太大,电流一大就烫手,先经过78M05再经过1117降压到3v3,78M05还能给超声模模块供电;

用0R电阻将电机驱动和芯片的地线隔离。

 

电机驱动

bIjNCLplieD8FfBtGdGUJgcDYg4eh1NNkc2EFeA6.png

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

 

WA2XvNK2J9knC3IJj7vED3LxnVloMtGstvtrxPWs.png

控制方式是全低为停止状态的时候会出想上面的情况;

黄色是正常的PWM信号,绿色是电机的电压信号,会有很强的反电动势,特别是占空比低的时候,完全不会动;

但是当我换成全高为停止状态的时候就能正常控制,并没有出现反电动势;

索性找到解决的方法,之前用过TB6612并没有这样的问题,但是这款胜在便宜,能用。

 

电机接口

QmaK7pdxTBi8BaN2PZfHa3UVslLt5FY45fzwEDTQ.png

需要注意的是定时器只有通道1、2才有编码器模式;

注意电机编码器正负,接反直接短路。

 

MPU6050

LE6SQVzy1RGP4vNXVcqmlFARyDvU4tosG1SM36uA.png

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

 

ESP8266

SZSRPi2LGClzJgYlta23Y9bSSq9wmcQ4XeI4lzCN.png

引出串口接口和BOOT接口,下载时将BOOT接地;

注意焊上后串口和N32连接,要下载的话,N32的串口不能使用,要先烧录普通程序(LED例程之类的),下载好ESP8266程序,再下回N32程序,

有点麻烦,但还好。

 

3jbGABxvQPyojBQwBdh7M88GLAQfvONJE3t96jTm.png再准备一个ESP8266和电脑连接,用于接收数据,图中烧录座:点这里

 

超声波(非必要)

wHormgAIfmyHqj0V47HjsSqw3TuOjkCzzV2CE1nt.png

我使用外挂一个MCU,是进行超声波的测距,然后输出高低电平给N32,减少N32的负担,但这款MCU嘉立创没有,而且这种芯片烧录条件苛刻,不建议使用;

可以在上图中,将ECO和DATA、CLK和TRI用0R电阻短接,直接用N32控制;

如果实在不想折腾,这一部分不要也罢。

 

5、软件部分


 

  1. 参考训练营官方案例——姿态显示:【训练营官方案例】 基于N32G430的实时姿态 ,——使用官方案例给出的上位机,和发送函数;
  2. ADC、串口发送和接收使用DMA传输,减少使用CPU资源;
  3. pwm控制驱动调速,定时器编码器模式测速;
  4. I2C获取MPU6050数据(移植官方文件);
  5. 通过MPU6050中断脚发生外部中断,进行数据获取、处理和控制;
  6. ESP8266 arduino开发,我也是小白一枚,基本上都是现学现卖,传输数据会有丢包情况(后面再看看有没有解决之法),但是传输成功的数据还是可以够用的

    fZc5FexsQQj9Zd7TNrAWXgnYscmxS4tHrLH6pCZi.png

  7. 最后是算法,也是平衡小车最核心的部分,推荐:天下行走,感觉讲得很好,然后把N32当ST配置
  8. 我的工程

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
Balance_Car.ino
24
2
Balance_Car_RX.ino
20
3
1.mp4
4
4
2.mp4
4
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航