2749| 1
|
给自己做一个开发板 #AnyBoard# |
这是一篇无聊的纯文字帖子,只是做一个记录 遇到的问题 在我的一份清单中,记录了几十个diy项目,过去的几年里,我陆续的完成了一些。一般都是利用现成的Arduino开发板通过杜邦线来连接外围模块。或者是用ok线直接通过焊接的方式连接。 这样做的优势是制作速度快,但是缺点也显而易见,体积庞大,很难装入盒子中用于实用。而且很容易因为线头脱落而损坏。 当然也可以根据需求像做产品一样重新设计一块电路板,但是layout,备料,焊接都是一些很烦人的活。对于diy来说,这样投入的人力成本有点高。 我相信很多人也遇到过同样的问题。 关于问题的思考 隔离在家期间,我整理了diy清单中的内容。发现常用的元素无外乎就是电机,灯光,传感器,显示屏,按键。。。。。。而任何制作无非就是这些元素的排列组合而已。有意思的是有一些完全不相关的元素其实有着相同的接口,比如说舵机和ws2812以及土壤湿度传感器的接口都是 - + s ;大部分的传感器接口是i2c;有gsensor的地方一般都会用到电池。这就意味着其实元素的排列组合方式是有限的。我尝试着做了10中排列组合,竟然可以覆盖多达50种diy制作。那么我完全可以制作10块电路板来完成50多个制作。而且制作出来的东西紧凑小巧。虽然仍旧是diy产品,但是基本可以用于实际生活。这是一件很划算的事。 然后我试图去搜索是否有相关产品,发现了m5stack,以及adafruit的feather系列。可以说是非常好的两个产品。但是因为各种各样的原因,我发现他们并不能完成我的50的制作,我应该也没有办法让他们单独为我做一些修改。 所以我决定自己设计一款开发板来满足我的需求。 新方案的描述 想到要为自己设计一套全新的开发板还是有一些激动的,仔细想了一下,有以下问题需要考虑: 1,硬件选用什么平台 2,软件开发使用什么方式 3,电路板的结构应该如何设计 硬件平台 硬件我基本没有犹豫,直接选择了esp32,理由如下:
第一选择:arduino
当然脚本致命的问题在于在esp32这种性能的cpu上跑还是有点低效,做不了实时性要求高的活。 对于脚本的选择,目前也有很多,但是对于diy来说,还是micropython比较好,因为社区维护的最好,库也最多。关于micropython有个有意思的事,adafruit fork了一个分支建立了circuitpython,circuitpython比micropython有着更强大的底层库,对diy来说这个优势非常明显。但是因为某些原因竟然不支持esp32,果断弃之。但是我还是在后面的结构设计中为此留了一个伏笔。 第三选择:IDF 也就是esp32官方推荐的开发方式,基于idf用c开发。很多嵌入式大神会倾向于这种方法,最高效,自由度最高。但是对软件的要求也最高。不是一般人能驾驭的。但是正因为很多大神使用这种方法,所以有一些有意思的项目都是基于这种方式开发的。 第四选择:makecode 图形化编程,小孩子编程才用的。但是本身是非常好的东西。 电路板的结构 因为是开发板,我考虑到所有应用都有重叠的部分,就是cpu。所以我把cpu和外围拆分了开来单独制作了一个核心板,使用的时候插在外围扩展板上就可以了。原本想做扩展板无限堆叠的,review了一下项目清单,似乎并不需要这么复杂,两层堆叠就可以搞定了。这一点似乎所有的开发板都是一样的套路。还有一个好处是,哪天我想用circuitopython的时候。换个cpu就可以了,外围照样用。 关于尺寸 扩展板的尺寸54mm*85.5mm,也就是信用卡的尺寸,这样携带比较方便 核心板的尺寸54mm*32mm,54mm的高度可以很好的匹配扩展板,32mm的宽度正好安装1.5寸的屏。 迷你扩展板可以采用32mm*85.5mm这种条状方式,用于一些宽度限制的手持设备。 另外一种尺寸和核心板一样,用于可穿戴设备。 连接方式 因为体积的限制,我抛弃了2.54mm排针的方式,使用了0.8mm间距的板对板连接器。 特点 anyboard是一种特殊的开发板。最大的特点是我事先想好了最终要完成的50个作品的形态,然后去设计的扩展板。在做完这几款扩展板以后,我几乎不在需要使用杜邦线或者飞线就可以完成制作。这一点有两个好处: 1,做出来的作品紧凑小巧,又稳定。 2,不必关心硬件,大大缩短制作周期。 3,因为降低了硬件的门槛,就像乐高一样,任何人不需要任何的技术背景,跟着说明书操作就完成这些开源硬件项目的制作。 模块清单 目前设计了一块核心模块(基于esp32),以及8种外围模块,每种外围模块可以用来做几种不同的应用。 gamebrd grblbrd wearablebrd robotbrd stickbrd aibrd controlbrd matrix |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed