KAmod BMP390 (PL): Difference between revisions
From Kamamilabs.com - Wiki
Line 34: | Line 34: | ||
===== Schemat elektryczny ===== | ===== Schemat elektryczny ===== | ||
<center> | <center> | ||
[[File:KAmod-BMP390_sch.png|none| | [[File:KAmod-BMP390_sch.png|none|850px|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 |
|
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:
|
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);
}