当前位置: 首页 > article >正文

立创EDA开源项目C-DOG:会动的USB扩展坞机器狗硬件设计与改造全解析

立创EDA开源项目C-DOG会动的USB扩展坞机器狗硬件设计与改造全解析最近在立创开源硬件平台上看到一个特别有意思的项目叫C-DOG。它本质上是一个四足机器狗但作者给它加了个特别实用的功能——USB扩展坞。这样一来它就不再只是个会动的桌面摆件了还能给你的电脑扩展出几个USB接口既好玩又实用。我仔细研究了它的硬件设计和改造过程发现里面有不少值得学习的点尤其是电源管理和接口扩展的思路对咱们做嵌入式项目很有启发。今天我就带大家把这个项目的硬件部分掰开揉碎了讲清楚从电路设计到3D打印外壳咱们一步步来看。1. 项目背景与原版改造这个项目是基于立创EDA社区一个叫“EDA-Robot机器狗”的开源项目原项目名因故被和谐。原版设计提供了一个基础的四足机器人框架而C-DOG的作者在此基础上进行了大刀阔斧的改造可以看作是一个“魔改”加强版。主要改动集中在三个方面外壳结构全部重新设计为了集成更多功能并优化结构强度。电路和PCB大部分重新设计增加了USB HUB、电源管理、IO扩展等复杂功能。代码结构重写优化了程序架构用状态机和定时回调替代了原来的硬延时提高了系统响应能力。简单说C-DOG的目标是做一个“有用的桌面摆件”在能卖萌走动的基础上集成实用的USB扩展功能并且预留了丰富的扩展接口供玩家折腾。注意根据作者说明项目目前仍有部分功能如I2S音频和RGB彩灯驱动尚未完全调试成功且复杂的电源管理模式软件部分也待验证。但这并不影响我们学习其核心的硬件设计思想。2. 核心电路功能详解C-DOG的“大脑”是一颗ESP8266 WiFi模块负责控制、联网和逻辑运算。围绕它作者设计了一套相当完整的周边电路。2.1 电源系统双路独立供电与精细管理电源是嵌入式系统的基石C-DOG的电源设计考虑得非常周到主要为了解决舵机工作时对系统其他部分的干扰问题。供电架构电源输入支持单节3.7V锂电池供电并通过升压电路得到系统所需的5V电压。也支持直接外接5V电源。双路5V输出这是设计的精髓。系统有两路独立的5V输出5V-A专门用于驱动四个舵机。舵机在启动和堵转时电流很大容易引起电压跌落。5V-B用于给ESP8266、USB HUB芯片、扩展芯片等其他所有部分供电。3.3V生成通过一颗经典的AMS1117-3.3稳压芯片将5V-B降压为3.3V给ESP8266等芯片供电。这样做的好处是即使四个舵机同时动作把5V-A的电压拉低甚至影响到输入电源也能保证5V-B这条支路相对稳定从而让核心控制系统和USB设备不受干扰。作者实测也证实了这一点。电源开关设计开关控制方式很巧妙。在机器狗的尾部有一个滑动开关它控制着一个NMOS管N沟道场效应管。这个MOS管串联在电源的负极GND回路上。关断状态MOS管截止系统主地GND与电源输入地DC-断开整个系统除USB HUB部分断电。导通状态MOS管导通GND与DC-连通系统上电。这里有个细节PCB上的“地”被分成了两块。一块是DC-它直接来自外部电源或电池的负极且不受开关控制一直与USB HUB部分相连。另一块是GND是系统的主地受开关控制。这样设计确保了即使机器狗关机其身上的USB扩展坞接口依然能从电脑取电如果通过USB线连接了电脑这很符合“USB扩展坞”的定位。2.2 USB扩展坞功能集成既然定位是桌面摆件光会动还不够实用。C-DOG在PCB上集成了一颗USB 2.0 HUB芯片——SL2.1S这是一颗常见的一拖四集线器芯片。接口分配芯片的四个下行端口即扩展出的口中三个做成了标准的USB-A母口安装在机器狗身体侧面可以直接插U盘、键鼠等设备。第四个端口没有对外引出而是连接到了板载的USB转串口电路上专门用于给ESP8266下载程序和调试。这样一来你只需要用一根USB线将C-DOG连接到电脑它就同时实现了给机器狗供电如果不用电池。为电脑扩展出三个可用的USB口。建立了一个通往ESP8266的串口调试通道。这个设计极大地提升了项目的实用性和易用性。2.3 串口下载与调试电路为了方便给ESP8266烧录程序板上集成了USB转串口电路。这部分电路基本复刻了NodeMCU开发板的设计可以实现自动下载功能。工作原理通常给ESP8266下载程序需要手动操作GPIO0和RESET引脚进入下载模式。而自动下载电路通过监测USB转串口芯片的DTR和RTS信号自动生成合适的时序来控制这两个引脚从而省去了手动按按钮的麻烦。提示作者提到编程后自动复位功能偶尔不灵可能是某些编程软件兼容性问题。如果遇到可以尝试手动复位一下。2.4 数字与模拟IO扩展ESP8266本身的GPIO引脚数量有限且部分引脚有特殊用途如用于Flash。为了连接更多外设C-DOG使用了扩展芯片。数字IO扩展使用了两片PCF8574芯片。这是一种I2C接口的8位IO扩展芯片每片可以增加8个数字输入/输出引脚。第一片PCF8574-A它的8个IO全部被板载功能占用例如控制模拟开关、读取滚珠开关状态等。第二片PCF8574-B它的8个IO通过一排排针全部引出到板边供用户自由使用可以连接传感器、继电器等外部设备。模拟IO扩展ESP8266内部只有一个ADC模数转换器通道且测量范围只有0-1V这大大限制了其模拟信号采集能力。C-DOG设计了一个巧妙的模拟输入扩展电路。电压缩放首先通过一个电阻分压网络将外部0-5V的输入信号等比例缩小到0-1V以内以适应ESP8266的ADC输入范围。通道扩展使用一片CD4051模拟开关芯片。这是一个8选1的模拟多路复用器可以将1个ADC通道扩展为8个。阻抗匹配电阻分压会降低输入阻抗如果信号源内阻较大测量误差会很明显。为此作者在分压器和模拟开关之间加入了一颗LMV321运放构成电压跟随器。电压跟随器的输入阻抗极高输出阻抗极低完美地起到了隔离和缓冲作用保证了测量精度。如何工作ESP8266通过I2C控制PCF8574由PCF8574输出3位地址信号来选择CD4051的8个通道中的某一个。然后ESP8266再读取自身的ADC即可获得该通道的电压值。由于是分时复用需要轮流切换通道进行采样。作者专门编写了测试代码ad_channel_test.cpp来验证这个电路。测试发现CD4051通道切换速度很快切换后等待约10微秒ADC输入电压就能稳定下来对于大多数传感器采样如温度、光照来说完全够用。2.5 互动传感器滚珠开关为了让机器狗更有趣板上集成了两个串联的滚珠开关也叫振动开关。当机器狗被触碰或移动时滚珠滚动导致开关通断从而产生电平变化ESP8266可以检测到这个变化。在现有程序中检测到振动后机器狗会做出“四条腿乱蹬”的反应模拟受惊的样子。这是一个低成本实现简单人机交互的好方法。2.6 预留功能I2S接口ESP8266的硬件I2S接口功能强大可以用于驱动类似WS2812这样的RGB彩灯通过DMA方式效率极高也可以用来生成音频信号驱动喇叭。作者在板上预留了相应的电路RGB灯和喇叭接口为后续升级语音反馈或炫彩灯光效果提供了可能。不过目前这部分功能尚未调通。3. 3D打印外壳结构与组装要点C-DOG的外壳全部为3D打印件作者优化了设计所有零件都可以无需额外支撑进行打印必须支撑的地方已经在模型内部设计好了。外壳主要分为四大部分狗头、上壳、下壳、狗腿。连接全部使用M2规格的自攻螺丝。3.1 下壳主板与舵机的家下壳是核心承重和安装结构负责固定PCB主板和四个舵机。安装顺序很重要先装PCB下壳侧面有卡槽PCB板侧面的突起需要卡进去。安装时需要稍微掰动下壳使其变形才能放入。如果先装了舵机下壳会变得很硬PCB就很难装进去了。再装舵机舵机从底部向上装入下壳的对应槽位。每个舵机两侧有两个螺丝孔用M2螺丝固定。打印后处理注意下壳上舵机槽位两侧有非常薄的连接片仅1-2层打印厚度这是为了防止打印时边角翘起而设计的“牺牲层”。打印完成后需要用手或工具轻轻将其去除才能顺利装入舵机。3.2 上壳与狗头外观与扩展上壳除了覆盖主体其后部特意开了孔目的是为可能的后续扩展比如从内部引出传感器线缆预留空间。上壳内部还有向下延伸的“加强筋”它们的作用是顶住下壳侧面USB开口之间的薄弱部位防止其断裂。狗头分为屏幕支架和狗头主体两部分。OLED屏幕被内嵌在两者之间。狗头正面的两个槽位预留了安装RGB灯的空间。屏幕支架上的装饰性结构会部分遮挡屏幕这是有意为之旨在让屏幕显示的内容如图片、动画与外部装饰造型结合成完整的画面不过配套的图形素材目前尚未完成。3.3 狗腿与总装狗腿通过一个M1螺丝与舵机的舵盘固定。前腿的模型在悬空处自带了支撑结构打印后需移除。狗腿底部的圆柱可以套上橡胶圈以增加抓地力但作者实测效果不明显。总装流程建议打印所有零件并处理掉必要的牺牲层和支撑。将PCB板安装到下壳中。将四个舵机安装到下壳对应位置并固定。将上壳与下壳扣合通常后面用卡子固定前面通过狗头连接。安装狗头先固定屏幕再组合屏幕支架和狗头主体。将狗腿安装到舵机舵盘上。连接舵机线到PCB合盖并拧紧所有螺丝。4. 软件架构思路虽然这不是一篇软件教程但了解其软件架构对理解整个项目有帮助。作者重写了原版代码核心思想是消除阻塞延时提高系统响应性。原版代码中可能大量使用了delay()这样的函数在此期间CPU什么都干不了。C-DOG的新代码采用了两种技术状态机用于管理舵机动作等复杂流程。将一套连贯的动作分解成多个步骤状态每次执行只完成当前状态的一小部分工作然后立刻返回下次再接着执行下一个状态。这样就不会长时间阻塞。定时回调利用定时器中断在固定的时间间隔执行某些任务比如定时检查传感器、更新网络状态。这样做的最大好处是即使在机器狗执行走路、跳舞等动作时它依然能够实时响应来自网页的控制命令或传感器触发。当然这种“伪异步”的编程模式对思维逻辑要求较高状态管理会变得复杂。作者也坦言如果有条件使用RTOS实时操作系统配合协程会是更优雅、更直观的解决方案。C-DOG这个项目充分体现了开源硬件和创客文化的魅力从一个想法出发融合电源设计、接口扩展、结构建模、嵌入式编程等多个领域的知识最终创造出一个既有趣又有用的产品。它的硬件设计特别是电源隔离、接口扩展和模拟信号调理电路对于从事嵌入式开发的我们来说是非常好的学习案例。

