Completely self-contained, microprocessor controlled, highly accurate conductivity measurement system ideal for measuring the ionic content of liquids, water quality analysis, industrial quality control, and chemical analysis.
A carefully selected combination of precision signal conditioning components yields an accuracy of better than 0.3% over a conductivity range of 0.1 μS to 10 S (10 MΩ to 0.1 Ω) with no calibration requirements.
Automatic detection is provided for either 100 Ω or 1000 Ω platinum (Pt) resistance temperature devices (RTDs), allowing the conductivity measurement to be referenced to 25°C.
The system accommodates 2- or 4-wire conductivity cells, and 2-, 3-, or 4-wire RTDs for added accuracy and flexibility.
The following sections will describe the hardware in more detail.
The CN0359 have 5 connectors:
To evaluate the full function of CN0359, you need following equipment:
To reprogram or debug CN0359, you need following extra equipment
The CN0359 can support PT100 and PT1000 type of RTD sensors connected in 2-wire or 3-wire or 4-wire mode. The RTD type and connection mode is automatically detect by software. The RTD temperature sensor on the EVAL-CN0359-EB1Z should be connected to header J3.
The J3 pin map is following:
Pin Number | Signal Name | Pin Description |
Pin 1 | I(+) | Source Excitation Current |
Pin 2 | V(+) | High Voltage Potential Output |
Pin 3 | V(-) | Low Voltage Potential Output |
Pin 4 | I(-) | Sink Excitation Current |
The I signal inject the constant excitation current into RTD, the V signal output will be sample by ADC to measure, the connections for different wire mode please reference following picture.
The CN0359 support both 2-electrode and 4-electrode conductivity sensor. The conductivity sensor connect to J5 of the EVAL-CN0359-EB1Z.
The J5 pin map is following:
Pin Number | Signal Name | Pin Description |
Pin 1 | I(+) | Source Excitation Current |
Pin 2 | V(+) | High Voltage Potential Output |
Pin 3 | V(-) | Low Voltage Potential Output |
Pin 4 | I(-) | Sink Excitation Current |
Pin 5 | GND | Ground |
The connections for different sensor please reference following picture:
2-electrode conductivity sensor connection
4-electrode conductivity sensor connection
The I signal inject the excitation current into conductivity sensor, after the amplifier the I and V signal will be sample by ADC to measure.
The EVAL-CN0359-EB1Z J2 is RS-485 connector.
The J2 pin map is following:
Pin Number | Signal Name | Pin Description |
Pin 1 | B | RS-485 B Signal |
Pin 2 | GND | Ground |
Pin 3 | A | RS-485 A Signal |
The EVAL-CN0359-EB1Z J4 is the JTAG/SWD debug connector. This JTAG/SWD connector is pin compatible with SEGGER J-Link debug probe.
The EVAL-CN0359-EB1Z JTAG/SWD debug interface only support SWD debug mode.
The CN0359 system runs using a 6V DC wall connector (EVAL-CFTL-6V-PWRZ) and will run automatically when the power on. The system has two interfaces to show the conductivity and RTD results: LCD screen and RS-485 interface, and those two interfaces can working simultaneously as well.
The CN0359 has the following opinions which can be set by the user:
The LCD screen can show the measurement results and settings of CN0359, user interactive with CN0359 could be done using the LCD and encoder S1.
The CN0359 LCD display area have 3 status with different meaning:
The CN0359 encoder S1 can be turned clockwise or counterclockwise (no mechanical stop), and can also be used as a push button. The following is the encoder operating meaning:
The CN0359 have a buzzer on PCB, it will beeping when value limit reached or notify asserted.
The CN0359 LCD screen contrast can be set by user, if the LCD contrast value set improper it will cause LCD display murky dull or have crosstalk, in this case user need to recover LCD contrast blindly, the following step can adjust LCD contrast blindly:
The EVAL-CN0359-EB1Z board have a buzzer U2 on it, the buzzer will beeping in the following cases:
The RS-485 interface can connect multi (up to 254) CN0359 in the same RS-485 network, in the following chapter the CN0359 in the RS-485 network will be called client, the PC or any type of RS-485 device who can initiate the communications will be called host. Please notice: because the CN0359 use the single duplex mode RS-485 network, so there only one device can send the data at the same time, otherwise the RS-485 network will involve into the signal conflict, this will cause unpredictable result. In usually the CN0359 RS-485 network have only one host, if you have multi host in the network, please make sure there is no conflict occur in any time.
The in the RS-485 network all the clients will keep in receive status in idle time. The client only send data when it response the right command.
The CN0359 command format is following:
SYNOPSIS
address command [options]
DESCRIPTION
address is the integer value of CN0359 address, range from 1 to 254, the address should be issue before any command to wake corresponding CN0359 to receive command
The CN0359 use char ' ' space character as delimiter, please make sure no ' ' space character lost in command string.
NAME
poll - query setting and result
SYNOPSIS
poll
DESCRIPTION
The poll command use to query the CN0359 for setting measurement result.
This example:
100 poll
will query the address 100 of CN0359 for setting and result
NAME
setvolt - set excitation voltage
SYNOPSIS
setvolt voltage
DESCRIPTION
The setvolt command use to set the excitation voltage, the voltage is peak value of voltage, voltage is float type number range from 0.1 to 10
This example:
100 setvolt 2.5
will set the address 100 of CN0359 excitation voltage to 2.5V
NAME
setfreq - set excitation frequency
SYNOPSIS
setfreq frequency
DESCRIPTION
The setfreq command use to set the excitation frequency, frequency is float type number range from 10 to 100000
This example:
100 setfreq 85.6
will set the address 100 of CN0359 excitation frequency to 85.6Hz
NAME
setk - set cell constant
SYNOPSIS
setk K
DESCRIPTION
The setk command use to set the cell constant, K is float type number range from 0.01 to 100
This example:
100 setk 1.268
will set the address 100 of CN0359 cell constant to 1.268/cm
NAME
setcof - set temperature coefficient
SYNOPSIS
setcof coefficient
DESCRIPTION
The setcof command use to set the temperature coefficient, coefficient is float type number range from -10 to 10
This example:
100 setcof -2.58
will set the address 100 of CN0359 temperature coefficient to -2.58%/°C
NAME
setstm - set track-hold setup time
SYNOPSIS
setstm time
DESCRIPTION
The setstm command use to set the track-hold setup time, the time is the percentage of half excitation period, time is float type number range from 0 to 80
This example:
100 setcof 5.8
will set the address 100 of CN0359 track-hold setup time to 5.8% of half excitation period. If excitation frequency is 100Hz, the half of excitation period will be 5ms, track-hold setup time will be 290us
NAME
sethtm - set track-hold hold time
SYNOPSIS
sethtm time
DESCRIPTION
The sethtm command use to set the track-hold hold time, the time is the percentage of half excitation period, time is float type number range from 0 to 10
This example:
100 sethtm 1.5
will set the address 100 of CN0359 track-hold hold time to 1.5% of half excitation period. If excitation frequency is 1kHz, the half of excitation period will be 500us, track-hold hold time will be 7.5us
In this section we are going to talk about how to program the EVAL-CN0359-EB1Z. We are also going to describe the software and how it works, so that you can change parameters to more closely fit your system requirements.
The EVAL-CN0359-EB1Z evaluation board have a JTAG/SWD debug interface J4, the J4 connector is 0.1 inch pitch 20 pins male header, the header pin map compatible with SEGGER J-Links, to download binary firmware to MCU (ADuCM360) of CN0359 you need a J-Link debug probe or equivalent.
The following step will download the binary firmware to EVAL-CN0359-EB1Z evaluation board:
SEGGER J-Link Commander V6.00i (Compiled Sep 2 2016 19:25:27) DLL version V6.00i, compiled Sep 2 2016 19:25:12 Connecting to J-Link via USB...O.K. Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46 Hardware version: V8.00 S/N: License(s): RDI,FlashDL,FlashBP,JFlash,GDBFull VTref = 3.300V Type "connect" to establish a target connection, '?' for help
J-Link>device ADuCM360
J-Link>if swd Selecting SWD as current target interface.
J-Link>speed 4000 Selecting 4000 kHz as target interface speed
J-Link>erase Target connection not established yet but required for command. Device "ADUCM360" selected. Found SWD-DP with ID 0x2BA01477 AP-IDR: 0x24770011, Type: AHB-AP Found Cortex-M3 r2p0, Little endian. FPUnit: 6 code (BP) slots and 2 literal slots CoreSight components: ROMTbl 0 @ E00FF000 ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 002BB000 SCS ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 002BB002 DWT ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 002BB003 FPB Cortex-M3 identified. Erasing device (ADUCM360)... Comparing flash [100%] Done. Erasing flash [100%] Done. Verifying flash [100%] Done. J-Link: Flash download: Total time needed: 5.630s (Prepare: 0.063s, Compare: 0.000s, Erase: 5.564s, Program: 0.000s, Verify: 0.000s, Restore: 0.003s) Erasing done.
J-Link>loadfile x:/yyy/CN0359/Release/CN0359.bin 0 Downloading file [x:/yyy/CN0359/Release/CN0359.bin]... Comparing flash [100%] Done. Erasing flash [100%] Done. Programming flash [100%] Done. Verifying flash [100%] Done. J-Link: Flash download: Flash programming performed for 1 range (76288 bytes) J-Link: Flash download: Total time needed: 5.945s (Prepare: 0.065s, Compare: 0.529s, Erase: 0.023s, Program: 5.157s, Verify: 0.131s, Restore: 0.038s) O.K.
The CN0359 software source code could be download at: CN0359-DesignSupport, the software binary executable firmware generated by GNU tools under eclipse IDE, debugged by OpenOCD.
The tools for CN0359 development could be downloaded at following list:
Please refer to the handbook of each tools for detail usage instructions.
The CN0359 software divided in to 3 layers, from top to bottom is:
All the devices is abstracted to the file, the application read and write device file to communicate with hardware.
The following chart is the source file structure:
├── applications │ ├── command │ │ ├── cmd_cellconstant.cpp │ │ ├── cmd_coefficient.cpp │ │ ├── cmd_frequency.cpp │ │ ├── cmd_holdtime.cpp │ │ ├── cmd_poll.cpp │ │ ├── cmd_setuptime.cpp │ │ └── cmd_voltage.cpp │ ├── dialog │ │ ├── AddressDialog.cpp │ │ ├── BaudRateDialog.cpp │ │ ├── CellConstantDialog.cpp │ │ ├── CoefficientDialog.cpp │ │ ├── ContrastDialog.cpp │ │ ├── Dialog.cpp │ │ ├── FirmwareDialog.cpp │ │ ├── FrequencyDialog.cpp │ │ ├── HoldTimeDialog.cpp │ │ ├── HomeDialog.cpp │ │ ├── SettingDialog.cpp │ │ ├── SetupTimeDialog.cpp │ │ ├── SplashDialog.cpp │ │ └── VoltageDialog.cpp │ ├── main.cpp │ ├── message.cpp │ └── uart_exec.cpp ├── hal │ ├── devices.cpp │ ├── drivers │ │ ├── ad8253.cpp │ │ ├── adc.cpp │ │ ├── buzzer.cpp │ │ ├── dac.cpp │ │ ├── dma.cpp │ │ ├── encoder.cpp │ │ ├── flash.cpp │ │ ├── lcd.cpp │ │ ├── pwm.cpp │ │ └── uart.cpp │ ├── Exceptions.cpp │ ├── RTD.cpp │ ├── syscalls.cpp │ └── timer.cpp ├── include │ ├── applications │ │ ├── command │ │ │ ├── cmd_cellconstant.h │ │ │ ├── cmd_coefficient.h │ │ │ ├── cmd_frequency.h │ │ │ ├── cmd_holdtime.h │ │ │ ├── cmd_poll.h │ │ │ ├── cmd_setuptime.h │ │ │ └── cmd_voltage.h │ │ ├── dialog │ │ │ ├── AddressDialog.h │ │ │ ├── BaudRateDialog.h │ │ │ ├── CellConstantDialog.h │ │ │ ├── CoefficientDialog.h │ │ │ ├── ContrastDialog.h │ │ │ ├── Dialog.h │ │ │ ├── FirmwareDialog.h │ │ │ ├── FrequencyDialog.h │ │ │ ├── HoldTimeDialog.h │ │ │ ├── HomeDialog.h │ │ │ ├── SettingDialog.h │ │ │ ├── SetupTimeDialog.h │ │ │ ├── SplashDialog.h │ │ │ └── VoltageDialog.h │ │ ├── message.h │ │ └── uart_exec.h │ └── hal │ ├── devices.h │ ├── drivers │ │ ├── ad8253.h │ │ ├── adc.h │ │ ├── buzzer.h │ │ ├── dac.h │ │ ├── dma.h │ │ ├── encoder.h │ │ ├── flash.h │ │ ├── lcd.h │ │ ├── pwm.h │ │ ├── Sampling.h │ │ └── uart.h │ ├── Initial.h │ ├── RTD.h │ └── timer.h └── system ├── cmsis │ ├── startup_ADuCM360.S │ └── system_ADuCM360.c └── include └── cmsis ├── ADuCM360.h ├── arm_common_tables.h ├── arm_const_structs.h ├── arm_math.h ├── cmsis_armcc.h ├── cmsis_armcc_V6.h ├── cmsis_device.h ├── cmsis_gcc.h ├── core_cm0.h ├── core_cm0plus.h ├── core_cm3.h ├── core_cm4.h ├── core_cm7.h ├── core_cmFunc.h ├── core_cmInstr.h ├── core_cmSimd.h ├── core_sc000.h ├── core_sc300.h └── system_ADuCM360.h
EVAL-CN0359-EB1Z Rev A Files
EVAL-CN0359-EB1Z Rev 0 Files
Rev0 to RevA:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !