Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ 5, 3 & 1 Forum Discussions

Anonymous
Not applicable

Hi, 

   

I am new to PSoc programming with a little idea as how to programm this device. My aim is to design a data acqusition system which should have two channels to acquire voltage and current. For this i am planning to use delta sigma ADC with a MUX. Variation in voltage and current should be displayed in LCD. Finally data acquired can be transgered to PC using UART. I have attached my project file for for your reference as how i want the system. Please, guide me to the programming to acchive the desired result.

   

 

   

Thanks & regards,

   

VIkas Kumar

0 Likes
1 Solution
HeLi_263931
Level 8
Level 8
100 likes received 50 likes received 25 likes received

Well, read the data sheets for the ADC, MUX, LCD and UART components first. I think there is also a sample program with the -030 kit that reads a voltage via ADC and shows it on the LCD. You can use this as s starting point.

View solution in original post

0 Likes
17 Replies
HeLi_263931
Level 8
Level 8
100 likes received 50 likes received 25 likes received

Well, read the data sheets for the ADC, MUX, LCD and UART components first. I think there is also a sample program with the -030 kit that reads a voltage via ADC and shows it on the LCD. You can use this as s starting point.

0 Likes
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Are you wanting to use the PSOC 3 or can you use a PSOC 5lp or  a PSOC 4 device.  I have a program that reads 6 voltages on a PSOC 4 and one of the channels could be changed to an Amp meter. 

0 Likes
Anonymous
Not applicable

For me as such there is no constraint on psoc version. As per your  suggestion I can certainly go for psoc 5lp or psoc 4. The project that u are referring in which you dealt with 6 voltage sources, can be very useful for me. Thanks

0 Likes
Anonymous
Not applicable

Hi Bob 

   

Can you help me in developing a 32 channel Data acquisition system ???

   

I am a new PSoC developer.

   

Regards

   

Tanvi  🙂

0 Likes
Anonymous
Not applicable

Hi 

   

Please can you send me ur project file .I am trying to do  for 32 channel 

0 Likes
Anonymous
Not applicable

Hii ,

   

For above DAS i have written the codes (attached). But i am not getting how to include all the pins (as shown in the image ofattached project file ). Please guide me.

   

 

   

Thanks .

   

vikas

   

   

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Can you please post your complete project, so that we all can have a look at all of your settings? To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Hii Bob,

   

As per your suggestion i have attached the complete project file. please find the same.

   

Thanks & Regards,

   

Vikas

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

OK, hli's advices fit best.

   

some corrections:

   

There is a function CyDelay(uint32 ms) do not use a delay in an interrupt handler.

   

 

   

Bob

Anonymous
Not applicable

How to soft reset the hardware. means kit should soft reset every time i press a key on the front pannel.

   

 

   

thanks

   

vikas

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Use the CySoftwareReset() API. You find this and a few others in the System Reference Guides from Creator Help menu.

   

 

   

Bob

Anonymous
Not applicable

Thank you all for all the responses till now, now i can acquire voltage and current from my DAS hardware. But the sampling rate what i could achive is about 1000 samples/sec. I want a sampling rate of 50000 samples/sec or more. For that i am thinking of transferring the data to register bank first and then call it to acquire the data in PC. My question is how to configure registers/memory banks to first write data to it and then call it back.

   

Thanks

   

Vikas

0 Likes
Anonymous
Not applicable

I Tried to write ADC data to memory and call it back. But this has not solved the problem. Means now also my sampling rate is as low as 1000 samples/ sec. I have attached my project file please suggest modification so that more data samples in shorter duration can be obtained.

   

 

   

Thanks,

   

Vikas

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

First: you have multiple channels feeding your ADC which requires a conversion mode of "Multi-Sample". That will reduce the conversion rate.

   

You did not tell how many samples you need, but fastest way to store ADC data as 16 bit items in memory is using DMA. There are example projects for PSoC3, check those.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Hii Bob, 

   

For me anything above 40k samples / sec. or more will serve my purpose. I will try to use DMA and will take care of multiple channels, but my question is even though i am reading the data from memory, my sampling rate is extremely  low .

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Please attach current project

   

 

   

Bob

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

There is a CySoftwareReset() API. See System Reference Guide from Creator Help menu.

   

 

   

Bob

0 Likes