Actions

KA-Nucleo-UniExp (PL): Difference between revisions

From Kamamilabs.com - Wiki

Utworzono nową stronę "__jzpdf__ ====== Description ====== [https://kamami.pl/kamod-kamami/234527-ka-nucleo-uniexp-ekspander-shield-zgodny-z-arduinonucleo-z-bluetooth-20edr-mems-lis35d-i-czujn..."
 
No edit summary
Tag: Manual revert
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__jzpdf__
__jzpdf__
====== Description ======
====== Opis ======
[https://kamami.pl/kamod-kamami/234527-ka-nucleo-uniexp-ekspander-shield-zgodny-z-arduinonucleo-z-bluetooth-20edr-mems-lis35d-i-czujnikiem-temperatury.html KA-Nucleo-UniExp] is a multifunctional expander (shield) for NUCLEO and Arduino boards. It is equipped with Bluetooth 2.0+EDR interface (HC-05), MEMS 3DoF LIS35, LED-RGB, joystick and analog temperature sensor STLM20, which was developed and produced by KAMAMI company.  
[https://kamami.pl/kamod-kamami/234527-ka-nucleo-uniexp-ekspander-shield-zgodny-z-arduinonucleo-z-bluetooth-20edr-mems-lis35d-i-czujnikiem-temperatury.html KA-Nucleo-UniExp] to wielofunkcyjny ekspander (shield) dla NUCLEO i Arduino wyposażony w interfejs Bluetooth 2.0+EDR (HC-05), MEMS 3DoF LIS35, LED-RGB, joystickiem i analogowym czujnikiem temperatury STLM20 opracowany i produkowany przez firmę KAMAMI.


<center>
<center>
[[Plik:KA-Nucleo-UniExp_modul.jpg|none|400px|thumb|center]]
[[File:KA-Nucleo-UniExp_modul.jpg|none|400px|thumb|center]]
</center>
</center>
===== Podstawowe cechy i parametry =====
*Zgodność z systemami NUCLEO i Arduino
*Wbudowany moduł Bluetooth v2.0+EDR o parametrach:
**Profil SPP (Serial Port Protocol)
**Prędkość transmisji asynchronicznej do 2,1 Mb/s
**Prędkość transmisji synchronicznej do 1 Mb/s
*Wbudowany akcelerometr MEMS 3D z I2C
**Sprzętowy selektor adresu na magistrali
**Zakres pomiarowy +/-2g lub +/-8gMaksymalna częstotliwość pomiarów 100/400 Hz
*Wbudowany czujnik temperatury z wyjściem analogowym (-40…+85°C)
*Wbudowana LED RGB
*Wbudowany joystick 5-stykowy
*Przedłużone złącza szpilkowe


===== Basic features and parameters =====
===== Wyposażenie standardowe =====
*Compatibility with NUCLEO and Arduino systems
*Embedded Bluetooth v2.0+EDR module with parameters:
**SPP Profile (Serial Port Protocol)
**Asynchronous transmission speed up to 2,1 Mb/s
**Synchronous transmission speed up to 1 Mb/s
*Embedded MEMS 3D accelerometer with I2C interface:
** Hardware address selector on bus
**Measurement range +/-2g or +/-8g
**Maximum measurement data rate 100/400 Hz
*On-board temperature sensor with analog output (-40…+85°C)
*On-board LED RGB
*On-board 5-way joystick
*Extended pins connector
 
===== Standard equipment=====
<center>
<center>
{| class="wikitable" style="width: 1000px;"
{| class="wikitable" style="width: 1000px;"
|-
|-
! style="text-align: center;"| Code
! style="text-align: center;"|Kod
! style="text-align: center;"| Description
! style="text-align: center;"|Opis
|-
|-
| style="text-align: center;"|<b>KA-Nucleo-UniExp</b>
| style="text-align: center;"|<b>KA-Nucleo-UniExp</b>
| style="text-align: center;"|
| style="text-align: center;"|
* Assembled and launched module
*Zmontowany i uruchomiony moduł
|}
|}
</center>
</center>


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


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


===== Temperature sensor =====
===== Czujnik temperatury =====
In expander was applied a semiconductor temperature sensor STLM20 with analog output. Output voltage level is changing according to the equation:
W ekspanderze zastosowano półprzewodnikowy czujnik temperatury STLM20 z wyjściem analogowym. Napięcie na wyjściu czujnika zmienia się zgodnie ze wzorem:
<center>
<center>
{| class="wikitable" style="width: 300px;"
{| class="wikitable" style="width: 300px;"
|-
|-
! style="text-align: center;"|Vo = (–11,69mV)/°C × T + 1,8663V [V]
! style="text-align: center;"|Vo = (–11,69mV)/°C × T + 1,8663V [V]
|}
|}
</center>
</center>
where:
gdzie:
*T - temperature measured by sensor
*T - temperatura zmierzona przez czujnik
*Vo – voltage on sensor output
*Vo – napięcie na wyjściu czujnika


Measured temperature has then value:
Mierzona temperatura ma więc wartość:
<center>
<center>
{| class="wikitable" style="width: 300px;"
{| class="wikitable" style="width: 300px;"
|-
|-
! style="text-align: center;"|T=(1,8663−Vo)/0,01169 [°C]
! style="text-align: center;"|T=(1,8663−Vo)/0,01169 [°C]
|}
|}
</center>
</center>
Output of temperature sensor is connected to A2 line, which is used as input canal of ADC_IN4 (GPIO PA4 pin in STM32).
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-UniExp_czujnik_temp.png|none|500px|thumb|center]]
[[File:KA-Nucleo-UniExp_czujnik_temp.png|none|500px|thumb|center]]
</center>
</center>


