Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Podłączenie pinów SDA, SCL z czujnika INA219 do Leonardo.

PiotrDzz 13 Kwi 2017 12:58 450 7
  • #1 13 Kwi 2017 12:58
    PiotrDzz
    Poziom 10  

    Witam, może zacznę od końca. Czujnika INA219 według mnie działa dobrze, mierzę nim natężenie prądu do 1A i według mnie wszystko działa dobrze, jednak czytając o szynie I2C/TWI znalazłem informacje że piny SDA, SCL powinny być podpięte do rezystora (tutaj znalazłem różne wartości chyba 4,7k oraz 10k ale przyjmuję że 4,7k) podciągającego. Leonardo pull_up ma 20-50k według strony producenta. Dodatkowo czytając posty na forum, inny użytkownicy (oczywiście są to inne urządzenia bądź czujniki) podpinają szyny do VCC:

    1. Link
    2. Link
    3. Link

    W moim przypadku wpiąłem czujnik bez żadnego rezystora do wejść SDA, SCL a drugi czujnik do pinów 2,3 (Wire.h), zasilanie mam z innego źródła, oczywiście 5V, tylko masy mam połączone. Czy mój sposób podłączenia jest poprawny ? Niżej zamieszczam zdjęcia które znalazłem w wyszukiwarce.
    Podłączenie pinów SDA, SCL z czujnika INA219 do Leonardo. Podłączenie pinów SDA, SCL z czujnika INA219 do Leonardo.

  • #2 13 Kwi 2017 13:03
    Piotrus_999
    Poziom 39  

    Nie rozumiem co prawda o co Ci chodzi bo opis jest dość chaotyczny, ale generalnie wewnętrzny pullpu w atmedze jest za słaby dla I2C. Oczywiście będzie to dzialać w większości przypadkach na biurku ale niekoniecznie w innym przypadku. Wartość tych rezystorów to jest kompromis pomiędzy zużyciem prądu (prąd jednak ciągle przez nie płynie), częstotliwością i pojemnościa magistrali. 4.7k jest to taka wartość ze standardu - jeseli są problemy to można go zmniejszać kosztem prędkości

  • #3 13 Kwi 2017 13:27
    PiotrDzz
    Poziom 10  

    No tak czytałem o tym, że wartość rezystora wpływa na prędkość, chodzi mi o to czy mój sposób podłączenia INA219 do Leonardo jest poprawny ? Wrzucam schemat jak mam teraz. Dodatkowo nie konfigurowałem tych wejść trybem "pinMode" czy zrobiłem źle ?
    Podłączenie pinów SDA, SCL z czujnika INA219 do Leonardo.

  • #5 13 Kwi 2017 13:44
    PiotrDzz
    Poziom 10  

    Kilka dni temu próbowałem to zrobić i podpiąłem do dedykowanych wyjść w Arduino za pinem AREF, adres ustawiłem taki aby zgadzał się ze zrobionym mostkiem w czujniku INA219, ale transmisja odbywała się tylko przez jeden czujnik. Spróbuję na pinach 2,3.

    Dodano po 8 [minuty]:

    Dalej mam ten sam problem, gdy podłączę dwa czujniki do jednego wejścia SDA, SCL, pomiaru dokonuje tylko czujnik z adresem (0x41) czyli ten zmostkowany.

    Dodano po 1 [minuty]:

    Dodatkowo gdzieś przeczytałem że bibliotekę "Wire.h" trzeba zainicjować w "void Setup". Czy jest to prawda ?

  • #6 13 Kwi 2017 13:51
    Piotrus_999
    Poziom 39  

    PiotrDzz napisał:
    adres ustawiłem taki aby zgadzał się ze zrobionym mostkiem w czujniku INA219,
    Nie wiem co to jest mostek na czujniku.

    Na swoim obrazku widzisz takie pady A0 i A1, Tam się ustawia adres danego czujnika. Każde urządzenie na magistrali musi mieć swój unikalny adres.

    PiotrDzz napisał:
    "Wire.h" trzeba zainicjować w "void Setup
    W loop raczej byś nie chciał w inicjalizować za każdym wywołaniem.

    Jak sama nazwa wskazuje w arduino setup jest do setupu a loop do pętli głównej.

  • #7 13 Kwi 2017 14:03
    PiotrDzz
    Poziom 10  

    Tak wiem o tym gdzie ustawia się adresy, mam to zrobione. Pisałem już.
    Nie chodzi mi o to gdzie ją inicjalizować bo wiem że robi się to w "Setup" tylko czy trzeba ?
    Skoro mam dobre adresy to gdzie może być przyczyna że na adresie standardowym tj. (0x40) nie ma pomiarów tylko same zera ?

  • #8 21 Kwi 2017 12:51
    PiotrDzz
    Poziom 10  

    Witam , problem rozwiązałem, tzn. może nie rozwiązałem ale teraz wszystko jest dobrze. Nie wiem dlaczego, ale zrobione przeze mnie kable rozdzielające jedno wejście na dwa, nie działały tak jak powinny. Po podłączeniu innymi kablami skaner I2C wykrywa dwa czujniki.
    Dodatkowo nie inicjowałem Wire.h w void Setup,więc wychodzi na to że w moim przypadku nie jest to potrzebne.
    Tego nie jestem pewien, ale wychodzi na to że INA219 nie potrzebuje podciągania do rezystora, gdyż prawdopodobnie jest on wbudowany w płytkę.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME