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:
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.
Now, I've connected a function generator, sending out +/-2V amplitude of analog sine wave signal, to the waveshare board.
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)
- figure 1: sine wave plot
Here are the questions:
Is this normal phenomenon for this ADC board?
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.)
If above assumption is true, then can the analog input range be changed?
- 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