主题:em9170 AD接了一个稳定的信号源,输出不恒定 共有75943人关注过本帖 |
---|
客人 |
1楼 |
em9170 AD接了一个稳定的信号源,输出不恒定 Post By:2013-8-20 14:27:00 [只看该作者]
em9170 AD接了一个稳定的信号源0.339伏,但是DatBuf1[0]读出来是个很大的整数,变化也很快经过(DatBuf1[0]>>4)*2.5/0xfff处理后,结果还是变化很快,波形也是锯齿的,而不是基本的直线
|
|
单帖管理 | 引用 | 回复 |
zxw |
2楼 |
Post By:2013-8-20 15:14:00 [只看该作者]
我们先试试,也给一个0.3V左右的信息看看结果.
|
|
单帖管理 | 引用 | 回复 |
zxw |
3楼 |
Post By:2013-8-20 15:38:00 [只看该作者]
我测试了一下,没有出现你所描述的第一个数异常的情况。
但这两路板载AD与数字电路在一起,所采集的数据与实际信号有几毫伏的差,属正常情况。建议只用这两路AD做系统运行状态的监测,如工作电压,工作温度等。
如果你想采集数据并绘图或进行处理,建议你外扩展一个AD,才能得到比较好的有效数据。 |
|
单帖管理 | 引用 | 回复 |
客人 |
4楼 |
请问这样处理buf给的结果,是否正确 Post By:2013-8-20 15:46:00 [只看该作者]
请问这样处理buf给的结果(DatBuf1[0]>>4)*2.5/0xfff,是否正确,先右移4位,再*2.5(最大量程)/0xfff显示的最大值
|
|
单帖管理 | 引用 | 回复 |
客人 |
5楼 |
Post By:2013-8-20 15:50:00 [只看该作者]
采样频率怎样设,
BOOL AdcConfigureChannel(CHAN_ID id, DWORD settlingTime, POS_REF pRef, DWORD numSamples); // settlingTime:通道稳定事件,一般设置为2时,采样频率是多少? //------------------------------------------------------------------------------ |
|
单帖管理 | 引用 | 回复 |
zxw |
6楼 |
Post By:2013-8-20 16:49:00 [只看该作者]
我测试时,采样率为1
不知你用的那一个程序进行的测试,如方便的话,留一个邮件,我把光盘中的测试程序发给你再试试!
|
|
单帖管理 | 引用 | 回复 |
客人 |
7楼 |
Post By:2013-8-21 9:22:00 [只看该作者]
Softerware 中的c#历程 EM9170_ADC,在textbox中显示通道一DatBuf1[0]的值,和AD端(cn1的7管脚)实际接的电压值不一样,所以矫正一下,怎样才能在textbox中显示实际测试的真实值?(DatBuf1[0]>>4)*2.5/0xfff,这样处理是否正确?
|
|
单帖管理 | 引用 | 回复 |
客人 |
8楼 |
Post By:2013-8-21 10:06:00 [只看该作者]
Softerware 中的c#例程 EX820_TEXT,中ad通道和例程 EM9170_ADC,上的通道一样吗,怎么EX820_TEXT测试时四个通道都是65535,也没有变化 |
|
单帖管理 | 引用 | 回复 |
客人 |
9楼 |
Post By:2013-8-21 11:01:00 [只看该作者]
我的邮箱macrotone@163.com,请传一个最新程序,最好能在加个textbox,并在里面显示AD1实际输出的电压,而不只是DatBuf1[0]的原始值,谢谢 |
|
单帖管理 | 引用 | 回复 |
客人 |
10楼 |
Post By:2013-8-21 11:23:00 [只看该作者]
最好注明一下采样频率怎样设,控制ad开关是怎样实现的(不知什么原因,我加入所给函数的ad控制开关,总是不起作用),要是用外接AD时的需要哪些基本设置
|
|
单帖管理 | 引用 | 回复 |
zxw |
11楼 |
Post By:2013-8-21 11:33:00 [只看该作者]
给你发了一个VC的测试程序,你先测试一下看看吧。
|
|
单帖管理 | 引用 | 回复 |
客人 |
12楼 |
Post By:2013-8-21 11:56:00 [只看该作者]
还没有收到,最好再发一个c#的 |
|
单帖管理 | 引用 | 回复 |
yy |
13楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-21 14:55:00 [只看该作者]
你好,光盘里的AD的C#程序是我写的,我测试是用的一个电位器扭着测的,然后看程序打印值变化。
AdcGetSamples这个函数返回的数据是UINT16,16bit的,其中高12bit有效,所以C里面用>>4右移4位,C#里面是用/16同样起到右移4位的效果。 这12bit里面 0xfff就表示2.5V,0x000就表示0V,你的0.339V大概输出应该是0x22B左右。如果你的结果不对,你把你的返回值截图发我邮箱看看呢 yy@emtronix.com
|
单帖管理 | 引用 | 回复 |
客人 |
14楼 |
Post By:2013-8-22 17:15:00 [只看该作者]
Softerware 中的c#历程 EM9170_ADC,我想知道采样频率是多少?怎样设置?0.399伏时,锯齿明显,而到了2伏以上,也是有,但是不明显,图像在em9170液晶显示,不好截图,但锯齿还是明显的 |
|
单帖管理 | 引用 | 回复 |
客人 |
15楼 |
Post By:2013-8-23 17:27:00 [只看该作者]
Softerware 中的c#历程 EM9170_ADC,DatBuf1[0]一旦读取值,则按钮无效,EM9170_ADC.AdcDeinit()不管用,不知放到哪里可以控制终止?多线程总是报内存空间不足,已经把空间给到最大了,希望给个可以控制终止的c#例程 |
|
单帖管理 | 引用 | 回复 |
yy |
16楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-26 9:20:00 [只看该作者]
我写的例程是命令行的啊?不会有图像显示或按钮的啊,你说的锯齿图像和按钮的问题我都不清楚是怎么回事,感觉这是你们自己写的程序啊。
我们提供的是单次采样的接口,采样频率需要程序自己控制。
[此贴子已经被作者于2013-8-26 9:22:13编辑过]
|
单帖管理 | 引用 | 回复 |
yy |
17楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-26 9:35:00 [只看该作者]
AdcGetSamples这个函数,如果设置取样数大于1次,那么每次取样的间隔是1ms。
AdcDeinit这个函数是用CloseHandle来关闭ADC的句柄,你是怎么判定它不管用的?
|
单帖管理 | 引用 | 回复 |
客人 |
18楼 |
Post By:2013-8-26 16:23:00 [只看该作者]
我们是在你源程序上加了个窗口和生成图形程序,我们在窗口点击按钮事件中直接写入: EM9170_ADC.AdcDeinit();程序运行读数正常,但是按钮无反应,还是希望你方把AdcDeinit这个函数是用CloseHandle来关闭ADC的句柄的这部分程序在实例中写详细(不用有窗口程序),希望能给我邮箱一份,谢谢 |
|
单帖管理 | 引用 | 回复 |
yy |
19楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-26 16:46:00 [只看该作者]
相关函数及参数说明在EM9170_ADC.cs的注释里有。
你意思是说在按钮事件里面加了AdcDeinit函数,但是点击后发现显示没有区别?当你关闭AD后,AdcGetSamples应该会返回false的,显示没区别可能是因为没有清空BUFFER,显示的还是原数据吧。 或者看你方不方便把你程序发我看下。
[此贴子已经被作者于2013-8-26 16:47:49编辑过]
|
单帖管理 | 引用 | 回复 |
客人 |
20楼 |
Post By:2013-8-26 17:09:00 [只看该作者]
已经发到你邮箱,请查收 |
|
单帖管理 | 引用 | 回复 |