ADS1256 Official Arduino Library and Custom DAQ Board

Поделиться
HTML-код
  • Опубликовано: 17 дек 2023
  • Check out PCBWay's website for rapid prototyping of printed circuit boards, CNC and 3D printing services and many more! pcbway.com/g/mf33cv
    Check out PCBWay's 6th Project design contest!
    www.pcbway.com/activity/6th-p...
    In this video, I show you two things. One is a new version (v1.2) of my custom DAQ based on the ADS1256 AD converter and Atmega32u4 microcontroller. I slightly compressed the size of the board, added a USB-C connector to it, and added some more obvious text on the silkscreen. Another update is the software itself. The library is now officially in the Arduino’s library catalogue. So, if you search for ADS1256 in your Arduino IDE, you will find my code there.
    Blog: curiousscientist.tech/blog/up...
    Patreon: / curiousscientist
    PCBWay project: www.pcbway.com/project/sharep...
    Parts and tools: curiousscientist.tech/tools
  • НаукаНаука

Комментарии • 42

  • @abraaoreis
    @abraaoreis 6 месяцев назад +2

    Congratulations on making your library official!

    • @CuriousScientist
      @CuriousScientist  6 месяцев назад +1

      Thank you very much! It took some time, it is still not 100% perfect, but it is something.

  • @Phoe
    @Phoe 6 месяцев назад +1

    Thank you very much for your contribution.

    • @CuriousScientist
      @CuriousScientist  6 месяцев назад

      It's my pleasure. This ADS1256 brought me through a lot of fun projects, and there's still a lot more to come.

  • @limitless_penguin5250
    @limitless_penguin5250 4 месяца назад

    Hi, this sort of general inexpensive DAQ is a very useful tool.
    I would like to create this myself but add an LCD so it does not require a PC for basic function.
    This could be a HAT off your SPI header but if printing a PCB, I would like to add it, and a few buttons for control.
    Can you provide a schematic or even better a KiCAD project file if that is what you used?
    Thanks.

    • @CuriousScientist
      @CuriousScientist  4 месяца назад

      Hi! All the pins of the microcontroller are available via the header pins, exactly for the purpose of being able to add more peripherals. The schematics or any other files are not available publicly.

  • @foxtrox2012
    @foxtrox2012 Месяц назад

    Hi sir. It is possible to read two load cells (3000 divisions) simultaneously at approximately 2000 to 3000 sps, without generating problems of slowness of the cenverter with your library and PCB?.

    • @CuriousScientist
      @CuriousScientist  Месяц назад

      Hi! Absolutely. You can read up to 8 load cells with this device. But why don't you just try it?

  • @IIoTBusinessDesigner
    @IIoTBusinessDesigner 5 месяцев назад

    Hi dear, congrats for this project. I need info about this. Is possible to read value from device about 0 mA and 100mA? if possible to send data a board like esp32 to send data over WiFi?

    • @CuriousScientist
      @CuriousScientist  5 месяцев назад +1

      Hi!
      You don't typically read current directly, but you convert it to a voltage value. But sure, it can read it after an appropriate conversion.
      This device already has a built-in microcontroller, but you can surely output the data to another MCU. Simply by UART, for example. So, yeah, it is possible.

    • @IIoTBusinessDesigner
      @IIoTBusinessDesigner 5 месяцев назад

      I would have to use a particular probe where the output is an output between 0 mA and 100 mA and read the output.
      Can I read, for example, 2 inputs at the same time?
      I want to take some samples from PCBWay and test them, but I would like to be sure of the 0mA - 100 mA range reading.
      I see you have two devices, which one is better?
      Thank you.@@CuriousScientist

    • @CuriousScientist
      @CuriousScientist  5 месяцев назад +1

      It can read up to 8 inputs "simultaneously".
      There is "no such thing" as reading current. You have to physically convert the current to a voltage in some way (e.g. shunt resistors or a transformer) and then read the voltage. Then, in the processing software, you can convert the voltage back to whatever unit you need.
      Regarding the boards, the newer version (this) is always better.

  • @user-pv6pt5ld4k
    @user-pv6pt5ld4k 6 месяцев назад

    I'm having trouble getting to work with your new library. I can't get past "A.InitializeADC(); ". It just freezes. I've set reset and sync to 0 in the code as described in your manual. The weird thing is that I can take some of your older code and it works fine. I've triple checked pin assignments and can't find anything wrong. I'm interfacing to an Arduino Nano. Any ideas?

    • @CuriousScientist
      @CuriousScientist  6 месяцев назад

      The code has been tested with Nano and it works. If the initializing fails, then you have probably issues with the wiring, or your ADS module is faulty. But if older code works, then it should be the wiring. Do you use the standard spi pins? Which pin is your drdy pin?

    • @user-pv6pt5ld4k
      @user-pv6pt5ld4k 6 месяцев назад

      I'm using started spi pins 10,11,12,13 and tried using 8 and 2 for DRDY. It is definitely related to the interrupt though. If I change code to while(DRDY_value == true), the code runs, but the output doesn't make sense.@@CuriousScientist

    • @CuriousScientist
      @CuriousScientist  6 месяцев назад

      You must use an interrupt pin, which is pin 2 or 3 on the Nano. Also, you need yo describe the CS pin in the beginning, too. It should work, I know, I tested it.

  • @FeaRFoRDeaD
    @FeaRFoRDeaD 6 месяцев назад

    Thanks. One more help. If u have time. Integrate with esphome.

  • @mohammadghazi1872
    @mohammadghazi1872 4 месяца назад

    Hi
    Your library is really helpful, but i am facing a weird problem. i bought an off the shelf ads1256 module (the blue one) and tested it with an uno with your library and it worked perfectly. After that i tried to make it work on arduino due but since it isnt supported it didnt work, however it showed drate mux and pga values as 255. i thought since the due is not supported thats why it was showing this. I then connected the ads module to my mega2560 but the code wasnt going past the initialize ADC line (i know that because of serial.print). I thought my mega was wonky so i connected the ads to my uno that i used before but i was getting the same results as above (255 for all ). i read the documentation and playedd around with the sync pin. there was no reset pin so i set that to 0 and also tried setting the sync pin to 0 AND tied it to 5v but still not getting any results.
    what am i doing wrong?

    • @CuriousScientist
      @CuriousScientist  4 месяца назад

      Hi! What do the connections look like? Plug-in cables or proper soldering? It could be that you have bad connections. Also, the DRDY pin must be an interrupt pin. This is not an issue with Due since all of its pins could do it, but Mega and Uno are more limited. It could also be that on the way somewhere, you shorted the power pins and fried the ADC board. Hard to say anything without seeing your setup.

    • @mohammadghazi1872
      @mohammadghazi1872 4 месяца назад +1

      i have simple plug-in cables.@@CuriousScientist

    • @mohammadghazi1872
      @mohammadghazi1872 4 месяца назад +1

      i'll review my connections. is there any sure way of knowing that i fried my board?@@CuriousScientist

    • @CuriousScientist
      @CuriousScientist  4 месяца назад

      The only way is to get an answer from the ADC. If you cannot get any data back from it, then it is probably bricked. I hope it is just a lousy connection. Let me know if you are still struggling, we'll figure it out.

    • @mohammadghazi1872
      @mohammadghazi1872 4 месяца назад

      the module seems to be ok. the led turns on and i am getting vref as 2.5v. What do i need to check to make sure my module or my adc is not fried?@@CuriousScientist