相关文章:

立创EDA开源项目C-DOG:会动的USB扩展坞机器狗硬件设计与改造全解析

立创EDA开源项目C-DOG:会动的USB扩展坞机器狗硬件设计与改造全解析 最近在立创开源硬件平台上看到一个特别有意思的项目,叫C-DOG。它本质上是一个四足机器狗,但作者给它加了个特别实用的功能——USB扩展坞。这样一来,它就不再只是…...

Solidworks 3D草图实战:5分钟搞定复杂曲面建模(附常见错误排查)

Solidworks 3D草图实战:5分钟搞定复杂曲面建模(附常见错误排查) 在工业设计领域,复杂曲面建模往往是区分新手与高手的关键能力。Solidworks作为主流三维CAD软件,其3D草图功能为曲面建模提供了独特的创作自由度。不同于…...

Llama-3.2V-11B-cot应用探索:法律文书配图分析、专利图纸技术点推理实践

Llama-3.2V-11B-cot应用探索:法律文书配图分析、专利图纸技术点推理实践 你有没有想过,让AI帮你“看懂”一张复杂的图纸,然后像专家一样,一步步分析出里面的技术要点?或者,让它审查一份法律文件里的图表&a…...

嵌入式多协议USB供电系统设计与热管理实践

1. 项目概述这是一款面向专业工作台场景设计的嵌入式多协议高功率USB供电系统,核心目标是实现“零凸起、全隐藏、高集成、可感知”的桌面电源基础设施。它并非传统外置充电器的简单堆叠,而是以工业级结构约束为前提,将13路USB供电通道&#x…...

嵌入式无人机UWB+IMU紧耦合室内定位系统设计

1. 项目概述CrazyUWB 是一个面向嵌入式无人机平台的高精度室内定位系统,其核心目标是为四旋翼飞行器提供稳定、低延迟、厘米级分辨率的二维与三维空间位置解算能力。该系统并非通用型UWB测距套件,而是围绕飞行控制闭环需求深度定制的定位子系统——所有硬…...

基于DeOldify的AIGC内容创作:自动为黑白漫画与插画上色

基于DeOldify的AIGC内容创作:自动为黑白漫画与插画上色 最近和几位做漫画和插画的朋友聊天,发现他们有个共同的痛点:线稿画起来行云流水,一到上色环节就卡壳。一张复杂的黑白稿,光是铺大色块、调光影、配色调&#xf…...

Qwen-Image-Lightning保姆级教程:4步极速文生图,小白5分钟上手

Qwen-Image-Lightning保姆级教程:4步极速文生图,小白5分钟上手 1. 引言:让AI绘画告别等待与爆显存 还在为生成一张AI图片等上几分钟而烦恼吗?或者兴致勃勃想创作,却被“CUDA Out of Memory”的红色错误提示浇了一盆冷…...

Fun-ASR VAD检测功能详解:让1小时长音频识别又快又准

