Sampling Sensor Signals using High Precision 24 bit ADC with Beaglebone (AM335x)

Hey, folks. This weekend, I started with the interfacing of a 24 bit ADC – AD7190 with Beaglebone using the SPI, so that we can sample the analog signals from any sensors, and use that digital data for some purpose.

If you want to use the SPI device, it is necessary to enable the SPI device in the Beaglebone Linux system. If you have no idea on how to do that, then you can check my post here, In which I have clearly described on how to do this.

bbbad7190
Fig 1. Beaglebone (AM335x) + AD7190 Using SPI

Though the AD7190 is a little expensive chip costing about 10$ to 12$, it is very reliable supporting a wide range of input voltages with its inbuilt programmable gain amplifier and can be used for high precision applications. You can view the technical specs and other details of AD7190 here.


Circuit Diagram

ad7190_bbb
Fig 2. AD7190 + Beaglebone Black/Green

Fig 2 shows the circuit diagram for interfacing the AD7190 with the Beaglebone Black/Green that corresponds to the hardware setup shown in Fig 1.


Software Implementation

 

You can download all the supporting files and the SPI library from here. The code is written such that, it eliminates the occurrence of any noise or intermediate spikes, obtaining a noise free and clean data. I have used the SPI library written by Dr Derek Molloy, which you can find it here. The below video shows how to compile the source files using g++ as well as the working demo of the AD7190 ADC.

If any doubts, please feel free to comment below and I’ll try to help you out.

Leave a Reply

Your email address will not be published. Required fields are marked *