2012年10月10日

总结一下一年多以来的制作

上次更新是2011年2月,快两年了。东西做了不少的,只是一直没写上来。

各种实验性质的就不提了,挑几个好玩的吧~

  1. 桌面温湿度计

    ATmega48 + DS18B20 + DHT11的经典配置,简单试验了一下能工作。不过DHT11精度太差了点,跟专门的湿度计读数能相差1/3,没法用啊。。

     

  2. 三用手电

    ATtiny26,用INT0切换控制一个白光LED、一个紫外LED和一个红色激光LED。手电/验钞笔/激光笔三合一,如图~




    (图1)(图2)(图3) pictured

     

  3. 直流电子管电源

    用一节锂电池当电源,LM2577接成flyback,输出再通过IRFR420接成线性稳压,输出60V。另一路通过1117输出1.4V。两路相互隔离。

     

  4. 盖革计数器

    也用一只锂电供电,用两只74HC00,一只接成多谐振荡器,缓冲后推动两只Si2302,通过变压器升压到400V以上给盖革计数管供电。另一只74HC00接成单稳态电路,盖革计数管输出的脉冲整形、延时后推动LED和蜂鸣器。朋友的朋友去日本时,这东西派了一回用场。

  5. 毫欧表/高斯计/温度计

    本质都一样,都是四线法测电阻,电流引线上串个精密电阻,取它两端压降作为基准电压,也就是所谓的比例式配置。当毫欧表和高斯计用时,测试电流用100mA,基准电阻取24欧;当温度计用的话,测试电流取1mA,基准电阻用2700欧。数模转换用AD7705,国产的TM7705也挺好用,测出来结果和AD7705基本一致。

    (图)

     

  6. 车载USB充电器

    以前买过一个十几块钱的点烟口充电器,用了一年左右吧,坏了。拆开一看发现做工相当差,就是34063推PMOS的结构,号称输出2.1A……于是决定自己做一个。用两套2596降压到5V,各接一个双层USB座,合起来能提供6A的电流,这回怎么也够了。再用热熔胶全部封上。

     

  7. 厨房定时器

    很简单,倒计时15秒,时间到了就嘀嘀嘀。按一下按钮延长一分钟,最多十分钟。样子有点象定时炸弹。。。

     

     

  8. I2CLCD

    1602LCD按四线配置,用一只PCF8574驱动,这样做简单实验时只要四线就能驱动液晶屏了。再用一只7660提供负压,这样3.3V和5V都能工作了。在AVR和STM8上给它写了驱动。不过I2C还是嫌有点慢,以后再做UART和SPI方式的吧。UART可以少一条线,但是两边都得有晶振。

     

  9. LED测试器

    做了个简单的恒流源,专门检测LED用。用开关切换5mA和40mA两档,普通小LED和大功率LED都能测了。

     

  10. 磷酸铁锂充电器

    用运放和两只BJT简单实现了恒流充电+恒压补充,用ATmega48对电压采样后驱动10段LED发光条作为电量指示。试了几次,还算好用。

     

  11. 移动电源

    电池用两节2000mAh的锂聚合物并联,充电用TP4056,升压用LM2577。 用LED+BJT+PMOS实现了UVLO,不过不太准,大概放到3V多一点关断输出。输出电压按3.5V计算时,LM2577理论上输出电流是3.5V*2.1A/5V = 1.5A;实际使用时发现同时带两个手机充电时发热挺严重,充一个还行。以后用LM3478或MAX1771做个功率大点的,至少2A吧。

     

  12. PCL86功放

    做了个PCL86的外围小板,简单验证了一下能响,以后再慢慢优化吧。

     

  13. 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供电。初步试验的结果只能说能工作了,收音机离几厘米远能收到,再远就不行了。以后还得改进。