hi~ (o^^o)♪, 各位深海王国的同志们,早上下午晚上凌晨好呀~ 辛苦工作的你今天也辛苦啦(/≧ω)
今天大都督为大家带来电路板的番外系列——初中生也能画的电路板?番外1:arduino其他家族成员的拓展板开发,带你给其他arduino家族成员如pro mini、mega2560等,进行拓展版diy开发,let’s go!
(1)拓展板介绍与pro mini拓展板初步设计
ps:此番外系列需要有一定pcb设计基础,建议大家在学习完系列文章
【深海王国】初中生也能画的电路板?手把手教你制作第一个pcb电路板,后再进行学习。
拓展板介绍:
在我们打开某宝,搜索arduino 拓展板这两个字后,会搜到各式各样的拓展板,大多数都是以arduino uno为主,一般都是可以直接插在uno上的。
而这些拓展板,很大一部分都不是店家自己开发的,大部分来源于github上的开源项目。
ps:github是一个面向开源及私有软件项目的托管平台,因其基于git进行版本控制而得名。它提供了代码托管、版本管理、协作开发等功能,使开发者能够方便地共享代码和协同工作。是一个非常有知名度的开源平台。
比如比较有名的simple foc,无刷电机驱动板:
还有一些常见的tft显示屏模块,也是可以直接插在arduino uno上的:
这些都是技术含量蛮高的拓展板,我们初学者可能做不来。
但是像这种某宝上遍地都是的舵机拓展板:
甚至是a4988步进电机驱动拓展板,其实难度都不大,我们将来完全可以自己画,比如这个就是大都督以前自己画的四路步进电机驱动板:
为什么要使用拓展板:
给arduino这种单片机开发板进行拓展板(或称扩展板、shield)的开发有以下几个主要原因:
- 增加功能:arduino本身的引脚和功能是有限的,有时在项目中需要额外的功能(如无线通信、传感器接口、电机驱动等),通过拓展板可以方便地添加这些功能。
- 简化电路设计:通过使用现成的拓展板,可以避免重复设计复杂电路,减少出错几率,加快开发速度。
- 保护主板:某些特殊用途(如高功率电机驱动、大电流负载等)可能对arduino主板本身造成损害,通过拓展板能够有效保护主板(比如在电路中加入一根可更换保险丝),当然了设计的不好也可能直接把主板烧了,比如大都督曾经设计的a4988驱动电路,就把arduino主板烧了,后面只要是大功率电路,大都督都必加保险丝。
(lll¬ω¬) - 省时省力,清爽美观:使用现成的拓展板可以大大减少焊接和布线的工作量,特别是对于新手和业余爱好者来说,这会使软硬件集成变得更加简单,整个嵌入式系统也更加简洁美观。
通过设计和使用拓展板,不仅能够满足项目的特定需求,还能带来更好的用户体验和开发效率,是很多arduino开发者和爱好者常用的一种开发方式。
arduino pro mini拓展板设计:
虽然市面上的arduino uno和nano拓展板很多,但与其同类型同芯片的arduino pro mini拓展板基本没有,所以我们不妨自己来设计一个pro mini拓展板。
1. 熟悉开发板的引脚功能
每次在设计拓展板之前,我们都要先熟悉开发板的引脚功能,然后设想一下我们大概需要什么功能,而对应功能所使用的引脚有哪些。
arduino pro mini的引脚功能图可以参考这篇文章:
(2)arduino pro mini介绍与程序下载失败问题
也可以查看官方的参考文档:
arduino-pro-mini
pro mini除了两个多出的a6、a7引脚,剩下的引脚资源都跟arduino一样,其中常规的引脚功能如下:
功能 | 对应引脚 | 常用模块、传感器 |
---|---|---|
普通数字i/o引脚 | d0~d13 | 读取高低电平,控制继电器 |
模拟输入引脚或普通数字i/o引脚 | a0~a5 | 光敏、距离等各种模拟传感器 |
仅能作为模拟输入引脚 | a6、a7 | 各种模拟传感器 |
这里简单说一下,标号为d的就是数字引脚,可以作为数字输入和输出。标号为a的就是模拟引脚,可以作为模拟输入。
那么可能就有人会问了,那a系列引脚能作为模拟输出吗?答案是不行。
其实模拟输出这个描述并不准确,但前期大家可以简单把pwm理解为模拟输出,模拟输出≈pwm。而可以作为pwm的引脚,后面给大家列出来啦。
然后关于什么是数字、什么是模拟什么是pwm可以参考这篇文章:(2)初识arduino与基本单片机电路知识
2.明确特殊的功能引脚
其中比较特殊的一些功能引脚如下:
特殊功能 | 对应引脚 | 常用模块、传感器 |
---|---|---|
spi | d10(ss)、d11(mosi)、d12(miso)、d13(sck) | sd卡、显示屏等 |
i2c | a4(sda)、a5(scl) | 激光测距模块、温湿度传感器 |
外部中断 | d2(int0\外部中断0)、d3(int1\外部中断1) | 编码器、急停按钮 |
pwm | d3、d5、d6、d9、d10、d11 | 电机、舵机、蜂鸣器等 |
uart 串口 | d0(rx\接受)、d1 (tx\发送) | 下载程序、串口通信 |
软串口 | d2~d13(所有数字引脚) | 串口通信、有一定局限性 |
板载led灯 | d13 ` | 内置led指示灯控制引脚 |
关于什么是spi、i2c还有pwm等等硬件知识,建议大家参考大都督的单片机系列,里面讲的非常简单详细,这里就不多讲啦:
【深海王国】小学生都能玩的单片机?零基础入门单片机arduino带你打开嵌入式的大门!
这里再多提一嘴,软串口局限性方面也可以参考大都督的这篇文章:(8)软串口与softwareserial库使用
和官方文档:软串口库
3.引脚资源分配
在熟悉我们所用开发板的引脚功能后,我们就可以开始分配引脚资源啦。
- 在分配引脚资源的过程中,我们首先要考虑特殊引脚,比如软串口使用在arduino上时,rx在数字引脚13上不工作,同时13引脚也是板载led引脚,所以我们能不用尽量不用。
- 然后考虑像spi引脚和i2c功能都有固定功能的引脚号。
- 在考虑完这些特殊引脚之后,我们就要考虑常规引脚比如pwm引脚是否跟这些特殊引脚有冲突。
大概就是怎么个流程,这里再碎碎念一下,arduino的引脚虽然不多,看起来做这些工作很多余,但大都督希望大家能通过这个简单的开发板举一反三,触类旁通,将来去开发更难的项目。
掌握方法,有时候比结果更重要。
通过上面的方法,就可以列出我们拓展板的引脚功能分配表啦,引脚号按顺序排,在接下来进行pcb设计时会更轻松:
引脚号 | 功能 |
---|---|
d0、d1 | 硬件串口 |
d2、d3 | 中断引脚 |
d4 | 普通的数字i/o引脚 |
d5、d6 | pwm |
d7、d8 | 软串口 |
d9 | pwm |
d10~d13 | spi |
a0~a3 | 模拟输入引脚 |
a4、a5 | i2c |
a6、a7 | 模拟输入引脚 |
接下来我们照着这个引脚功能表,去画原理图和pcb就方便多了。
今天的学习到这里就差不多啦,下节我们就开始进行arduino pro mini拓展板的原理图和pcb绘制,看到这里的你今天也辛苦啦,加油٩(ˊᗜˋ)و✧
哈哈,让焦虑不再蔓延,信息不再高壁,如果你觉得这篇文章对你有帮助,就来个免费的点赞吧!
(◍˃̶ᗜ˂̶◍)✩我深海大都督正式授予你深海王国公民的身份~
(・ω< )★ 加入深海大家庭,快乐摆烂每一天!
发表评论