Single ended Delsig ADC producing output of 0.209 V when input is 0

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

cross mob
Anonymous
Not applicable

I am working on PSOC 5LP kit. I am trying to implement an ADC , first I followed this link (https://eewiki.net/display/microcontroller/Utilizing+Analog+Peripherals+on+the+PSOC+5LP). But in this when i am working on Delsig ADC, even though the input is zero i am getting an output of 0.29V. I couldn't understand the reason behind that (but i thought this is because of Vref). SAR ADC is working fine. What is the reason and how to solve it. 

   

Thanks

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

Your ADC is set for continueos conversion, so ADC_StartConvert() should be called only once. Before calling ADC_GetResult16() you need to wait for a conversion ready by using the ADC_IsEndConversion() API, see datasheet.

   

 

   

Bob

View solution in original post

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

Welcome in the forum.

   

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
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi, I attached the archive here.

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

Please follow my suggestions exactly.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

I attached the file by following the procedure you mentioned in the previous comment.

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

The file you provided does not contain a complete project. Try for yourself: Download and expand, then try tp open with Creator

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Sorry for that. I attached a new file. please check this.

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

Your ADC is set for continueos conversion, so ADC_StartConvert() should be called only once. Before calling ADC_GetResult16() you need to wait for a conversion ready by using the ADC_IsEndConversion() API, see datasheet.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi Bob, Thanks for the help for the information. I changed the code as per your suggestion, but now its returning null in UART. I attached image of the output in teraterm. I also attached project, please take a look in to this. Thanks!!

   

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

In System view change the Heap Size to 0x0200

   

In Project -> Build Settings -> Linker  set "use newlib nano float formatting" to True.

   

 

   

Happy coding

   

Bob