Arduino fast sampling technique for high frequency signal

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • you will learn how to sample analog signal in very fast speed. This technique will help your sampling high frequency signal using Arduino. I remember, Many people made these mistakes when building line following robot.
    The same method I teach here applies to any embedded and microcontroller system.
    See this video to get Hex file from Arduino: • Arduino get Hex file f...
    The Best Free Virtual Com Port Driver to Connect Arduino and Proteus: com0com: • The Best Free Virtual ...
    -Subscribe, Like, Comment & Share -
    I am making these videos out of my hobby. Like, Comment, Share are the only things that will motivate me to make more videos on my experience and don't forget to subscribe to my channel.
    -About Me-
    I am Shuvangkar Das, an electrical engineer but I prefer to introduce myself as a passionate engineer who loves to build things. I have completed my undergraduate from BUET, Bangladesh, and currently doing my Ph.D. in the USA. I have been working with hardware since 2013 and developed many products and completed many projects. Now I am a full-time researcher but I love to share my hardware knowledge with you. That's why making these videos on the weekend and free time.
    -Connect with me-
    LinkedIn : / shuvangkar
    GitHub : github.com/shu...
    Blog : embedschool.com/
    FB Page : / embedschool
    Instagram : / shuvangkar_das
    Facebook : / sshuvo93
    ResearchGate : www.researchga...
    -Tags-
    #arduino #sampling #high_speed

ความคิดเห็น • 32

  • @ChaplainDaveSparks
    @ChaplainDaveSparks 5 หลายเดือนก่อน

    What is the *MAXIMUM* _sampling rate_ for an Arduino? I would like to be able to sample a transient signal with an *8 MICROsecond* rise time. Can an Arduino sample that fast? If not, how about other chipsets, such as *_ESP32?_*

    • @ShuvangkarDas
      @ShuvangkarDas  5 หลายเดือนก่อน

      For Uno, I was able to sample 8Ksps. ESP32 will be able to handle 8us.

  • @adambeedle
    @adambeedle 3 ปีที่แล้ว +1

    Great video

  • @parultaneja9276
    @parultaneja9276 2 ปีที่แล้ว +2

    Thanks for sharing the video. I used H3LIS331DL 3- axis accelerometer sensor which interface with Arduino Uno board. The fast sampling technique you explained here, can I use it for my work.

  • @rajdeep1229
    @rajdeep1229 2 ปีที่แล้ว +2

    What to do when I have to read a high frequency signal and need to store for 4 atleast 4 second.
    Analog buffer does not give sufficient space.

    • @ShuvangkarDas
      @ShuvangkarDas  2 ปีที่แล้ว +1

      It is doable. I have done that one of my projects. I have sampled continuously and saved in SD card at 1KSPS. The idea here is, you have to sample the signal using ADC interrupt. You need a dual buffers. When one buffer will be filled up, store or send that buffer to serial. By that time store data in other buffer. Pointer will come handy in such situation. I forget exactly, Arduino SDfat library has such examples.

    • @rajdeep1229
      @rajdeep1229 2 ปีที่แล้ว +1

      @@ShuvangkarDas thank you for your valuable reply. I will follow these steps. If possible please make one video using that concept also.

  • @jagarapupalavellinaidu1624
    @jagarapupalavellinaidu1624 2 ปีที่แล้ว +1

    Sir will you please tell me the sampling frequency of Arduino Uno
    in this code and also maximum buffer size of Arduino uno

    • @ShuvangkarDas
      @ShuvangkarDas  2 ปีที่แล้ว +1

      It’s a good question. I forget the exact number from datasheet. For 10 bit sampling frequency around 8Khz. Buffer size is limited by Ram size. Arduino Uno had 2KB of Ram and 9% consumed by Arduino libraries so and for storing 1adc value you need 2 bytes. So you can safely store around 800 samples in a single loop.

  • @frederikfarkasch9064
    @frederikfarkasch9064 2 ปีที่แล้ว +1

    Nice Video!
    What software is this? i cant find anything under ISIS Professional
    Thanks! :)

  • @yousefhossam5832
    @yousefhossam5832 ปีที่แล้ว

    جزاك الله خيرا وهداك لدين الإسلام ❤
    Jazak Allah Khayr ❤
    Read about Islam please, I really hope Allah guide you, you're a good man

  • @cachecaver
    @cachecaver 5 หลายเดือนก่อน

    You could also increase the performance between sample bursts by increasing the baud rate to as high as the chip goes. 9600 baud is pretty slow...

  • @junghweekwon6199
    @junghweekwon6199 2 ปีที่แล้ว +1

    thanks for the great video!

  • @hamidrajabi8775
    @hamidrajabi8775 ปีที่แล้ว +1

    helpful!

  • @hoyw25
    @hoyw25 ปีที่แล้ว

    Thank you for your demo, I have the same problem in tinkercad arduino simulation.

  • @p.k.electronics4981
    @p.k.electronics4981 ปีที่แล้ว

    Deference btwn analog read vs external spi adc (Mcp32008) read

    • @ShuvangkarDas
      @ShuvangkarDas  ปีที่แล้ว

      Different interfacing mechanism

  • @bhaskarsah2299
    @bhaskarsah2299 ปีที่แล้ว

    Hi, first of all, it is a very nice video tutorial to get into Arduino. I have just started with Arduino and do not know much about it. Actually, I did exactly the same as you have done and ran the simulation in Poteus, but I didn't get the exact sine wave in serial plotter. I Just got the upper halve of a sine Wave and the lower half was just 0 with a flat line.
    Could you tell me, how to fix that problem and how I can get the full sine wave.
    Thank you very much in advance!!!

    • @ShuvangkarDas
      @ShuvangkarDas  ปีที่แล้ว +1

      Arduino Uno can only read positive voltage, 0-5V. So you have to add DC offset to your signal to see negative half. Thanks.

  • @apurbakumarkar2037
    @apurbakumarkar2037 2 ปีที่แล้ว

    Sir I am working on ac voltage sampling.. how can I get ac voltage sample by pic microcontroller..?

    • @ShuvangkarDas
      @ShuvangkarDas  2 ปีที่แล้ว

      For PIC, you have to write code fot adc and uart module. You will get a lot of resources on that online.

  • @Anglearmyx
    @Anglearmyx 2 ปีที่แล้ว

    If i want to take sampling points every certain times how can i do that

    • @ShuvangkarDas
      @ShuvangkarDas  2 ปีที่แล้ว +1

      You can do that in two ways.
      1. Use ADC interrupt
      2. Use timer interrupt and read adc value inside the timer interrupt( less efficient than method 1)

  • @manfredbogner9799
    @manfredbogner9799 3 หลายเดือนก่อน

    Sehr gut

  • @RobinsonDanieldosSantos
    @RobinsonDanieldosSantos 2 ปีที่แล้ว

    Great example!

  • @rcampici
    @rcampici ปีที่แล้ว

    Cant understand a word ..

    • @yousefhossam5832
      @yousefhossam5832 ปีที่แล้ว

      Well I can! he's a great teacher tbh and if you need help you can ask and I'm sure someone will help including myself if I can