生活的旋律 发表于 2012-8-4 12:51:34

没事焊了一块洞洞板~想做鱼缸定时加氧和温度的控制~

AC~220V做电源~两个固态继电器~板上有5V 6V两个电压分别用7805 7806来输出~1602做界面

24C16A做用户数及存储 1302做时钟~18B20做温度传感













2051 发表于 2012-8-4 14:32:42

两个黑包是继电器,这板有功力了

yangcheng84 发表于 2012-8-4 19:00:03

luosifu 发表于 2012-8-4 18:09 static/image/common/back.gif
提一个小建议,RTC的电池部分,如果用二极管,做到系统有供电的时候从系统外部取电,系统断电的时候由电池供 ...

看了照片,楼主用的是DS1302专用RTC芯片,供电上它本身可以实现外部取电还是电池取电自动切换功能;另外,楼主假若设置

DS1302相关寄存器,还可以外电源供电时,DS1302对电池经行小电流浮充,这样,电池几乎不用换了,永久型:)

生活的旋律 发表于 2012-8-5 20:37:37

呵呵~程序还在使劲憋的过程中~DS1302确实有涓流充电功能~就是没找到中文的说明书~郁闷~还有~
18B20读回来的数*0.0625*10是不是就能精确到小数点后一位了?不晓得怎么计算出负温度~
而且1602现在正在头疼在自定义字符处~说明书写的太笼统~不会操作!

还有~发现~单总线和I2C的这几个IC在去写过程中~不能发生中断~否则会出现异常~

郁闷呀!

yangcheng84 发表于 2012-8-5 20:45:04

生活的旋律 发表于 2012-8-5 20:37 static/image/common/back.gif
呵呵~程序还在使劲憋的过程中~DS1302确实有涓流充电功能~就是没找到中文的说明书~郁闷~还有~
18B20读回来的 ...


写涓流寄存器操作;


/***********************************
函数功能:向DS1302某地址写1字节数据
入口参数:addr,w_dat
出口参数:无
*************************************/
void write_ds1302(unsigned char addr,unsigned char w_dat)
{
DS1302_RST=0;

_nop_();

DS1302_CLK=0;

_nop_();

DS1302_RST=1;        //开始操作

inputByte(addr);        //写命令字

_nop_();

inputByte(w_dat);        //写数据

DS1302_CLK=1;        //释放时钟线

_nop_();

DS1302_RST=0;//停止操作

}

void write_power(void)
{
write_ds1302(0x8e,0x00);//写保护寄存器值为允许
   write_ds1302(0x90,0xaa);        //串4K和2只二极管涓流充电

}

Edward 发表于 2012-8-6 11:17:01

生活的旋律 发表于 2012-8-5 20:37 static/image/common/back.gif
呵呵~程序还在使劲憋的过程中~DS1302确实有涓流充电功能~就是没找到中文的说明书~郁闷~还有~
18B20读回来的 ...

不能精确到小数点后是因为变量类型不对,使用浮点数就好了,或者将整数和小数分开计算;负温度是整数部分为补码;这些DS18B20的手册里都写了。单总线和I2C确实不能中断。1602自定义字符吧?还好,多在网上搜搜PDF参考一下就好了。

Edward 发表于 2012-8-6 11:17:36

xiaoyao_mdj 发表于 2012-8-5 23:21 static/image/common/back.gif
单片机的时钟XTAL1 XTAL2接的是哪里啊?

接的是晶振,晶振藏在单片机下面。

Paktu 发表于 2012-8-6 15:37:29

给DS1302的备份电池一般是不能充电的,如果想充电就换超级电容。
24C16的读写操作之前最好关闭中断,这个操作过程不要被轻易打断。
DS18B20的温度是用补码表示的,所以很好处理,你说要乘以0.0625,那就是12bit方式,你乘以0.0625倒不如除以16,这样得到温度的整数部分,然后低4bit稍微处理一下就得到小数点后1位的温度值,这比*0.0625*10要快的多。或者直接把温度值乘以10再除以16,也差不多了。

yangcheng84 发表于 2012-8-6 19:45:39

Paktu 发表于 2012-8-6 15:37 static/image/common/back.gif
给DS1302的备份电池一般是不能充电的,如果想充电就换超级电容。
24C16的读写操作之前最好关闭中断,这个操 ...

"给DS1302的备份电池一般是不能充电的,如果想充电就换超级电容。"


注意,我们说的的浮充.就像一般的碳锌电池一样,照样也能充电。问题就是度量上的问题。


dyzhenhao 发表于 2012-8-10 23:03:06

焊功很不错,是不是缺少隔离啊!!!!

gaoyoucheng 发表于 2012-8-16 17:56:55

焊得很漂亮啊,不过这样焊接比较费时费焊锡。:lol

xiaomu 发表于 2012-8-17 23:54:13

评分的时候以为自己是NO。1一看都排队了!
好久未见旋律兄发贴了:'(
程序嘛 仔细的慢慢来不急,祝成功:lol

alunli 发表于 2012-8-22 14:59:28

顶,等贴程序出来也仿制一个,呵呵。

cjxsd56987 发表于 2012-9-5 15:48:28

焊的不错。
页: [1]
查看完整版本: 没事焊了一块洞洞板~想做鱼缸定时加氧和温度的控制~