ATNEL tech-forum https://forum.atnel.pl/ |
|
BMP280 https://forum.atnel.pl/topic20688.html |
Strona 1 z 1 |
Autor: | mczarny [ 5 maja 2018, o 22:06 ] |
Tytuł: | BMP280 |
Koledzy ponieważ dostałem sporo zapytań na PW jak również na mail-a odnośnie obsługi czujnika ciśnienia wrzucam funkcje do inicjalizacji i odczytu danych z czujnika. Na początek trzeba odczytać parametry kalibracyjne zaszyte w pamięci przez producenta oraz ustawić rejestr pomiaru temperatury i ciśnienia ctrl_meas Parametry kalibracyjne trzeba sobie zapisać gdzieś w tablicy lub strukturze. Niestety tego nie pokażę bo wykorzystałem sposób z YB z biblioteki do BMP180. Funkcja odczytująca dane parametrów język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. funkcje odczytu i obliczania temperatury język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i ciśnienia język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
powodzenia |
Autor: | anonimowy [ 6 maja 2018, o 12:12 ] |
Tytuł: | Re: BMP280 |
Hej. Kod zapewne niejednemu się przyda, dobrze że postanowiłeś się nim podzielić z innymi. Z swojej strony mogę polecić czujnik BME280, od BMP różni się dodatkowo pomiarem wilgotności. U mnie pracuje ich kilka, na razie niedługo, trochę ponad rok i i odpukać, żaden jeszcze nie odmówił współpracy Czujniki te są na tyle dobrze udokumentowane, że w nocie katalogowej jest nawet przykładowy kod do obsługi w C Zastanawia mnie tylko Twoja funkcja BMP280_temp, której ostatnia linijka wygląda następująco: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. gdzie pdf podaje: |
Autor: | mczarny [ 6 maja 2018, o 13:54 ] |
Tytuł: | Re: BMP280 |
anonimowy napisał(a): Zastanawia mnie tylko Twoja funkcja BMP280_temp, której ostatnia linijka wygląda następująco: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. gdzie pdf podaje: Ha i słusznie - już wyjaśniam. Mam dwa takie czujniki i o ile w pierwszym porównanie temperatury z DS10B20 jest ok. różnica to 0,1*C to drugi czujnik przekłamywał na plus o ok.0,6*C i dlatego tak zostało a ja nie zwróciłem uwagi. Powinno być oczywiście język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. poprawiłem - dzięki za zwrócenie uwagi |
Autor: | majster [ 6 maja 2018, o 14:33 ] |
Tytuł: | Re: BMP280 |
Dodatkowo w nocie katalogowej jest zapis że czujnik może podawać altitude, ja jestem właśnie na tym etapie aby dokonywać obliczeń i uzyskiwać wysokość na której znajduje się dany czujnik. |
Autor: | mczarny [ 6 maja 2018, o 16:03 ] |
Tytuł: | Re: BMP280 |
anonimowy napisał(a): majster napisał(a): Dodatkowo w nocie katalogowej jest zapis że czujnik może podawać altitude, ja jestem właśnie na tym etapie aby dokonywać obliczeń i uzyskiwać wysokość na której znajduje się dany czujnik. Popraw mnie jeśli się mylę, ale wydaje mi się, że do tego potrzebne jest ciśnienie odniesienia, będące najczęściej ciśnieniem na poziomie morza. No właśnie majster coś mi się nie zgadzało, że na podstawie tylko jednego parametru możemy wyliczyć wysokość npm. Ale może masz na to sposób - czekamy |
Autor: | anonimowy [ 6 maja 2018, o 19:33 ] |
Tytuł: | Re: BMP280 |
majster napisał(a): nie jest to problemem gdyż ciśnienie na poziomie morza można łatwo przeliczyć na podstawie odczytanego ciśnienia. To prawda, czujniki mierzą ciśnienie względne, ale aby przeliczyć je na ciśnienie zredukowane do poziomu morza, potrzebujemy znać wysokość na jakiej znajduje się czujnik. Moim zdaniem jedna wartość jako odniesienie jest konieczna. I nieważne czy będzie to aktualne ciśnienie na poziomie morza, czy wartość ciśnienia bezwzględnego odczytana z czujnika znajdującego się na znanej nam wysokości. Wtedy wystarczy tylko odpowiednio przekształcić wzór. majster napisał(a): Właśnie rozpoczynam starcie z altitude zobaczymy jak to wyjdzie. Czekam na informacje o postępach |
Autor: | majster [ 6 maja 2018, o 20:21 ] |
Tytuł: | Re: BMP280 |
Aktualnie stanąłem na wzorze język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. 3428 czyli 34 metry 28 cm obniżając lub podwyższając czujnik wartości płynnie się zmieniają, różnicy nie mierzyłem z miarą. Wartość 1024 to aktualna wartość ciśnienia do poziomu morza. Dla mnie i tak ten wzór jest ułomny i trzeba wymyślić coś dokładniejszego. Temp: 26.48 *C Pressure: 1021 hPa Altitude: 3430 Temp: 26.42 *C Pressure: 1021 hPa Altitude: 3429 Temp: 26.37 *C Pressure: 1021 hPa Altitude: 3428 +/- różnica jednego metra Akurat miejsce w którym leży czujnik to faktycznie 34 metry nad poziomem morza. |
Autor: | mczarny [ 7 maja 2018, o 06:32 ] |
Tytuł: | Re: BMP280 |
No tak Tomku tak jak rozmawialiśmy trzeba znać ciśnienie na poziomie morza. Z drugiej strony przekształcając wzór i znając wysokość na której jest czujnik możemy obliczyć ciśnienie na poziomie morza. |
Autor: | Slawek5791 [ 9 maja 2018, o 17:36 ] |
Tytuł: | Re: BMP280 |
Cześć. Też trochę męczyłem się z BMP280. Aby można było porównywać ciśnienia w różnych miejscach, należy zredukować je do poziomu morza. Dołączam funkcję obliczenia ciśnienia zredukowanego do poziomu morza, czyli takiego jak przedstawiają w serwisach pogodowych. temp - aktualna temperatura w miejscu pomiaru p_bezw - ciśnienie odczytane z BMP280 skompensowane temperaturowo altitude - aktualna wysokość npm w miejscu pomiaru bmp.pressure_redu - wartość ciśnienia zredukowanego do poziomu morza czyli to co widzimy np. w pogodynce. |
Autor: | jez2000 [ 15 sie 2018, o 15:55 ] |
Tytuł: | Re: BMP280 |
Cześć. Próbuję uruchomić ten czujnik, z pomocą kodu stworzonego przez mczarny coś tam powoli się udaje ruszyć Nie wiem w czym jest problem ale temperaturę mam dziwnie za wysoką - jakieś 27 stopni i ciśnienie jakby zbyt niskie ok 986 hPa. |
Autor: | mczarny [ 15 sie 2018, o 17:27 ] |
Tytuł: | Re: BMP280 |
Jak możesz to pokaż odczytane wartości parametrów kalibracyjnych dig_T1 do dig_P9 |
Autor: | jez2000 [ 15 sie 2018, o 17:41 ] |
Tytuł: | Re: BMP280 |
język html4strict Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. może robię gdzieś błąd w zamienie uint_32t na stringa i wyswietlanie na LCD. Mam tak: |
Autor: | mczarny [ 15 sie 2018, o 19:30 ] |
Tytuł: | Re: BMP280 |
trochę się różnią od tych z noty Co do stringa to ja mam |
Autor: | jez2000 [ 15 sie 2018, o 19:58 ] |
Tytuł: | Re: BMP280 |
Może źle je wysyłam przez uart. korzystam ze zwykłej funkcji c BB put_int(value, 10); Ciągle mi coś chodzi po glowie że mam jakiś problem ze zmianą tych typów na stringa. Jednak źle je wysyłałem na UART. Takie są prawidłowe wartości rejestrów T1: 28363 T2: 26585 T3: 50 P1: 36354 P2: -10386 P3: 3024 P4: 8737 P5: -215 P6: -7 P7: 15500 P8: -14600 P9: 6000 UT: 538072 UP: 336044 t_fine: 136748 T: 2671 P: 33134 |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |