2

I'm using this Raspberry Pi High-Precision AD/DA Expansion Board from waveshare. I have some questions regarding its ADC (model name: ADS1256) unable to give out negative value. Specifically, only giving out negative values around -0.1V. Here are details of my problem.

Current situation:

  1. Using the user manual provided with the board, I have managed to read analog input data from on-board potentiometer and LDR (converted to digital data) using their sample codes. In order to use the on-board potentiometer and LDR, I've connected jumpers to the appropriate positions as metioned in the manual.

  2. Now, I've connected a function generator, sending out +/-2V amplitude of analog sine wave signal, to the waveshare board.

  3. By modifying the sample code provided, I've printed out the converted data and ploted them, which is the figure shown below (y-axis = voltage, x-axis = number of data)

enter image description here

  • figure 1: sine wave plot

Here are the questions:

  1. Is this normal phenomenon for this ADC board?

  2. If so, am I correct to assume that this ADC can only receive analog inputs above zero? (I've looked through the ADS1256 datasheet and studied a bit, but had hard time understanding the input range found in the document, shown below.)

  3. If above assumption is true, then can the analog input range be changed?

enter image description here enter image description here

  • figure 2: datasheet screenshots, page 2 and page 3

Any kind of help or comment would be greatly appreciated. Thanks!

Product page: https://www.waveshare.com/wiki/High-Precision_AD/DA_Board

Manual : https://www.waveshare.com/w/upload/b/b7/High-Precision-AD-DA-User-Manual.pdf

Sample codes : https://www.waveshare.com/wiki/File:High-Precision-AD-DA-Board-Code.7z

ADC datasheet : https://www.waveshare.com/wiki/File:ADS1256.pdf

  • This question is unrelated to the Pi. Unless you power the ADC with ± voltages it is unlikely to support negative input. Frankly from the product page you wouldn't know what it does. The extract from the datasheet you quoted indicates you are exceeding the maximum input voltage. – Milliways Mar 27 at 6:02
  • @Milliways Thanks for the response. I'll try to find a way to power the ADC with +/- voltage. Also I'll redirect this question in the signal processing part. – Jihun Kim Mar 27 at 6:30
  • This is unlikely to work. You need an ADC designed to separate Analog input and digital output. There are established techniques to offset input DC - but you need to ask on an EE site (and be clearer about what you are trying to achieve). – Milliways Mar 27 at 6:34
  • @Milliways Alright. I've heard of offsetting input DC before. Can this be done by manipulating with registers of the ADC? Meanwhile, I'm not quite sure what you mean by EE site. Could be provide me with a link or what the EE stands for? – Jihun Kim Mar 27 at 6:40
1

am I correct to assume that this ADC can only receive analog inputs above zero?

Well, the datasheet says the analog input range is + - (Vref * 2) / PGA. In other words, if you set Vref = +2.5V, PGA = 1, then the input range is +-5V.

Though you can input +-5V, what is measured depends on Vrefp and Vrefn, as described in the overview.

enter image description here

enter image description here

  • Thanks. With your comment, I'll look into this matter in depth. – Jihun Kim Mar 27 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.