基于STM32F103C8T6的智能鱼缸设计(esp8266 01S+OLED+ULN2003达林顿三极管驱动继电器+SG90舵机+ds18b02温度传感器+WS2811灯带)

一、硬件设计

1、STM32最小系统电路图设计

(1)复位电路与boot电路

当未按下按键时,单片机的RESET引脚被一直拉高置为高电平,当按下按键之后,RESET引脚置为低电平,单片机进行复位。其中C1电容的作用是物理性消除按键的抖动。

BOOT电路是单片机进行下载模式的选择,BOOT的功能主要如下,我们默认的BOOT引脚模式一般是BOOT0和BOOT1置0。(这里不建议直接让BOOT0和1在电路连接图中直接接地,因为芯片在下载程序时有时候可能出现问题,需要BOOT0或1进行置1操作,比如笔者在做本次毕业设计的时候,由于keil5中的设置的频率和实际单片机外部晶振不同,出现了芯片锁频的问题,就是通过BOOT0置1解决的)

这里的H1是排针引脚,通过跳线帽进行BOOT0和BOOT1的连接

(2)LED灯电路与下载电路

这里的LED灯电路需要注意的是,你选择的限流电阻要经过计算是否符合LED灯的额定电流,电阻小了容易让灯烧掉。

程序下载用的是排针,你们设计时可以用一下HXB线,用杜邦线太丑了。其中的单片机的swclk引脚连接stlinkv2下载器的swclk,swdio连接swdio,然后电路图设计时一定要预留GND引脚接入下载器的GND

原理图如下

(3)外部高速低速时钟

其中高速的时钟1M是用来帮助8M晶振起振,这里需要注意的是低速时钟的外接电容,我看了很多博主用12.5pf电容,其实不然,通过计算公式可以得到,大致范围是15pf到20pf,低速时钟的电容计算公式可以百度。

(4)电源电路

AMS1117系列稳压器提供可调和固定电压版本,旨在提供1A的输出电流和低至1V的压差。在最大输出电流下,AMS1117-3.3器件的压降保证不超过1.3V,并随着负载电流的减小而逐渐减小。AMS1117-3.3的片上微调将参考电压调整到1.5%的误差范围内,并调整电流限制以最大限度地减少稳压器和电源电路过载造成的压力。

(4)STM32F103C8T6

这里的芯片你们在连接前一定要看功能引脚图分配好对应的iic通信、usart通信、spi通信,还有就是有些引脚默认功能不是GPIO,需要重定义功能才能使用。没有用到的功能引脚最好用排针把他们引出来,方便测试忘记添加了的模块。还有就是一定要预留一个usart串口调试通信的引脚,串口调试对于我们编写程序来说非常重要。我们可以通过串口调试来发现程序在哪里死机,出现问题的位置。

下面是排针的多余引脚

2、外部模块的电路图设计

(1)ULN2003达林顿管驱动继电器

由于stm32的引脚口无法直接作为继电器的地,因为会反向击穿单片机,损坏单片机内部结构,所以要通过达令顿管结构进行间接的驱动继电器工作,至于ULN2003的工作原理,大家可以自行搜索,其中COM是作为公共引脚接入5V,COM亦可公共接入12v的公共端控制,公共引脚的耐压值大家可以自己搜一下,供电电流不足时,可以在1B1C之间串联一个电容。此芯片类似一个取反  ”!“的原理,当B向端口给出一个高电平时,对应的C端口与E导通,当B端口给一个低电平时,C端口与COM地相连。

其中的LED灯作为指示灯,当灯亮时说明继电器工作,导通12v电源,P1P2P3为接线端子,用螺丝拧入直流电机水泵和氧气泵、加热棒等。如果还需要其他模块可以按照这个结构自行添加。

(2)按键电路

3x3按键行列扫描,原理如下。

第一步:先KEY1、2、3行置高。

然后,置KEY4为低,其他置高,观察123有没有置低的,有就是该按键被按下。如1低,就是sw1按下了。如2低,就是sw4按下了。如3低那么就是sw7按下。没有就到下一列。

然后,置KEY5为低,其他置高,观察123有没有置低的,检测的按键以此类推。如1低,就是sw2按下了。如2低,就是sw5按下了。如3低那么就是sw8按下。没有就到下一列。

然后,置KEY6为低,其他置高,观察123有没有置低的,检测的按键以此类推。如1低,就是sw3按下了。如2低,就是sw6按下了。如3低那么就是sw9按下。没有就到下一列。

(这里需要注意的是,你设置对应的引脚为gpio口,但是有可能主要功能口不是用作gpio,需要自己重定义一下引脚作为gpio口用)

(3)其他模块

在其他模块下就是对应的引脚对应连接,要注意通信线连接,不要接反,这部分主要难在打码。

(这里要注意的是在usart通信里面,单片机stm32的tx发送端口要接esp8266的rx接收端口,单片机stm32的rx接收端口要接esp8266的tx接收端口)

3、电源的电路图设计

这里是24v转12v的电路图,其中dc是用的这种直流电源,你也可以用12v的电源,但是要注意电流的大小,以免负载电流过大供不起电流。调节电压的是通过滑动变阻器R27调节,这个tx4139的电路原理图是参考了芯片手册的,参考手册如下20211229095436150.pdfhttp://www.xdssemi.com/uploadfile/2021/1229/20211229095436150.pdf

其中的dc底座的插头用的是这种直流插头

12v转5v也如此。

二、嘉立创pcb打板实物

主电路板图

直流5v、12v电源电路板图

总结

缺点:

1、我的电路原理图制作中,可能由于低速晶振的电容过大,导致低速晶振无法起振,大家可以自己找一找怎么改

2、由于at24c02选错型号,后面没有接上使用

下面是我做的作品演示,大家可以自行添加需要的模块和完善功能

智能鱼缸系统演示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值