資料介紹
Table of Contents
EVAL-CN0429-EBZ Overview
Gas detection instruments are used in a wide range of applications ranging from home air quality measurement devices to industrial solutions for detecting toxic gases. Many of these instruments use electrochemical gas sensors. This sensor technology requires specialized front-end circuitry for biasing and measurement.
By utilizing built-in diagnostics features (such as impedance spectroscopy or bias voltage pulsing and ramping) it is possible to inspect sensor health, compensate for accuracy drift due to aging or temperature, and estimate the remaining lifetime of the sensor right at the edge of the sensor network without user intervention. This functionality allows smart, accurate sensor replacement at the individual edge nodes. An integrated, ultra low power microcontroller directly biases the electrochemical gas sensor and runs onboard diagnostic algorithms.
The CN0429 circuit shows how an electrochemical gas sensor is connected to the potentiostat circuit and how it is biased and measured. Common 2-lead, 3-lead, and 4-lead electrochemical gas sensors can be used interchangeably. The integration of this signal chain dramatically reduces cost, size, complexity, and power consumption at the sensor node.
Boards Used
Features
- Capable of measuring any electrochemical gas sensor in a suitable package
- Up to 4 sensor boards can be connected for measurements simultaneously
- Gas sensor daughter boards includes temperature & humidity sensor
- Electrochemical Impedance Spectroscopy and Bias Voltage Pulse Test capabilities
Documents Needed
- CN0429 Circuit Note
Equipment Required
- Hardware
- EVAL-CN0429-EBZ Gas Sensor Daughter Board
- EVAL-ADICUP3029 Base Board
- EVAL-M355-ARDZ-INT Interposer Board
- Micro USB Cable
- Electrochemical Gas Sensor in a suitable form factor
- Software
- PC with a USB port and Windows 7 (32-bit) or higher
- Serial Terminal Software (Putty/TeraTerm or similar)
- 3-Terminal or 4-Terminal Electrochemical Gas Sensor
Test Setup Functional Block Diagram
To set up the circuit for evaluation, consider the following steps:
- The EVAL-CN0429-EBZ (CN0429 Shield board) connects to EVAL-M355-ARDZ-INT interposer board
- That combination setup above, plugs directly into the EVAL-ADICUP3029 base board
- Connect the system to the PC using USB cable
- Connect the sensors to the dedicated connectors on the EVAL-CN0429-EBZ
Hardware Setup
Connecting the Electrochemical Gas Sensor
The CN0429 is compatible with electrochemical gas sensors in “4-series” form factor. 2-, 3- and 4-electrode sensors are supported. See the drawing below for form factor dimensions.
Examples of sensors supported by this reference design:
- CiTicel? 4CF+
- Alphasense CO-A4
- DD Scientific GS+4CO
Temperature & Humidity Sensor
The CN0429 gas sensor daughter board includes IDT HS3002 temperature & humidity sensor. This sensor is connected to a virtual I2C bus of the ADuCM355 microcontroller. Temperature and humidity values could be used to implement compensation techniques for an electrochemical gas sensors. For more information about how to obtain sensor data, please refer to the Command Line Interface section.
Connector P1
Connector P1 is used for interfacing with the CN0429 board. It is used to provide power to the board and also to communicate with it using I2C, SPI or UART interfaces. There is also one GPIO available, which can be used as an interrupt input to wake-up the ADuCM355 or provide any other interrupt function.
P1 connector pinout
The connector used on the CN0429 board is Samtec SFM-107-02-L-D. The mating connector for it is either TFM-107-02-L-D (surface mount) or TFM-107-01-L-D (through hole).
Switch Configurations
Switch Configuration for EVAL-M355–ARDZ–INT Arduino Shield Board
There as two switches present on the EVAL-M355–ARDZ–INT board, namely switches S1 and S2.
- Switch S1 selects which channel on the EVAL-M355-ARDZ-INT that is currently programmable. This is only needed/used when flashing custom firmware onto the EVAL-CN0429-EBZ
- Switch S2 selects the communication method for the connected EVAL-CN0429-EBZ boards. This should be set to I2C.
Switch Configurations for EVAL–ADICUP3029 Board
There are 5 switches present on the EVAL–ADICUP3029 board, namely switches S1, S2, S3, S4 and S5.
- Switch S2 routes the UART signals (Tx/Rx) from the ADuCM3029 and has three(3) options, 'USB', 'Arduino' and 'WiFi. While in USB mode, the board communicates UART over the USB with the PC. This is the recommended setting. When the switch is on Arduino mode, it establishes a UART communication with the Arduino shield connected to the ADICUP3029 (if a compatible shield is connected). WiFi mode allows the user to communicate with the plug-in WiFi module available with the ADICUP3029.
- Switch S5 selects the power source and has two(2) options, 'Wall/USB' and 'Battery'. These options allows the user to choose between powering the board using USB/DC wall supply (choosing Wall/USB on switch S5) or using 2 AAA Batteries (choosing Batt on switch S5).
- Switch S1 is a reset switch, used to reset the board.
- Switch S3 is a boot switch, used to put the board into boot mode for downloading firmware. Press and hold the boot switch, then press and release reset switch and finally release the boot switch to activate the boot mode.
- Switch S4 is a WiFi reset switch, used to reset the externally connected WiFi board.
Downloading Firmware to the ADICUP3029
The ADICUP3029 board must be programmed with a gas sensing application firmware. The source code for this firmware is open-source and can be downloaded here - the entire EVAL-ADICUP3029 folder must first be downloaded as a .zip file and from this the compiled firmware binary file (ADuCM3029_demo_cn0428_cn0429.hex) can be extracted and downloaded directly onto the ADICUP3029 board. The user does not have to install any IDE to get started with the system. However, if any modifications to the firmware are needed, the installation of an IDE will be required.
To download the binary file onto the ADICUP3029 board, follow this procedure:
- Connect the ADICUP3029 board to the PC with Micro USB cable
- If the mbed software does not automatically install, download and install the mbed driver
- Copy and Paste or Drag and Drop the ADuCM3029_demo_cn0428_cn0429.hex file onto the DAPLINK device/folder. This downloads the firmware onto the CUP3029 board.
- The DAPLINK device should disappear momentarily and then reappear.
- If the download files, you will find a FAIL.TXT on the DAPLINK device.
- If the download is successful, the ADuCM3029_demo_cn0428_cn0429.hex file will disappear inside the DAPLINK device and no FAIL.TXT file will be present.
- This completes the firmware installation onto the CUP3029 board. Unplug the USB cable.
Software Setup
Setting up the Serial Terminal Software to Communicate with the Boards
The EVAL-CN0429-EBZ board and EVAL–ADICUP3029 board come with a pre-installed base code. The user needs to install a serial terminal software on their PC to communicate with the board. The recommended software is PuTTY which is easily available over the internet for free installation. Once PuTTY is installed, user needs to go to the Device Manager terminal through the Start option in Windows. The Device Manager terminal opens as follows:
The user is then advised to plug in the EVAL–ADICUP3029 board into the PC using the USB cable that goes into the USB port. As soon as the board is detected by the PC, the Device Manager displays the board and the port it is connected to.
The new options that appear in the Device Manager window, as shown in the picture above, shows that the PC has detected the EVAL–ADICUP3029 board. The user is then advised to note the port number of the USB Serial Device (COM5 as seen above). With a right click on the USB Serial Device (COM5), the user can then access the properties of the board connected. Note the speed shown here is 115200.
Once these steps have been followed, the user can now to start the PuTTY application and enter certain values in the configuration window. The three important settings that needs to be defined in the configuration window are the Session settings, the Terminal settings and the Serial settings. In the Session window, the speed should be set at 115200 and the serial line is the port number taken from Device manager (COM5 in our case).
The user can save these settings by a particular name (in the example above it is called CN0428_CN0429) and load them whenever needed. Other important configurations include the terminal settings and the connection serial settings. They should be set as follows before launching the Putty application:
Once all the configurations have been defined, launch the PuTTY terminal by selecting the 'Open' option. After the PuTTY terminal launches, write 'help' ane press Enter to see the different commands in the PuTTY terminal for various gas measurements. See the Command Line Interface section for more details.
Example of System Setup
In this section, step by step instructions are provided to configure the system and the sensor for correct operation. It is recommended to always use this procedure.
Preparing the system
- Plug the EVAL-M355-ARDZ-INT board into the EVAL-ADICUP3029 board.
- Plug the EC sensor to the EVAL-CN0429-EBZ board.
- Plug the EVAL-CN0429-EBZ board with EC sensor to any of the four positions on the EVAL-M355-ARDZ-INT board
- Connect the assembled system to the PC with MicroUSB cable.
- Open PUTTY serial terminal, set the COM port to 115200 8N1 configuration, and enable forced local echo.
- Connect to the board using PUTTY terminal.
- Wait for 10 seconds. Afterwards, you can start using the system.
The EVAL-CN0429-EBZ boards come pre-programmed and pre-configured. Sensor configuration needs to be modified according to the datasheet of the sensor used. Refer to the Sensor Configuration section for more details.
Note: If it is necessary to reset the system for any reason, e.g. if more than four sensors are being tested, it should be done by power cycling the board rather than just pressing the RESET button. This is done by simply unplugging the board from the PC.
Programming the CN0429
The Eval-CN0429-EBZ board comes with a pre-loaded base code. However if the user wishes to modify the firmware for custom measurements, they need to download and install IAR ARM 8.30.2 (or above) workbench. Along with this the user also needs to download the ADuCM355 support package (link in the Software).
After installing the software package, there are two options how to program the EVAL-CN0429-EBZ:
a) Using a stand-alone debugger with a 9-pin Cortex-M adapter,
b) using the on-board debugger on the EVAL-ADICUP3029 and the 10-pin ribbon cable included with the EVAL-M355-ARDZ-INT.
Please refer to Programming EVAL-CN0428-EBZ or EVAL-CN0429-EBZ with Custom Firmware page for detailed instructions.
Command Line Interface (CLI)
Getting Started
The CN0429 reference design is controlled using a command line interface. Any serial port terminal application can be used, e.g. Putty, TeraTerm. Configure the COM port to 115200/8N1 (115200 baud, 8 data bits, no parity bit and 1 stop bit). Once the system is programmed and connected to the PC, connect to it using the serial terminal application of your preference. The system is automatically initialized upon power-up and will print initialization report (example below).
Note: The gas sensor daughter boards require ~10 seconds to calibrate and start up properly. It is recommended that ~10 seconds after power is applied to the system, the RESET button S1 is pressed on the ADICUP3029 board to ensure proper initialization of the system.
CLI Command Set
The following table lists all available commands for the CN0429. Some of the commands are global – meaning they are applicable to all detected sensors at once. Others require user to first select a sensor and the command will then be used for the selected sensor only.
Syntax | Parameter | Description | Usage |
---|---|---|---|
help | Print command set help. | GLOBAL | |
defaultsensor | | Select sensor site used by local commands. | |
sensorsconnected | Print list of detected sensors. | ||
readconfigs | Read configuration of all sensors. | ||
readsensors | Read sensor data of all sensors. | ||
setupdaterate | Set update rate for “readsensors” in seconds. Default = 1. | ||
stopread | Stop sensor data reading. | ||
readtemp | Read temperature from the on-board temperature sensor. | LOCAL Sensor site needs to be selected prior to using these commands | |
readhum | Read humidity from the on-board humidity sensor. | ||
setmeastime | Set ADC sampling time in milliseconds. The ADC performs average of 10 samples at configured interval Default = 500. | ||
startmeas | Start ADC sampling at configured interval. | ||
stopmeas | Stop ADC sampling the sensor. | ||
setrtia | | Select internal RTIA resistor to set TIA gain. | |
setrload | | Select internal RLOAD resistor for the sensor. | |
setvbias | | Set bias voltage of the sensor in mV. | |
setsensitivity | | Set sensor sensitivity in nA/ppm. | |
runeis | Run Electrochemical Impedance Spectroscopy test (EIS). | ||
readeis | Read results of EIS test. | ||
readeisfull | Read full set of results of EIS test, including all impedances and magnitudes. | ||
readrcal | Read value of internal 200R calibration resistor. | ||
runpulse | Run the pulse test. Amplitude and Duration need to be set first! | ||
readpulse | Read results of the pulse test. | ||
pulseamplitude | | Pulse test amplitude in mV (typically 1 mV). | |
pulseduration | | Pulse test duration in milliseconds. Must be less than 200 msec. |
Select the Sensor
To be able to use any local command, a sensor needs to be selected first. Use following command to list all available (detected) sensors.
sensorsconnected
Afterwards, select the desired sensor, for example using:
defaultsensor 1
This command selects the sensor site. When using local commands, these apply to the selected site only. When no sensor site is selected, or there is no sensor connected at the selected site, an ERROR message will be displayed when trying to execute a local command.
Sensor Configuration
The ADuCM355 firmware comes with pre-programmed default gas sensor configuration. In order for the sensor to work correctly, this configuration needs to be changed according to the sensor specification which can be found in the sensor datasheet. Following configuration parameters need to be set using the command line interface:
- Bias voltage [mV]
- Sensor sensitivity [nA/ppm]
- RTIA [ohm]
- RLOAD [ohm]
- Measurement time [msec]
Note: Select the correct sensor site prior to using any of the following commands.
Bias voltage
Bias voltage is the voltage applied between RE and WE (SE) electrode of the gas sensor. Its value can be found in the sensor datasheet.
Example: setting bias voltage to 20 mV
setvbias 20
Sensor sensitivity
Sensor sensitivity value is used to calculate the gas concentration from the measured current produced by the sensor. If the sensor datasheet only states a range of currents instead of an exact value, please contact the sensor manufacturer and ask for more accurate value.
Example: setting setsensitivity to 73 nA/ppm
setsensitivity 73
TIA Gain - RTIA
The RTIA resistor value should be selected so that it maximizes the ADC input range of ±900 mV. The RTIA value is calculated using following equation:
where:
0.9 V is ADC input range,
Sensitivity is defined as A/ppm and
Max_Range is the sensor’s maximum range in ppm.
From the table below, select the closest lower value to the calculated RTIA value.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
Resistor [ohm] | 0 | 200 | 1k | 2k | 3k | 4k | 6k | 8k | 10k |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
Resistor [ohm] | 12k | 16k | 20k | 24k | 30k | 32k | 40k | 48k | 64k |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
Resistor [ohm] | 85k | 96k | 100k | 120k | 128k | 160k | 196k | 256k | 512k |
Example - CO sensor:
Sensitivity = 73 nA/ppm
Max_Range = 500 ppm
Closest lower value to 24.7 k? is 24 k?, i.e.
setrtia 12
Load Resistor - RLOAD
The load resistor value can be obtained from the sensor datasheet. If there is no exact match between the datasheet value and table below, select the closest value.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
Resistor [ohm] | 0 | 10 | 30 | 50 | 100 | 1k6 | 3k1 | 3k6 |
Example - CO sensor:
Datasheet value is 47 Ω. The closest available value is 50 Ω:
setrload 3
Measurement Time
The EC sensor is sampled by the ADC with a certain time period, at which it performs an average of 10 samples, each 2.2 ms long. Default value of this time period is 500 ms, but can be configured to in the range of 50 - 32 000 ms.
Example: setting measurement period to 1000 ms
setmeastime 1000
Reading Sensor Configuration
Once the configuration has been performed, use the readconfigs command to verify that configuration is complete. This command reads configuration of all detected sensors.
readconfigs
Reading Sensor Data
Once all the sensors are configured, sensor data can be obtained. Temperature and humidity data from on-board sensor can be read one value at a time with dedicated commands. Gas data are read as a continuous stream with configurable update rate.
Start ADC sampling
This local command instructs the ADC of selected sensor to start sampling the sensor at the time interval configured by the setmeastime command.
startmeas
Note: It is not needed to run this command as a part of sensor initialization. ADC sampling starts automatically, default value of 500 ms is used.
Stop ADC sampling
This local command instructs the ADC of selected sensor to stop sampling the sensor.
stopmeas
Start reading gas sensor data
Use this global command to start reading gas sensor data from all sensors.
readsensors
The data is read back as a continuous stream in a following format:
Stop reading gas sensor data
Data stream can be stopped at any time using the stopread command.
stopread
Set stream update rate
The update rate of the data stream is configurable in the range of 1 – 3600 seconds. Stop the data stream before using this command.
Example: setting update rate to 5 seconds
setupdaterate 5
Read temperature
This local command prints temperature value from the temperature & humidity sensor on gas sensor daughter board.
readtemp
Read humidity
This local command prints humidity value from the temperature & humidity sensor on gas sensor daughter board.
readhum
Sensor Diagnostics
This reference design supports two diagnostics measurements of electrochemical sensors:
- Electrochemical Impedance Spectroscopy (EIS)
- Bias voltage pulse test
Electrochemical Impedance Spectroscopy
The EIS test is a diagnostics method where sensor impedance is measured at various frequencies of AC signal injected into the electrochemical sensor itself. The default set of frequencies supported by the sensor daughter board firmware is:
1kHz, 5kHz, 10kHz, 20kHz, 30kHz, 40kHz, 50kHz, 60kHz, 70kHz, 90kHz, 160kHz and 200kHz.
Note: It is possible to add additional frequencies to the EIS test. However, this has to be accounted for in both gas sensor daughter board firmware and ADICUP3029 firmware.
The test is executed by following these steps:
- Run the EIS test (runeis)
- Wait for at least 5 seconds until the test is finished
- Read the test results (readeis)
runeis
readeis
The results of the EIS test are in a format shown below. The values are comma delimited to enable importing the data to Microsoft Excel or similar tool for further processing.
Bode magnitude and Bode phase values are printed for every measured frequency.
To obtain full set of results including all magnitudes and impedances, use the following command:
readeisfull
The full set of EIS results contains the following values:
- Frequency [Hz] - Frequency at which the data point was taken.
- Rload+Rsens_real - Real part of impedance of the sensor and the load resistor.
- Rload+Rsens_imag - Imaginary part of impedance of the sensor and the load resistor.
- Rload_real - Real part of impedance of the load resistor only.
- Rload_imag - Imaginary part of impedance of the load resistor only.
- Rcal_real - Real part of impedance of the calibration resistor Rcal.
- Rcal_imag - Imaginary part of impedance of the calibration resistor Rcal.
- Mag_Rsense+Rload [Ohm] - Impedance of the sensor and the load resistor.
- Mag_Rload [Ohm] - Impedance of the load resistor.
- Mag_Rcal [Ohm] - Impedance of the calibration resistor Rcal.
- Magnitude - Magnitude of the complex impedance of the sensor. This is the ratio of the voltage amplitude to the current amplitude.
- Phase [deg] - Phase of the complex impedance of the sensor by which the current lags the voltage.
More information about the AC impedance measurement can be found in the ADuCM355 Hardware Reference Manual.
Bias voltage pulse test
This diagnostics method can be used, for example, to detect open circuit, i.e. unplugged sensor. This proved to be a common issue with some portable instruments which can fall on the ground and sensor can disconnect from its socket.
The principle of this test is applying small voltage pulse (typically 1 mV for <200 ms) to the sensor electrodes and measuring the current response to this pulse.
Test execution procedure follows these steps:
- Set pulse amplitude (pulseamplitude)
- Set pulse duration (pulseduration)
- Run the pulse test (runpulse)
- Wait for at least 10 seconds
- Read the test results (readpulse)
Example: setting pulse amplitude to 1 mV
pulseamplitude 1
Example: setting pulse duration to 100 ms
pulseduration 100
runpulse
readpulse
The example below shows portion of the pulse test results. The values are comma delimited to enable importing the data to Microsoft Excel or similar tool for further processing.
Schematic, PCB Layout, Bill of Materials
EVAL-CN0429-EBZ Design & Integration Files
- Schematics
- PCB Layout
- Bill of Materials
- Allegro Project
Software
End of Document
- CN0428用戶指南
- CN0429設(shè)計與集成文件
- CN0425用戶指南
- CN0415用戶指南
- CN0419用戶指南
- CN0414用戶指南
- CN0422用戶指南
- CN0510用戶指南
- CN0507用戶指南
- CN0532用戶指南
- CN0540用戶指南
- CN0506用戶指南
- CN0549用戶指南
- CN0429 Design & Integration Files
- ADICUP3029 C Code for CN0428 and CN0429
- CD100M滿杯檢測方案的安裝指南 240次閱讀
- Air780EP模塊AT開發(fā)-HTTP應(yīng)用指南 319次閱讀
- 電工必備接線指南:輕松掌握各種電路接線技巧 805次閱讀
- 汽車網(wǎng)絡(luò)安全-挑戰(zhàn)和實踐指南 409次閱讀
- OpenCV4.8+CUDA+擴(kuò)展模塊支持編譯指南 713次閱讀
- 濾波器設(shè)計指南 2096次閱讀
- AEM科技SolidMatrix? 和 AirMatrix? 保險絲產(chǎn)品選型指南 946次閱讀
- 為什么電子指南針能指示方向 1629次閱讀
- 使用含快速開關(guān)SiC器件的RC緩沖電路實用解決方案和指南 2531次閱讀
- Command Line Tools for HarmonyOS最新版本簡介 2713次閱讀
- PCB設(shè)計之五個EMI設(shè)計指南 3397次閱讀
- firefly AIO-3288J主板使用指南 1510次閱讀
- iPhone自帶的指南針的妙用 7562次閱讀
- 基于CN3705和LM2596的鋰電池充放電系統(tǒng) 8542次閱讀
- 長虹CN-7機(jī)芯彩電場掃描電路分析 1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機(jī)典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機(jī)編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多