Actions

KA-Nucleo-Weather: Difference between revisions

From Kamamilabs.com - Wiki

No edit summary
Tag: Manual revert
 
(36 intermediate revisions by 4 users not shown)
Line 1: Line 1:
====== Opis ======
__jzpdf__
[https://kamami.pl/kamod-kamami/333318-ka-nucleo-weather-ekspander-shield-z-sensorami-srodowiskowymi-cisnienia-wilgotnosci-temperatury-natezenia-swiatla.html KA-Nucleo-Weather] to ekspander funkcjonalny dla NUCLEO i Arduino z zestawem sensorów środowiskowych: ciśnienia, wilgotności, temperatury i natężenia światła oraz 5-pozycyjnym joystickiem i LED RGB.
====== Description  ======
 
[https://kamami.pl/kamod-kamami/333318-ka-nucleo-weather-ekspander-shield-z-sensorami-srodowiskowymi-cisnienia-wilgotnosci-temperatury-natezenia-swiatla.html KA-Nucleo-Weather] is an functional expander for NUCLEO and Arduino boards with set of environmental sensors: pressure, humidity, temperature and light intensity sensors as well as 5-way joystick and RGB LED.  
<center>
<center>
[[Plik:KA-Nucleo-Weather_modul.png|none|400px|thumb|center]]
[[File:KA-Nucleo-Weather_modul.png|none|400px|thumb|center]]
</center>
</center>


===== Podstawowe cechy i parametry =====
===== Basic features and parameters  =====
*Zgodność z systemami NUCLEO i Arduino
*Compatibility with NUCLEO and Arduino systems
* Wbudowany sensor ciśnienia MEMS (LPS331):
*Embedded MEMS pressure sensor (LPS331):
**Zakres pomiarowy 260 do 1260 mbar
**Measurement range 260 to 1260mbar
**Częstotliwość pomiarów (ODR) 1 Hz do 25 Hz
**Measurement output data rate (ODR) 1 Hz to 25 Hz
**Rozdzielczość ADC 24 bity
**ADC resolution 16 bits
**Interfejs SPI/I2C (użyty I2C)
**Interface: SPI/I2C (used I2C)
*Wbudowany sensor wilgotności MEMS (HTS221)
*Embedded MEMS humidity sensor (HTS221):
**Zakres pomiarowy 0 to 100% (wilgotność względna)
**Measurement range 0 to 100% (relative humidity)
**Częstotliwość pomiarów (ODR) 1 do 12,5 Hz
**Measurement output data rate (ODR) 1 Hz to 12,5 Hz
**Rozdzielczość ADC 16 bitów
**ADC resolution 16 bits
**Interfejs SPI/I2C (użyty I2C)
**Interface: SPI/I2C (used I2C)
*Wbudowany cyfrowy sensor temperatury (STLM75):
*Embedded digital temperature sensor (STLM75):
**Zakres pomiarowy –55°C do +125°C
**Measurement range –55°C to +125°C
**Czas konwersji ADC <150 ms
**ADC conversion time <150ms
**Zintegrowany programowany termostat
**Integrated programmable thermostat
**Rozdzielczość ADC 9 bitów
**ADC resolution 9 bits
**Interfejs SMbus/I2C
**Interface: SMbus/I2C
*Wbudowany cyfrowy sensor natężenia oświetlenia ALS (TSL25721):
*Embedded digital light intensity sensor ALS (TSL25721):
**Charakterystyka czułości zbliżona od oka ludzkiego
**Approximates human eye response
**Zintegrowane wzmacniacze analogowe o programowanym wzmocnieniu
** Integrated analog amplifiers with programmable gain
**Dwa kanały pomiarowe
**Two measurement canals
**Zintegrowany programowany komparator
**Integrated programmable comparators
**Dynamika pomiaru 45000000:1
** Measurement dynamic range 45,000,000:1
**Maksymalne natężenie światła 60000 lux
**Maximum light intensity to 60000 lux
**Rozdzielczość ADC 16 bitów
**ADC resolution 16 bits
*Wbudowana LED RGB
*Embedded RGB LED
*Wbudowany joystick 5-stykowy
*Embedded 5-way joystick
*Przedłużone złącza szpilkowe
*Extended pins connector


===== Wyposażenie standardowe =====
 
===== Standard equipment =====
<center>
<center>
{| class="wikitable"  style="width: 1000px;"
{| class="wikitable"  style="width: 1000px;"
|-
|-
! style="text-align: center;"|Kod
! style="text-align: center;"|Code
! style="text-align: center;"|Opis
! style="text-align: center;"|Description
|-
|-
| style="text-align: center;"|<b>KA-Nucleo-Weather</b>
| style="text-align: center;"|<b>KA-Nucleo-Weather</b>
| style="text-align: center;"|
| style="text-align: center;"|
*Zmontowany i uruchomiony moduł
*Assembled and launched module
|}
|}
</center>
</center>


===== Schemat elektryczny =====
===== Electrical schematics  =====
<center>
<center>
[[Plik:KA-Nucleo-Weather_schemat.png|none|800px|thumb|center]]
[[File:KA-Nucleo-Weather_schemat.png|none|800px|thumb|center]]
</center>
</center>


===== Widok płytki =====
===== Board view =====
<br>
<center>
<center>
[[Plik:KA-Nucleo-Weather_obrys_PCB.png|none|300px|thumb|center]]
[[File:KA-Nucleo-Weather_obrys_PCB.png|none|200px|thumb|center]]
</center>
</center>


===== Czujnik temperatury =====
===== Temperature sensor  =====
W ekspanderze zastosowano półprzewodnikowy czujnik temperatury STLM75 z wyjściem cyfrowym. Magistralę
In expander was used semiconductor temperature sensor STLM75 with digital output. Communication interface of temperature sensor is connected to common (for all sensors) I2C bus. Communication lines of I2C interface are pulled up to power supply by 4,7 kΩ resistors. Connection method of temperature sensor to microcontroller is showing on schematic. Output of temperature sensor is connected to line A2, which is input canal of ADC_IN4 (PA4 GPIO pin of STM32).
komunikacyjna czujnika temperatury dołączono do wspólnej (dla wszystkich sensorów) magistrali I2C. Linie komunikacyjne
magistrali I2C są podciągnięte do plusa zasilania za pomocą rezystorów 4,7kΩ.
Sposób dołączenia sensora temperatury do mikrokontrolera pokazano na schemacie.
Wyjście czujnika temperatury dołączono do linii A2, która spełnia rolę kanału wejściowego ADC_IN4 (linia GPIO PA4 w STM32)


<center>
<center>
[[Plik:KA-Nucleo-Weather_obrys_schemat_temp_sens.png|none|500px|thumb|center]]
[[File:KA-Nucleo-Weather_obrys_schemat_temp_sens.png|none|500px|thumb|center]]
</center>
</center>
<br>
<center>
<center>
{| class="wikitable"  style="width: 1000px;"
{| class="wikitable"  style="width: 1000px;"
|-
|-
! style="text-align: center;"|Linia STLM75
! style="text-align: center;"|Line STLM75
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|Line name
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|Interfejs STM32
! style="text-align: center;"|STM32 interface
! style="text-align: center;"|Uwagi
! style="text-align: center;"|Comments


|-
|-
Line 83: Line 83:
| style="text-align: center;"|PB8
| style="text-align: center;"|PB8
| rowspan="2" style="text-align: center;"|I2C1
| rowspan="2" style="text-align: center;"|I2C1
| rowspan="3" style="text-align: center;"|Linie podciągnięte do plusa zasilania rezystorami 4,7k
| rowspan="3" style="text-align: center;"|Lines was pulled up to power supply lines by 4,7 kΩ resistors


|-
|-
Line 98: Line 98:
|}
|}
<br>
<br>
Zwora JP1 umożliwia wybranie adresu bazowego układu STLM75 zgodnie z tabelą poniżej:
Jumper JP1 make possible choosing base address of STLM75 chip according to table below:  


{| class="wikitable"  style="width: 500px;"
{| class="wikitable"  style="width: 500px;"
|-
|-
! style="text-align: center;"|Zwarte styki JP1
! style="text-align: center;"|Closed pins JP1  
! style="text-align: center;"|A0
! style="text-align: center;"|A0
! style="text-align: center;"|Adres bazowy I2C
! style="text-align: center;"|I2C base address
|-
|-
| style="text-align: center;"|1-2
| style="text-align: center;"|1-2
Line 116: Line 116:
</center>
</center>


===== Czujnik oświetlenia (ALS) =====
===== Light intensity sensor (ALS) =====
Ekspander wyposażono w cyfrowy czujnik natężenia światła w otoczeniu TSL25721, wyposażony w interfejs komunikacyjny
Expander is equipped with digital sensor of light intensity in environment TSL25721. Sensor has I2C interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of TSL25721 sensor to microcontroller is showing on schematic.  
I2C.
Magistralę komunikacyjną tego czujnika dołączono do wspólnej (dla wszystkich sensorów) magistrali I2C. Linie
komunikacyjne magistrali I2C są podciągnięte do plusa zasilania za pomocą rezystorów 4,7kΩ.
Sposób dołączenia sensora TSL25721 do mikrokontrolera pokazano na schemacie.


<center>
<center>
[[Plik:KA-Nucleo-Weather_obrys_schemat_ALS_sens.png|none|500px|thumb|center]]
[[File:KA-Nucleo-Weather_obrys_schemat_ALS_sens.png|none|500px|thumb|center]]
</center>
</center>
<br>
<center>
<center>
{| class="wikitable"  style="width: 1000px;"
{| class="wikitable"  style="width: 1000px;"
|-
|-
! style="text-align: center;"|Linia TSL25721
! style="text-align: center;"|Line TSL25721
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|Line name
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|Interfejs STM32
! style="text-align: center;"|STM32 interface
! style="text-align: center;"|Uwagi
! style="text-align: center;"|Comments


|-
|-
Line 140: Line 137:
| style="text-align: center;"|PB8
| style="text-align: center;"|PB8
| rowspan="2" style="text-align: center;"|I2C1
| rowspan="2" style="text-align: center;"|I2C1
| rowspan="2" style="text-align: center;"|Linie podciągnięte do plusa zasilania rezystorami 4,7k
| rowspan="2" style="text-align: center;"|Lines was pulled up to power supply lines by 4,7 kΩ resistors


|-
|-
Line 157: Line 154:
</center>
</center>
<br>
<br>
Sensor TSL25721 jest ulokowany na magistrali I2C pod adresami bazowymi 72h/73h.
TSL25721 sensor is placed in I2C bus under base address 72h/73h.
 
===== Humidity sensor  =====
Expander is equipped with digital humidity sensor HTS221 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of HTS221 sensor to microcontroller is showing on schematic.
<br>
<center>
[[File:KA-Nucleo-Weather_obrys_schemat_humi_sens.png|none|500px|thumb|center]]
</center>
<br>
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Line HTS221
! style="text-align: center;"|Line name
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|STM32 interface
! style="text-align: center;"|Comments
 
|-
| style="text-align: center;"|SCL
| style="text-align: center;"|D15
| style="text-align: center;"|PB8
| rowspan="2" style="text-align: center;"|I2C1
| rowspan="2" style="text-align: center;"| Lines was pulled up to power supply lines by 4,7 kΩ resistors
 
|-
| style="text-align: center;"|SDA
| style="text-align: center;"|D14
| style="text-align: center;"|PA9
 
|-
| style="text-align: center;"|DRDY
| style="text-align: center;"|D8
| style="text-align: center;"|PA9
| style="text-align: center;"|-
| style="text-align: center;"|-
 
|}
</center>
<br>
HTS221 sensor is placed in I2C bus under base address BEh/BFh.
 
===== Pressure sensor =====
Expander is equipped with digital pressure sensor LPS331 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Interrupt output (INT1 and INT2) of sensor LPS331 can work in push-pull mode and don't need pulling up to power supply. Connection method of LPS331 sensor to microcontroller is showing on schematic.
 
<center>
[[File:KA-Nucleo-Weather_schemat_press_sens.png|none|350px|thumb|center]]
</center>
<br>
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Line LPS331
! style="text-align: center;"|Line name
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|STM32 interface
! style="text-align: center;"|Comments
 
|-
| style="text-align: center;"|SCL
| style="text-align: center;"|D15
| style="text-align: center;"|PB8
| rowspan="2" style="text-align: center;"|I2C1
| rowspan="2" style="text-align: center;"| Lines was pulled up to power supply lines by 4,7 kΩ resistors
 
|-
| style="text-align: center;"|SDA
| style="text-align: center;"|D14
| style="text-align: center;"|PA9
 
|-
| style="text-align: center;"|INT1
| style="text-align: center;"|A1
| style="text-align: center;"|PA1
| style="text-align: center;"|-
| rowspan="2" style="text-align: center;"|Outputs should be configured as push-pull
 
|-
| style="text-align: center;"|INT2
| style="text-align: center;"|A2
| style="text-align: center;"|PA4
| style="text-align: center;"|-
|}
</center>
<br>
LPS331 sensor is placed in I2C bus under base address BAh/BBh.


===== LED-RGB =====
===== LED-RGB =====
Wbudowane diody LED-RGB są sterowane bezpośrednio z linii GPIO mikrokontrolera zgodnie z tabelą poniżej.
On-board LED-RGB are controlled direct with GPIO pins of microcontroller (according to table below). Diodes are on, if state of control line has logical state „0”.  
Diody świecą jeżeli na linii sterującej jest stan logiczny „0”.)
<center>
<center>
{| class="wikitable"  style="width: 1000px;"
{| class="wikitable"  style="width: 1000px;"
|-
|-
! style="text-align: center;"|Dioda LED
! style="text-align: center;"|LED
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|Line name
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|Uwagi
! style="text-align: center;"|Comments
 
|-
|-
| style="text-align: center;"|Red
| style="text-align: center;"|Red
| style="text-align: center;"|D12
| style="text-align: center;"|D12
| style="text-align: center;"|PA6
| style="text-align: center;"|PA6
| rowspan="3" style="text-align: center;"|LED świecą, gdy stan na liniach GPIO jest "0"
| rowspan="3" style="text-align: center;"|LEDs are on, if state on GPIO pins is „0”
 
|-
|-
| style="text-align: center;"|Green
| style="text-align: center;"|Green
| style="text-align: center;"|D11
| style="text-align: center;"|D11
| style="text-align: center;"|PA7
| style="text-align: center;"|PA7
|-
|-
| style="text-align: center;"|Blue
| style="text-align: center;"|Blue
| style="text-align: center;"|A3
| style="text-align: center;"|A3
| style="text-align: center;"|PB0
| style="text-align: center;"|PB0
|}
|}
</center>
</center>
<center>
<center>
[[Plik:KA-Nucleo-UniExp_LED_RGB.png|none|600px|thumb|center]]
[[File:KA-Nucleo-Weather_obrys_schemat_LED_RGB.png|none|500px|thumb|center]]
</center>
</center>


===== Joystick =====
===== Joystick =====
Wbudowany w ekspander 5-stykowy joystick jest dołączony bezpośrednio do linii GPIO mikrokontrolera zgodnie
Embedded 5-way tact switch is connected direct to GPIO pins of microcontroller (according to table below). Each of pins are pulled up to power supply by using 10 kΩ resistor.
z tabelą poniżej. Każda linia jest podciągnięta do plusa zasilania za pomocą rezystora 10 kΩ.
<center>
<center>
{| class="wikitable"  style="width: 1000px;"
{| class="wikitable"  style="width: 1000px;"
|-
|-
! style="text-align: center;"|Kierunek joysticka
! style="text-align: center;"|Joystick direction
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|Line name
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|Uwagi
! style="text-align: center;"|Comments


|-
|-
| style="text-align: center;"|Góra
| style="text-align: center;"|Up
| style="text-align: center;"|D4
| style="text-align: center;"|D4
| style="text-align: center;"|PB5
| style="text-align: center;"|PB5
| rowspan="5" style="text-align: center;"|Linie podciągnięte do plusa zasilania rezystorami 10 kΩ  
| rowspan="5" style="text-align: center;"|Lines pulled up to power supply by 10 kΩ resistor.


|-
|-
| style="text-align: center;"|Dół
| style="text-align: center;"|Down
| style="text-align: center;"|D10
| style="text-align: center;"|D10
| style="text-align: center;"|PB6
| style="text-align: center;"|PB6


|-
|-
| style="text-align: center;"|Lewo
| style="text-align: center;"|Left
| style="text-align: center;"|D3
| style="text-align: center;"|D3
| style="text-align: center;"|PB3
| style="text-align: center;"|PB3


|-
|-
| style="text-align: center;"|Prawo
| style="text-align: center;"|Right
| style="text-align: center;"|D5
| style="text-align: center;"|D5
| style="text-align: center;"|PB4
| style="text-align: center;"|PB4
Line 233: Line 308:
</center>
</center>
<center>
<center>
[[Plik:KA-Nucleo-UniExp_joystick.png|none|600px|thumb|center]]
[[File:KA-Nucleo-Weather_obrys_schemat_joy.png|none|500px|thumb|center]]
</center>
</center>


===== Mapa przypisań linii GPIO =====
===== Signal connections map of GPIO pins =====
<center>
<center>
[[Plik:KA-Nucleo-UniExp mapa GPIO.png|none|1000px|thumb|center]]
[[File:KA-Nucleo-Weather_broszura.png|none|800px|thumb|center]]
</center>
</center>
[[Kategoria:Moduły peryferyjne KAmod (Kamami)]]
[[Kategoria:Zawartość]]

Latest revision as of 16:09, 1 November 2024

Description

KA-Nucleo-Weather is an functional expander for NUCLEO and Arduino boards with set of environmental sensors: pressure, humidity, temperature and light intensity sensors as well as 5-way joystick and RGB LED.

Basic features and parameters
  • Compatibility with NUCLEO and Arduino systems
  • Embedded MEMS pressure sensor (LPS331):
    • Measurement range 260 to 1260mbar
    • Measurement output data rate (ODR) 1 Hz to 25 Hz
    • ADC resolution 16 bits
    • Interface: SPI/I2C (used I2C)
  • Embedded MEMS humidity sensor (HTS221):
    • Measurement range 0 to 100% (relative humidity)
    • Measurement output data rate (ODR) 1 Hz to 12,5 Hz
    • ADC resolution 16 bits
    • Interface: SPI/I2C (used I2C)
  • Embedded digital temperature sensor (STLM75):
    • Measurement range –55°C to +125°C
    • ADC conversion time <150ms
    • Integrated programmable thermostat
    • ADC resolution 9 bits
    • Interface: SMbus/I2C
  • Embedded digital light intensity sensor ALS (TSL25721):
    • Approximates human eye response
    • Integrated analog amplifiers with programmable gain
    • Two measurement canals
    • Integrated programmable comparators
    • Measurement dynamic range 45,000,000:1
    • Maximum light intensity to 60000 lux
    • ADC resolution 16 bits
  • Embedded RGB LED
  • Embedded 5-way joystick
  • Extended pins connector


Standard equipment
Code Description
KA-Nucleo-Weather
  • Assembled and launched module
Electrical schematics
Board view


Temperature sensor

In expander was used semiconductor temperature sensor STLM75 with digital output. Communication interface of temperature sensor is connected to common (for all sensors) I2C bus. Communication lines of I2C interface are pulled up to power supply by 4,7 kΩ resistors. Connection method of temperature sensor to microcontroller is showing on schematic. Output of temperature sensor is connected to line A2, which is input canal of ADC_IN4 (PA4 GPIO pin of STM32).


Line STLM75 Line name GPIO in STM32 STM32 interface Comments
SCL D15 PB8 I2C1 Lines was pulled up to power supply lines by 4,7 kΩ resistors
SDA D14 PA9
OS/INT D7 PA8 -


Jumper JP1 make possible choosing base address of STLM75 chip according to table below:

Closed pins JP1 A0 I2C base address
1-2 1 90h/91h
2-3 0 92h/93h
Light intensity sensor (ALS)

Expander is equipped with digital sensor of light intensity in environment TSL25721. Sensor has I2C interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of TSL25721 sensor to microcontroller is showing on schematic.


Line TSL25721 Line name GPIO in STM32 STM32 interface Comments
SCL D15 PB8 I2C1 Lines was pulled up to power supply lines by 4,7 kΩ resistors
SDA D14 PA9
INT A0 PA0 - -


TSL25721 sensor is placed in I2C bus under base address 72h/73h.

Humidity sensor

Expander is equipped with digital humidity sensor HTS221 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of HTS221 sensor to microcontroller is showing on schematic.


Line HTS221 Line name GPIO in STM32 STM32 interface Comments
SCL D15 PB8 I2C1 Lines was pulled up to power supply lines by 4,7 kΩ resistors
SDA D14 PA9
DRDY D8 PA9 - -


HTS221 sensor is placed in I2C bus under base address BEh/BFh.

Pressure sensor

Expander is equipped with digital pressure sensor LPS331 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Interrupt output (INT1 and INT2) of sensor LPS331 can work in push-pull mode and don't need pulling up to power supply. Connection method of LPS331 sensor to microcontroller is showing on schematic.


Line LPS331 Line name GPIO in STM32 STM32 interface Comments
SCL D15 PB8 I2C1 Lines was pulled up to power supply lines by 4,7 kΩ resistors
SDA D14 PA9
INT1 A1 PA1 - Outputs should be configured as push-pull
INT2 A2 PA4 -


LPS331 sensor is placed in I2C bus under base address BAh/BBh.

LED-RGB

On-board LED-RGB are controlled direct with GPIO pins of microcontroller (according to table below). Diodes are on, if state of control line has logical state „0”.

LED Line name GPIO in STM32 Comments
Red D12 PA6 LEDs are on, if state on GPIO pins is „0”
Green D11 PA7
Blue A3 PB0
Joystick

Embedded 5-way tact switch is connected direct to GPIO pins of microcontroller (according to table below). Each of pins are pulled up to power supply by using 10 kΩ resistor.

Joystick direction Line name GPIO in STM32 Comments
Up D4 PB5 Lines pulled up to power supply by 10 kΩ resistor.
Down D10 PB6
Left D3 PB3
Right D5 PB4
OK D6 PB10
Signal connections map of GPIO pins