自焊接套件进度汇报
当前进度1.焊接完毕
2.程序写入正常
3.画面显示正常
4.按键操作正常
5.AD正常
6.零点不正常
7.量程不正常
8.AD603信号不通过(偶尔还能过)
9.跳过AD603,信号处理正常
10.频率测量正常
11.解决复位的问题
12.解决STOP后,屏抖的问题 发现频繁复位的原因:数据波形显示计算引起的内存地址访问过界,而不是单片机超频稳定性引起的! 经过衰减,不超过显示范围的波形,从来不复位!
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_461457.JPG
测试端的信号 (原文件名:未命名.JPG) 实际使用过程中,不测量信号时不复位,楼上的分析貌似有理,请大家分析. 我的打到最高扫速,最高灵敏度,没接探头,放着都频繁复位,希望有高人出来解决下,目前还不会AVR 复位,基本可以确定是由于画线算法引起的,可能是计算出了非法数据,也可能是内存过界,等公布了源程序,可以看看,但可以肯定不是单片机超频引起的
我603的问题还没有解决 问题一:
帮忙测一下这个AD8065各脚的电压。 (原文件名:1.png)
问题二: NE5532工作会不会出现第三脚与其他七个脚短路的现象?
问题三: M16上次烧程序还好,这次再连接,出现无法读熔丝位的提示,是怎么回事,上次烧录是按照论坛里的方法来的,
有什么解决的办法,外加有源晶振也没解锁,还有没有其他方法?
问题四: 如果79l05拆开,那它所在的那条导线上的电压应该是多少?
麻烦哪位好心人,帮忙测两个AD8065的第2脚正常情况与79L05拆了情况下的电压。
板子有点问题,希望得到楼主的帮忙,感激不尽!
谢谢! 我的屏只显示单位,不显示框框。并且所有NT/ST ,AC/DC,.....RUN/STOP都只在顶层显示,这是怎么回事? 这是M16中的一段程序:
temp=spidata;
switch(temp)//计算控制数据
{
case 0:X1=1;X10=0;X100=0;dac_data0=960;spi_out_b(dac_data0);dac_data1=1960;spi_out_a(dac_data1);break; //5mv/div
case 1:X1=1;X10=0;X100=0;dac_data0=830;spi_out_b(dac_data0);dac_data1=1945;spi_out_a(dac_data1);break; //10mv
case 2:X1=1;X10=0;X100=0;dac_data0=707;spi_out_b(dac_data0);dac_data1=1965;spi_out_a(dac_data1);break; //20mv
case 3:X1=1;X10=0;X100=0;dac_data0=545;spi_out_b(dac_data0);dac_data1=1950;spi_out_a(dac_data1);break; //50mv
case 4:X1=1;X10=0;X100=0;dac_data0=415;spi_out_b(dac_data0);dac_data1=1948;spi_out_a(dac_data1);break; //100mv
case 5:X1=1;X10=0;X100=0;dac_data0=270;spi_out_b(dac_data0);dac_data1=1963;spi_out_a(dac_data1);break; //200mv
case 6:X1=0;X10=1;X100=0;dac_data0=545;spi_out_b(dac_data0);dac_data1=1952;spi_out_a(dac_data1);break; //500mv
case 7:X1=0;X10=1;X100=0;dac_data0=415;spi_out_b(dac_data0);dac_data1=1958;spi_out_a(dac_data1);break; //1v
case 8:X1=0;X10=1;X100=0;dac_data0=270;spi_out_b(dac_data0);dac_data1=1960;spi_out_a(dac_data1);break; //2v
case 9:X1=0;X10=0;X100=1;dac_data0=545;spi_out_b(dac_data0);dac_data1=1950;spi_out_a(dac_data1);break; //5v
case 10:X1=0;X10=0;X100=1;dac_data0=415;spi_out_b(dac_data0);dac_data1=1958;spi_out_a(dac_data1);break; //10v
case 11:X1=0;X10=0;X100=1;dac_data0=270;spi_out_b(dac_data0);dac_data1=1953;spi_out_a(dac_data1);break; //20v
/* case 0:X1=1;X10=0;X100=0;dac_data0=960;spi_out_b(dac_data0);dac_data1=2015;spi_out_a(dac_data1);break; //5mv/div
case 1:X1=1;X10=0;X100=0;dac_data0=830;spi_out_b(dac_data0);dac_data1=2025;spi_out_a(dac_data1);break; //10mv
case 2:X1=1;X10=0;X100=0;dac_data0=707;spi_out_b(dac_data0);dac_data1=2035;spi_out_a(dac_data1);break; //20mv
case 3:X1=1;X10=0;X100=0;dac_data0=545;spi_out_b(dac_data0);dac_data1=2045;spi_out_a(dac_data1);break; //50mv
case 4:X1=1;X10=0;X100=0;dac_data0=415;spi_out_b(dac_data0);dac_data1=2028;spi_out_a(dac_data1);break; //100mv
case 5:X1=1;X10=0;X100=0;dac_data0=270;spi_out_b(dac_data0);dac_data1=2025;spi_out_a(dac_data1);break; //200mv
case 6:X1=0;X10=1;X100=0;dac_data0=545;spi_out_b(dac_data0);dac_data1=2045;spi_out_a(dac_data1);break; //500mv
case 7:X1=0;X10=1;X100=0;dac_data0=415;spi_out_b(dac_data0);dac_data1=2030;spi_out_a(dac_data1);break; //1v
case 8:X1=0;X10=1;X100=0;dac_data0=270;spi_out_b(dac_data0);dac_data1=2025;spi_out_a(dac_data1);break; //2v
case 9:X1=0;X10=0;X100=1;dac_data0=545;spi_out_b(dac_data0);dac_data1=2045;spi_out_a(dac_data1);break; //5v
case 10:X1=0;X10=0;X100=1;dac_data0=415;spi_out_b(dac_data0);dac_data1=2026;spi_out_a(dac_data1);break; //10v
case 11:X1=0;X10=0;X100=1;dac_data0=270;spi_out_b(dac_data0);dac_data1=2027;spi_out_a(dac_data1);break; //20v */
default:break;
}
该程序中的dac_data0为控制AD603放大被数的值,根据自己电路的情况微调该值即可使量程调整准确,dac_data1为控制零点即基线的值,微调该值可是基线归零,因为每个电路的误差不同,所以在调试时主要调整的就是这两项,不同的电压灵敏度时AD603的放大被数不同,输出的直流误差电压不同,所以每个量程控制基线的值也不同,具体办法是如果该档位的基线过高,适当减小该档位的dac_data1的值,反之则升高dac_data1的值。 【5楼】 zhxzhx 一丁:
源程序早已公布。 谢谢,我的零点基线是因为603坏了的原因,源程序已经看到了,已经解决复位和STOP时屏闪烁的问题了 我现在跳过603,只用X1,X10,X100三个量程,还行,没有603.高频特性很好
603坏,估计是我调试的时候用X1档加测试点信号的原因,我认为在603的输入最好对地加上两串在一起然后正负极并在一起的四个4148
页:
[1]