小学徒 发表于 2018-1-19 23:20:47

mega328p平衡车

本帖最后由 小学徒 于 2018-1-28 14:50 编辑

翻着零件盒,偶然发现一块MEGA328P的贴片,于是突发奇想,想要在洞洞板上搭建个最小系统,顺便再做个平衡车。。。
http://v.youku.com/v_show/id_XMzM2MDQyMTcxMg==.html

准备:
下载 部分:
1.CH340、
2.12MHZ晶振 、
3.22p X2 、
4.10k电阻X2、
5.两颗0.1uf(104)
6.两颗下载指示LED+10K限流电阻

主控 部分:
1.MEGA328P
2.16MHZ晶振一颗
3.两颗22P电容
4.104电容两颗
5.一个复位按钮+10K电阻

电源 部分:
用7V电池通过5V降压芯片给主控供电,另外也由7V升压到12V给TB6612电机驱动供电
其他:蓝牙模块 HC05、MPU6050、带AB相的电机
总接线图
图中少了MPU6050的接线图,A4接sda,A5接SCL

一.焊接


static/image/hrline/1.gif


二.烧boot

方式:通过另一块UNO给新的芯片烧入引导程序。具体做法网上也有很多教程,别怕复杂,其实也就几个步骤...
接线图:

A(UNO /用其他板也OK) 通过 A板烧给   B板B板(新芯片)

MOSI(11) >>>>>>>>>> MOSI(11)

MISO(12)>>>>>>>>>> MISO(12)

SCK(13)>>>>>>>>>> SCK(13)

Pin10>>>>>>>>>> Rst

VCC >>>>>>>>>> VCC

GND >>>>>>>>>>GND


1.对A板操作:打开arduino IDE > 点击文件 > 示例 > Arduino ISP > Arduino ISP > 再在工具里选好A板子的型号和端口>点击上传>
2. 照上图连线>
3.点击工具 >选B板(待烧的新板)型号。 端口不动 >编程器选择“Arduino as ISP” >点击烧录引导程序 >烧录完成提示:烧录引导程序完成 > 如下图


static/image/hrline/1.gif


三.测试板子
写个让13引脚闪烁的程序:
void setup()
{
pinMode(13,OUTPUT);
}

void loop()
{
digitalWrite(13,!digitalRead(13));
delay(100);
}
测试正常

把升压模块的输出端调到12V

四.写平衡车程序
要注意2560的定时器库和UNO的库不是同一个库。#include <MsTimer2.h>这是UNO的定时中断库
步骤:
1.测试电机正反转方向(在这之前要约定好电机往哪边是正,哪边为负)
2.通过定时中断测速,通过串口打印它的位移值,主要看方向是否正确,若正负反向则对调AB相的线
3.读取角度,注意角度方向和角速度方向
吃饭。。。


老胖熊 发表于 2018-1-20 16:40:47

好                           

小学徒 发表于 2018-1-20 20:02:23

布局全乱。。。

PINKWALKMAN 发表于 2018-1-22 08:08:26

啥也不说,焊接牛逼啦:victory:

crjjj 发表于 2018-1-22 22:58:18

灵魂走线,用atmega328pu +底座可能好焊一点

鸿鹄重工 发表于 2018-1-22 23:13:38

好牛逼,自己做主控板

Leo121 发表于 2018-1-23 11:55:42

厉害了,666:D

吃樱桃不吐胡 发表于 2018-1-24 11:10:54

自己焊,太牛逼了!我也在准备做平衡车,受不了一堆连线,刚打了板子,还没回来

prairiewolf 发表于 2018-6-2 07:59:16

很不错。我给你留言了,有时间看一下。谢谢

prairiewolf 发表于 2018-6-2 18:36:19

你好,可以加微信吗?这个网站联系不太方便。我的微信是88028784

小学徒 发表于 2018-6-10 18:22:00

prairiewolf 发表于 2018-6-2 18:36
你好,可以加微信吗?这个网站联系不太方便。我的微信是88028784

>>>>>>>>>>>>>555794952
页: [1]
查看完整版本: mega328p平衡车