Actions

KAmod BMP390 (PL): Difference between revisions

From Kamamilabs.com - Wiki

 
(5 intermediate revisions by the same user not shown)
Line 4: Line 4:
KAmod BMP390 zawiera precyzyjny czujnik BMP390 produkcji Bosch Sensortec, który umożliwia pomiar ciśnienia atmosferycznego oraz temperatury. Na płytce modułu zostały wyprowadzone wszystkie kluczowe sygnały miniaturowego sensora BMP390, co ułatwia jego użycie w aplikacjach modułowych. Komunikacja odbywa się poprzez interfejsy SPI lub I2C wyposażone w obwody translacji napięć sterujących.
KAmod BMP390 zawiera precyzyjny czujnik BMP390 produkcji Bosch Sensortec, który umożliwia pomiar ciśnienia atmosferycznego oraz temperatury. Na płytce modułu zostały wyprowadzone wszystkie kluczowe sygnały miniaturowego sensora BMP390, co ułatwia jego użycie w aplikacjach modułowych. Komunikacja odbywa się poprzez interfejsy SPI lub I2C wyposażone w obwody translacji napięć sterujących.
<center>
<center>
[[File:foto.png|none|800px|thumb|center]]
[[File:KAmod-BMP390_3d.png|none|800px|thumb|center]]
</center>
</center>
<br><br>
<br><br>
Line 34: Line 34:
===== Schemat elektryczny =====
===== Schemat elektryczny =====
<center>
<center>
[[File:KAmod-BMP390_sch.png|none|800px|thumb|center]]
[[File:KAmod-BMP390_sch.png|none|850px|thumb|center]]
</center>
</center>
<br><br>
<br><br>
Line 72: Line 72:
Wszystkie sygnały modułu są wyprowadzone na 1-rzędowym złączu J1 o rastrze 2,54 mm. Rozmieszczenie poszczególnych sygnałów zostało opisane na dolnej stronie płytki modułu (Bottom) oraz na rysunku:
Wszystkie sygnały modułu są wyprowadzone na 1-rzędowym złączu J1 o rastrze 2,54 mm. Rozmieszczenie poszczególnych sygnałów zostało opisane na dolnej stronie płytki modułu (Bottom) oraz na rysunku:
<center>
<center>
[[File:foto.png|none|600px|thumb|center]]
[[File:KAmod-BMP390_syg.png|none|600px|thumb|center]]
</center>
</center>
<br><br>
<br><br>
Line 167: Line 167:
===== Zasilanie =====
===== Zasilanie =====
Moduł KAmod BMP390 może być zasilany napięciem stałym o wartości 2...5 V.
Moduł KAmod BMP390 może być zasilany napięciem stałym o wartości 2...5 V.
<br>
<br><br>
Na wyprowadzeniu VDD dostępne jest napięcie z wyjścia stabilizatora napięcia 3,3 V umieszczonego na płytce. Jego wartość wynosi 3,3 V przy zasilaniu dołączonym do wyprowadzenia VIN o wartości 3,5…5 V. Natomiast przy niższym zasilaniu, napięcie na wyjściu VDD będzie miało wartość zbliżoną do napięcia na VIN.
Na wyprowadzeniu VDD dostępne jest napięcie z wyjścia stabilizatora napięcia 3,3 V umieszczonego na płytce. Jego wartość wynosi 3,3 V przy zasilaniu dołączonym do wyprowadzenia VIN o wartości 3,5…5 V. Natomiast przy niższym zasilaniu, napięcie na wyjściu VDD będzie miało wartość zbliżoną do napięcia na VIN.
<center>
<center>
[[File:KAmod-BMP390_pwr.png|none|500px|thumb|center]]
[[File:KAmod-BMP390_pwr.png|none|450px|thumb|center]]
</center>
</center>
<br><br>
<br><br>
Line 178: Line 178:
<br>
<br>
<center>
<center>
[[File:KAmod-BMP390_wym.png|none|600px|thumb|center]]
[[File:KAmod-BMP390_wym.png|none|500px|thumb|center]]
</center>
</center>
<br><br>
<br><br>

Latest revision as of 12:06, 3 January 2025

Opis

KAmod BMP390 - Precyzyjny czujnik ciśnienia i temperatury z interfejsem SPI oraz I2C
KAmod BMP390 zawiera precyzyjny czujnik BMP390 produkcji Bosch Sensortec, który umożliwia pomiar ciśnienia atmosferycznego oraz temperatury. Na płytce modułu zostały wyprowadzone wszystkie kluczowe sygnały miniaturowego sensora BMP390, co ułatwia jego użycie w aplikacjach modułowych. Komunikacja odbywa się poprzez interfejsy SPI lub I2C wyposażone w obwody translacji napięć sterujących.



Podstawowe parametry
  • Zasilanie 2...5 V
  • Zawiera precyzyjny czujnik BMP390 produkcji Bosch Sensortec
  • Zakres pomiaru ciśnienia: 300...1100 hPa
  • Zakres pomiaru temperatury: -40...+85°C
  • Umożliwia pomiar ciśnienia atmosferycznego oraz temperatury
  • Komunikacja odbywa się poprzez interfejsy SPI lub I2C
  • Interfejsy komunikacyjne wyposażone w obwody translacji napięć



Wyposażenie standardowe
Kod Opis
KAmod BMP390
  • Zmontowany i uruchomiony moduł
  • 1 x prosta listwa goldpin 8-pin raster 2,54 mm



Schemat elektryczny



