新闻  |   论坛  |   博客  |   在线研讨会
「电子DIY」电脑改造成数据记录器
电子资料库 | 2023-03-14 20:35:02    阅读:526   发布文章

下面是一些简单的方法,可以将数据输入到计算机中,只需很少的自付费用,将电脑改造成实用的数据记录器(或其他程序),这真的很容易搞定。你不需要成为一个懂CPU的人。

image.png


image.png


PicAXE测量模拟输入管脚上的电压,并将10位数据发送到Amaseis进行绘图。我决定用一个6美元的USB串行适配器来完成这项工作,当我打开箱子时,我发现有足够的空间来放置PicAXE和所需的几个电阻。里面也有5伏的电压。最初我打算把木板拿出来,放到我自己的大箱子里。红色和黑色测试引线从DB-9串行连接器以前使用的孔中伸出。

我使用了“死虫”结构,确保所有的东西都保持在低水平,这样案件会重新结合起来。在从适配器上卸下9针串行接口之前,我插入了一根PicAXE编程电缆,一端是立体声声频插头,然后用欧姆表找出适配器内需要哪两条串行线,并记下哪种颜色做了什么(串行输入和输出)。我还找到了一个地方,从另一端的USB电缆连接到5伏直流电。电路板上有一个方便的通孔,用来装黄色的0.1uf电容器。示意图非常简单:


我在输入端使用了一个分压器,它的满标度范围约为10伏(我的最高电压为9.5伏)。这些电阻器也在一定程度上保护皮卡色卡免受损坏。请随意在这里添加一个运算放大器缓冲区;我只是为了简单起见。以下是PicAXE的简单程序:

主要:
setfreq m8
senddata:
for b0 = 1 to 64 ; the sum of 64 10-bit readings fits into a 16 bit word variable
readadc10 2,w1
w2=w2+w1
下一个b0
w2 = w2/64
sertxd(#w2,13,10)
w2 = 0
暂停200;由于8 MHz时钟设置较高,这实际上是100毫秒的暂停
goto senddata

“pause 200”可以大大增加,甚至可以用一个小循环来代替,以减慢其他应用程序的数据获取速度。100毫秒的暂停加上for循环,每秒给出大约6个读数,这显然是地震仪相当常见的速率。您可能需要使用该暂停值来获得所需的速率,尤其是在切换PicAXE类型时。我用的是老式的PicAXE08M,它工作得很好,下面是一个30毫赫兹的正弦波,电压高达5伏,p-p摆动约9伏:


一旦设备构建完成,只需将其插入并启动PicAXE编辑器程序。找到正确的com端口并选择正确的PicAXE,然后将上面的程序粘贴到编辑空间中。然后只需单击程序按钮。完成后,关闭编辑器并等待几秒钟以释放端口。现在启动Amaseis并选择正确的com端口。同时将“设备”设置为“SEPUK1”。将偏移设置为零,将增益设置为20。你应该能够在输入端加上直流电压,并在图上看到结果,每一个“除法”的灵敏度约为1伏,其中除法是一条小时线。调整增益和偏移以适合您的目的。如果数据移动很多,但只需将光标拖过感兴趣的时间,然后单击“提取地震”,则Amaseis图将重叠。记住在适当的行上突出显示所需的时间,而不是可能在屏幕上移动的数据本身。一旦你玩了一点,你会发现它是一个相当多功能的数据记录器。

这个小东西可以用于其他接受串行数据的程序。程序很容易改变,因为它有一个内置的USB接口-只要记住关闭任何其他程序使用串行端口,这样编辑器就可以接管。也可以更改程序以使用Autohotkey script如下所述。该脚本允许您向电子表格发送“导航”命令。

请记住,您可以停止Amaseis(或其他应用程序)、启动PicAXE编辑器、更改PicAXE程序、关闭编辑器并重新启动Amaseis—所有这些都不需要接触硬件。

注:Amaseis非常适合交流耦合数据,但不适合直流耦合测量。当您选择一段时间来“提取”时,零点是所有选定数据的平均值。这对集中波形很好,但它会丢失直流信息。我仍然在寻找一个免费的直流耦合条形图记录器。但是这个程序对于地震仪、次声麦克风、SID监视器或任何偏离“正常”水平的量的长时间大量数据来说是完美的。我还没有使用JAmaseis,但它似乎有一个“offset”值,所以可能它保留了DC值。


廉价数据记录的其他想法

1) 购买便宜的dataqdi-145并使用他们的免费软件进行绘图。这很简单!另请参见仪表/数据采集放大器 .

