cruelfox

  • 2024-11-30
  • 回复了主题帖: DIY一个袖珍实验电源

    se7ens 发表于 2024-11-29 11:02 创意不错 用DAC输出来调整电源的反馈输入 这里两个DAC使用的是同一个编码器,调节效果能同步吗,输出 ... 能连续调整,DAC的一个LSB可以实现大约5mV的输出跳变,作为电源这个足够用细了(毕竟是电源,不是做基准)。根据目标输出电压推算一下LDO的输入电压,两个DAC可看作是同步更新的。不过电源芯片的稳定时间没有实测。

  • 2024-11-28
  • 发布了参考设计:采用STM32F072调节TX4211和SY6345的袖珍实验电源

  • 2024-11-24
  • 回复了主题帖: DIY一个袖珍实验电源

    原理图和PCB使用立创EDA设计,如有需要请自取。我用的液晶模块是在隔壁老王那里买的。  

  • 发表了主题帖: DIY一个袖珍实验电源

      实验电源是电子DIY很基础的工具之一。最常见的实验电源是实验室里用的那类大块头——带数码管显示电压电流的,功能比较多。作为业余DIY用的电源存在多种场合的需求,并不是一款电源能涵盖。至少我觉得功能大而全但体积笨重的电源我很少会去用,我经常是需要小巧的电源。     我在初中的时候有过一两个可调直流电源,那类商品是靠多档开关切换变压器次级抽头做的。第一宗罪是输出电压不准,空载明显很高,且输出电压随负载变动;第二宗罪是纹波干扰大,不能给收音机用。我那时的梦想就是有块LM317来做电源。   上图是我的第一个实验电源,若干年后才做的,核心器件是变压器、LM317三端可调稳压和多圈电位器。变压器是去逛电子市场淘到的15V带中间抽头EI形(而且这只的发热损耗低是我日后买过所有EI变压器都不如的),所以我加了一个小开关切换整流管的接法,整流后的电压有两挡。为了使用方便我设了一个20V量程的直流电压表头。电源外壳是一个铝质药盒,电压调节旋钮还是牙膏盖做的。这个实验电源多年后因为多圈电位器接触不良的毛病就很少拿出来使用了。     LM317是很经典的可调线性稳压器,大概是我做过的稳压电源(包括固定的和可调的)用得最多的芯片了。它的稳压特性是保持ADJ端和OUT端有固定的1.25V压差。因为ADJ端的电流很小,若能忽略掉的话就可以用两个电阻分压实现1.25V以上的电压输出了。下面图中的R2换成可调电阻,就构成了可调稳压电源。   LM317可以允许约40V的电压输入,输出电流最大1.5A,可以拧到散热器上而且具备热保护,所以是很容易使用的。稳压的原理(线性稳压)就是用一个反馈环路调整功率晶体管的驱动电压,让输出电压的取样与参考电压相等。LM317的内部框图是这样的:   其实所有的稳压电路都存在一个类似运放或者电压比较器的东西,再考虑不同的电源调节方式以及电路拓扑,就诞生了很多的稳压器元件。   LM317的一个明显弱点是它不是低压差的,也就是LM317输入端的电压比输出端要高一截,一般要3V. 在工频变压器加整流桥的电源里这不是太大问题(因为整流滤波输出电压波动大,要给充分余量),但5V稳压3.3V的应用它就不能胜任了——于是这时候大家熟悉的AMS1117来代替了。输入输出压差乘以输出电流,基本就是线性稳压芯片上的功耗,会转换为热量。所以现在需要低功耗的时候,都用DC-DC电路,也就是开关电源,来替代线性稳压。另外还有升压型和极性反转型的DC-DC电路。     我现在制作的这款袖珍实验电源就是升压型的,目标之一是要小巧,能随手拿来用不占地方。输入电压支持3.2V~5.5V的范围,磷酸铁锂电池和USB供电都可以用了。只针对小功率测试和应用,初步设计的输出电压为最高20V,提供最少100mA的输出能力(要大电流就另外设计吧)。目标之二是数控——不再使用电位器,而是用MCU来控制输出电压,我利用了STM32F072的DAC来实现。因为用了数控,可以做同步调节,于是我在DC-DC升压后面加了一个线性的低压差稳压器,以降低开关电源的输出纹波和提升负载响应能力。 先上电路图,再做讲解。   MCU是拿来做控制的。电源方面用了两颗国产芯,一颗是TX4211开关升压芯片,另一颗是SY6345线性降压芯片。都是SOT-23的封装,体积小但还可手焊。这两颗电源芯片都是可调电压输出的,为什么选择它们是有一定的偶然的(在立创商城遇到),满足了我的设计需求就用上了。大家自己设计电源的时候也不要拘泥于具体的厂商、型号。     从电源输入先经过TX4211构成的升压变换,得到输出预期的电压。因为我想用磷酸铁锂3.2V供电,摆脱电源线的限制,所以第一级设计成升压。TX4211支持更高的输入电压和超过我需要的输出电流的能力了。稍欠缺的地方是它不是同步整流,得有一个肖特基二极管的损耗,不过我只用小电流就没关系。   TX4211是如何实现电压调节的呢?前面我提到,输入需要电压取样,与参考电压比较,控制调节电路。只不过现在调节不再是线性调节晶体管,而是调节PWM占空比去控制MOSFET开关了。   当芯片的FB端电压和内部的参考电压相等时,就达到了平衡状态。否则,芯片会根据FB和参考的压差去调节PWM电路来试图取得平衡。从电源输出用电阻分压后连到FB端,就可以设定输出电压。这是现在绝大多数可调电源芯片的设计方式了。   TX4211内部的参考电压是0.6V,就用上面的公式来根据输出电压计算需要的电阻。     那么要实现数控怎么做?用电动机去调可调电阻?在这里显然没必要。用数字电位器代替电阻呢?成本太高了,依然还是元器件的思维,还没有到线性电路的思维。   依照我刚讲到的平衡状态,从输出电压“计算”出一个FB电压就达到了平衡,那么再引入另一个变量,不仅有输出电压,再加一个受控的电压源,就可以解出平衡状态时的输出电压了。   和稳压芯片手册上的电路相比,上图多了一个电阻R10,连到一个控制电压(MCU的DAC输出)了。因此,按照电流关系可以把平衡条件写成:   很明显,输出电压和控制电压呈线性关系,并且是控制电压升高对应输出电压下降,比例因子是R1/R10. 控制电压的范围是MCU的DAC能够输出的电压范围。     对于STM32F072的DAC,输出电压范围是0到VDDA(因为VREF+和VDDA是同一个引脚),需要用稳压电路给VDDA供电来保证DAC输出电压稳定,从而使实验电源的输出稳定。因为STM32的VDD或VDDA都不能超过3.6V,在这个应用里面需要将输入电压稳压后给MCU. 我用的是2.5V输出的RT9193给MCU以及液晶显示模块供电。   STM32F072有两路DAC输出,分别用来调节TX4211和SY6345的输出电压,调节原理和计算方法完全一样。但在用公式计算前要注意DAC输出驱动的问题,且先看下规格书对DAC的描述:   DAC输出有经过缓冲(增加驱动能力)和不经过缓冲的选项。如果不用缓冲,那么输出电压几乎可以覆盖0~VDDA的范围,但是DAC输出的阻抗是比较高的。也就是说,相当于在上面电路图和公式中的R10上面又串联了一个未知的电阻,且不知这个电阻是否是恒定的。要减少DAC输出阻抗的影响,控制电源用的分压电阻就要取得很大,这样对电源芯片又未必合适了。   因此我考虑用DAC的缓冲输出模式,外面负载电阻在5千欧以上就可以了,容易满足。那么DAC输出电压范围保守些可按0.2V~2.3V计。   按照上面的公式,从已知的DAC最低输出电压和电源芯片最高输出电压可以得到一个等式,再从已知的DAC最高输出电压和电源芯片最低输出电压可以得到另一个等式,然后通过这两个等式求解R1,R5和R10. 当然三个变量两个方程的解是不确定的,但R10/R5和R1/R5的比例是可以解出来,或者说固定其中一个电阻解另外两个电阻是可以的。     实际用的电阻器并不能取任意值,而是从系列电阻值里面取。所以我们要尝试一些和解相近的电阻值,带回公式算一下输出电压的范围是否够用。   我的电源设计LDO输出0.7V~20V,最后使用的分压电阻值如下表,供参考。 芯片 VFB FB对GND FB对VOUT FB对DAC TX4211 0.6V 4.3k 120k 16k SY6345 0.6V 6.04k 150k 18k   DC-DC升压之后,经过SY6345这只LDO进行稳压再作为实验电源最终输出。为了减少SY6345上的功耗,尽量保持TX4211的输出只比SY6345的输出高300~400mV. 这是通过软件同步调节两个DAC来实现的。   另外稍加注意的就是电源芯片本身输入输出最低电压的限制了。TX4211是DC-DC 升压电路,不能用来降压,因此最低输出电压(当里面的开关管永不开启时)是输入电压减去二极管的压降,用DAC控制不能得到更低的输出。SY6345是线性稳压,理论上最低输出电压是VFB=0.6V. 但SY6345有最低输入电压4V的限制,所以软件控制的时候TX4211的输出电压不要低于4V.     以上就是用MCU的DAC控制电源芯片输出电压的原理介绍。至于用电阻分压采样输出电压到MCU的ADC测量实际电压,以及用开关和旋转编码器、液晶显示模块进行用户界面设计,对于EEWorld论坛的MCU玩家来说都不是陌生的,我就不在此详述了。   这个帖子目的就是跟大家分享一个数控电源的实现思路,抛砖引玉。做升压还是降压,支持多大功率都看网友们的需要了。

  • 发表了日志: DIY一个袖珍实验电源

  • 2024-11-20
  • 回复了主题帖: 刚过保质期,机器就出问题?

    一般是食品才有 “保质期”一说,在期限内不变质。保质期内储藏条件也符合而发生了变质,就是食品质量安全事件了,生产厂家该被处罚的。 你说的大概是“保修期”,过了这段时间不负责(免费)维修之类的服务。保修属于服务合同条款,买卖双方约定的。因为损坏原因很多,一般厂家也不会无限时间提供售出去的产品的服务,这也是很高的成本。至于产品什么时候会坏,不厚道(猜测)的厂商也许会根据这个时间的评估来制定服务策略,或者选用元器件寿命只考虑满足行业内通行的售后服务期的下限。 但是,要让产品刚过了保修服务期就坏,这个一般说是很难精准控制的。除非是故意的(在软件里面做了定时器),为了让旧的东西淘汰掉,给新东西腾出来市场。

  • 2024-11-19
  • 回复了主题帖: 谁的公司有回流焊呀?能否帮忙焊接部分器件?

    评测不是做产品,手工做并不一定要焊在PCB上。 这个嘛,翻过来底朝上,焊细线飞一下就可以了。

  • 2024-10-29
  • 回复了主题帖: 【2024 DigiKey 创意大赛】 键鼠统一管家(1) 软件算法及实现

    wangerxian 发表于 2024-10-28 14:29 我觉得可以把摄像头放在一个屏幕上方,这样如果看着其中一个屏幕就是对某个屏幕进行控制。而不是放在两个屏 ... 那样两个屏幕就要两个摄像头。

  • 2024-04-05
  • 发表了主题帖: 记一块无资料LCD点阵屏的逆向分析

      各种小显示屏对玩单片机的人总是有吸引力的。现在网上可以淘到的各种屏(模块),比如LCD、OLED、ePaper,跟十几年前的液晶屏价格比起来就是白菜价了。而且网上有那种没有资料的“研究价”的电子玩意儿卖,价格低得离谱。玩没有资料的东西,就是乱折腾了(折腾之前慎重考虑是否值得花这个时间)。   我买过很多屏,买的时候想是屯着后面用(而且早些年即使不很贵的屏和现在比也贵了)……结果就是多年过去了也没做出几个带屏的东西来。     虽然我近两年淡出了DIY圈子,偶尔还是止不住收破烂的习惯复发。这次分享的是一块单色没有背光的LCD屏的逆向工作。我买过的屏当中这块尺寸是第二大的,不需要背光,估计对比度会不错。因为没有资料,买就是风险自担,我就当它是块高分辨率的图形液晶来搞了,买三块还不到五元,搞不定也损失不大。   屏的接口是26脚的FPC,而且上面的丝印还给了提示,第1脚和第26脚的功能就知道了。这种屏用COG封装,控制器芯片就在玻璃表面上(而不是在PCB上),背后由黑胶盖住。可以揭掉屏正面玻璃上那块黑胶布看到芯片的引脚。   要把这样的屏用起来,最关键的是要知道它的控制器芯片是什么型号。而识别控制器芯片的有效办法就是根据它的尺寸(裸片的长、宽)和印脚排布,去跟可能符合的控制芯片手册里的描述比对。我是没有见识过多少驱动控制器的,没有经验可循。   (见前一张图)从控制芯片将连出液晶的行列驱动线,这些线会在玻璃表面走,连到液晶像素矩阵去。从某些角度可以看到这些线的走向,但因为线很密集,需要用放大镜甚至显微镜才能区分其中每条线。我家没有体视显微镜,就动用了生物显微镜来凑合看。我数出来通往左或右边的行驱动线是80条,无疑这是一块 ???x160 规格的点阵屏,是值得搞一搞的。     于是上网查了一下160 行的常用驱动器型号,我运气不错,没费多少时间就找到一个吻合的:   余下的事情就是把FPC的引脚对应到芯片上去了。因为芯片周围——就是照片上黄色的矩形区域——我在显微镜下也看不出来走线,所以这部分只能猜了。因为玻璃上面只能走一层线,这里不会有交叉线的情况,所以按照芯片引脚的顺序理,难度不会很大。   已知26脚(最左边)是D7, 根据UC1611s的图,挨着的就必然是D6到D0了(设计使用8-bit并行总线接口),D15~D8就没有引出。   排线最右边是VB0+这个脚,所以看一下可以猜出相邻的都是升压电容的脚。   和FPC对照,可以确认这部分了。   电源和地的走线因为电流相对大,在芯片上用的脚比较多,所以FPC这边和玻璃上的线路连接点也会多些。FPC上的两面走线是容易分析的,根据左右顺序可以区别VSS和VDD.   于是容易判断的就整理出来了: 1…8 D7…D0 9 ? 10 ? 11 ? 12 ? 13 ? 14 VSS 15 GND (FPC丝印) 16 VDD 17 ? 18 VLCD 19 VA0- 20 VA1- 21 VA1+ 22 VA0+ 23 VB0- 24 VB1- 25 VB1+ 26 VB0+   VDD和VLCD之间还有一个脚,从图上看觉得奇怪。我后来注意到是Recommended COG Layout图上是这么连的,把VLCD_OUT和VLCD_IN接在了一起。这块屏则像是把VLCD_IN, VLCD_OUT都引出来了。   剩下就5个引脚了,起控制作用。但是芯片的D0到VSS之间可比这还多了,就需要判断这5个是其中哪5个了,非得上电进行逻辑测试不可。   于是逆向工作告一段落,我需要弄块FPC转接板才能测试。     过了一段时间之后……(多久没做PCB了,这次还是自己画的)   接上屏,首先用万用表发现了14和15脚是相通的:很正常。然后通电测试了VDD和VSS没有问题。下面主要任务就是识别那5个待定的脚了。   给屏接了3.3V电压后,D7~D0这八个数据脚用万用表量并不是浮空的,这出乎我意料。而那五个待定脚都是浮空的——作为输入脚不带上下拉。下面就要控制这五个脚,观察数据脚的变动。我把它们接到Analog Discovery2 上面。   用Analog Discovery2的数字IO直接控制和观察,在电脑上操作比较方便。我手上没有更方便的工具了,如果用MCU或FPGA这些的话需要自己再开发一下。     UC1611s支持多种接口形式,这块屏可能只支持8位并行数据了。8080/6800模式都可能。   芯片上从D0到VSS间的引脚,按顺序有: RST CS0 CD WR0 WR1 BM1 BM0 ID0 ID1   待定引脚是其中的5个,用排列组合法去试?没有必要穷举。怎么判断猜测是否正确?如果写一个UC1611s的驱动去让屏幕显示,根据是否能显示判断控制信号接得对不对,又引入可能出问题的其它环节了。   因为控制器是有“读”动作的,如果读正确,可以看到D7~D0的输出。   我就以“Get Status”操作,去试读取控制器的状态,看D7~D0上是否变化,输出数据是否吻合,来判断猜的对不对。   ……这个过程中我犯了一个错误。因为已经隔了一断时间了,我电脑上PDF软件历史记录里面最近的是UC1698的手册,我误把控制器当成了UC1698去猜,虽然读到了Status字节,但内容怎么都对不上,跟芯片引脚也不完全对上,蹊跷了……耽误了些时间   发觉了错误并用回了UC1611s的手册之后,问题得以解决了。   发现的映射关系是: RST CS0 CD WR0 WR1 BM1 BM0 ID0 ID1 9   10 11 12     13     这个屏没有把CS0引出,是我没有预计到的。     余下的事情就是把升压电荷泵用的电容接上,用STM32来进行驱动测试了。   设置基本驱动参数,用Set all pixel on命令让屏有反应:   最后,生成一些pattern的数据显示,验证完成。   通过这个显示内容确定了屏的分辨率是256x160像素。不是很高,也不要随便跟TFT比嘛,有时像素点不需要太小。 /*************  THE END ***************/

发布的博客

最近访客

< 1/6 >

统计信息

已有1175人来访过

  • 芯积分:1609
  • 好友:12
  • 主题:183
  • 回复:1192

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言