分类: DIY

  • [DIY]USB-HUB

    [DIY]USB-HUB

    基于SL2.1A芯片实现的一拖四usb2.0拓展坞。

    实测可以正常使用。

    原理图

    PCB原理图借鉴项目:https://oshwhub.com/chen7654/usb-hub

    参考项目重新手动绘制。

    PCB

    本人自认pcb布线经验不足,走线存在不合理请谅解。

    使用了立创EDA的自动布线功能并进行了手动修改。

    BOM

    IDNameDesignatorFootprintQuantityManufacturer Part
    1SL2.1AU1SOP-16_L10.0-W3.9-P1.27-LS6.0-BL1SL2.1A
    212MHzX1CRYSTAL-SMD_4P-L3.2-W2.5-BL1X322512MSB4SI
    31uFC1,C2C06032CGA0603X5R105K500JT
    410uFC3,C4,C5,C6,C7,C8C06036CGA0603X5R106K100JT
    5USB-231-ARYUSB1,USB2,USB3,USB4USB-A-TH_USB-231-ARY4USB-231-ARY
    6TYPE-C 16PIN 2MDUSB5USB-C-SMD_TYPE-C-6PIN-2MD-0731TYPE-C 16PIN 2MD(073)

    性能

    在电脑usb3.0测试u盘写入速度为

    同usb口利用数据线外界USB-HUB测试同u盘写入速度

    存在性能损耗,极限速度未知(理论上usb2.0的极限速度为60Mb/s)

    设备运行相对稳定,没有出现高温降速情况。

    感悟

    个人认为焊接最麻烦的原件为12pin的Type-C座子,很容易连锡导致设备无法连接。初次焊接为使用的电烙铁,焊接0603电容时是真的累,USb-A的座子和SL2.1A芯片的焊接很容易,但贴片晶振和Type-C我是真的没得说。我硬着头皮焊完所有电路后,激动人心的时刻来了,插数据线、连电脑!电脑响了外设连接的声音!点开设备管理器!无法识别设备!我****

    因此,我买了热风枪,嘿嘿。

    就对这个电路板热风枪是真的好用。除了Type-C座子可能因为锡浆略多而导致引脚连锡,其他都是简简单单。

    致谢

    感谢作者chen7654开源的USB-HUB。

    原作者项目地址:https://oshwhub.com/chen7654/usb-hub

  • [DIY]空心时钟

    [DIY]空心时钟

    项目简介

    本项目是一面时针悬在空中的时钟,此时钟基于Arduino nano作为主控,通过驱动板控制28BYJ-48 步进电机传动到指针上来控制时间(时针采用磁性吸引控制)

    空心时钟实物照片

    此项目的作者shiura没有使用和普通时钟一样从表盘中心点来驱动指针转定,而是通过反向思维,利用表盘边框中的两个圆环齿轮来进行传动,分针直接固定再齿轮上,时针与分针在表盘中心处连接并通过钕磁铁以磁性的方式与环形齿轮进行间接性连接。这使得表盘中心大面积区域可以处于镂空状态,给人一种高级感。

    项目制作

    模型打印

    利用3D打印机(创想三维Ender2Pro)对空心时钟的外壳、圆环齿轮、蜗轮、表针等材料进行打印(共需要14个模型材料)

    打印模型材料展示

    电路部分

    将Arduino nano与电机驱动板按照下图的引脚对应连接(由于对于空间的充分利用需要剪去电机驱动板的引脚通过导线与Arduino nano进行连接,且将Arduino nano斜向放置来节省空间)

    Arduino nano电机驱动板
    D2IN1
    D3IN2
    D4IN3
    D5IN4
    5V5V
    GNDGND

    28BYJ-48 步进电机的5pin端子插在电机驱动板上。完成电路部分的焊接工作。

    组装工作

    将已经焊接好的电路放置到打印的底座中并将蜗轮插在步进电机上、装上锥形齿轮驱动齿轮(注意安装垫片)

    底座组装实物图

    最后将两块钕磁铁放入时针的环形齿轮,将两个环形齿轮放入表盘外壳中,盖上后盖用螺丝固定,再将一块钕磁铁放在时针的末端,时针头部与分针用螺丝固定在一起。完成组装。

    程序写入

    使用Arduino IDE工具通过数据线连接Arduino nano开发板(注意Arduino IDE工具驱动和串口参数设置),将hollow4.ion文件上传到Arduino nano开发板中。

    程序烧录展示

    hollow4.ino本身为C语言程序进行编写而成。时钟由于实际设备材料等因素影响可能在运行过程中存在一定误差。可以通过调整下列代码参数值来解决(数值越大,时针转动越慢)

    // milliseconds per a minute
    #define MILLIS_PER_MIN 59850

    成果展示

    下面视频中使用了测试代码,以便于观察系统的工作状态(测试代码加快了指针的运转速度)

    空心时钟成品展示

    致谢

    感谢作者shiura设计的Hollow Clock 4(空心时钟4)项目。

    附原作者shiura的项目地址

    Hollow Clock 4:https://www.instructables.com/Hollow-Clock-4