Gustav杂物间 - 2021年10月
type: channel
link: http://ifreehub.com/2021/10/
description: 群处守住嘴，独处守住心！
items: 数字成像系统基础---2
items: 数字成像系统基础---1
items: 这才是我的理想烙铁--O-Iron

数字成像系统基础---2
type: item
date: 2021-10-15T16:19:00+00:00

数字成像系统基础---1
type: item
date: 2021-10-15T15:28:00+00:00
description: 在公司一直在做自动驾驶相机相关的业务，前段时间受邀给同事进行分享，于是梳理了一下我对成像系统的理解（已隐去业务相关信息）。

这才是我的理想烙铁--O-Iron
type: item
date: 2021-10-07T08:22:00+00:00
description: 前言说起烙铁，大约在小学的时候就已经开始使用，虽然那时候对电子电路的理解只有正负极，但是也玩的不亦乐乎，不过那时候的烙铁给我的印象就是升温太慢了，每次使用都要等个好几分钟。后来上了大学、工作了接触了白光烙铁，那叫一个香啊，10s内就能到达目标温度，而且回温迅速，大片接地焊盘都不在话下，当然这些烙铁都非常贵，当时没啥钱的我实在买不起。再后来网上掀起了一股白菜白光的DIY热潮，各路大神把白光的价格拉下到2位数，于是2016年我以不到80元入手了一个简易白光烙铁，虽然简陋，没有休眠功能，无法自动关机，温度调节基本靠猜，但是出色的焊接能力还是让我觉得很香。不过这个使用了5年的烙铁最近开始出现了加热异常，接触不良，异响等问题，于是乎我打算结合多年使用烙铁总结的需求，设计一个我的理想烙铁。梳理需求有了想法自然是总结下个人在常年使用烙铁时遇到的痛点，并梳理出如下需求：外观高颜值小巧、便携支持更换烙铁头支持PD供电实时温度显示的界面支持相关参数设置（温度校准、加热策略自定义等）支持快速调整温度支持休眠与自动关机支持提示音框架设计需求锁定了，接下来则是大致框架的设计，整个烙铁的制作涉及到机械设计，硬件设计以及软件开发，因此整体过程大致如下：根据对市面上已有烙铁的外观结构分析，结合烙铁头的长度以及自己的审美，确定了烙铁手动的总体尺寸在直径17mm*170mm。外观尺寸确定了，则内部PCB大小也基本确定，约为13mm*60mm，同时确定烙铁头保持架的尺寸约为13mm*110mm。最后则是漫长的软件开发过程。机械框架硬件框架软件框架硬件设计根据之前的评估，可以确定PCB的尺寸，因此先根据这个尺寸设计硬件，然后通过AD输出3D结构图至机械设计软件后进行更加细致的机械设计。原理图设计根据硬件框架进行原理图设计基本不会遗漏，整个过程还是相对简单顺利的。PCB布局与Layout由于PCB尺寸仅有13mm*60mm，同时还需要保障20V3A的过流能力，因此对布局与走线要求还是比较高的，原本打算采用4层板降低布线难度，可是考虑到打板成本，最后还是经过4次的重新布局布线在2层板上实现了所有走线。（感谢嘉立创给我白嫖打样）使用Keyshot 8进行渲染，看看PCB颜值。完成硬件设计则可以到处所需的3D STP数模了，后续机械设计则会根据该数模进行内部设计。机械设计根据硬件设计阶段导出的数模，我们就可以知道PCB上的元器件所占的高度了，这就使得我们在机械设计时能充分考虑他们的干涉问题。零件绘制首先绘制一个T12烙铁头绘制T12保持架绘制手柄底壳绘制手柄顶壳其他零件装配将PCB装入手柄底壳装配保持架安装螺柱安装T12烙铁头安装固定套筒拧上螺帽安装上盖至此机械部分设计基本结束，当然目前的设计还有许多细节须要修改，待软件开发完成后会进行3D打印实验安装（我那落灰的3D打印机机不知道还能工作不），进一步优化手柄设计。当然先使用Keyshot 8进行渲染，看看手柄颜值。软件开发软件开发主要包含GUI的移植与页面设计，按键框架的开发，其他BSP驱动的实现，温度控制PID的开发等。GUI设计GUI这里考虑了资源的占用，选择了lvgl，目前已经移植成功，核心骨架资源占用为80K ROM与13K RAM，由于页面代码还未全部开发完，资源还是非常紧张的。考虑到人机交互的舒适性，当前界面设计如下：主页显示采用横屏模式，适合在焊接作业时的观看角度。菜单页面采用竖屏显示，方便大拇指进行菜单选择时的观看角度。按键框架按键输入采用拨轮按键（早些年MP3中常常使用），按键支持上拨（CCW）、下拨（CW）、按压（PUSH）三种操作，由于按键较少，因此须要实现单击、双击、长按保持、长按连击等功能，以满足丰富的图形操作。主页显示的情况下，单击上下拨单步调整整目标温度，长按上下拨快速调整目标温度。主页显示的情况下，双击PUSH进入菜单界面。菜单显示的情况下，单击上下拨单步选择不同菜单项，长按上下拨快速切换菜单项。菜单显示的情况下，单击PUSH进入所选菜单项，长按PUSH退出。其他界面情况下，均支持单击PUSH确定，长按PUSH退出。BSP驱动BSP相关主要包含GPIO、SPI、DMA、UART、ADC、TIMER、PWM等。进度目前硬件调试基本结束，相关BSP驱动基本调通，后期大量工作在软件逻辑上。完成PCB打样PD 20V诱骗成功DC-DC 3.3V正常MCU正常拨轮按键---封装画反了震动开关正常蜂鸣器正常T12热电偶测温正常T12PWM加热正常lvgl移植成功后续内容[ ] 完成按键框架[ ] 完成页面设计[ ] 完成参数读取保存功能[ ] 完成PID温度控制[ ] 完成温度校准功能[ ] 完成休眠、关机机制