2012制作总结
2012-12-10 by Stavros各种实验性质的就不提了, 挑几个好玩的吧~
-
桌面温湿度计
ATmega48+DS18B20+DHT11的经典配置, 简单试验了一下能工作. 不过DHT11精度太差了, 跟另外一个专门的湿度计读数相差1/3, 完全没法用.
-
三用手电
ATtiny26, 用INT0切换控制一个白光LED、一个紫外LED和一个红色激光LED, 实现手电/验钞笔/激光笔三合一, 如图.
图1 内部构造
图2 验钞效果
图3 激光笔效果
-
直流电子管电源
用一节锂电池当电源, LM2577接成flyback, 输出再通过IRFR420接成线性稳压, 输出60V. 另一路通过1117输出1.4V. 两路相互隔离.
-
盖革计数器
用一只锂电供电, 两只74HC00中的一只接成多谐振荡器, 缓冲后推动两只Si2302, 通过变压器升压到400V给盖革计数管供电; 另一只74HC00接成单稳态电路, 盖革计数管输出的脉冲整形、延时后推动LED和蜂鸣器.
-
毫欧表/高斯计/温度计
本质都一样, 都是四线法测电阻, 电流引线上串个精密电阻, 取它两端压降作为基准电压, 也就是所谓的比例式配置. 当毫欧表和高斯计用时, 测试电流用100mA, 基准电阻取24欧; 当温度计用的话, 测试电流取1mA, 基准电阻用2700欧. 数模转换用AD7705, 国产的TM7705也挺好用, 测出来结果和AD7705基本一致.
图4 测量一段铜线的电阻
-
车载USB充电器
以前买过一个十几块钱的点烟口充电器, 用了一年左右吧, 坏了. 拆开一看发现做工相当差, 就是34063推PMOS的结构, 号称输出2.1A... 于是决定自己做一个. 用两套2596降压到5V, 各接一个双层USB座, 合起来能提供6A的电流, 这回怎么也够了. 再用热熔胶全部封上.
-
厨房定时器
很简单, 倒计时15秒, 时间到了就嘀嘀嘀. 按一下按钮延长一分钟, 最多十分钟. 样子有点象定时炸弹...
图5 厨房定时器
-
I2CLCD
1602LCD按四线配置, 用一只PCF8574驱动, 这样做简单实验时只要四线就能驱动液晶屏了. 再用一只7660提供负压, 这样3.3V和5V都能工作了. 在AVR和STM8上给它写了驱动. 不过I2C还是嫌有点慢, 以后再做UART和SPI方式的吧. UART可以少一条线, 但是两边都得有晶振.
-
LED测试器
做了个简单的恒流源, 专门检测LED用. 用开关切换5mA和40mA两档, 普通小LED和大功率LED都能测了.
-
磷酸铁锂充电器
用运放和两只BJT简单实现了恒流充电+恒压补充, 用ATmega48对电压采样后驱动10段LED发光条作为电量指示. 试了几次, 还算好用.
-
移动电源
电池用两节2000mAh的锂聚合物并联, 充电用TP4056, 升压用LM2577. 用LED+BJT+PMOS实现了欠压保护, 不过不太准, 大概放到3V多一点关断输出. 输出电压按3.5V计算时, LM2577理论上输出电流是3.5V * 2.1A / 5V = 1.5A; 实际使用时发现同时带两个手机充电时发热挺严重, 充一个还行. 以后用LM3478或MAX1771做个功率大点的, 至少2A吧.
图6 移动电源
后记: 某次出差时在首都机场被没收了, 因为没有生产厂家, 没有容量标识什么的. 只好买了个品牌的移动电源用.
-
PCL86功放
做了个PCL86的外围小板, 简单验证了一下能响, 以后再慢慢优化吧.
-
AVRDDS
参考这两个老外的设计:
http://www.myplace.nu/avr/minidds/index.htm
http://codeandlife.com/2012/03/13/fast-dds-with-atmega88
做了一点改进, 用四位DIP开关选择16个频点, 结果莫名其妙地总是不正常, 后来发现是asmloop的参数里有浮点计算, 老外的程序里参数都是常量, 于是浮点的问题由编译器解决了; 我在参数里用了变量的结果是把浮点库编译进来了, 于是ATmega48可怜的512字节RAM不够用了. 改了改程序, 解决了.
然后试了一下AM调制: DDS的输出经过LC滤波、2SC945缓冲放大后接天线, 电脑的音频输出经过运放缓冲给2SC945供电. 初步试验的结果只能说能工作了, 收音机离几厘米远能收到, 再远就不行了. 以后还得改进.
图7 dds输出455kHz波形
图8 dds输出550kHz波形