“High-Precision AD/DA Board”的版本间的差异
Waveshare-admin(讨论 | 贡献) 小 (Text replace - "<div class="tabbertab" title="资料">" to "<div class="tabbertab" title="资料" id="myresources"> <h1>资料</h1> ") |
(→FAQ) |
||
(未显示4个用户的21个中间版本) | |||
第1行: | 第1行: | ||
<div class="wiki-pages blue-color"> | <div class="wiki-pages blue-color"> | ||
+ | <div class="tabberlive newwsnav" id="wsnavbar"> | ||
+ | <ul class="tabbernav"> | ||
+ | <li class="nav-link">[[#myintro|说明]]</li> | ||
+ | <li class="nav-link">[[#myrpi|RPi]]</li> | ||
+ | <li class="nav-link">[[#myjetson|JetsonNano]]</li> | ||
+ | <li class="nav-link">[[#myresources|资料]]</li> | ||
+ | <li class="nav-link">[[#myfaq|FAQ]]</li> | ||
+ | <li class="nav-link">[[#mysupport|售后]]</li> | ||
+ | </ul> | ||
+ | </div> | ||
<div class="tabber"> | <div class="tabber"> | ||
{{扩展板|colorscheme=blue | {{扩展板|colorscheme=blue | ||
第13行: | 第23行: | ||
}} | }} | ||
− | <div class="tabbertab" title="说明"> | + | <div class="tabbertab" title="说明" id="myintro"> |
+ | ='''说明'''= | ||
=='''产品简介'''== | =='''产品简介'''== | ||
High-Precision AD/DA Board是树莓派高精度AD/DA扩展板,适用于Raspberry Pi系列主板和Jetson Nano。 | High-Precision AD/DA Board是树莓派高精度AD/DA扩展板,适用于Raspberry Pi系列主板和Jetson Nano。 | ||
第45行: | 第56行: | ||
|SCK||P11||P14||SPI时钟信号 | |SCK||P11||P14||SPI时钟信号 | ||
|} | |} | ||
+ | </div> | ||
+ | <div class="tabbertab" title="RPi" id="myrpi"> | ||
=树莓派= | =树莓派= | ||
提供C语言与python例程 | 提供C语言与python例程 | ||
− | {{ | + | {{RPI_open_spi_no_header}} |
==安装库== | ==安装库== | ||
{{RPI_C_lib}} | {{RPI_C_lib}} | ||
− | + | ==python== | |
<pre> | <pre> | ||
sudo apt-get update | sudo apt-get update | ||
第60行: | 第73行: | ||
sudo pip install RPi.GPIO | sudo pip install RPi.GPIO | ||
sudo pip install spidev | sudo pip install spidev | ||
+ | </pre> | ||
+ | |||
+ | ==python3== | ||
+ | <pre> | ||
+ | sudo apt-get update | ||
+ | sudo apt-get install ttf-wqy-zenhei | ||
+ | sudo apt-get install python-pip | ||
+ | sudo pip3 install RPi.GPIO | ||
+ | sudo pip3 install spidev | ||
</pre> | </pre> | ||
第185行: | 第207行: | ||
*实验现象 | *实验现象 | ||
旋转电位器两个LED灯交替亮<br /> | 旋转电位器两个LED灯交替亮<br /> | ||
+ | </div> | ||
+ | <div class="tabbertab" title="JetsonNano" id="myjetson"> | ||
='''Jetson nano Developer Kit'''= | ='''Jetson nano Developer Kit'''= | ||
Jetson nano程序使用的是模拟SPI,所以刷新速度会相对较慢一些<br /> | Jetson nano程序使用的是模拟SPI,所以刷新速度会相对较慢一些<br /> | ||
第297行: | 第321行: | ||
*实验现象 | *实验现象 | ||
旋转电位器两个LED灯交替亮<br /> | 旋转电位器两个LED灯交替亮<br /> | ||
− | |||
− | |||
− | |||
</div> | </div> | ||
<div class="tabbertab" title="资料" id="myresources"> | <div class="tabbertab" title="资料" id="myresources"> | ||
− | + | ='''资料'''= | |
− | + | ==文档== | |
− | |||
− | |||
*[https://{{SERVERNAME}}/w/upload/2/29/High-Precision-AD-DA-board.pdf 原理图] | *[https://{{SERVERNAME}}/w/upload/2/29/High-Precision-AD-DA-board.pdf 原理图] | ||
− | + | ==视频== | |
− | |||
*[[High-Precision-AD-DA-Board-Video|演示视频]][[File:video-logo.png|23px|link=High-Precision-AD-DA-Board-Video]] | *[[High-Precision-AD-DA-Board-Video|演示视频]][[File:video-logo.png|23px|link=High-Precision-AD-DA-Board-Video]] | ||
− | + | ==程序== | |
*[https://www.waveshare.net/w/upload/5/5e/High-Precision-AD-DA-Board-Code.7z 示例程序] | *[https://www.waveshare.net/w/upload/5/5e/High-Precision-AD-DA-Board-Code.7z 示例程序] | ||
*[https://github.com/waveshare/High-Precision-AD-DA-Board Github] | *[https://github.com/waveshare/High-Precision-AD-DA-Board Github] | ||
− | + | ==数据手册== | |
− | |||
*[[High-Precision-AD-DA_Datasheets|开发资料]] | *[[High-Precision-AD-DA_Datasheets|开发资料]] | ||
− | |||
*[https://{{SERVERNAME}}/w/upload/0/03/ADS1256.pdf ADS1256] | *[https://{{SERVERNAME}}/w/upload/0/03/ADS1256.pdf ADS1256] | ||
− | |||
*[https://{{SERVERNAME}}/w/upload/6/63/DAC8532-datasheet.pdf DAC8532] | *[https://{{SERVERNAME}}/w/upload/6/63/DAC8532-datasheet.pdf DAC8532] | ||
− | |||
*[https://{{SERVERNAME}}/w/upload/9/98/LM285_datasheet.pdf LM285] | *[https://{{SERVERNAME}}/w/upload/9/98/LM285_datasheet.pdf LM285] | ||
− | + | ==软件== | |
*[[DVK512_Software|开发软件]] | *[[DVK512_Software|开发软件]] | ||
− | |||
==相关链接== | ==相关链接== | ||
{{Raspberry Pi Study}} | {{Raspberry Pi Study}} | ||
</div> | </div> | ||
− | <div class="tabbertab" title="FAQ"> | + | <div class="tabbertab" title="FAQ" id="myfaq"> |
− | {{FAQ| | + | ='''FAQ'''= |
+ | {{FAQ|为什么AD速率很低,和介绍的不符;<br>| | ||
示例程序默认开启8通道高精度ADC,为了保证稳定性和准确性,程序读取数据及处理数据时加了延时,如果需要较高速率,可以将延时注释掉。 | 示例程序默认开启8通道高精度ADC,为了保证稳定性和准确性,程序读取数据及处理数据时加了延时,如果需要较高速率,可以将延时注释掉。 | ||
− | |||}} | + | 优化过的例程如下: |
+ | [https://www.waveshare.net/w/upload/3/3b/High-bcm2835.zip High-Precision-AD-DA-Board-1CH]|||}} | ||
{{FAQ|为什么运行程序会显示ID read fail?<br>| | {{FAQ|为什么运行程序会显示ID read fail?<br>| | ||
第340行: | 第355行: | ||
{{FAQ|支持接入的电压范围是多少?<br>| | {{FAQ|支持接入的电压范围是多少?<br>| | ||
− | + | 能支持接入5V以内电压; | |
− | + | |||}} | |
+ | |||
+ | {{FAQ|怎么简单测试AD功能是正常的?<br>| | ||
+ | 可以将树莓派的3.3V 引脚接到ADX(这里是AD7),运行ADC程序后,可以显示接近3.3V的电压,说明功能正常,接线如图所示:<br> | ||
+ | [[File:AD7-3.3.png|600px]] | ||
+ | |||}} | ||
+ | |||
+ | {{FAQ|Jetson nano 怎么加载spi0 ?| | ||
+ | sudo modprobe spidev | ||
|||}} | |||}} | ||
+ | |||
+ | {{FAQ|High-Precision AD/DA Board 这款适配STM32吗?<br>| | ||
+ | *适配STM32 | ||
+ | *STM32型号较多可以参考以下STM32F10X例程自行编程和移植程序实现: | ||
+ | [https://files.waveshare.com/wiki/High-Precision-AD-DA-Board/Demo/STM32/High-Precision-AD-DA-Board-Code-STM32F10X.zip High-Precision AD/DA Board STM32F10X示例程序] | ||
+ | |||}} | ||
+ | |||
</div> | </div> | ||
− | <div class="tabbertab" title="售后"> | + | <div class="tabbertab" title="售后" id="mysupport"> |
+ | |||
+ | ='''技术支持'''= | ||
+ | {{Service12}} | ||
</div> | </div> |
2024年3月20日 (三) 12:05的最新版本
| |||||||||||||||||
| |||||||||||||||||
说明
产品简介
High-Precision AD/DA Board是树莓派高精度AD/DA扩展板,适用于Raspberry Pi系列主板和Jetson Nano。
产品特点
- 板载ADS1256芯片,8通道24位高精度ADC(4通道差分输入),30ksps采样速率(最大)
- 板载DAC8532芯片,2通道16位高精度DAC
- 板载排针封装输入接口,可接入模拟信号,兼容微雪传感器接口标准,方便接入各种模拟传感器模块
- 板载接线端子封装输入输出接口,可接入模拟信号及数字信号,方便在各种场合使用
- 自带AD/DA检测电路,方便观察实验现象
- 提供树莓派和Jetson nano示例程序
功能引脚
功能引脚 | 树莓派接口(BCM) | 树莓派接口(WiringPi) | 描述 |
DRDY | P17 | P0 | ADS1256数据就绪输出,低电平有效 |
RESET | P18 | P1 | ADS1256复位输入 |
PDWN | P27 | P2 | ADS1256 同步/关闭电源输入,低电平有效 |
CS0 | P22 | P3 | ADS1256片选,低电平有效 |
C1 | P23 | P4 | DAC8532片选,低电平有效 |
DIN | P10 | P12 | SPI数据输入 |
DOUT | P9 | P13 | SPI数据输出 |
SCK | P11 | P14 | SPI时钟信号 |
树莓派
提供C语言与python例程
开启SPI接口
- 打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
- 重启树莓派:
sudo reboot
- 检查 /boot/config.txt,可以看到 'dtparam=spi=on' 已被写入
- 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常
安装库
如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用
BCM2835
#打开树莓派终端,并运行以下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./configure && sudo make && sudo make check && sudo make install # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
wiringPi
#打开树莓派终端,并运行以下指令 cd sudo apt-get install wiringpi #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错 #Bullseye分支系统使用如下命令: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
lgpio
#打开树莓派终端,并运行以下指令 wget https://github.com/joan2937/lg/archive/master.zip unzip master.zip cd lg-master sudo make install # 更多的可以参考官网:https://github.com/gpiozero/lg
python
sudo apt-get update sudo apt-get install ttf-wqy-zenhei sudo apt-get install python-pip sudo pip install RPi.GPIO sudo pip install spidev
python3
sudo apt-get update sudo apt-get install ttf-wqy-zenhei sudo apt-get install python-pip sudo pip3 install RPi.GPIO sudo pip3 install spidev
下载例程
在树莓派终端运行:
sudo apt-get install p7zip-full wget http://www.waveshare.net/w/upload/5/5e/High-Precision-AD-DA-Board-Code.7z 7z x High-Precision-AD-DA-Board-Code.7z -r -o./High-Precision-AD-DA-Board-Code cd High-Precision-AD-DA-Board-Code/RaspberryPI/
AD例程
cd ADS1256
提供4个例程,分别是:bcm2835、python2、python3、wiringpi
- 硬件设置
工作电压设置为5V:连接5V到VCC。
参考电压设置为5V:连接5V到VREF。
设置电位器输出为模拟量输入:连接ADJ到AD0。确保板子左侧的传感器接口AD0断开。
设置光敏电阻输出为模拟量输入:连接LDR到AD1。确保板子左侧的传感器接口AD1断开。连接AINCOM到AGND,AD差分输入时可以不连接。
cd bcm2835/ make sudo ./ads1256_test
注意,运行了BCM2835库需要重启树莓派才能正常运行其余库。
2.wiringpi
cd wiringpi/ make sudo ./ads1256_test
3.python2
cd python2/ sudo python main.py
4.python3
cd python3/ sudo python3 main.py
- 实验现象
转动电位器,AD0通道电压有相应的变化。
遮挡光敏电阻,AD1通道电压有相应的变化。
由于其他的通道没有接到负载上,他是悬空的,所以在1.17V左右浮动
DA例程
cd DAC8532/
提供4个例程,分别是:bcm2835、python2、python3、wiringpi
- 硬件设置
工作电压设置为5V:连接5V到VCC。
参考电压设置为5V:连接5V到VREF。
连接DA0到LEDA,连接DA1到LEDB。则指示灯LEDA的亮度将会根据DA0输出电压而变化。指示灯LEDB的亮度将会根据DA1输出电压而变化。
1.bcm2835
cd bcm2835/ make sudo ./dac8532_test
注意,运行了BCM2835库需要重启树莓派才能正常运行其余库。
2.wiringpi
cd wiringpi/ make sudo ./dac8532_test
3.python2
cd python2/ sudo python main.py
4.python3
cd python3/ sudo python3 main.py
- 实验现象
LEDA,LEDB会有呼吸灯效果
AD/DA综合例程
cd AD-DA/
提供2个例程,分别是:bcm2835、python
1.bcm2835
cd bcm2835/ make sudo ./main
注意,运行了BCM2835库需要重启树莓派才能正常运行其余库。
2.python
cd python/ sudo python main.py
- 实验现象
旋转电位器两个LED灯交替亮
Jetson nano Developer Kit
Jetson nano程序使用的是模拟SPI,所以刷新速度会相对较慢一些
软件设置
安装函数库
- 打开终端界面,输入以下指令安装相应的函数库
sudo apt-get update sudo apt-get install python3-pip sudo pip3 install Jetson.GPIO sudo groupadd -f -r gpio sudo usermod -a -G gpio your_user_name sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules && sudo udevadm trigger
【注意】your_user_name 是你使用的用户名,比如说 waveshare
- 安装I2C
sudo apt-get install python-smbus
- 安装图像处理库:
sudo apt-get install python3-pil sudo apt-get install python3-numpy
下载测试程序
打开linux终端,执行:
sudo apt-get install p7zip-full wget http://www.waveshare.net/w/upload/5/5e/High-Precision-AD-DA-Board-Code.7z 7z x High-Precision-AD-DA-Board-Code.7z -r -o./High-Precision-AD-DA-Board-Code cd High-Precision-AD-DA-Board-Code/Jetsonnano/
AD例程
cd ADS1256
提供3个例程,分别是:c、python2、python3
- 硬件设置
工作电压设置为5V:连接5V到VCC。
参考电压设置为5V:连接5V到VREF。
设置电位器输出为模拟量输入:连接ADJ到AD0。确保板子左侧的传感器接口AD0断开。
设置光敏电阻输出为模拟量输入:连接LDR到AD1。确保板子左侧的传感器接口AD1断开。连接AINCOM到AGND,AD差分输入时可以不连接。
cd C/ make sudo ./main
2.python2
cd python2/ sudo python main.py
3.python3
cd python3/ sudo python3 main.py
- 实验现象
转动电位器,AD0通道电压有相应的变化。
遮挡光敏电阻,AD1通道电压有相应的变化。
由于其他的通道没有接到负载上,他是悬空的,所以在1.17V左右浮动
DA例程
cd DAC8532/
提供3个例程,分别是:c、python2、python3
- 硬件设置
工作电压设置为5V:连接5V到VCC。
参考电压设置为5V:连接5V到VREF。
连接DA0到LEDA,连接DA1到LEDB。则指示灯LEDA的亮度将会根据DA0输出电压而变化。指示灯LEDB的亮度将会根据DA1输出电压而变化。
1.C
cd C/ make sudo ./main
2.python2
cd python2/ sudo python main.py
3.python3
cd python3/ sudo python3 main.py
- 实验现象
LEDA,LEDB会有呼吸灯效果
AD/DA综合例程
cd AD-DA/
提供3个例程,分别是:c、python2、python3
1.C
cd C/ make sudo ./main
2.python2
cd python2/ sudo python main.py
3.python3
cd python3/ sudo python3 main.py
- 实验现象
旋转电位器两个LED灯交替亮
资料
文档
视频
程序
数据手册
软件
相关链接
FAQ
示例程序默认开启8通道高精度ADC,为了保证稳定性和准确性,程序读取数据及处理数据时加了延时,如果需要较高速率,可以将延时注释掉。 优化过的例程如下:
High-Precision-AD-DA-Board-1CH
运行了BCM2835库需要重启树莓派才能正常运行其余库,将树莓派重启下,重新运行。
能支持接入5V以内电压;
sudo modprobe spidev
- 适配STM32
- STM32型号较多可以参考以下STM32F10X例程自行编程和移植程序实现: