Konwerter A/D - ADS 1115

Moderator: bbiernat

pancio
Administrator
Posts: 39
Joined: 18 September 2013, 23:02 - Wed

Konwerter A/D - ADS 1115

Postby pancio » 22 August 2016, 18:44 - Mon

Nadszedł czas... na pomiar wartości rzeczywistych! Dziś chciałbym przedstawić sposób podłączenia układu ADS1115 do naszego CT. Oczywiście wykorzystamy do tego celu naszą ulubiona magistralę I2C. Kilka słów o naszym konwerterze, Przetwornik analogowo-cyfrowy ADS1115 posiada w swojej strukturze 4 niezależne kanały z 16-bitową rozdzielczością. Umożliwia pomiar napięcia i podanie wyniku w postaci cyfrowej. Układ pracuje zarówno z napięciem 3,3V jak i 5V. W omawianym tutorialu będę korzystał z zasilania 3V3, gdyż jest to napięcie bezpośrednio pobierane z CT i nie wymaga żadnych konwersji (to samo się tyczy sygnałów I2C: SCL i SDA)

Na popularnych serwisach aukcyjnych możemy znaleźć kilka gotowych modułów ewaluacyjnych, w zasadzie wybieramy dowolny, koszt ok. 2,5$ z przesyłką pozwala na wypróbowanie kilku z nich :-).
ADS1115.jpg
ADS1115 - różne wersje
Układ w omawianym przykładzie wykrywany jest pod adresem 0x48

Code: Select all

root@ctdev:~/Adafruit_Python_ADS1x15/examples# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
root@ctdev:~/Adafruit_Python_ADS1x15/examples# 
A do obsługi użyć można bibliotek przygotowanych przez kolegów z Adafruit:

Code: Select all

root@ctdev:~# pip install adafruit-ads1x15
lub pobieramy źródła GIT-a i instalujemy:

Code: Select all

root@ctdev:~# git clone https://github.com/adafruit/Adafruit_Python_ADS1x15.git
Cloning into 'Adafruit_Python_ADS1x15'...
remote: Counting objects: 49, done.
remote: Total 49 (delta 0), reused 0 (delta 0), pack-reused 49
Unpacking objects: 100% (49/49), done.
Checking connectivity... done.
root@ctdev:~# 
root@ctdev:~# cd Adafruit_Python_ADS1x15/
root@ctdev:~/Adafruit_Python_ADS1x15# python setup.py install
i to właściwie by było na tyle... przechodzimy do katalogu z przykładami:

Code: Select all

root@ctdev:~/Adafruit_Python_ADS1x15# cd examples/
root@ctdev:~/Adafruit_Python_ADS1x15/examples# 
root@ctdev:~/Adafruit_Python_ADS1x15/examples# ls
comparator.py  continuous.py  differential.py  simpletest.py
root@ctdev:~/Adafruit_Python_ADS1x15/examples#
root@ctdev:~/Adafruit_Python_ADS1x15/examples# python simpletest.py 
Reading ADS1x15 values, press Ctrl-C to quit...
|      0 |      1 |      2 |      3 |
-------------------------------------
|  24820 |    -47 |   4751 |   4721 |
|  24819 |    -47 |   4757 |   4710 |
|  24816 |    -47 |   4770 |   4696 |
|  24823 |    -47 |   4774 |   4693 |
|  24818 |    -47 |   4772 |   4682 |
|  24817 |    -47 |   4765 |   4695 |
|  24819 |    -47 |   4756 |   4716 |
|  24815 |    -48 |   4701 |   4806 |
|  24814 |    -47 |   4696 |   4820 |
|  24816 |    -47 |   4695 |   4828 |
^CTraceback (most recent call last):
  File "simpletest.py", line 53, in <module>
    time.sleep(0.5)
KeyboardInterrupt
root@ctdev:~/Adafruit_Python_ADS1x15/examples
Z powyższego można na szybko wywnioskować:
  • kanał 0 - podpięty na "krótko" do masy układu.
    kanał 1 - podpięty do UCC 3V3
    kanał 2 i 3 wiszą wolne w powietrzu.
Teraz pozostaje wziąć serwisówkę i dokonać kalibracji. Powodzenia!
Attachments
ads1113.pdf
Service Manual - ADS1115
(1.32 MiB) Downloaded 302 times

Who is online

Users browsing this forum: No registered users and 1 guest