• 0
virk_ps

PMod AD5 to be used in Continuous Conversion mode connected with Arduino Uno

Question

hello !

i am using pmodAD5 connected with arduino uno . i am looking to use the onboard AD7193 in continuous conversion mode to measure the data , but i am unable to get the correct and desirable conversion results. Can anyone help me with this . i hereby attach the respective code and library i am using for my task.

 

AD7193.h

AD7193_Voltage_measure_final.ino

AD7193.cpp

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Hi @virk_ps,

I believe you can use the SetRegisterValue function that @JColvin discussed in this thread here to set the COMMUNICATIONS REGISTER to continuous conversion mode.  Page 22 of the datasheet here will help with what to specifically set the 8 bit register to.

thank you,

Jon

 

 

 

 

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, jpeyron said:

Hi @virk_ps,

I believe you can use the SetRegisterValue function that @JColvin discussed in this thread here to set the COMMUNICATIONS REGISTER to continuous conversion mode.  Page 22 of the datasheet here will help with what to specifically set the 8 bit register to.

thank you,

Jon

 

 

 

 

HI 

thanks for your response. i have already tried setting the value but i am not able to get the correct flow of control for the continuous conversion mode to work correct , as i have single conversion mode in the library attached. can you please give me the flow of control in which i must send the values to those registers to read the data from ADC continuously. please provide a solution as per the reference of attached library and code. thanks  

Share this post


Link to post
Share on other sites
  • 0

Hi @virk_ps,

Can you attach the code that you tried and found that did not work when attempting to set the Communications Register so that we can better help you debug your system? By default, the AD7193 is already in continuous conversion mode.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0
35 minutes ago, JColvin said:

Hi @virk_ps,

Can you attach the code that you tried and found that did not work when attempting to set the Communications Register so that we can better help you debug your system? By default, the AD7193 is already in continuous conversion mode.

Thanks,
JColvin

thanks for the reply , i hereby attach the code , please check the AD7193.cpp , 

AD7193::ReadADCChannel(int channel), AD7193::ReadADCData(void)

AD7193.h

AD7193_Voltage_measure_final.ino

AD7193.cpp

Edited by virk_ps

Share this post


Link to post
Share on other sites
  • 0
20 hours ago, virk_ps said:

thanks for the reply , i hereby attach the code , please check the AD7193.cpp , 

AD7193::ReadADCChannel(int channel), AD7193::ReadADCData(void)

AD7193.h

AD7193_Voltage_measure_final.ino

AD7193.cpp

hi @JColvin

hello sir! have you looked into the code ? can you please suggest me what changes should i make to it in order for it to work properly in continuous conversion mode.

thanks!

Share this post


Link to post
Share on other sites
  • 0

Hi @virk_ps,

I see two thing when looking at you ContinuousConversion function. First i would send 0x01 instead of 1 in the SetRegisterValue function. Secondly, I would use the default setting for that part of the mode register to start with.

 MR9     MR8     MR7    MR6     MR5     MR4    MR3     MR2     MR1    MR0
 FS9(0) FS8(0) FS7(0) FS6(1) FS5(1) FS4(0) FS3(0) FS2(0) FS1(0) FS0(0) 

 

thank you,

Jon

Share this post


Link to post
Share on other sites
  • 0
16 hours ago, jpeyron said:

Hi @virk_ps,

I see two thing when looking at you ContinuousConversion function. First i would send 0x01 instead of 1 in the SetRegisterValue function. Secondly, I would use the default setting for that part of the mode register to start with.

 MR9     MR8     MR7    MR6     MR5     MR4    MR3     MR2     MR1    MR0
 FS9(0) FS8(0) FS7(0) FS6(1) FS5(1) FS4(0) FS3(0) FS2(0) FS1(0) FS0(0) 

 

thank you,

Jon

Hi

thanks for the reply , i have tried this too but i think i am not able to get it working. can you please tell me the exact code i need to write(or changes i need to make in the library) in order for ad7193 to work in continuous mode.

the reason i am looking for it to get working in continuous conversion mode is that in single conversion mode although when i set the FS[0:9] = 1 and removes all the unnecessary delays in the library i am still getting the throughput equal to 470 (it should be 1200 as per datasheet) and i feel that if i get my pmod ad5 working in continuous conversion mode with continuous read  i might get better throughput . please help me clear this confusion .

thanks

Share this post


Link to post
Share on other sites
  • 0

hello @JColvin sir!

can you please provide some assistance regarding this ! I am still unable to get my device working in continuous conversion mode. 

and if possible please tell me what is the difference between single conversion and continuous conversion mode, in terms of application point of view. when one should consider continuous conversion or single conversion mode.?

will it affect the throughput if i use single conversion mode and set FS[0:9] = 1

PLEASE find the code and library attached in the previous posts

thanks

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now