Interfacing ADS1115 with raspberry pi in matlab

10 vues (au cours des 30 derniers jours)
Subash chandar
Subash chandar le 14 Août 2014
I am trying to get a signal sampled by ADC interfaced with raspberry pi via Matlab. The code is as follows,
mypi = raspi i2cadc = i2cdev(mypi,'i2c-1','0x48') act_val=0; for i= 1:1:1000 writeRegister(i2cadc,1,hex2dec('C3E3'),'uint16'); %single shot 860fps (Config register) while (value ~= 50147) % wait until the MSB of conversion register has changed) [value]=readRegister(i2cadc,1,'uint16'); end [value1]=readRegister(i2cadc,0,'int16'); %(conversion register) act_val1(i)=value1; act_val(i)=(value1*4.096)/32767.0; end figure;plot(act_val1); figure;plot(act_val);
My input signal is 50 Hz sine, I have configured the ADS115 at 860fps and i am reading the signal from channel A0. The signal which is read from the conversion register is just some random noise rather than the actual signal. I don't know what is the problem with the code, but hardware wise the connections are intact and correct. Kindly let me know the issue with this code.
  1 commentaire
Andres Ruvalcaba
Andres Ruvalcaba le 28 Fév 2020
Modifié(e) : Andres Ruvalcaba le 28 Fév 2020
Did you get this reading correlctly?

Connectez-vous pour commenter.

Réponse acceptée

Murat Belge
Murat Belge le 8 Sep 2014
It is rather late but the issue with the original code is this line:
writeRegister(i2cadc,1,hex2dec('C3E3'),'uint16');
Datasheet for the device says that you need to send the high byte first followed by the low byte for the 16-bit register value. The code above does the opposite. The code should have been:
writeRegister(i2cadc,1, swapbytes(uint16(hex2dec('C3E3'))),'uint16');
Likewise, you need to do a similar transformation when reading the raw ADC conversion value from the conversion register. Look at my ads1115 class for details.
I posted a MATLAB class to read ADC conversion results from the ADS1115 here.
  1 commentaire
neuromechanist
neuromechanist le 28 Jan 2019
Your class for ADS1115 is awesome.
Thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Mohamed BOUTOUBA
Mohamed BOUTOUBA le 23 Nov 2018
Hello everyone,
Please I have to read an analog signal using Raspberry so I bought a ADS1115 but unfortunately I do not have any idea how to use it ; Can anyone sent to me the matlab code or a blocunder Simulink to solve it; PLEASE :/
My email is : btba.med@gmail.com

Catégories

En savoir plus sur Raspberry Pi Hardware dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by