标签存档: 电子DIY

Arduino玩家必备,SimulIDE电路模拟器

玩电子 DIY 时入门最常用的就是 Arduino 了,Arduino 封装了大量的库,而且社区也有各种外设的库,对于开发应用来说相当便捷。再加上现在嘉立创的免费打样服务,玩电子 DIY 可以很方便地做出一个像模像样的产品。

不过在编写固件时,可能还是会踩很多坑,如果在 PCB 生产完后再验证,万一出点问题就又是漫长的等待,中间手工焊接的时间也会浪费掉。如果用面包板,又需要连接一大堆杜邦线,有些时候手头没有对应的元件,或者是不方便连接杜邦线时,还不好测试。

这个时候,我就去找了一下有没有电路的模拟器,就找到了 SimulIDE。

SimulIDE 介绍

simulide-introduce-1

SimulIDE 官网: https://simulide.com/p/

SimulIDE is a simple real time electronic circuit simulator, intended for hobbyist or students to learn and experiment with analog and digital electronic circuits and microcontrollers.
It supports PIC, AVR , Arduino



阅读全文 »

做个基于STM32+QMK的茶轴机械数字小键盘,带编码器和OLED屏幕~

之前为了验证 STM32F103 作为键盘 QMK 固件的主控是否可行,顺便学习一下 QMK 固件的配置和开发,做了个带编码器和 OLED 屏幕的数字小键盘。不过因为一直没搞定在 OLED 上显示动画,就一直没发。

周末花了点时间学习了一下终于把在 QMK 里面显示动画搞定了。

对于在 QMK 固件中怎么使用 STM32F103 当主控,可以看之前的文章:整个带屏数字小键盘吧,先搞定 QMK 固件支持 STM32F103 的 I2C Remap

成品效果

为了充分得用嘉立创免费打样券,PCB 的尺寸直接拉满到 10cm * 10cm 了,刚刚好够数字小键盘 + 2 个 EC11 编码器 + 1 个 12832 OLED 屏幕。

stm32-qmk-numpad-1

原理图设计

USB Type-C 连接及电源

这个数字小键盘用了 …

阅读全文 »

DIY电动V8发动机桌面模型,油车和电车都沉默了

先来看看视频,这个桌面 V8 发动机动起来效果怎么样的~

之所以要做这个东西,也是源于在 MakerWorld 上找一些有意思的 3D 模型玩玩的时候,看到一个 V8 发动机模型,对这类东西简直毫无抵抗力啊,立马打印了一个。

diy-v8engine-toy-3

不过原作者设计的模型虽然可以动,但是需要靠自己用的去转一个摇杆,这明显玩起来不够尽兴,刚好手上有一个有刷电机,接上电就可以让这个模型全自动运转起来了,美滋滋。

另外,作为一个发动机,怎么少得了变速呢,搞个变速箱可能比较麻烦,但是给有刷电机调个速还是比较简单的,先拿 DC-DC 降压模块测试了一下,没啥问题,直接画块板子开干。

材料配件

除了 PCB 和 3D 打印的东西之外,还需要其他的一些配件

  • F280 电机:电机不建议买太强力的,电流会比较大,容易超过 DC-DC 降压芯片的工作电流范围
  • 双轴按键摇杆模块:用于调速,让 DC-DC 芯片的电压反馈电阻形成不同比例来调整输出电压

diy-v8engine-toy-3

不过这个摇杆模块的精度也是有点差的,中间行程的电阻值变化不是很线性,不过这个电机调速也不需要那么精确,能有个变速的感觉就可以了 😂。

调速原理

有刷电机的调速靠调速输入电压就可以了,这里用的降压芯片是 SY8088,根据数据手册里给的公式,再根据摇杆模块电阻值的范围,就基本可以确定该如何选择对应的反馈电阻值了。

diy-v8engine-toy-4

在计算电阻前,已经使用可调电源模拟了一下,需要多大的电压驱动电机比较合适,最后试下来是 0.7V 到 0.9V 就差不多了。

然后摇杆模块的电阻值范围是在 5K-1K,为了使得摇杆居中时电压低,摇杆推到底时电压高,得好好算一下 R1 和 R2 的取值。

根据电压范围,最后确定 R1 和 R2 都是 1K,并且摇杆模块串联在 R2 …

阅读全文 »

3D打印一个黑悟空照片吧~配上背光效果很不错~

之前就已经在搞 3D 打印照片的灯板,刚好黑神话悟空发布了,蹭个热点,搞个 3D 打印的黑悟空的照片,配合灯板做个灯光画。

成品效果

3d-photo-light-1

材料清单

这个灯光画涉及的东西有点杂,不过总体成本也不高,可以控制在 20 元以内。

  • 3D 打印灯光照片,耗材不到 20 克,成本不到 1 元
  • PCB 需要的元件加起来不到 5 元,主要是 LED 灯珠、LED PWM 驱动芯片、充电芯片
  • PCB 可以用嘉立创的免费打样券
  • 3D 打印外壳,耗材使用在 40 克左右,成本大概在 2 元左右
  • 磨砂亚克力扩散板,100x100mm 大小,2mm 厚,需要 3 片,可以买一块大的裁切一下

3D 打印照片

最早的时候要生成一个反相照片 STL 模型文件还是比较麻烦的,不过 MakerWorld 上有一个作者搞了个比较好用的脚本,可以一键生成 OpenSCAD 源文件再导出成为切片软件可以用的 STL,并且参数可配置。

MakerWorld 项目地址: https://makerworld.com.cn/zh/models/194195

阅读全文 »

不要浪费闲置机箱风扇,5元把它变成无级调速桌面小风扇

之前拆机箱的时候,闲置了两个 12 厘米的散热风扇,看了下接口还是 4PIN 带调速线的,刚好办公室里缺一个桌面小风扇,这不得顺手改造一个。

机箱散热风扇是 12V 的,因此需要一个升压电路将 USB 输入的 5V 升压到 12V,另外因为风扇本身是支持 PWM 高速的,还需要一个电位器 + PWM 转换芯片来控制转速,整体还是相当简单的一个电路。

成品效果

为了在桌面使用,在 MakerWorld 上找了个可调节角度的 12 厘米风扇支架,刚好配合这个风扇使用。

不过因为原始设计是直接给祼风扇使用的,并没有考虑下面会加额外的 PCB,因此我对支架做了加高处理,要不然风扇的外壳会超出支架。

diy-desktop-fan-1

最终效果如图,使用时感觉还不错。

原理图设计

整个 PCB 仍然是使用立创 EDA 专业版设计的,在更新了 2.2 版本之后,终于流畅度有了不少提升,使用起来舒适了不少。

调速风扇整体电路很简单,就是一个升压 + PWM 输出,其中升压芯片使用了 HX3608,PWM 输出使用了 GP9101。

diy-desktop-fan-2

其中一些可能会有疑问的地方:

  1. HX3608 升压反馈电阻使用了 16K 和 1K,实际升压电压为 10V,驱动 12V


阅读全文 »

去吧皮卡丘~啊不,是悬浮灯丝氛围灯

之前做了一个网红悬浮氛围灯,但是用了一段时间之后发现,这个电池似乎续航有点短,经过网友的提醒,发现是 LDO 在持续耗电,检测了一下的确会有这个情况。那这不能忍,去掉 LDO 优化续航的版本安排上~

DIY 悬浮柔性灯丝氛围灯的教程可以看这里: 30 元 DIY 一个柔性灯丝氛围灯

这次顺便使用了嘉立创的彩色丝印工艺,直接将 PCB 暴露在外面,印上喜欢的图案,美滋滋。

成品效果

有了彩色丝印就可以直接拿 PCB 当顶盖了~

diy-led-light-1

静态功耗检测

通过将万用表串联到电池正极和 PCB 电池正极之间,测得了即使氛围灯在没有打开时,仍然有 4mA 左右的电流消耗。

通过查阅所使用 AMS1117 芯片的数据手册,的确标注了静态电流会有 5-10mA。

diy-led-light-2

因为这个氛围灯没有设计物理电源开关,因此这个问题还是需要解决一下的,要不然一块 1000mAh 电池,光放着一周也没电了。

原理图修改

相比之前的原理图,新版本中去掉了 LDO,电池直接供电到 LED 灯丝。

当然这也会造成一个问题,随着电池电压的下降,在亮度开关是同一档位的情况下,LED 灯丝的亮度会逐渐下降,不过这个问题也不是特别大,不影响使用。

另外因为电池直接供电 LED 灯丝了,电池满电时电压 4.2V,在开启最大亮度时,LED 灯丝的亮度会比使用 LDO 降压后的 3.3V 供电要高不少,可以酌情增大 LED 限流电阻 …

阅读全文 »

听人劝吃饱饭,试试CH334R来做USB 2.0 Hub

之前用 SL2.1A 做了个 USB 2.0 Hub,有网友说不如用 CH334R,售价更便宜,还支持更高级的 MTT,这不得马上了解一下。

之前使用 SL2.1A 做 USB Hub 的文章在这里:还在花钱买?5元DIY一个四口USB 2.0 Hub

CH334R 介绍

在 CH334R 的数据手册中找到它的介绍,的确是支持 MTT 的。

