Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

BMP280 i arduino Nano, nie działa

arkosw 29 Apr 2019 21:43 1659 18
  • #1
    arkosw
    Level 12  
    Witam.Mam czujnik BMP280 i klona arduino nano, wgrywam przykładowe biblioteki z internetu, adafruit_bmp280 itd. i za każdym razem serial monitor wyświetla błąd
    "BMP280 test
    Could not find a valid BMP280 sensor, check wiring!
    "
    Podłączenie to- VCC do 3v3
    GND do GND
    SCL do A5
    SDA do A4
    CSB - Nie podłączone
    SDD -Nie podłączone

    programy które wgrywałem
    Code: c
    Log in, to see the code

    Code: c
    Log in, to see the code

    Code: c
    Log in, to see the code



    Dlaczego ciagle wywala błędy ?
    Czy to może być spowodowane tym, że pierwsze podłączenie zrobiłem na 5V ? ( nie doczytałem, że czujnik jest zasilany 3,3v)
    BMP280 i arduino Nano, nie działa01_314a248...7_800x.jpg Download (13.98 kB)
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • #2
    khoam
    Level 42  
    arkosw wrote:
    Czy to może być spowodowane tym, że pierwsze podłączenie zrobiłem na 5V ? ( nie doczytałem, że czujnik jest zasilany 3,3v)

    Moduł czujnika, którym dysponujesz powinien być zasilany z 3V3 i dodatkowo linie SCL/SDA powinny być podłączone do Nano przez konwertery poziomów 5V/3V3.

    BMP280 i arduino Nano, nie działa

    Można nabyć gotowe moduły takich konwerterów (4 lub 8 linii).
  • #3
    kaczakat
    Level 34  
    Adafruit sprzedaje swój sprzęt i do nich tworzy biblioteki dema by ułatwić start swoim klientom. Jeśli moduły można zidentyfikować - np. mają numerki zapisane w pamięci to może nie zadziałać. Miałem tak z pamięciami i paroma czujnikami. Może masz swój moduł po prostu na innym adresie I2C, uruchom skaner I2C, sprawdź czy czujnik w ogóle jest na magistrali, jeśli tak to zweryfikuj pod jakim adresem szuka go biblioteka i czy jest to zgodne.
  • #4
    arkosw
    Level 12  
    khoam, według internetu i filmow ktore znalzłem wszystko działa bez konwertera, dziwne, dodatkowo zauważyłem, że mój ma inne oznaczenia- "HW-611 E/P 280"

    kaczakat
    po wgraniu scannera i odpaleniu wyskoczyły 0x76, a po wypięciu błąd, więc chyba nie uszkodziłem czujnika 5voltami ? można się jakoś upewnić ?

    Ale skoro działa to powinnien też pokazywać dane bo biblioteki od adafruit również mają ustawione 0x76 a ciaglę jest to samo
    "REBOOT

    BMP280 test

    Could not find a valid BMP280 sensor, check wiring!
    "

    I ostatnie co zauważyłem, to to, że gdy wgrywam program to muszę odpiąć czujnik, bo wywala mi port(com4) is busy
  • #5
    khoam
    Level 42  
    arkosw wrote:
    według internetu i filmow ktore znalzłem wszystko działa bez konwertera, dziwne, dodatkowo zauważyłem, że mój ma inne oznaczenia- "HW-611 E/P 280"

    Są różne wersję tych modułów, wśród nich takie, które posiadają już konwertery poziomów dla I2C. Ten moduł, który pokazałeś na obrazku nie ma takich konwerterów i wymaga zasilania 3V3. Nie sugeruj się kolorami płytek, a bardziej tym co na nich jest lub raczej nie ma :)

    Dodano po 1 [minuty]:

    arkosw wrote:
    gdy wgrywam program to muszę odpiąć czujnik, bo wywala mi port(com4) is busy

    Od zasilania 3V3 w Nano?
  • #6
    arkosw
    Level 12  
    Czyli musze wykonać sobie taki konwenter i ma działać ? :)

    I nadal nie mam pewności czy go nie uszkodziłem, ale skoro podaje swoj adres to chyba jest okej ?


    Edit:
    tak pod 3v3 mam podpięty czujnik


    Kolejny Edit:

    Teraz to nie wystąpiło, dziwne normalnie się wgrało
  • #7
    kaczakat
    Level 34  
    No i tak powstają testy odpornościowe nieudokumentowanej tolerancji na 5V urządzeń 3.3V. Jednak na początek zasil go z 3.3V, piny I2C są podciągane wtedy przez rezystory z tego napięcia, zwykle Arduino nie ma z tym problemu, sprawdź jeszcze raz skanerem czy wszystko działa. No i poszukaj innej biblioteki.
    W Adafruit ewentualnie zakomentuj część odpowiedzialną za sprawdzanie ID:
    Code: c
    Log in, to see the code

    Może jednak układ pamięci w Twoim chipie jest inny, ta biblioteka i tak nie zadziała, ale możesz testować.
  • Helpful post
    #8
    khoam
    Level 42  
    W pliku Adafruit_BMP280.h są poniższe ustawienia, tu też można sobie poeksperymentować ;)
    Code: c
    Log in, to see the code

    Taka drobna uwaga: jeżeli pin SDO w module czujnika jest podpięty do masy, to adres czujnika jest 0x76. Jeżeli pin ten podpięty jest do zasilania 3V3, to wtedy adres jest równy 0x77. Normalnie, gdy pin SDO nie jest nigdzie podpięty, to jest adres 0x76 (w module jest rezystor łączący SDO z masą).

    Link
  • #9
    arkosw
    Level 12  
    tak, dokładnie, jest rezystor, niestety ale w pliku Adafruit_bmp280.h mam dobrze ustawiony tj 0x76 i nie działa


    Jako że lubie sobie życie utrudniać i coś czasem zepsuć na własne życzenie postanowiłem zaryzykować i podpiąłem SDO do +3.3v, odpalam serial monitor iii
    tym mnie zaskoczyło arduino
    Code: c
    Log in, to see the code


    Tym razem się udało, dziękuje bardzo :)

    Teraz musze jakoś go skonfigurować,
  • Helpful post
    #10
    khoam
    Level 42  
    arkosw wrote:
    Jako że lubie sobie życie utrudniać

    Zakup sobie ten konwerter poziomów, chociaż jeden :)
  • #11
    arkosw
    Level 12  
    A to nie może tak działać ? :D
    sam sobie taki wyprodukuję tylko skoczę do sklepu z elektroniką :)

    Tylko czemu arduino pokazuje mi 26,5 st Celsjusza , na pewno tak dużo nie ma
  • #13
    arkosw
    Level 12  
    zasilane 5v było około godziny temu i przez krótką chwilę, teraz ciągłe jest 3,3v
    Dziwnę z tą temp wgrałem już 2 różne programy i stale taka sama temp 26,5 st, termometr działa bo gdy przyłożę palec to temp. rośnie,

    A co do wysokościomierza to chyba jest okej, ustawiłem 1011 (jestem z Jasła, nie moge znaleźć nigdzie cisnienia npm u mnie , znalazłem Rzeszów Jasionka -1010, ale wysokość sie troche nie zgadzała, zmieniłem na 1011 ) i wyskakuje 246, według map mój dom znajduje się na wys. 239m a że jestem jakieś 6m nad ziemią to arduino wskazuje 245,5-246,4m także według mnie jest okej
  • Helpful post
    #14
    kaczakat
    Level 34  
    Wszystkie mapy pogodowe podają ciśnienie w odniesieniu do poziomu morza, wystarczy uwzględnić swoją wysokość. A co do wskazań to wszystkie czujniki kłamią, sztuką jest wiedzieć ile i czy to jest powtarzalne, wtedy można skalibrować.
  • #15
    arkosw
    Level 12  
    Co do temp. to podepnę arduino pod laptopa, albo najlepiej wyświetlacz i baterię, termometr w rękę i będe porównywał :)

    A właśnie co do tego ciśnienia, to arduino pokazuje ciśnienie jakie jest tu i teraz , a te na internecie są duużo wyższe tj arduino- 981,5 internet 1009/1010
    znalazłem kalkulator wklepujemy temp wys n.p.m. i ciśnienie i wychodzi mi 1009,4hPa czyli się zgadza, ale na które zwracać uwagę, o to jest pytanie :D ale to już nie jest pytanie dotyczące tego tematu, dziękuję panowie za pomoc myślę, że temat zakończony bo pomiary są :)
  • #16
    khoam
    Level 42  
    arkosw wrote:
    Co do temp. to podepnę arduino pod laptopa, albo najlepiej wyświetlacz i baterię, termometr w rękę i będe porównywał

    Tak, kalibracja temperatury jest konieczna tym bardziej, że na pewno masz oryginalny czujnik Boscha ;)
  • #17
    kaczakat
    Level 34  
    To zależy do czego używasz barometru, jak w obiekcie latającym to będziesz tego używał do wysokości, jak w domu jako stacja pogodowa to raczej bym przeliczał na ciśnienie normalne n.p.m., tak by zerkając raz na swoje Arduino, raz na zapowiadaną pogodę nie dostać przegrzania zwojów od przeliczania. Kalibrując DS trzeba pamiętać, że woda u mnie wrze w temperaturze 98oC przy takim użyciu barometru i odczycie 1013hPa i nie należy się temu dziwić. W okolicy laptopa też mam wskazania wyższe o 2 - 3 stopnie na DS (czujnik 40cm od laptopa, przed 32" monitorem, jeśli czujnik jest oddalony od płytki i miejsca gdzie siedzę wskazują mniej więcej to co wzorcowane czujniki. Zawsze można użyć takiego DS jako punktu odniesienia. I też nie są to raczej oryginały, bo kupowane po 2PLN z wysyłką z CHRL.
  • #18
    arkosw
    Level 12  
    Właśnie chciałbym aby arduino mi to przeliczało na takie ciśnienie jak pokazują w pogodzie, ale nie mogę znaleźć wzoru, tzn są ale tak skomplikowane że mózg mi paruje ( uwzględniające nawet położenie geograficzne)

    Dzisiaj mam cisnienie o 0,4hPa niższe :)

    No i jestem tego świadom, że to nie ori, nie mam lupy ale widać, że tam nie ma znaczka boscha tylko jakieś cyferki i jest ich za mało, żeby pisało bmp280, no ale dałem za czujnik 8zł więc czego się spodziewać

    Teraz zrobiłem "zeza" i widze tam 100 i niżej jakieś 2 cyferki :crazyeyes: