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

好帖子,做个记号
页: 1 2 3 [4]
查看完整版本: AVR综合应用实例:[原创] 基于Atmega88的 迷你多功能仪表