eric2013 发表于 2021-12-1 12:26:10

H7-TOOL通过LUA小程序驱动8通道24bit分辨率ADS1256操作说明(2021-12-01)

这个功能还是非常有意义的,大大方便了多路高精度数据采集监测。特别是搭建三代示波器模拟前端的洞洞板模拟电路,可以方便的采集多个节点位置。从实战应用中来提出问题,再到实战应用中去解决问题,这大概就是工具的真正价值所在。

需要深入了解ADS1256可以看教程第93章节:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980

1、ADS1256接线说明:
ADS1256模块    H7-TOOL(TVCC输出3.3V)
+5V   <------5.0V       5V供电
GND   -------GND      地
      
CS    <------D0         SPI_CS    PI0      
DRDY------>D1       准备就绪 (用到外部中断) PH10    --所有的IO电平固定是3.3V
DIN   <------D2         SPI_MOSIPE6
DOUT------>D3       SPI_MISOPE5
SCLK<------D5      SPI时钟   PE2
      
GND   -------GND      地      
PDWN(模块有上拉,可不接线)
RST   (模块有上拉,可不接线)
NC    空脚
NC    空脚


https://img.alicdn.com/imgextra/i2/299314119/O1CN0156f2dx1gIY7LsuX7N_!!299314119.png

https://img.alicdn.com/imgextra/i1/299314119/O1CN01jB5hbQ1gIY7OOoYvH_!!299314119.png

2、ADS1256测试代码

使用比较简单,注释很详细,使用也比较简单。

local gain = 0    -- 增益 (0=X1,1=X2,2=X4,3=X8, 4=X16, 5=X32, 6=X64)
local drate = 7    --数据率 (0=30000,1=15000,2=7500,3=3750,4=2000,5=1000,6=500,7=100, 8=60, 9=50, 10=30, 11=25, 12=15, 13=10, 14=5,15=2.5sps)
local buffen = 1-- 1表示使能输入buffer使能,0表示禁止
local diffmode = 0-- 0表示单端模式,1表示差分模式
local scantable = "01234567"--扫描次序, 可只扫描需要的通道

m_init("ADS1256", gain, drate, buffen, diffmode, scantable)-- 挂载ADS1256

delayms(500)

for j=1, 8, 1 do                           --循环执行了8次            
    adc = {m_read("ADS1256")}    --读取数据            
    adc = adc*2.5/4194303   --8通道的数据全部读取,直接计算实际电压值。
    adc = adc*2.5/4194303
    adc = adc*2.5/4194303
    adc = adc*2.5/4194303
    adc = adc*2.5/4194303
    adc = adc*2.5/4194303
    adc = adc*2.5/4194303
    adc = adc*2.5/4194303
    s = string.format("%f", adc) --打印1个通达,多个通道同理,类似C的printf
    print(s)                                 --打印数值
    print_wave(s)                        --打印波形效果
    delayms(100)                        --   100ms刷新1次
end

m_uninit("ADS1256")-- 卸载ADS1256


将代码贴到Lua小程序窗口里面执行即可:

https://img.alicdn.com/imgextra/i4/299314119/O1CN01Ti0YPE1gIY7SaqZb8_!!299314119.png

视频执行效果:

https://www.bilibili.com/video/BV1vb4y1b7cT


eric2013 发表于 2021-12-1 20:56:53

更新完毕。

浴火重生 发表于 2022-1-25 17:10:05

ADS1256这款芯片可以根据自己要求随意设置采样率吗,还是只能按照手册上采样率档位配置。如果用START信号控制,每次有个很长的稳定时间才开始采样,无法满足要求。硬汉有别的思路,想设置1.6K采样率

eric2013 发表于 2022-1-25 17:54:20

浴火重生 发表于 2022-1-25 17:10
ADS1256这款芯片可以根据自己要求随意设置采样率吗,还是只能按照手册上采样率档位配置。如果用START信号控 ...

采样率是固定的几种设置参数。

missfox 发表于 2023-3-15 16:17:20

这个模组是不是换稳压基准了,好像换了个更好的基准,下午测试了效果比之前的好。

eric2013 发表于 2023-3-15 16:31:04

missfox 发表于 2023-3-15 16:17
这个模组是不是换稳压基准了,好像换了个更好的基准,下午测试了效果比之前的好。

采用的这个了

新的ADS1256模组电压基准开始采用REF5025,温漂 3ppm/°C,噪声3uVpp/V
https://www.armbbs.cn/forum.php?mod=viewthread&tid=108652&fromuid=58
(出处: 硬汉嵌入式论坛)

Blake 发表于 2023-3-25 22:28:13

可以将采集到的数据通过TCP发送到电脑上吗?

eric2013 发表于 2023-3-26 00:07:16

Blake 发表于 2023-3-25 22:28
可以将采集到的数据通过TCP发送到电脑上吗?

没问题,支持以太网和wif通信方式。

Blake 发表于 2023-3-26 11:26:26

eric2013 发表于 2023-3-26 00:07
没问题,支持以太网和wif通信方式。

这个要怎么做才能把lua采集到的数据发送到PC上呢?

eric2013 发表于 2023-3-26 12:48:13

Blake 发表于 2023-3-26 11:26
这个要怎么做才能把lua采集到的数据发送到PC上呢?

TOOL支持USB,以太网和WiFi三种方式和上位机通信。
页: [1]
查看完整版本: H7-TOOL通过LUA小程序驱动8通道24bit分辨率ADS1256操作说明(2021-12-01)