Rozmieszczenie sygnałów na płytce
Oznaczenie Funkcja
VIN Wejście zasilania 2...5 V, biegun dodatni
VDD Wyjście napięcia zasilającego czujnik
GND Masa zasilania – biegun ujemny
SI/SDA Wejście szeregowe danych SPI lub linia danych SDA dla I2C
SC/SCL Sygnał taktujący SPI oraz I2C
SDO Wyjście szeregowe danych SPI lub wybór adresu dla I2C
CSB Sygnał CS - Chip Select dla SPI lub wybór interfejsu I2C jeśli połączony do VDD
INT Opcjonalne wyjście – sygnał konfigurowanego przerwania


Wszystkie sygnały modułu są wyprowadzone na 1-rzędowym złączu J1 o rastrze 2,54 mm. Rozmieszczenie poszczególnych sygnałów zostało opisane na dolnej stronie płytki modułu (Bottom) oraz na rysunku:



Interfejsy komunikacyjne

Czujnik BMP390 udostępnia dwa interfejsy komunikacyjne: SPI lub I2C. Interfejs SPI może działać w konfiguracji 4-przewodowej lub 3-przewodowej. Dokładne informacje dotyczące komunikacji są zawarte w dokumentacji układu BMP390.

Wszystkie sygnały sterujące modułu KAmod BMP390 są wyposażone w obwody translacji napięć i mogą współpracować z systemami, których interfejsy pracują z napięciem o wartości 2...5 V.

Interfejs SPI 4-przewodowy
Oznaczenie Funkcja, sposób podłączenia
VIN Wejście zasilania 2...5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
SI/SDA Wejście danych, podłączyć do MOSI interfejsu SPI uC
SC/SCL Wejście sygnału taktującego, podłączyć do SCLK SPI uC
SDO Wyjście danych, podłączyć do MISO interfejsu SPI uC
CSB Wejście sygnału CS - Chip Select, podłączyć do CE interfejsu SPI uC



Interfejs SPI 3-przewodowy
Oznaczenie Sposób podłączenia
VIN Wejście zasilania 2...5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
SI/SDA Wejście/wyjście danych, podłączyć do SDI/SDO (DI/DO) interfejsu SPI uC
SC/SCL Wejście sygnału taktującego, podłączyć do SCK SPI uC
SDO Niepodłączony
CSB Wejście sygnału CS - Chip Select, podłączyć do CE interfejsu SPI uC



Interfejs I2C
Oznaczenie Sposób podłączenia
VIN Wejście zasilania 2...5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
SI/SDA Wejście/wyjście danych, podłączyć do SDA interfejsu I2C uC
SC/SCL Wejście sygnału taktującego, podłączyć do SCL I2C uC
SDO Wejście, wybór adresu:
podłączony do GND – adres I2C = 0x76
podłączony do VDD – adres I2C = 0x77
CSB Wejście, wybór interfejsu, dla I2C należy podłączyć do VDD


Zasilanie

Moduł KAmod BMP390 może być zasilany napięciem stałym o wartości 2...5 V.

Na wyprowadzeniu VDD dostępne jest napięcie z wyjścia stabilizatora napięcia 3,3 V umieszczonego na płytce. Jego wartość wynosi 3,3 V przy zasilaniu dołączonym do wyprowadzenia VIN o wartości 3,5…5 V. Natomiast przy niższym zasilaniu, napięcie na wyjściu VDD będzie miało wartość zbliżoną do napięcia na VIN.



Wymiary

Wymiary płytki KAmod BMP390 to 24x15 mm. Na płytce znajdują się 2 otwory montażowe o średnicy 3,2 mm.



Program testowy

Program testowy został napisany w środowisku Arduino dla płytki KAmodESP32 POW RS485. Moduł czujnika KAmod BMP390 został podłączony poprzez interfejs SPI.

//example code for KAmodESP32 POW RS485 and KAmod BMP390
//ino board: ESP32-WROOM-DA Module
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP3XX.h>
//LED
#define LED_PIN 2
#define MY_DELAY 2000
//I2C
#define I2C_SDA 33
#define I2C_SCL 32
//SPI
#define SPI_MOSI 13
#define SPI_MISO 12
#define SPI_SCK 14
#define SPI_CS 15
//TwoWire I2CBMP = TwoWire(0);
Adafruit_BMP3XX bmp390;
int status;
int i;
void setup() {
Serial.begin(115200);
Serial.println("\r\r\rHello. KAmod BMP390 test start");
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
//I2CBMP.begin(I2C_SDA, I2C_SCL, 100000);
status = 0;
while (status == 0){
status = bmp390.begin_SPI(SPI_CS, SPI_SCK, SPI_MISO, SPI_MOSI);
if (!status) {
Serial.println(F("Something wrong..."));
delay(3000);
}
}
bmp390.setTemperatureOversampling(BMP3_OVERSAMPLING_8X);
bmp390.setPressureOversampling(BMP3_OVERSAMPLING_4X);
bmp390.setIIRFilterCoeff(BMP3_IIR_FILTER_COEFF_3);
bmp390.setOutputDataRate(BMP3_ODR_50_HZ);
}
void loop() {
i++;
digitalWrite(LED_PIN, (i&1));
if (bmp390.performReading()) {
Serial.print(F("Temperature = "));
Serial.print(bmp390.temperature);
Serial.print(" *C; ");
Serial.print(F("Pressure = "));
Serial.print(bmp390.pressure);
Serial.println(" Pa");
} else {
Serial.println("Failed to reading...");
}
Serial.println();
delay(MY_DELAY);
}



Linki