===== Bluetooth interface=====
===== Interfejs Bluetooth =====
In expander was applied Bluetooth HC-05 module. It communicates with microcontroller via UART interface (UART1 in STM32). How it is connected to microcontroller STM32, was presented in table below.
W ekspanderze zastosowano moduł Bluetooth HC-05, komunikujący się z mikrokontrolerem za pomocą interfejsu
UART (UART1 w STM32). Sposób dołączenia modułu do mikrokontrolera STM32 przedstawiono w tabeli poniżej.
<center>
<center>
{| class="wikitable" style="width: 1000px;"
{| class="wikitable" style="width: 1000px;"
|-
|-
! style="text-align: center;"| HC-05 lines
! style="text-align: center;"|Linie HC-05
! style="text-align: center;"|Line name
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"| STM32 interface
! style="text-align: center;"|Interfejs STM32


|-
|-
Line 107: Line 107:




Micro switch Sw1 is used for module work mode switching, including entering in AT mode. Recommended method of switching module in AT mode is to push and hold Sw1 before power supply enabled (interface UART works therefore with speed 38400 b/s). Module signalizes entering in this mode by LED D1 blinking with frequency 1 Hz. High state on KEY output of module can be forced from microcontroller program (PA0/A0). If LED D1 is blinking with frequency 2 Hz, that means waiting for pairing or completing of pairing process. Ending of pairing process is additional signalized by enabled LED D2.
Mikroswitch Sw1 służy do przełączania trybu pracy modułu, w tym wprowadzania w tryb AT. Zalecanym sposobem
przełączenia modułu w tryb AT jest wciśnięcie i przytrzymanie Sw1 przed włączeniem zasilania (interfejs UART pracuje
wtedy z prędkością 38400 b/s). Moduł sygnalizuje wejście w ten tryb pracy miganiem LED D1 z częstotliwością
1 Hz. Wysoki stan na wejściu KEY modułu można wymusić także z poziomu mikrokontrolera (PA0/A0).
Jeżeli LED D1 miga z częstotliwością 2 Hz oznacza to oczekiwanie na sparowanie lub poprawne sparowanie, które
dodatkowo jest sygnalizowane za pomocą świecenia LED D2.


<center>
<center>
[[Plik:KA-Nucleo-UniExp_bluetooth.png|none|600px|thumb|center]]
[[File:KA-Nucleo-UniExp_bluetooth.png|none|600px|thumb|center]]
</center>
</center>


===== MEMS 3D accelerometer=====
===== Akcelerometr MEMS 3D =====
Expander is equipped with MEMS 3D accelerometer (LIS35DE). It use for communication with microcontroller I2C interface (I2C1 canal in STM32). How it is connected to microcontroller STM32, was presented in table below.
Ekspander jest wyposażony w akcelerometr MEMS 3D (LIS35DE), komunikujący się z mikrokontrolerem za pomocą
magistrali I2C (kanał I2C1 w STM32). Sposób dołączenia akcelerometru pokazano w tabeli poniżej.  
<center>
<center>
{| class="wikitable" style="width: 1000px;"
{| class="wikitable" style="width: 1000px;"
|-
|-
! style="text-align: center;"| LIS35DE lines
! style="text-align: center;"|Linie LIS35DE
! style="text-align: center;"|Line name
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|STM32 interface
! style="text-align: center;"|Interfejs STM32
! style="text-align: center;"|Comments
! style="text-align: center;"|Uwagi


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


|-
|-
Line 152: Line 158:
|}
|}
</center>
</center>
Accelerometer used in set has basic address on I2C bus: 001110xb. „x” symbol means „0” or „1” depending on the JP1 jumper position. Communication lines of I2C interface was pulled up to power supply by using by 4,7 kΩ resistors.
Akcelerometr zastosowany w zestawie ma następujący adres bazowy na magistrali I2C: 001110xb. Symbol „x”
oznacza „0” lub „1” w zależności od położenia zwory JP1.
Linie komunikacyjne magistrali I2C są podciągnięte do plusa zasilania za pomocą rezystorów 4,7kΩ.
<center>
<center>
[[Plik:KA-Nucleo-UniExp_akcelerometr.png|none|600px|thumb|center]]
[[File:KA-Nucleo-UniExp_akcelerometr.png|none|600px|thumb|center]]
</center>
</center>
<center>
<center>
{| class="wikitable" style="width: 500px;"
{| class="wikitable" style="width: 500px;"
|-
|-
! style="text-align: center;"|Closed pins JP1
! style="text-align: center;"|Zwarte styki JP1
! style="text-align: center;"|Base address U1
! style="text-align: center;"|Adres bazowu U1
! style="text-align: center;"|SA0
! style="text-align: center;"|SA0


Line 177: Line 185:


===== LED-RGB =====
===== 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”.
Wbudowane diody LED-RGB są sterowane bezpośrednio z linii GPIO mikrokontrolera zgodnie z tabelą poniżej.
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;"| LED
! style="text-align: center;"|Dioda LED
! style="text-align: center;"|Line name
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|Comments
! style="text-align: center;"|Uwagi


|-
|-
Line 190: Line 199:
| 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;"| LEDs are on, if state on GPIO pins is „0”
| rowspan="3" style="text-align: center;"|LED świecą, gdy stan na liniach GPIO jest "0"


|-
|-
Line 196: Line 205:
| style="text-align: center;"|D11
| style="text-align: center;"|D11
| style="text-align: center;"|PA7
| style="text-align: center;"|PA7


|-
|-
Line 205: Line 215:
</center>
</center>
<center>
<center>
[[Plik:KA-Nucleo-UniExp_LED_RGB.png|none|600px|thumb|center]]
[[File:KA-Nucleo-UniExp_LED_RGB.png|none|600px|thumb|center]]
</center>
</center>


===== Joystick =====
===== 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.
Wbudowany w ekspander 5-stykowy joystick jest dołączony bezpośrednio do linii GPIO mikrokontrolera zgodnie
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;"|Joysticka direction
! style="text-align: center;"|Kierunek joysticka
! style="text-align: center;"|Line name
! style="text-align: center;"|Nazwa linii
! style="text-align: center;"|GPIO in STM32
! style="text-align: center;"|GPIO w STM32
! style="text-align: center;"|Comments
! style="text-align: center;"|Uwagi


|-
|-
| style="text-align: center;"|Up
| style="text-align: center;"|Góra
| 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;"| Lines pulled up to power supply by 10 kΩ resistor
| rowspan="5" style="text-align: center;"|Linie podciągnięte do plusa zasilania rezystorami 10 kΩ  
 
|-
|-
| style="text-align: center;"|Down
| style="text-align: center;"|Dół
| style="text-align: center;"|D10
| style="text-align: center;"|D10
| style="text-align: center;"|PB6
| style="text-align: center;"|PB6


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


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


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

Latest revision as of 16:09, 1 November 2024

Opis

KA-Nucleo-UniExp to wielofunkcyjny ekspander (shield) dla NUCLEO i Arduino wyposażony w interfejs Bluetooth 2.0+EDR (HC-05), MEMS 3DoF LIS35, LED-RGB, joystickiem i analogowym czujnikiem temperatury STLM20 opracowany i produkowany przez firmę KAMAMI.

Podstawowe cechy i parametry
  • Zgodność z systemami NUCLEO i Arduino
  • Wbudowany moduł Bluetooth v2.0+EDR o parametrach:
    • Profil SPP (Serial Port Protocol)
    • Prędkość transmisji asynchronicznej do 2,1 Mb/s
    • Prędkość transmisji synchronicznej do 1 Mb/s
  • Wbudowany akcelerometr MEMS 3D z I2C
    • Sprzętowy selektor adresu na magistrali
    • Zakres pomiarowy +/-2g lub +/-8gMaksymalna częstotliwość pomiarów 100/400 Hz
  • Wbudowany czujnik temperatury z wyjściem analogowym (-40…+85°C)
  • Wbudowana LED RGB
  • Wbudowany joystick 5-stykowy
  • Przedłużone złącza szpilkowe
Wyposażenie standardowe
Kod Opis
KA-Nucleo-UniExp
  • Zmontowany i uruchomiony moduł
Schemat elektryczny
Widok płytki
Czujnik temperatury

W ekspanderze zastosowano półprzewodnikowy czujnik temperatury STLM20 z wyjściem analogowym. Napięcie na wyjściu czujnika zmienia się zgodnie ze wzorem:

Vo = (–11,69mV)/°C × T + 1,8663V [V]

gdzie:

  • T - temperatura zmierzona przez czujnik
  • Vo – napięcie na wyjściu czujnika

Mierzona temperatura ma więc wartość:

T=(1,8663−Vo)/0,01169 [°C]

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)

Interfejs Bluetooth

W ekspanderze zastosowano moduł Bluetooth HC-05, komunikujący się z mikrokontrolerem za pomocą interfejsu UART (UART1 w STM32). Sposób dołączenia modułu do mikrokontrolera STM32 przedstawiono w tabeli poniżej.

Linie HC-05 Nazwa linii GPIO w STM32 Interfejs STM32
Tx D2 PA10 UART1/RxD
Rx D8 PA9 UART1/TxD
KEY A0 PA0 -
RESET nRST nRES -


Mikroswitch Sw1 służy do przełączania trybu pracy modułu, w tym wprowadzania w tryb AT. Zalecanym sposobem przełączenia modułu w tryb AT jest wciśnięcie i przytrzymanie Sw1 przed włączeniem zasilania (interfejs UART pracuje wtedy z prędkością 38400 b/s). Moduł sygnalizuje wejście w ten tryb pracy miganiem LED D1 z częstotliwością 1 Hz. Wysoki stan na wejściu KEY modułu można wymusić także z poziomu mikrokontrolera (PA0/A0). Jeżeli LED D1 miga z częstotliwością 2 Hz oznacza to oczekiwanie na sparowanie lub poprawne sparowanie, które dodatkowo jest sygnalizowane za pomocą świecenia LED D2.

Akcelerometr MEMS 3D

Ekspander jest wyposażony w akcelerometr MEMS 3D (LIS35DE), komunikujący się z mikrokontrolerem za pomocą magistrali I2C (kanał I2C1 w STM32). Sposób dołączenia akcelerometru pokazano w tabeli poniżej.

Linie LIS35DE Nazwa linii GPIO w STM32 Interfejs STM32 Uwagi
SCL D15 PB8 SCL/I2C1 Linie podciągnięte do plusa zasilania rezystorami 4,7 kΩ
SDA D14 PB9 SDA/I2C1
INT1 A1 PA1 - -
INT2 D7 PA8 - -

Akcelerometr zastosowany w zestawie ma następujący adres bazowy na magistrali I2C: 001110xb. Symbol „x” oznacza „0” lub „1” w zależności od położenia zwory JP1. Linie komunikacyjne magistrali I2C są podciągnięte do plusa zasilania za pomocą rezystorów 4,7kΩ.

Zwarte styki JP1 Adres bazowu U1 SA0
1-2 0011101b 1
2-3 0011100b 0
LED-RGB

Wbudowane diody LED-RGB są sterowane bezpośrednio z linii GPIO mikrokontrolera zgodnie z tabelą poniżej. Diody świecą jeżeli na linii sterującej jest stan logiczny „0”.)

Dioda LED Nazwa linii GPIO w STM32 Uwagi
Red D12 PA6 LED świecą, gdy stan na liniach GPIO jest "0"
Green D11 PA7


Blue A3 PB0
Joystick

Wbudowany w ekspander 5-stykowy joystick jest dołączony bezpośrednio do linii GPIO mikrokontrolera zgodnie z tabelą poniżej. Każda linia jest podciągnięta do plusa zasilania za pomocą rezystora 10 kΩ.

Kierunek joysticka Nazwa linii GPIO w STM32 Uwagi
Góra D4 PB5 Linie podciągnięte do plusa zasilania rezystorami 10 kΩ
Dół D10 PB6
Lewo D3 PB3
Prawo D5 PB4
OK D6 PB10
Mapa przypisań linii GPIO