Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

OFFSET VOLTAGE

DANXIA

Junior Member level 2
Joined
Oct 20, 2020
Messages
20
Helped
0
Reputation
0
Reaction score
0
Trophy points
11
Activity points
166
Hiii, i am using internal adc of STM controller which is giving me offset voltage around 2v.
how can i reduce this error in C.is there specific way or some calculation.
Thanks!!
 

danadakk

Advanced Member level 3
Joined
Mar 26, 2018
Messages
872
Helped
169
Reputation
341
Reaction score
190
Trophy points
43
Activity points
4,122
You getting offset of 2V with input grounded ?

Might be prudent to post your setup and ADC reading code.


Regards, Dana.
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
19,284
Helped
4,272
Reputation
8,547
Reaction score
4,236
Trophy points
1,393
Activity points
127,990
Hi,

Yes, 2V offset makes no sense. Not with useful test conditions.

Show exactly what you have done. HW and SW.

Klaus
 

dick_freebird

Advanced Member level 5
Joined
Mar 4, 2008
Messages
7,199
Helped
2,114
Reputation
4,232
Reaction score
1,963
Trophy points
1,393
Location
USA
Activity points
57,751
Many ADCs are differential. If one input is
grounded or left to float you might see such
misbehaviors.

But that would likelier be fixed with a soldering
iron or a PCB jumper or perhaps even an
internal register bit (like maybe the ADC can be
configured variously, like single ended / differential,
unipolar / bipolar). "Fixing it in C" seems like a
long shot, other than the register-bit possibility.
 

DANXIA

Junior Member level 2
Joined
Oct 20, 2020
Messages
20
Helped
0
Reputation
0
Reaction score
0
Trophy points
11
Activity points
166
Many ADCs are differential. If one input is
grounded or left to float you might see such
misbehaviors.

But that would likelier be fixed with a soldering
iron or a PCB jumper or perhaps even an
internal register bit (like maybe the ADC can be
configured variously, like single ended / differential,
unipolar / bipolar). "Fixing it in C" seems like a
long shot, other than the register-bit possibility.
long short like what exactly steps have to follow???
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
19,284
Helped
4,272
Reputation
8,547
Reaction score
4,236
Trophy points
1,393
Activity points
127,990
long short like what exactly steps have to follow???
Hi,

If you need forum assistance: read the posts above and give the missing informations.
Without knowing what you have done ... we can't help.

For your own work:
Read the datasheets, especially about offset measurement conditions.
Btw: in the datasheet you will find typical and maximum offset specifications. They should be in the millivolts range.
Be sure the microcontroller will be within the maximum limits. If not, then most probably because you did something wrong. But currently you hide a lot of informations.

General information for a C program.
Offset correction is just a subtraction: ADC_corrected = ADC_raw - ADC_offset.
Where ADC_offset may be a constant, a value continously calculated, a value determined on pressing a "zero" button...
We don't know what's your idea...

Klaus
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top