饭仔DIY --《平衡车之硬件制作》

2022-05-09 20:56:16 浏览数 (2)

无聊的周末,开始了我的平衡车DIY设计。接下会不断更新我在DIY过程的遇到的问题,以及如何去处理。

首先确定好自己需要实现的功能,将其罗列起来,方便后续硬件的选型。作者第一版平衡车实现的是基本功能,没有附加其他的功能,所以硬件比较简单。

以下是作者用到的基本元器件:

元件

型号

MCU

stm32f103c8t6

BluetoothLE

HC-08

驱动

TB6612FNG

串口

CH340G

陀螺仪

MPU6050

5V稳压

LM2596-5

3.3V稳压

AMS1117

显示器

0.96OLED

显示器3.3V稳压

662K

蜂鸣器

5V有源蜂鸣器

元器件型号选好了,便是电路的设计:

1.MCU的设计(stm32f103c8t6):因为MCU是整个系统中最重要的电路,所以滤波电路是必不可少的部分,这是作者设计的电路,不过LC滤波电路的效果会更加好。作者的电路提供不同的烧写方式。

BOOT0

BOOT1

烧写方式

0

X

JTAG or SWD

1

0

ISP

2.驱动的设计(TB6612FNG):驱动的的电源直接接电池的,不过电池输入,作者还增加了一层滤波电路的设计。这是作者修改过的第二版驱动的电路图。第一版是使用了PA12和PA13引脚,然后后面发现,PA13的用成通用I/O时一直出问题,后面发现PA13是JTAG接口,在某度上查了一下,要作为通用I/O,其配置跟其他I/O不一样,需要在初始化时增加两句代码,而且初始化顺序不能颠倒。代码如下:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable , ENABLE);

作者通过网上的配置过程,确实能输出高低电平。但是测量它的电压,发现和普通I/O的电压值不一样,不同I/O的电压是3.3V左右,而它的输出只有1.5V左右。后面反复推敲,增加了个上啦电阻后,就可以正常一样使用了。如果嫌弃这样的配置,那么可以选择作者的第二版电路图。将PA12和PA13改为PB12和PB13。如下:

3.滤波电路的设计:作者在电路中的输入端增加了分压电阻,可以通过ADC实时采集电源的电压。采用二极管来防止电流反向处理。这个电路是作者自己随意设计的,可能不太正确,不对的大神可以指点指点。

4.CH340G串口电路的设计:作者在电路中增加ch340g的目的就是提供多种烧写方式。采用串口烧写代码的电路接法在上面第一点有说明。

5.JTAG烧写电路的设计:你会发现作者在的设计中,在每个引脚会增加个上拉电阻,原因是stm32的I/O识别的高电平需要2.0V以上,所以增加上拉电阻,以防I/O电压不足,导致出问题。

6.OLED电路的设计:作者的显示器设计,采用662K进行独立供电,也提供了几种方式实现,如下表:

R28

R29

R30

R31

4线SPI

0

1

0

1

3线SPI

1

0

0

1

I2C

0

1

1

0

7.稳压电路的设计:

5V稳压电路如下:

3.3V稳压电路,电路的输出端还增加了自恢复保险丝。如下:

8.BluetoothLE电路的设计:

9.按键模块电路的设计:

10.陀螺仪电路的设计

11.蜂鸣器电路的设计:

一、整体原理图:

二、PCB:

三、3D效果图:

四、实物图:

以上就是作者再设计过程中的经验分享。有不对的地方欢迎评价。

0 人点赞