CH334 和 CH335 是符合 USB2.0 协议规范的 4 端口 USB HUB 控制器芯片,上行端口支持 USB2.0 高速和 全速,下行端口支持 USB2.0 高速 480Mbps、全速 12Mbps 和低速 1.5Mbps。不但支持低成本的 STT 模式(单 个 TT 分时调度 4



阅读全文 »

整个带屏数字小键盘吧,先搞定 QMK 固件支持 STM32F103 的 I2C Remap

之前参考立创开源平台的夏天大佬,做了一个基于 ATMega32A MCU + QMK 固件的 40% 配列键盘,不过最后又想用起来的时候发现,可能因为 ATMega32A 用的是软件模拟 USB,所以在 Mac 上的兼容性有点问题,因此就想着自己重新搞一个键盘。

在 QMK 固件的 MCU 支持列表里面翻了一下,发现 STM32F103C8T6 也是支持范围,而且搞一个 STM32duino-bootloader 就可以直接通过 USB 刷机,也是相当方便了。

关于 STM32F103 使用 STM32duino-bootloader,之前已经写了篇文章分享 做键盘必备,抛掉ST-Link,STM32F103通过USB烧录,STM32duino-bootloader踩坑记录

免费打样来测试

但是直接搞整个 40% 配列键盘,PCB 的尺寸超过了嘉立创免费打样的范围,因此准备先搞个数字小键盘来验证一下 STM32F103 做键盘的原理图。

照猫画虎搞个原理图

搞键盘主要就是确定行和列的引脚,为了最大能支持 104 键,就把能用的引脚全用上了。

另外为了使用 OLED 屏幕,这里使用了 PB8、PB9 作为 I2C 通信引脚。

qmk-stm32f103-i2c-remap-1

原理图画了之后,先拿开发板测试一下固件能不能用吧,然后就发现 PB9、PB8 …

阅读全文 »

还在花钱买?5元DIY一个四口USB 2.0 Hub

作为一个电子 DIY 爱好者,在平时做开发的时候会有众多低速 USB 设备需要使用,例如 USB 转串口、小功率设备 USB 供电等,一般电脑并没有那么多 USB 接口可供使用。

但是作为一个成熟的电子 DIY 爱好者,也该学会自己解决这个问题了,直接买芯片 DIY 一个四口 USB 2.0 Hub 吧 😃,也可以顺便学习一下差分布线以及 PCB 阻抗特性。

成品照片

diy-usb-hub-1

功能需求

对于一个简单场景使用的 USB 2.0 Hub 来说,没有太多功能需求,主打一个能用就行,满足以下几个需求就可以:

  • USB Type-C 连接,便于使用现有线材
  • 四口输出,体积需要小巧一点
  • 带过流保护,防止损坏上级电路

硬件选型

USB 2.0 Hub 芯片有不少,例如 CH334、FE1.1S、SL2.1A 等,最后综合功能需求、可参考项目、芯片封装等因素,选择了 SL2.1A。

SL2.1A 是一颗高集成度,高性能,低功耗的 USB2.0 集线器主控芯片;该芯片采用 STT 技术,单电源供电方式,芯片供电电压为 5V,内部集成



阅读全文 »

不要放过闲置快充头,DIY一个带屏幕显示功率的USB-PD电源诱骗器

之前搞完了基于 CH32V003 的 USB 电流表,并把整个开发过程总结成一个教程《全开源!使用 7 毛钱的单片机 DIY USB 电流表教程,入坑硬件设计、固件开发、外观建模》

在此之前,其实已经了解到了 CH224K 这个芯片,同样也是沁恒出的,可以很简单地通过单电阻或者三个 IO 的方式来控制设备端与 USB PD 充电器通信,并且协商到指定的充电电压,在某些需要特定电压的场合就比较有用。

既然已经完成了 USB 电流表,并且电流表也自带了用户按键,那就是再多加一个功能页面的事,顺便把 PD 诱骗也集成掉吧~

成品照片

主界面

img

PCB

img

功能设计和元件选型

CH224K 介绍

CH224 单芯片集成 USB PD 等多种快充协议,支持 PD3.0/2.0,BC1.2 等升压快充协议,自动检测 VCONN 及模拟 E-Mark 芯片,最高支持 100W 功率,内置 PD 通讯模块,集成度高,外围精简。集成输出电 压检测功能,并且提供过温、过压保护等功能。可广泛应用于各类电子设备拓展高功率输入如无线充电 器、电动牙刷、充电剃须刀、锂电池电动工具等各类应用场合。

主要功能:

  • 支持4V至22V输入电压


阅读全文 »