Notifications
Clear all

Reading analog signal with seeduino xiao

6 Posts
2 Users
0 Likes
2,181 Views
Pilot58
(@pilot58)
Member
Joined: 2 years ago
Posts: 3
Topic starter  

I want to realize a project;
In that; I want to reflect the irregular analog signals that are received from a sensor in the range of 1Mhz - 40Mhz and whose frequency and amplitude values are likely to change momentarily, that is, which are not stable, to be read in the final stage. That is, I want it to appear on the screen at which frequency there is a signal for that moment.

For this I have successfully set up the amplifier and filter circuits. However, I don't know how to correct high frequency mixed signals and reflect them to the screen with arduino. I have some models of arduino. There are nano, mega, uno. I think it may not be enough. Can I do this reading using arduino codes with Seeduino xiao?
Got a friend who can help?


   
Quote
(@davee)
Member
Joined: 3 years ago
Posts: 1689
 

Hi @pilot58,

  Could I suggest you provide some more details of your present system and problem?

For example:

  1. You say "irregular analog signals that are received from a sensor in the range of 1Mhz - 40Mhz", but you do not describe what the sensor is or how it might be connected? Have you connected it to an Arduino (or similar)? What is the specific difficulty you are facing?
  2. Why do you ask "Can I do this reading using arduino codes with Seeduino xiao"? Is there a particular reason for involving a Seeduino xiao?

Best wishes,

Dave


   
ReplyQuote
Pilot58
(@pilot58)
Member
Joined: 2 years ago
Posts: 3
Topic starter  

Hello @davee

Actually, between 1Mhz-40Mhz is my preference a range that I chose within broadband. The sensor actually acts as an antenna. However, too much from the antenna has been customized, differentiated. As an antenna, just as an antenna amplifies a detection in this range by passing it through various filters, this sensor also does this job. The diff has been customized to handle frequencies of much lower amplitude.
If I go back to the subject now; I prefer it because I am closer to Arduino and its codes. xiao's procedural specs look pretty good. I don't know if I can read only the frequencies in the range I specified from the analog pins.
In fact, in my tests, I was able to pass the very, very low amplitude after the sensor through various IC stages and output it as an AC square wave for this band, albeit with different amplitudes. However, this is the result because the signal input was regular in the tests. It is also easy to transfer to the screen as it is. Unfortunately, outside of testing, I predict that the signal passing through the sensor will be erratic. So, first, I need to correct these frequencies, which look like an irregular and somewhat noisy wave, and then have them read as high frequency.
The reason I chose xiao is because I hope it will achieve this second stage because of its features.
problems;
1- making the irregular wave regular,
2- To be able to read the analog signal in the band range I specified.
Can xiao do this?

Respects,

This post was modified 2 years ago 2 times by Pilot58

   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1689
 

Hi @pilot58,

   Sorry, but I still don't understand the mechanism of the sensor you are describing and hence I cannot visualise what type of signal you are trying to measure.

I also haven't played with xiao ... but I have just glanced at the specification.

Accordng to Seeed - https://wiki.seeedstudio.com/Seeeduino-XIAO/#analog-input-and-output

SAMD21's ADC channels also stand apart from the ATmega328: they're equipped with up to 12-bit resolution

Which tells me it is based on the SAMD21, and may resolve ADC measurements up to 12 bits ... but not the sampling rate.

The Atmel | SMART SAM D21 [DATASHEET] I found says:

  • ADC has 12-bit resolution, and is capable of converting up to 350ksps
  • The ADC may be configured for 8-, 10- or 12-bit results, reducing the conversion time.
  • 1/2x to 16x gain

which may be compared (very roughly) to Atmega328 description at https://embedds.com/adc-on-atmega328-part-1/

which says:

AVR ADC module has a 10-bit resolution with +/-2LSB accuracy. It can convert data at up to 76.9kSPS, which goes down when a higher resolution is used.

So it appears that xiao may have a higher performance ADC than the Atmega328, but how that relates to your description which  mentions "1Mhz-40Mhz" is totally confusing to me. Simplistically, signals of 40MHz need a minimum sampling rate of at least 80Msamples/sec (Nyquist), unless you accept/use the aliasing effects.

Others, may be able to help you, but I don't think I can add much without a much clearer idea of what signals you are looking at.

Best wishes,

Dave

 


   
ReplyQuote
Pilot58
(@pilot58)
Member
Joined: 2 years ago
Posts: 3
Topic starter  

Hi @davee,

Thank you for your comments. Also, I apologize for my late reply due to my busy schedule.

I tried to explain the subject in my own way. Since the arguments and definitions I used were within my own framework of knowledge, I used the frequency. I gave the range of 1-40Mhz as an analog signal. As ADC, 12bit resolution and 80Msps sampling rate will be sufficient. In line with your suggestion, I found a product that can perform this translation.

https://www.ti.com/data-converters/adc-circuit/high-speed/products.html?utm_campaign=DonanimHaber&utm_medium=referral&utm_source=DonanimHaber#p157max=80;800&p84=7;24&p300=0.8;40&p1028=1; 8&p989typ=1;14000

The price is high for me. Besides, after I come to my country, I will have to pay tax close to this price. However, I will not be able to see my work in any other way. I guess I'll have to buy it.

Anyway, after purchasing this product, my goal is to have the frequency value of the analog signal amplified by means of ICs from a very low amplitude value to be read digitally on the screen. To do this, I need a microcontroller with a high sampling rate. my intention at the last point; To measure the phase difference between the electric field and magnetic field components of the electromagnetic wave.

Actually, that's what I was wondering about. So, by doing the necessary coding with seeduino xiao, can I bring my planned project to life? I am researching this issue.

deep regards,

Ahmet


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1689
 

Hi @pilot58  Ahmet,

Sorry, I am still struggling with the concepts you are describing.

Unfortunately the website URL you supplied shows a search with no matching parts, so that didn't help very much. A quick change of the search criteria on that TI page demonstrated ADCs which meet or exceed 80 MSPS with 12-bit resolution .. including some with eye-watering prices.. before tax...

But, asuming you identified a specific part,  I am unclear where you need to go from there.

80,000,000 12-bit samples per second is quite difficult to handle ... it is quicker than the types of microcontroller normally fitted in Arduinos etc can normally deal with, and it will need a matching interface. I realise processors fitted in PCs etc. deal with data at higher rates through specialised interfaces like gigabit ethernet and memory, but I haven't any personal knowledge relating to directly connecting peripherals like ADCs with this data rate requirement. My impression is that it is more common to use an FPGA to interface between the ADC and a high speed memory, to record the incoming data for a short period of time. Then the data 'saved' in memory can be analysed by a computer processor, or possibly another part of the FPGA, at a slower rate. Alternatively, sometimes the FPGA can be programmed to process the data in real time. FPGAs for this purpose also tend to be expensive, as well as obviously requiring to be configured.

Of course, you may also need analogue amplifiers and filters connected to the input of your ADC to provide signals of suitable magnitude and power level for measurement.

I should also point out, though I suspect you already know, that the Nyquist requirement, which says the sampling rate must be twice that of the highest frequency being observed, is a theoretical minimum. In practice, it is common to sample at a considerably higher frequency than this theoretical minimum, as if the incoming signal contains changes at a higher frequency, these changes will 'distort' the resulting data by a process known as aliasing. Hence, it is common to use analog filters at the input of the A/D process to remove any signals outside of the frequency range that can be accurately measured. 

Best wishes,

Dave

 


   
ReplyQuote