Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    FiPy + Expansion Board 3.1 - Analog input calibration

    Scheduled Pinned Locked Moved FiPy
    1 Posts 1 Posters 153 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • securigyS Offline
      securigy
      last edited by

      So I wrote the code looking at the examples. My analog output from the sensor connected to P18 of the Expansion Board 3.1 (I did upgraded its firmware before that).

      history = array.array('I')
      adc = ADC(bits=12)
      print("adc: {}".format(adc))
      
      # CALIBRATION
      
      # Output Vref of P22
      adc.vref_to_pin('P22')
      print("set vref to pin 22")
      
      adc.vref(1310)#1100)
      print("set adc ref value to 1310")
      
      # ADC.ATTN_11DB — the full range voltage: 3.3V
      
      adc_c = adc.channel(pin='P18', attn=ADC.ATTN_11DB) 
      print("got adc channel on P18")
      
      while True:
          v = adc_c.voltage()
          history.append(v)
          print("Voltage: {}".format(v))
      

      So when I plug FiPy and measure P22 of the Expansion Board 3.1 I get values 1310 on average...When I run this with device connected I get values like that while sensor is not measuring anything (but this is ECG sensor so is it that noisy/sensitive?)

      At any rate I do not understand all these values and have no idea if they are correct. I am also confused about calibration despite reading all available posts on this forum. Is P22 has 1.1V by default? What else do I need to do besides what I did in my code... I really do not care in what units the results are displayed - I just need them to be accurate relatively to each other so I can get accurate EKG graph...

      Voltage: 2270
      Voltage: 2174
      Voltage: 1601
      Voltage: 1118
      Voltage: 1115
      Voltage: 1484
      Voltage: 2094
      Voltage: 2302
      Voltage: 2044
      Voltage: 1436
      Voltage: 1065
      Voltage: 1175
      Voltage: 1636
      Voltage: 2188
      Voltage: 2261
      Voltage: 1930
      Voltage: 1320
      Voltage: 1052
      

      Also just want to verify that I used voltmeter correctly - touch the ground pin on Expansion Board with black wire from voltmeter and P22 on Expansion Board with red wire from voltmeter. I could not touch the pin directly - the holes on Expansion Board are too small (ok, don't lough), so I used extra wires and sometimes headers to touch them and was getting most of the time reading of 315 mV (using wires). And then with a header and pins got 1310 mV...
      Any ideas?

      1 Reply Last reply Reply Quote 0

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      • 1 / 1
      • First post
        Last post

      Pycom on Twitter

      Pycom