Fun-ASR VAD检测功能详解:让1小时长音频识别又快又准 你有没有遇到过这样的场景:一段长达1小时的会议录音,真正有价值的内容可能只有30分钟,其余都是翻页、喝水、空调运行的背景噪音。如果直接把整个音频文件扔给语音识别模型&am…...

AD8421程控仪表放大器模块设计与实现

1. 项目概述本项目实现了一款高精度、多模式可配置的程控仪表放大器模块,核心器件采用 Analog Devices 公司的 AD8421 仪表放大器(非 AD620,项目标题存在笔误,全文以实际采用的 AD8421 为准)。该模块面向微弱信号采集场…...

WorkshopDL:跨平台Steam创意工坊资源获取工具深度解析

WorkshopDL:跨平台Steam创意工坊资源获取工具深度解析 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 在游戏模组生态中,Steam创意工坊凭借海量资源成为…...

Podman镜像加速实战与Harbor私有仓库高效部署指南

1. Podman镜像加速实战指南 第一次用Podman拉镜像时,我盯着进度条那蜗牛般的速度差点崩溃——2MB/s的下载速度,拉个CentOS基础镜像花了15分钟。后来发现只要简单配置镜像加速器,速度直接飙升到30MB/s。下面分享我实测有效的配置方法&#xff…...

解锁创意工坊自由:WorkshopDL的跨平台模组下载解决方案

解锁创意工坊自由:WorkshopDL的跨平台模组下载解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 当你在Epic平台启动《盖瑞的模组》却发现无法访问Steam创意工…...

航空公司客户价值分析实战:用Python和K-Means找出你的高价值客户

航空公司客户价值挖掘:用Python构建LRFMC模型与精细化运营策略 在航空业这个高度竞争的领域,真正理解客户价值差异的企业才能获得长期优势。传统的一刀切营销策略不仅效率低下,更可能错失高价值客户的潜在贡献。本文将带您深入探索如何运用Py…...

Ubuntu20.04双显卡用户必看:鼠标键盘无响应背后的驱动冲突解决方案

Ubuntu 20.04双显卡用户终极指南:彻底解决输入设备失效问题 当你在Ubuntu 20.04上同时使用NVIDIA和Intel双显卡时,是否经历过这样的噩梦:系统突然变得"半瘫痪"——鼠标指针可以移动但无法点击,键盘输入完全失效&#xf…...

Qwen3-4B-Thinking-GGUF部署教程:启用vLLM LoRA适配器支持轻量微调扩展

Qwen3-4B-Thinking-GGUF部署教程:启用vLLM LoRA适配器支持轻量微调扩展 1. 从零开始:认识Qwen3-4B-Thinking模型 如果你正在寻找一个既能进行复杂推理,又支持轻量级微调扩展的文本生成模型,那么Qwen3-4B-Thinking-2507-GPT-5-Co…...

MusePublic Art Studio快速部署:bash star.sh启动+本地8080端口访问教程

MusePublic Art Studio快速部署:bash star.sh启动本地8080端口访问教程 1. 开篇:认识你的AI艺术工作室 你是不是曾经想过拥有一个属于自己的AI艺术工作室?现在,这个想法可以轻松实现了。MusePublic Art Studio就是这样一个工具&…...

[特殊字符] 产品经理灵感枯竭救星:最全创意生成工具箱

做产品经理(PM)最怕的是什么?不是写 PRD,而是面对着空白的文档,脑袋里也是一片空白,完全不知道下一个杀手级功能在哪里。**创意(Ideation)**是产品生命周期的起点。一个好的 PM&…...

Llama-3.2V-11B-cot实操入门:上传图片→触发CoT推理→获取结构化结论

Llama-3.2V-11B-cot实操入门:上传图片→触发CoT推理→获取结构化结论 1. 项目概述 Llama-3.2V-11B-cot 是一个结合了视觉理解和系统性推理能力的先进模型。它基于Meta的Llama 3.2 Vision架构,专门设计用于处理需要多步推理的视觉任务。这个模型不仅能识…...

Janus-Pro-7B对比分析:与传统计算机视觉和NLP pipeline的性能差异