2) 在易趣上购买dataqdi-148U并使用带宏的电子表格用于读取数据。为设备安装Active-X软件。

3) 与#2相同,但使用DI-145。可能需要修改宏。右击宏并选择“查看代码”进行修改。找到“视图代码”有点像复活节彩蛋搜寻。

4) 使用微处理器测量所需电压(我使用各种PicAXE处理器)。让micro向计算机发送串行数据,通常通过micro编程时使用的相同连接。使用下面的自动热键脚本接收数据并发送到电子表格或其他程序

5) 建造键盘楔子并让它直接在电子表格中输入二进制数据。

6) 建造V/F转换器,将其输出连接到声卡,并使用Spectrum Lab、Argo或其他FFT程序绘制频率。这样你可以得到非常棒的表演。

7) 另一个带PicAXE频率计数器的V/F. 非常适合向Amaseis这样的Helicorder程序发送数据


带新宏的新Dataq到Excel电子表格每10秒采集一次数据,持续24小时(8640分)。使用点在图形上绘制图,以避免回溯线。大量的点将给出相对平滑的曲线。当新宏发出请求时,将“速率”设置为0.1。可以设置其他速率,填写电子表格的总时间为8640/速率(秒)。(8640/0.1=86400秒或24小时)这些宏非常简单,用户可能需要修改它们。右键单击宏编辑器中的对象并选择“查看代码”。在那里您可以将端口#更改为分配给Dataq设备的端口(默认值为5),并进行其他更改,如.1而不是.01,如上所述。这些数量很容易发现,你只需编辑它们,点击“保存”,然后关闭窗口。

带宏的Dataq到Excel电子表格使用直线根据每50秒24小时(1728点)采集的数据绘制绘图。以30秒的时间启动宏,直到0:00 UTC,以避免回溯线。要求时,将频率设置为.02 Hz。可以设置其他速率,填写电子表格的总时间为1728/速率(秒)。(1728/.02=86400秒或24小时)

确保先下载并安装Dataq的USB驱动程序!

1倍放大镜它使用shift箭头键来定位窗口(用于图像捕获程序)。只需调整窗口大小并移动视图以满足您的目的。这个新版本在工具栏气球中显示窗口的位置和大小。准备运行的.exe和可编辑的AHK文件都在压缩文件夹中。

Fanir36.4保存一个新的矩形视图。您可以手动确定矩形的大小和位置,但使用上面新的1X放大镜来获得所需视图并将窗口信息从工具栏气球传输到Irfanview要容易得多。在Irfanview中,转到选项/捕获/屏幕截图。。。然后选择选项7。将捕获设置为自动,只需几秒钟的延迟,然后选择在主窗口中显示捕获的图像。输入位置、宽度和高度,然后单击“开始”查看您的操作。在Irfanview中获得想要的图像后,可以降低采样速度(我使用300秒来绘制SID图)。

前两个文件是带有宏的Excel电子表格,可以从Dataq读取DI-148U并将数据输入列中。(从“工具”菜单中运行宏。)前8列包含来自8个输入的数据,电子表格中有8个散在其中的绘图-只需删除不需要的,或将它们放在其他工作表上。

第九列是测量的时间。有单元用于输入每个通道的增益和偏移,以缩放图形的数据以获得所需的单位。宏以24小时循环的方式记录数据,由采样率和采样数决定。第一个电子表格记录了1728个数据点,第二个记录了8640个数据点。图上的时间轴有点难以设置,因为要获得每行正确的分钟数的索引量是一个奇怪的数字(基本上是1/分区数)。对于每2小时打印一次的24小时绘图,长轴为1/12或.08333333,短轴为1/24或.04166666)。设置采样率以在所需时间内使用点数。例如,采样率为0.02赫兹(50秒)将在24小时内使用1728个点,采样率为0.2将在2.4小时内填充相同数量的点-图形的时间轴可能会相应地改变,以最佳格式显示数据。

DI-148U在我买它的几周内就过时了——这对我来说总是这样!总之,宏是相当容易理解的,它应该是直接修改它,以配合他们的新产品,如DI-145。它有四个通道,而不是八个通道,所以稍微修改一下宏就可以了。希望,我做了什么很清楚,但我对问题持开放态度。我使用了一个来自Dataq网站的示例宏作为指南来制作这个宏,所以如果你需要帮助的话,我将是盲人引导盲人。

我用这个宏来生成在线图表. Microsoft Excel制作图表并伊凡维尤每五分钟在放大镜中捕获图像(您可以选择),并将其保存到本地一个驱动器文件夹和一个驱动器使图像可用于我的网站。转到“单驱动器”页面并突出显示图像。然后选择顶部工具栏上的“嵌入”为图像生成一个URL。只需将其添加到网页的html中,并在其周围嵌入适当的图片html;如下所示:

<img src=https://reallylongurlfromOneDrive>

您可能希望构建一个仪表/数据采集放大器对于您的Dataq设备。我会用74HC14代替CD40106来增加一点电流,并使用低功耗四路运算放大器为DI-145制作四通道版本。


串行到PC数据传输的自动热键脚本

这是一个压缩文件夹有几个自动热键脚本。.exe版本将在不使用任何其他软件的情况下运行,.ahk版本需要自动热键(但可以对其进行编辑)。这些程序从PicAXE微处理器接收串行数据,如果是“any”版本,则将数据发送到任何程序,如果是“calc”版本,则发送到Openoffice.org电子表格。然后等待打开一个OpenC.org的电子表格并尝试保存。(别忘了“另存为”,否则它会坐在那里!)“any”脚本会用一个弹出窗口提示您,给您几秒钟的时间单击您想要的数据,并让外部设备向任何程序发送数据-它只是开始输入!

您需要知道您的设备正在使用哪个串行端口。若要开始,请将串行设备连接到计算机,通常是USB设备或USB适配器,然后转到“设备”查看分配的COM端口并记住该端口。(如果您使用的是PicAXE,您还可以通过运行PicAXE编辑器并选择“选项”然后选择“串行”来发现COM端口。)运行脚本并回答问题。如果您使用的是PicAXE的编程串行端口,请将波特率设置为4800,并保持其他设置不变。

PicAXE和其他串行设备在脚本中有一个简短的“命令”列表,用于导航电子表格,通过使用自动热键打开.ahk文件,可以轻松地修改或删除这些命令:

我的脚本“劫持”了三个方向的符号,将它们替换为电子表格所需的导航命令。将“向上”箭头替换为“ctrl home”以转到第一个单元格,将左箭头替换为“home”以转到行中的第一个单元格,使用“tab”的右箭头可向右跳转一个单元格。我这样做是为了让PicAXE编程更简单。如果其他应用程序需要这些符号,则可以很容易地从.ahk版本的脚本中剥离或注释掉那些“if”语句。PicAXE编辑器可以识别“CR”,它不受脚本的修改。它用于下拉到电子表格中的下一行。当这些字符的openorg.org脚本运行时,这些字符的描述会出现在open电子表格中。

这可能是一个廉价的设置!如果你买了一个简单的PicAXE,自己做个程序员(基本上是两个电阻),然后买一个便宜的串行到USB转换器,这可能是将实验数据直接输入电子表格或其他程序的最便宜的方法。我想我可以白手起家,以不到15美元的价格完成整个任务。

这是a little PicAXE program它发送3列20行的数字,然后重新开始-只是为了测试系统。在您的项目中,这些变量将包含数据而不是数字序列。列表中有一些注释解释了它的工作原理。使用方法如下:

如果您还没有电子表格程序,请在您的计算机上安装Openoffice.org。

将PicAXE串行电缆插入计算机,然后进入“设备和打印机”了解分配给串行接口的COM端口(或在PicAXE编辑器中选择“选项”和“串行”)。

将PicAXE程序加载到合适的PicAXE芯片中。

关闭PicAXE编辑器程序以释放COM端口。

在计算机上运行AutoHotkey.exe脚本,使用4800作为波特率,并使用您发现的COM端口作为串行接口。

在电子表格中选择“另存为”,数据将开始显示。如果现有文件已经存在,您可能需要说明是否重写该文件。

“any”脚本在功能上类似,只是您单击“start”,然后快速单击想要数据的位置,可能是电子表格中的单元格或文本编辑器中的页面。(如果串行设备尚未发送数据,则不必太快。)

请注意,您通过串行电缆编程PicAXE,然后它立即开始通过相同的连接发送数据!这意味着您必须关闭编辑器或电子表格,这样它们就不会争夺同一端口。别担心,电脑会提醒你的。

我买了一些不同的串行转USB适配器,在亚马逊上通常要花6美元,但有一个在PicAXE处理器上运行良好。我喜欢米黄色的长方形芯片,因为它们太便宜了,但PicAXE警告说,那些特殊的芯片不工作,因为没有真正的多产芯片组。我想那台不适合我的车抱怨说没有足够的动力来驾驶皮卡车,它是一个廉价制造的蓝色水滴状装置。另一个类似的蓝色也很不错。即使是一个非常旧的,也被Windows7识别出来,而且效果很好。你的结果可能会有所不同,所以尽可能考虑购买一个“名牌”单位。picaxe.com上的这个单位只有16美元,而且这个可以用。这6美元的公寓足够便宜,可以直接建在这个项目中。


键盘楔子获取10位测量值并将其直接输入到电子表格中。“豪华版”的特点是一些“有趣”的想法。

这个设备模拟键盘,可以与任何操作系统或计算设备一起使用。缺点是该设备需要计算机的完全关注;它将开始在任何应用程序中输入数据。对于那些不可能安装软件的专用设置来说,这是非常好的。我一直用我的,因为我可以简单地把它插到任何一台电脑上,然后就走了。你需要“掏”一个键盘才能得到PCB。


特殊数据记录器分币精度高,分辨率高

(另请参见水锤地震仪对于输出30 kHz的5伏版本。)

这是一个相当奇怪的数据记录器,但性能非常出色。它使用我的电压频率比电路为个人电脑制作一个无线数据记录器。V/F的输出驱动红外发光二极管和计算机上的光电晶体管接收信号,并使用诸如spectrum Lab或Argo这样的FFT频谱分析程序对其进行分析。这些程序具有自动保存曲线图的功能,而光谱实验室是其他功能的宝库,使这种数据采集方案相当通用。FFT程序可以容纳很多信号,所以增加通道就简单到建造更多的转换器,并将新的红外发光二极管对准光电晶体管接收器。该电路相当便宜,采用廉价的四元比较器和一对晶体管:


(如果可能的话,不要为MPSA18和2N4403选择潜艇。“A18有非常高的增益,即使在非常低的电流,'4403有一个零温度共饱和电压时,如图所示。)

V/F的前端接受0到1 VDC,并将其转换为1到2 kHz。转换器的输出驱动一个红外发光二极管将信号传输到整个房间。也可以使用光耦或音频转换器。直接连接可以工作,但计算机往往有电噪声的接地。这个电路的精度和线性度令人惊讶。对于560k线性电阻,整体精度大概是满量程的0.2%(假设校准良好)。选择最佳性能的线性电阻可获得0.05%的线性度或者更好取决于某人的耐心和装备。原型中的所有电阻都是5%的类型,通过调整****极电阻以获得适当的增益,并调整“位置”控件,将轨迹放置在显示器上所需的位置,通常是Spectrum Lab这样的程序的屏幕。以下是Spectrum Lab的小屏幕:


我用一个10转的锅手工做了这些步骤,因此边缘有点扭曲。通过指示频谱实验室从频谱显示中减去1khz,频率单位为Hz,相当于毫伏。转换器的精度超出了屏幕上的解析能力,即使它是全尺寸的。V/F坐在房间对面的长凳上,被一个沉重的电池压着(只是为了质量):

image.png


V/F是带有蓝色增益罐的小板。零位或零位控制是“大”的。我没有电阻在每一端的位置锅,所以它有点敏感。红外发光二极管指向我的办公桌,那里有光电晶体管。

在这一点上,接收器只不过是一个红外光电晶体管,集电极连接在尖端和环上,****连接在麦克风输入的地面上。麦克风输入为晶体管供电。即使在光晶体管上没有任何红外滤光片,信号也是巨大的。我建议使用黑色塑料红外光电晶体管,因为它们有内置的可见光过滤。我尝试了一个名为Argo的程序,使用qrss20模式,偏移量为-1khz:

image.png



接收光电晶体管和一个特写从阿戈

右边的小图显示输入上1 mV阶跃的结果。它在转换时跳来跳去,因为我试着用一个十转的壶来手动设置它。我想你能看到地上罐子里的电线!我的电压表读数是610毫伏,然后我把它调低到609毫伏。这是个不错的解决办法!当画面充满画面时,画面给人留下了深刻的印象,V/F的精确性和稳定性让人眼前一亮。

它是一个速度较慢的数据采集器,可用于气象仪器、辐射测量、传播图和其他缓慢移动的数据。这种音频格式使得数据记录变得简单到只需使用语音记录器或带有应用程序的智能手机。如果红外链路不实用,来自多个V/F的信号可以沿着一条公共线路传输。单通道连接可以使用一个很小的调幅或调频****机到一个合适的接收机;它只是音频。

这是我的原始电路,显示了一些可选的前端。这个版本产生0到10千赫,在非常低的频率下表现出奇的好。当使用FFT程序时,最好将频率范围限制为一个倍频程,以避免谐波出现在绘图上。因此,我将偏移输入,使其具有1/2满标度的最小频率,正如左侧可选输入电路示意图中的开路开关所做的那样。


对上面的电平变换器使用轨对轨运算放大器。


下面列出了这种比率V/F的优点:


更高的测量分辨率很容易通过简单地计数更长的(对于10 kHz V/F,1秒4.5位数,10秒5.5位数),或者使用高分辨率周期测量或分数周期测量。


当使用电桥或分压器时,比率响应抑制励磁电压变化。只需在相同电压下运行V/F和传感器。


信号在整个测量间隔内是固有的平均值。


开环设计在低输入电平下提供非常低的抖动,提供稳定的读数,并使高分辨率周期测量成为可能。


频率输出可以用FFT软件,如频谱实验室或Argo直接绘制出来,频率很容易无线发送。


太便宜了!


线性调整可以消除源的一些非线性以及复位非线性。V/Fs自然是单调的,非线性在整个范围内是温和的。


图中未显示的是,可以添加一个晶体管来拉下针2以实现外部同步。大大减少了在简单的数字计数器应用中最后一个数字跳转的趋势。门信号只需打开2N4403,直到计数器准备好再次计数,使电路在每个计数周期的同一点启动。(使用FFT分析时不需要。)

这种开环设计依赖于关键部件的精度稳定性,但由于缺乏反馈,因此它具有非常低的抖动,尤其是在低输入电平下。输入信号与电源的细分版本进行比较,因此频率输出与输入电压与电源电压的比率成正比。这种比率响应在测量分压器或电桥时提供了额外的稳定性,即使在放大之后。

由于没有反馈,可以预期的是,复位脉冲的有限宽度将导致随着输入电压的增加,频率读数变低。这个小误差可以通过使参考电压稍微跟踪输入电压来修正。从数学上来说,校正是完美的,线性度可以调整到优于量程的0.01%,满量程频率约为10 kHz。

1000 pF电容器是关键的,应该是COG(NPO)或类似的稳定电容器,以获得最佳效果。薄膜类型适合在实验室环境中进行低频工作,但更稳定的电容器最适合高频操作,尤其是在变温环境下。选择适当的组件将提供极好的温度稳定性。连接到引脚1的MPSA18也很关键,只有非常高的增益类型才能正常工作。精密的金属薄膜电阻被推荐为最好的稳定性,但是碳膜类型对于实验者的实验室来说是很好的。

如果没有精密的电压开关箱,很难调整增益和线性度,也许从0到5伏的电压步进可能是1伏。由于比率响应,电压可以(可能应该)从电源中简单地分开,但是使用高精度或匹配的电阻器以获得最大的精度。只要一串匹配的电阻穿过电源线连接到输入端就足够了。通过良好的设置和保养,可以获得四位数的精度。

几个V/F的输出可以通过相当大的不同值的电阻组合起来,在一个图表上绘制几个变量。不同的电阻值会给光谱实验室呈现不同的振幅,因此每个轨迹都可以有不同的颜色。(试试彩虹色系,比如“太多颜色”。)

下面简单介绍一下它的工作原理:第一个运算放大器和MPSA18陷波电流与输入电压成比例。电容器电压以输入电压决定的速率下降。当电容器电压下降到引脚9上的参考电压以下时,比较器改变状态,PNP对电容器放电非常迅速。放电速度很快,在比较器有时间复位之前就完成了。2N4403有一个非常低的饱和温度系数时,如图所示,因此它使一个稳定的复位开关,尽管有一个小的偏移电压,这是校准在初始调整。这个小奇迹有一个饱和电压温度co,它通过零作为偏置电流的函数。复位脉冲很短,所以添加最后一个比较器来产生方波输出,但是短脉冲对于驱动频率计数器来说是很好的。


在这之后就过时了!

串口A/D-12位,没电,便宜!

这里有一个可爱但过时的方法,使用一个旧的串行端口的握手线将数据输入到Windows98和更早版本的计算机中。当a/12位驱动电路通过时,a/12位的a/a转换输出电压。它工作得很好,但祝你运行Qbasic好运!

PC机24线并行接口(或者只是示意图 )

这是一个非常古老的PC并行端口,在Windows3风靡一时的时候。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客