zhxzhx 发表于 2009-7-15 12:00:57

自焊接套件进度汇报

当前进度
   1.焊接完毕
   2.程序写入正常
   3.画面显示正常
   4.按键操作正常
   5.AD正常
   6.零点不正常
   7.量程不正常
   8.AD603信号不通过(偶尔还能过)
   9.跳过AD603,信号处理正常
10.频率测量正常
11.解决复位的问题
12.解决STOP后,屏抖的问题

zhxzhx 发表于 2009-7-15 12:44:17

发现频繁复位的原因:数据波形显示计算引起的内存地址访问过界,而不是单片机超频稳定性引起的!

zhxzhx 发表于 2009-7-15 12:50:23

经过衰减,不超过显示范围的波形,从来不复位!
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_461457.JPG
测试端的信号 (原文件名:未命名.JPG)

gdrc 发表于 2009-7-15 13:10:04

实际使用过程中,不测量信号时不复位,楼上的分析貌似有理,请大家分析.

ciddy 发表于 2009-7-15 13:34:11

我的打到最高扫速,最高灵敏度,没接探头,放着都频繁复位,希望有高人出来解决下,目前还不会AVR

zhxzhx 发表于 2009-7-15 13:53:31

复位,基本可以确定是由于画线算法引起的,可能是计算出了非法数据,也可能是内存过界,等公布了源程序,可以看看,但可以肯定不是单片机超频引起的
    我603的问题还没有解决

guochengqiang 发表于 2009-7-17 01:01:07

问题一:

帮忙测一下这个AD8065各脚的电压。 (原文件名:1.png)

问题二: NE5532工作会不会出现第三脚与其他七个脚短路的现象?
问题三: M16上次烧程序还好,这次再连接,出现无法读熔丝位的提示,是怎么回事,上次烧录是按照论坛里的方法来的,   
         有什么解决的办法,外加有源晶振也没解锁,还有没有其他方法?
问题四: 如果79l05拆开,那它所在的那条导线上的电压应该是多少?
         麻烦哪位好心人,帮忙测两个AD8065的第2脚正常情况与79L05拆了情况下的电压。
         
   板子有点问题,希望得到楼主的帮忙,感激不尽!

             谢谢!

guochengqiang 发表于 2009-7-17 01:05:40

我的屏只显示单位,不显示框框。并且所有NT/ST ,AC/DC,.....RUN/STOP都只在顶层显示,这是怎么回事?

kunnsd 发表于 2009-7-17 09:16:03

这是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的值。

kunnsd 发表于 2009-7-17 09:17:44

【5楼】 zhxzhx 一丁:

源程序早已公布。

zhxzhx 发表于 2009-7-17 09:37:15

谢谢,我的零点基线是因为603坏了的原因,源程序已经看到了,已经解决复位和STOP时屏闪烁的问题了

zhxzhx 发表于 2009-7-17 09:43:58

我现在跳过603,只用X1,X10,X100三个量程,还行,没有603.高频特性很好
603坏,估计是我调试的时候用X1档加测试点信号的原因,我认为在603的输入最好对地加上两串在一起然后正负极并在一起的四个4148
页: [1]
查看完整版本: 自焊接套件进度汇报