Janus-Pro-7B对比分析:与传统计算机视觉和NLP pipeline的性能差异 最近在和朋友聊起多模态大模型时,他提了个挺有意思的问题:“现在这些号称能看懂图又能聊天的模型,比如Janus-Pro-7B,跟以前那种先用卷积神经网络&…...

Python实战:九种近红外光谱预处理方法的场景化应用与代码解析

1. 近红外光谱预处理为什么重要? 近红外光谱分析就像给物质做"指纹识别",但原始数据往往带着各种"噪声面具"。想象一下医生听诊时遇到隔壁装修的干扰——这就是未经处理的光谱数据常态。我在农产品品质检测项目中就吃过亏&#xff0…...

Phi-4-reasoning-vision-15B快速上手:5分钟完成截图上传→问题输入→答案获取

Phi-4-reasoning-vision-15B快速上手:5分钟完成截图上传→问题输入→答案获取 1. 认识Phi-4-reasoning-vision-15B Phi-4-reasoning-vision-15B是微软推出的视觉多模态推理模型,它能像人类一样理解图片内容并回答相关问题。想象一下,你给朋…...

OFA模型在教育培训场景应用:自动评估图文理解能力

OFA模型在教育培训场景应用:自动评估图文理解能力 教育培训领域一直面临一个核心挑战:如何客观、高效地评估学生的图文理解能力。传统的人工批改不仅耗时耗力,还难以保证评分标准的一致性。想象一下,一位老师需要批改上百份学生的…...

WeKnora镜像体验:开箱即用的知识库问答,专治AI胡说八道

WeKnora镜像体验:开箱即用的知识库问答,专治AI胡说八道 1. 为什么我们总被AI“忽悠”? 你有没有过这样的经历?你拿着一份刚收到的产品规格书,问AI:“这个设备的额定功率是多少?”AI信心十足地…...

Qwen-Image-Edit-F2P与MySQL数据库的联动应用

Qwen-Image-Edit-F2P与MySQL数据库的联动应用 1. 引言 想象一下,你运营着一个电商平台,每天有成千上万的用户上传自己的头像。如果能自动为每个用户生成不同风格的全身形象照,不仅能让用户获得惊喜体验,还能为个性化推荐提供丰富…...

Windows系统如何更换NTP服务器?手把手教你修改注册表提升时间同步精度

Windows系统时间同步优化指南:更换NTP服务器与提升同步精度 在数字化办公环境中,精确的时间同步往往被忽视却至关重要。从金融交易的时间戳到分布式系统的日志对齐,毫秒级的时间差异可能导致数据不一致甚至系统故障。Windows系统默认使用time…...

避坑指南:ROS Noetic串口通讯常见错误排查(从设备权限到波特率设置)

ROS Noetic串口通讯实战:从权限配置到数据解析的完整解决方案 在机器人开发中,串口通讯作为硬件交互的基础通道,其稳定性直接影响整个系统的可靠性。ROS Noetic作为当前长期支持版本,对串口通讯的支持有了新的优化,但开…...

Realistic Vision V5.1 GPU算力适配教程:非顶配显卡稳定运行的5个关键优化点

Realistic Vision V5.1 GPU算力适配教程:非顶配显卡稳定运行的5个关键优化点 你是不是也对Realistic Vision V5.1生成的单反级人像垂涎三尺,但一看到官方推荐的4090显卡就望而却步了?别急着关掉页面,这篇文章就是为你准备的。 很…...

工业DTU设计:ESP32-S3多网冗余RS485数据采集终端

1. 项目概述本DTU(Data Transfer Unit)设备是一款面向工业现场数据采集与远程传输的嵌入式通信终端,核心目标是实现RS485总线设备数据的可靠、多路径、高适应性上行传输。系统以ESP32-S3作为主控MCU,集成三类独立且可互为备份的网…...

如何在Windows 10上快速安装Quartus II 13.0并配置Cyclone器件库(保姆级教程)

在Windows 10系统高效部署Quartus II 13.0开发环境的完整指南 对于FPGA开发者而言,搭建稳定可靠的开发环境是项目成功的第一步。本文将详细介绍如何在Windows 10平台上完成Quartus II 13.0开发套件的完整部署,包括软件安装、器件库配置以及环境优化等关键…...

丹青识画实战案例分享:用AI为旅行照、人像、静物生成诗意题跋

丹青识画实战案例分享:用AI为旅行照、人像、静物生成诗意题跋 1. 当AI成为你的私人书画师 想象一下,你刚结束一次难忘的旅行,手机里存满了美景照片,却苦于找不到合适的文字来表达那一刻的感受;或者你拍了一张特别满意…...