amity
发表于 2011-5-21 16:43:11
对楼主真是佩服
gps422129
发表于 2011-5-21 21:30:42
楼上做得好!
hzn1948
发表于 2011-5-22 10:05:48
正弦波输出在PB2 和另一输出端子之间输出,该输出端子通过33K电阻与PB1连接,PB1,PB2之间接100nf电容
以上表述错误!
应为:正弦波输出在PB2 和另一输出端子之间输出,该输出端子通过33K电阻与PB1连接,该输出端子PB2之间接100nf电容
hzn1948
发表于 2011-5-22 11:12:03
Ut=E*(1-e^(-t/RC))常数e=2.71828
当t=RC,Ut=0.632E或者说当Ut=0.632E时,t=RC
当t=0.5RC,Ut=0.3935E或者说当Ut=0.3935E时,t=0.5RC
xunke
发表于 2011-5-22 11:50:54
强!
oem88
发表于 2011-5-22 15:05:54
回复【288楼】laoshiyuan
-----------------------------------------------------------------------
请问oem88 兄,新程序你下载试过了吗?能用不?
-----------------------------------------------------------------------
说来惭愧。奶奶个熊,我的液晶从来就没点亮过,不知道是不是屏坏了,反正已经买了两个,明天才能收到。
但是我用示波器测试我的板,不管烧哪个程序,居然就象没复位一样,液晶四个驱动脚没有任何电平变化,晶震16M信号很好。换了2个贴片ATmega88V,程序都能烧进去,就是不工作。我QQ231045652,加我问你几个问题。
另外我的Protel图按键确实没排好,回头重排一个,换大的手感好点的按键。现在的板不工作,搞了半天,都快没信心了。
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642043TTLZZQ.jpg
(原文件名:点不亮.jpg)
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642044NGBPCQ.jpg
(原文件名:旋转.jpg)
楼主,增加的端子是不是如下图呢?不知理解错没?
http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_642045LT0OGX.JPG
(原文件名:改图.JPG)
fuwu
发表于 2011-5-22 22:14:24
顶顶
gps422129
发表于 2011-5-26 21:32:19
好帖不能沉!!
hzn1948
发表于 2011-5-27 15:37:46
出差刚回
“增加了PWM波形有调频率和调占空比……
但去掉了方波输出,切换界面的时候出现时钟和温度的界面,但进不去…… ”
方波输出 不就是 占空比等于50%的PWM波吗
只要FLASH够用,时钟和温度部分可以随时恢复,源程序中只是做了注释处理,为了恢复时方便,菜单部分未清除
“总感觉还是原来的好点呢,难道先入为主的观念?
刚才加了oem88 兄的Q,他也做出来了…… ”
确实很难决定哪一种方案更好
好象记得laoshiyuan兄说没有示波器,否则应将两种信号输出的波形展示一下 呵呵
jianjun42
发表于 2011-5-27 16:49:35
不是可以测量频率吗?根据楼主位的描述,可以测1000KHz,我反复看了电路图,都没有搞明白楼主是怎么实现频率测量的?没有分频电路,又是怎么测到1000KHz的,望楼主给予指点
hzn1948
发表于 2011-5-27 18:00:20
明天再回答楼上的问题
hzn1948
发表于 2011-5-28 09:51:56
楼主是怎么实现频率测量的?
----切换到测频率档,在测电感/频率端子上输入待测频率信号,每按一次测量键就测量一次
我在162楼已经说过:
“本制作的频率计未加预处理电路,而且还借用测电感输入电路,所以不能测高频率
但是测量处理程序自己认为是合理的,有特色的”
所谓“不能测高频率”是相对而言的,1000KHZ高还是不高?
用M88单片机的T1端口测频率理论上可以到 4000khz以上@16MHz,正因为受输入电路限制,所以我估计只能到1000KHZ
当我在楼主位标出1000KHZ时我没有经过实验验证
今天为了回答299楼的提问,我做了如下实验:
用本仪器输出频率为1000KHZ的脉冲信号,然后经过1K电阻接到测频率端子上,用示波器观测单片机T1脚上的波形
结果表明:波形变形严重且不稳定
但是,频率降至730KHZ,波形只是稍有变形,用于测频率肯定行
原因应该是LM393的问题
如此看来,这1000KHZ是有点夸大了
作为简易测量仪,借道测电感输入电路完成频率测量功能,我自己是满意了
ds444
发表于 2011-5-28 11:52:28
你好,我最近也在做仪表。如果有兴趣讨论的话请加入QQ群:18617359。我有些问题想请教
jing43
发表于 2011-5-29 22:43:02
为什么不发ASM源码出来呢,很多人都期待呀
hzn1948
发表于 2011-5-30 09:48:14
AVR_GCC完整项目文件ourdev_644141SBUVY1.rar(文件大小:77K) (原文件名:flc_meter.rar)
hzn1948
发表于 2011-5-30 10:08:33
由于受8K FLASH限制,用C写的程序不得不做了裁减,306楼的文件夹里包含了完整项目,删除了PWM,SINE,测电压,测电阻
被删除的功能模块以后再以适当的方式提供
我用的是AVRstudio平台,文件的组织形式与之相应
hzn1948
发表于 2011-5-30 10:30:16
电阻这个是怎么测量的呢?
也是测电压,然后计算,电阻分压原理,计算公式你得自己想明白
65M 对应16 BYTES二进制数,再说电阻再大测量已经很不准了,电阻太小也测不准,误差很大的
wxfhw
发表于 2011-5-30 19:16:22
记号
jing43
发表于 2011-5-30 19:57:48
楼主,你的汇编代码还在吗,希望能发给我学习一下。
我C学得不好,更喜欢汇编。
jing43@126.com
411412
发表于 2011-5-30 22:09:14
学习.
qidaimengxing
发表于 2011-5-30 22:56:18
太强了
feixue
发表于 2011-5-31 06:42:19
很好很强大 ,MARK一下
hzn1948
发表于 2011-5-31 08:35:03
回复【311楼】jing43
-----------------------------------------------------------------------
点击此处下载 ourdev_644382FIYPO1.rar(文件大小:23K) (原文件名:F_L_C.rar)
ASM源程序已全部上传
程序的正确性可以用本制作加以验证,希望对用AVR并且用汇编的同仁或者初学有所帮助
hzn1948
发表于 2011-5-31 08:43:34
希望下载源程序的能发表意见参加讨论支持一下本帖就更好了
zydl123
发表于 2011-6-1 07:23:18
回复【233楼】hzn1948
最近又见坛友关心diy测量仪的帖子,忍不住再来冒个泡
我不想食言关于共享源码的承喏,只是还在完善过程中
今天编写调试成功了可变频率/可变占空比的pwm波信号输出功能,频率范围1khz----400khz
效果比较满意,我想这个功能对开发电源产品比较实用
又想着要加上可变频率正弦波信号输出功能(最大4000hz,汇编程序中已经实现),但是flash用完了
必须忍痛割爱删除日历时钟,要是有一片atmega168多好啊
-----------------------------------------------------------------------
从头看到后,感觉没有完整资料,这里删那里删的,不想测试了。另,现在开关电源频率都是几十K,有的到100K以上,你说用于电源开发,有点不实用
hzn1948
发表于 2011-6-1 09:34:23
回复zydl123于人:
同意你关于“你说用于电源开发,有点不实用”的观点,确实我也想不出输出的PWM信号能在电源开发方面派上什么用场,而且我没做过电源,当时是有点想当然了
但是输出可变占空比,可变频率PWM 波本身没有什么不好的,有其存在的价值
对于你所表达的其它意见,我觉得你错了
我不想加以反驳,我只是想告诉你,到目前为止,资料算得上很完整,很正确了!
hzn1948
发表于 2011-6-2 09:50:49
开源完整项目资料:
原理图在24楼;AVR_GCC源程序在306楼;ASM源程序在315楼
jack_yu
发表于 2011-6-2 10:48:03
谢谢!
loyoid
发表于 2011-6-2 21:38:00
很好很强大 ,资料整理下 准备仿制!
zhyzsn
发表于 2011-6-2 22:06:44
再把晶体管测试仪的功能加进去就更完美了
guohw
发表于 2011-6-3 15:05:08
有人组织套件买一套
hzn1948
发表于 2011-6-4 09:40:09
回复【322楼】zhyzsn
再把晶体管测试仪的功能加进去就更完美了
我原来以为简易晶体管测试仪没有多少使用价值所以一直没有考虑,参考了相关资料以后觉得还可以
分析现在的软件和硬件资源情况,是可以加上去的,但电流放大倍数的测量无法实现,另外由于电路不对称,实现起来比较麻烦
回复【324楼】laoshiyuan
一乐这里,有人支持做套件,LZ支持不?
或者LZ自己开发一个套件出来,我第一个买……
哦,LZ说过要做成一个学习板,我也支持……
这个技术版权问题,我觉得要经过LZ答应才行
有人做推广是件好事情,开源的目的就是供大家参考,我对开发套件没有什么打算,有兴趣者可以各显神通
我不知道开源以后还有没有版权问题,但是如果使用了开源资料里的内容,理应说明来源
一乐网上去看了一下,对于该主题我不打算参与回复了,ourAVR是我学习AVR单片机的起点和课堂。。。
hzn1948
发表于 2011-6-4 10:47:23
324楼在一乐网上说到“刚才测了一下,标称值20P的电容测得114P”
这肯定那里出错了,或许是零点校准出了问题
本制作在测小容量电容时,数据有15pf的跳跃,问题并未解决,数值较大的为准,20P和114P这么大的误差是不可能的
jianjun42
发表于 2011-6-4 15:10:28
用74HC04取代LM383电路可以更简洁,频率也可以测高一些
hzn1948
发表于 2011-6-4 15:33:53
回复【329楼】jianjun42 沧海一粟
-----------------------------------------------------------------------
“用74HC04取代LM383电路可以更简洁,频率也可以测高一些”
考虑用该电路做测频率时的输入处理
hzn1948
发表于 2011-6-4 16:05:34
回复【328楼】laoshiyuan
-----------------------------------------------------------------------
x=r_tested-r_tested/4+ICR1/4;//数字滤波
r_tested是测电阻的结果,ICR1中保存的是本次测量的结果(捕捉功能)
r_tested不用新测量值ICR1替代,而是部分替代,新值的权值为0.25,原值的权值为(1-0.25)
关于第二个问题,你使用ASM全功能版时从PD4输出SINE波,但信号却不是PD4提供的,而是PD6脚输出的变化PWM波经电阻电容的“滤波”
或”数--模“变换而得
C程序中因SINE波输出被裁,中断程序中的相关语句注释掉,否则会编译出错
jianjun42
发表于 2011-6-4 16:15:07
“用74HC04取代LM383电路可以更简洁,频率也可以测高一些”
考虑用该电路做测频率时的输入处理
用74HC04可以取代LM393的,多余的单元作为频率放大整形部分
hzn1948
发表于 2011-6-4 16:18:41
补充一下:这种数字滤波法叫 一阶滞后滤波法
用在这里主要考虑是处理起来方便,简单
hzn1948
发表于 2011-6-4 16:58:49
回复【332楼】jianjun42 沧海一粟
-----------------------------------------------------------------------
LM393我还要用于测温
hzn1948
发表于 2011-6-4 17:30:48
回复【335楼】laoshiyuan
-----------------------------------------------------------------------
LZ在程序里,也用到了状态机的方法对吗?
我想是的,但是我是先有自己的编程思路,后看到“状态机”而且并未深入分析学习,所以我不能确定究竟是否称得上”状态机“
TASK()中包含了键盘扫描,一旦有输入就会执行具体的任务
如果输入是MOD键,切换任务并显示,3 BYTES一级任务信息放在flag_bits.op_mod_1中, ( flag_bits.op_mod_2存放二级任务信息,备用,未用)
如果输入是EXEC键,则根据当前任务信息执行相应功能,完成后返回继续等待
是不是adc_0小于8000表示有按键按下----是的,adc_00<8000说明有键按下,或者键还未释放
adc_00的值=16次AD转换值之和
lokkey
发表于 2011-6-5 18:47:17
可否發份元件清單
hzn1948
发表于 2011-6-6 08:55:58
58楼有如下说明:
我的ADC模数转换模块是这样工作的:
ADC中断读取数据,切换通道,但不启动转换
1ms定时中断里启动ADC转换,判断中断次数是否等于16*通道数,等于的话则更新测量值
每通道每次测量值读取后累加到该通道的累加和保存单元,累加16次的结果为测量结果
另外存放到测量结果单元,这样一来,工作程序不要考虑和干涉ADC,可从测量结果单元
随时调用任一通道测量值
(以上摘录中数字16在58楼中为32)
相关程序段摘录如下
初始化
ADCSRA=(1<<ADEN|1<<ADIE|1<<ADPS2|1<<ADPS1|1<<ADPS0);//
使能ADC,使能ADC中断,设置ADC工作频率 但还未启动ADC转换
ADCSRA|=1<<ADSC;// 启动一次ADC转换(不是必须的)
这样就会发生ADC中断,在中断程序里读取数据,切换通道,读取的数据累加到adc_0 or adc_1
ISR(ADC_vect)
{
uint adcval;
adcval=ADCW;
if (channel==0)
{
adc_0=adc_0+adcval;
channel=1;
ADMUX|=1;
}
else
{
adc_1=adc_1+adcval;
channel=0;
ADMUX&=~(1);
};
}
如果要继续做ADC转换,则必须重新启动,用ADCSRA|=1<<ADSC;
该语句在T2中断程序中:
ISR(TIMER2_OVF_vect)
{
sei();
TCNT2=0x06;
ADCSRA|=(1<<ADSC);********
clock2+=1;
if(clock2==32) 两通道交替检测,每通道16次,共32次完成后将累加结果作为测量结果然后清零累加器
{
clock2=0;
adc_00=adc_0;adc_11=adc_1;
adc_0=0;adc_1=0;
};
。。。。。
只要以上两个中断未被关闭,ADC转换一直在进行,在adc_00,adc_11中始终是经过滤波处理的最新的ADC转换结果
应用程序可随时调用而不必过问和操作ADC
lsy5110
发表于 2011-6-28 21:30:53
mark
zhuangchao123
发表于 2011-6-28 23:59:26
看后感叹太强啦
avrstm32
发表于 2011-6-29 10:11:55
MARK
tjiely
发表于 2011-6-29 19:53:40
回复【楼主位】hzn1948
-----------------------------------------------------------------------
好东西,原理图没看明白!
HYLG
发表于 2011-6-29 21:56:07
楼主把AVR用到极致了。
汇编和C都精通的牛人。
msrsffxiao7
发表于 2011-7-6 14:32:22
MARK
fzyahoo123
发表于 2011-8-2 23:23:56
花了一个多小时看完,该表历时2年多完善,求索精神令人佩服!
希望更多人学习和仿制自用,期待能出套件。
yufei8051
发表于 2011-9-18 16:36:42
qi期待看吗 期待条件
409880579
发表于 2011-9-19 21:02:43
强大,标记了。
Ruify_lee
发表于 2011-10-11 14:40:23
收藏
sjy2415
发表于 2011-10-13 14:04:57
谢谢分享,找些资料。来学习学习。
wlzxzp
发表于 2011-10-16 13:19:52
MARK
hzn1948
发表于 2011-11-4 08:40:51
顶上去
whtwhtw
发表于 2011-11-4 09:12:23
mark
xzl1294
发表于 2011-11-4 13:11:35
MARK! ./emotion/em021.gif
Forever
发表于 2011-11-4 16:47:11
mark!
bingshuihuo888
发表于 2011-11-8 10:05:02
看起来很不错啊!!!!
vjcmain
发表于 2011-11-8 13:02:14
强人啊。膜拜个
cne53102
发表于 2011-11-9 20:32:59
mark
huangrui
发表于 2011-11-13 23:05:38
mark 谢谢楼主分享
kingboy100
发表于 2011-11-14 07:47:05
mark
kunpeng032
发表于 2011-11-14 09:32:03
mark
knight99
发表于 2011-12-6 16:59:07
好东西
wincwincwinc
发表于 2011-12-7 10:14:46
希望本帖的讨论能持续下去。
ddcchh
发表于 2012-1-13 20:10:59
mark 谢谢楼主分享
meirenai
发表于 2012-1-13 21:37:18
mark
azhja
发表于 2012-1-19 12:11:24
新手来报到!是在这个--(AVR综合应用实例:[原创] 基于Atmega88的 迷你多功能仪表)找到想自制一块LCF表!来DIY用!跟据自己手头里只有2051的片子!再在网上找到电感电容表程序LET_LCF3版的复制了一块!这里给我很多帮助!谢谢!还得多学!
azhja
发表于 2012-1-19 12:47:17
http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_713868W9OTLQ.JPG
测10mH电感 (原文件名:1.JPG)
http://cache.amobbs.com/bbs_upload782111/files_50/ourdev_713869OPL9G2.JPG
测10mH电感 (原文件名:2.JPG)
azhja
发表于 2012-1-19 12:58:34
如果找到Atmega88或Atmega168一定复制一个!DIY基于Atmega88的 迷你多功能仪表很感兴趣!!!!!!!
niepan
发表于 2012-4-16 23:55:33
mark,找到Atmega88做一个
hzn1948
发表于 2012-4-17 15:45:00
自己顶一下!
三年的古董。
楼上两位有兴趣的话可以大胆行动,我会继续回答问题。
nbzwt
发表于 2012-4-17 16:12:57
坟级神帖,MARK
q603727388
发表于 2012-11-22 17:27:09
大好人一个,向C发展,你多大年纪了?
15813191501
发表于 2012-11-26 14:16:40
我想做一个,怎么原理图上的1602怎么脚位和X宝卖的不一样?还有4线驱动和8线的1602液晶有什么不一样?
kunpeng032
发表于 2012-11-26 17:57:43
mark,以后肯定能用上!谢谢楼主!
15813191501
发表于 2012-11-28 13:11:38
本帖最后由 15813191501 于 2012-11-28 13:14 编辑
我做了个有几个问题:电容少于0,1uf的测出来是0。小电感测出变成很大的值,正弦波也没有从Pd4输出,我用贴片的M88.393我用的是358运放代替。用的是汇编的程序。不知道是这个原因不?
hzn1948
发表于 2012-11-28 14:26:19
楼上动作真快!
由于时间太久了,而且曾经多次修改程序,所以不能肯定是什么问题,我需要重新理一下思路
我自己的还在正常使用,楼上尽管放心,肯定能成功
请将你做的情况说得更详细一点,以便分析和讨论
15813191501
发表于 2012-11-28 19:20:42
我把358换成393好很多了,不能测小电容的问题,是我自己粗心搭错线了,现在还存在的问题是:测小电容误差比较大,680p的电容显示990P,电解电容好像没问题,还有电感误差很大,两条线直通时显示22uh!测10uh电感测成31uh;测68mh测成88mh.其他的功能好像没问题了。
15813191501
发表于 2012-11-29 21:12:43
经过整理电路布局,现在只有一测电感问题了,测小电感值偏小(小于100uh的电感)。测大点的值偏大,68mh测成95mh,不知道和哪几个元件的参数误差有关?
newidea
发表于 2012-11-29 21:51:21
mark........
hzn1948
发表于 2012-11-30 10:31:31
影响测电感精度的元件是C9=22000P另外要运行一次零点调整
q603727388
发表于 2012-11-30 12:44:42
换用C程序,用MEGA16 MEGA168 ,
jz701209李
发表于 2013-4-9 14:19:18
谢谢楼主......
2006lc
发表于 2013-5-29 22:38:01
谢谢分享好资源
leicai05
发表于 2013-5-29 23:16:59
晚上标记,先睡觉回头来看看
tonyone
发表于 2013-9-8 17:19:56
不错,mark。
hzn1948
发表于 2013-9-10 09:42:07
四年前的帖子!
回过头看它,感到些许欣慰,作为AVR综合应用实例,可以说它是成功的,对初学者会有帮助的。
所以自己来顶一下
allenjoe
发表于 2013-9-10 10:10:54
很强大,很有参考价值,c语言能否做到呢?
hzn1948
发表于 2013-9-10 10:24:48
allenjoe 发表于 2013-9-10 10:10 static/image/common/back.gif
很强大,很有参考价值,c语言能否做到呢?
已经有C语言版本,程序都已经上传,自己查一下
qq910130528
发表于 2013-9-10 11:12:25
赞...特佩服那些用汇编写程序的...MARK..有时间DIY一个..
allenjoe
发表于 2013-9-10 11:23:22
hzn1948 发表于 2013-9-10 10:24 static/image/common/back.gif
已经有C语言版本,程序都已经上传,自己查一下
太强了,asm,c都玩的很溜啊。。。。
rogerangel
发表于 2013-9-10 12:38:14
最好能有些原理性的介绍就好了
laoqi777
发表于 2014-2-20 19:58:01
dfbvgxzdfd
cqy999
发表于 2015-8-19 08:34:50
马克you...
KunShan_a_dai
发表于 2015-8-19 09:32:01
好帖子,做个记号