cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

KaGa_3938861
New Contributor II

Hi,

I am trying to create the implementing low-cost battery-powered TDS meter using PSoC following this article. (https://www.electronicsforu.com/electronics-projects/implementing-low-cost-battery-powered-tds-meter... The project in the article was originally created using PSOC 4, I am using PSoC 5LP CY8C5888TPI-097 MCU for the application. I tried to build the project using modules. while placing the components I am getting an error near analog mux portion saying,

Signal "Net_1875" is expected to connect to only one GPIO analog pin but instead it connects to "AMux_1". Please fix the connection.

AMuxHW (Hardware Amux) only supports controlled analog connections to GPIOs. Please make sure all the controlled analog connections are connected to GPIOs

I have attached my sample project can anyone please help me to resolve the issue. If there is any suggestion regarding the circuit, I am always to open to it,

pastedImage_1.png

0 Likes
1 Solution
odissey1
Honored Contributor II

KaGa,

Compared to PSoC4, PSoC5 has additional hardware blocks, which allow to fit entire project into silicon. Attached below an example of using PSoC5 DelSig-ADC for lock-in detection of the small signals from the electrodes, immersed into the water. Modulation is provided by a pair of the opposite driven electrodes. Lock-in detection accomplished using ADC's modulation input. A "tare" button provides an option to zero output. ADC is set to 20-bit operation; its output is Median-filtered for noise reduction. The real-time data is streamed to PC for plotting using freeware s/w SerialPlot.

As a sensor, a USB-2 type of connector with gold-plated contacts can be used, where terminals 1 and 4 are used for excitation, and terminals 2 and 3 used for conductivity measurement (AKA 4-point Kelvin probe).

This project has not been tested for water conductivity! It was originally designed for load-cell bridge measurements. Adjust ADC gain as needed. If successful, please report your finding, it would be interesting to see the result.

/odissey1

P.S. Project uses several custom components, which can be downloaded here:

MedianFilter: sliding window median filter component

SerialPlot: interface to real-time data charts

ButtonSw32: button switch debouncer component

PSoC Annotation Library v1.0

Tutorial adding custom components to the project:

https://www.cypress.com/video-library/PSoC-Software/psoc-creator-tutorial-adding-library-dependency/...

Figure 1. Project schematic. Excitation clock (modulator) and ADC (demodulator).

Lock-in_H2O_02b_ADC.png

Figure 2. Signal conditioning (MedianFilter) and real-time plotting (SerialPlot)

Lock-in_H2O_02b_D.png

Figure 3. External connections to the KIT-059 prototyping kit. SerialPlot is connected through the KitProg (no physical connection to Pin_127 needed).

Lock-in_H2O_02b_C.png

View solution in original post

9 Replies
MotooTanaka
Esteemed Contributor

Hi,

The error message seems to be saying that the input of ADC must be a "Pin".

So I modified your schematic as below and I could generate application.

(Although this may not be what you want)

Or if you'd like to avoid effect from G_output, we may need to add another follower type Opamp

and let it drive only the ADC.

000-connected-via-pin.JPG

moto

odissey1
Honored Contributor II

KaGa,

Compared to PSoC4, PSoC5 has additional hardware blocks, which allow to fit entire project into silicon. Attached below an example of using PSoC5 DelSig-ADC for lock-in detection of the small signals from the electrodes, immersed into the water. Modulation is provided by a pair of the opposite driven electrodes. Lock-in detection accomplished using ADC's modulation input. A "tare" button provides an option to zero output. ADC is set to 20-bit operation; its output is Median-filtered for noise reduction. The real-time data is streamed to PC for plotting using freeware s/w SerialPlot.

As a sensor, a USB-2 type of connector with gold-plated contacts can be used, where terminals 1 and 4 are used for excitation, and terminals 2 and 3 used for conductivity measurement (AKA 4-point Kelvin probe).

This project has not been tested for water conductivity! It was originally designed for load-cell bridge measurements. Adjust ADC gain as needed. If successful, please report your finding, it would be interesting to see the result.

/odissey1

P.S. Project uses several custom components, which can be downloaded here:

MedianFilter: sliding window median filter component

SerialPlot: interface to real-time data charts

ButtonSw32: button switch debouncer component

PSoC Annotation Library v1.0

Tutorial adding custom components to the project:

https://www.cypress.com/video-library/PSoC-Software/psoc-creator-tutorial-adding-library-dependency/...

Figure 1. Project schematic. Excitation clock (modulator) and ADC (demodulator).

Lock-in_H2O_02b_ADC.png

Figure 2. Signal conditioning (MedianFilter) and real-time plotting (SerialPlot)

Lock-in_H2O_02b_D.png

Figure 3. External connections to the KIT-059 prototyping kit. SerialPlot is connected through the KitProg (no physical connection to Pin_127 needed).

Lock-in_H2O_02b_C.png

View solution in original post

KaGa_3938861
New Contributor II

Hi odissey1,

Thank you for your solution, In my project, I am also using the ADC-DelSig for other current related conversion for which I don't need to modulation, Is it possible to disable the modulation from the software side when its not required?

And I am sending the data through USB, I don't need the UART `Chart_1_Plot(ADC_1_result, IIR_filter, Med_filter);` changes, I just want to transfer the response through USB, I am getting lost here to understand how to send the result from here.

Due to the added modulation, the response I was getting earlier all are inverted. Is there any other way to control this?

Any help will be appreciated!!

Thank you,

Karthik

0 Likes
odissey1
Honored Contributor II

Karthik,

You don't have to use UART or SrialPlot component, in the above project it is used only for demo purposes so you can try if tis approach useful at all. It is not useful to develop whole project without testing this part first.

Multiplexing DelSig ADC may require reconfiguring multiple settings (gain, buffer, reference). Can you use SAR ADC for current sending instead?

/odissey1

0 Likes
KaGa_3938861
New Contributor II

Hi Odissey,

I modified the project I got from you for the pin changes I had in my project and I tried to test it with the 3 electrode test setup, I was not able to interpret the result from the data I got from the serial plot, I then switch to include it in my existing project and check it there with the USB,

I have included the little changes I did with the design for the top design of the demo I got from you, Due to confidentiality I could not share you the main project I am working with here,

Thank you,

Karthik

0 Likes
odissey1
Honored Contributor II

Karthik,

I haven't looked into your project yet. I did tested my project with a piece of USB cable with type A male connector as a sensor. I also added a FIR filter to remove oscillating components from modulator (project attached). I can see good response when the sensor is inserted into tap water. There is some drift which may be due to electrode polarization phenomenon. I strongly recommend to test sensor behavior prior to going into full project.

Please note that H2O conductivity can vary in huge range (from single oHms to >20 Mo); ultra clean water is good dielectric and sometimes used in high-voltage capacitor banks. Typ. de-ionized water, which you may get at biochemistry department is ~19Mo. It looses resistance in matter of seconds in a glass cup, and in matter of minutes in a Teflon cap. The issue here is that ADC input impedance is likely <10Mo. Do your research first.

DelSig-ADC allows several independent configurations, you can switch between them for measuring H2O conductivity and current. I would use digital MUX to switch ADC mod input between fixed High and modulated source.

/odissey1

Figure 1. Green line - ADC raw output, Blue line - FIR filter output.

Lock-in_H2O_02c_Plot.png

DelSig-ADC_Config.png

IMG_20200421_085841.jpg

KaGa_3938861
New Contributor II

HI odissey1,

Thank you once again, Is there any way to enable and disable the modulator input for the delta sigma ADC, when i checked it's settings I was not able to find any such, I just wanted confirm whether it is possible from the software side? or anything i can do for this..

Thanks,

Karthik

odissey1
Honored Contributor II

Karthik,

I just added that in the above post. I would use a digital MUX and switch it between modulated input and digital constant ("0" or "1" - check which one gives right phase).

/odissey1

KaGa_3938861
New Contributor II

Hi odissey1,

Thank you, I was able to solve the modulation inversion issue with the help of the digital multiplexer,

Thank you,

Karthik

0 Likes