KAmod I2C-Mini Out 8 (PL)
From Kamamilabs.com - Wiki

Opis
KAmod I2C-Mini Out8 - Expander 8 wyjść małej mocy sterowanych przez I2C z układem MCP23008
Moduł KAmod I2C-Mini Out8 zawiera 8 wyjść z tranzystorami N-MOSFET małej mocy, o maksymalnym prądzie wyjściowym 1 A i maksymalnym napięciu 50 V. Dzięki zastosowaniu układu MCP23008 sterowanie odbywa się poprzez magistralę I2C.
Podstawowe cechy i parametry
- 8 wyjść, które w stanie aktywnym dostarczają masę (GND) dołączonego zasilania
- Wyjścia o maksymalnym prądzie wyjściowym 1 A i maksymalnym napięciu 50 V
- Wyjścia wyposażone w diody zabezpieczające – umożliwiają zasilanie niewielkich obciążeń indukcyjnych, takich jak przekaźniki, elektrozawory, silniki elektryczne
- Zawiera expander typu MCP23008
- Sterowanie poprzez interfejs I2C o taktowaniu max 1 MHz
- 3 linie adresowe umożliwiają dołączenie 8 modułów do jednej magistrali I2C
- Zasilanie części sterującej: 3...5 V; zasilanie wyjść: 3...50 V
Wyposażenie standardowe
| Kod | Opis |
|---|---|
| KAmod I2C-Mini Out8 |
|
Schemat elektryczny

Rozmieszczenie wyjść
| Oznaczenie | Funkcja |
|---|---|
| J2, 0...8 |
|
| J2, VCC |
|
| J2, G |
|
Wyjścia modułu zostały wyprowadzone jako punkty lutownicze z otworami, rozmieszczone ze standardowym rastrem 2,54 mm, tuż przy krawędzi płytki. Umożliwiają one przylutowanie przewodów lub szpilek goldpin. Przyporządkowanie wyprowadzeń zostało pokazane na poniższym rysunku.
Każde wyjście jest zbudowane z tranzystora N-MOSFET i diody zabezpieczającej. Aktywne wyjście dostarcza masę zasilania (G – GND), wyjście nieaktywne jest w stanie wysokiej impedancji (HiZ). Maksymalny prąd wyjścia nie może przekroczyć 1 A, a maksymalne napięcie na wyjściu nie może przekroczyć 50 V. Dzięki zastosowaniu diody zabezpieczającej, wyjścia mogą bezpośrednio sterować obciążeniami indukcyjnymi, np. przekaźnikami, elektrozaworami, silnikami elektrycznymi, jeśli ich parametry nie przekraczają wartości prądu lub napięcia maksymalnego.
Obwód wyjściowy należy połączyć z zasilaniem komponentów dołączonych do wyjść – VCC – biegun dodatni, G – biegun ujemny.

Sygnały sterujące
| Oznaczenie | Funkcja |
|---|---|
| SD (J1) | Sygnał SDA (dane) interfejsu I2C |
| SC (J1) | Sygnał SCL (zegar) interfejsu I2C |
| RST (J1) | Wejście zerujące układ |
| A0, A1, A2 (J1) | Wejścia umożliwiające ustawienie adresu interfejsu I2C (bity 2, 1, 0). Domyślnie ustawione na logiczne 0. |
Sterowanie modułem KAmod I2C-Mini Out8 odbywa się poprzez interfejs I2C, który może być taktowany sygnałem zegarowym o częstotliwości 100 kHz, 400 kHz lub 1 MHz. Funkcje wyprowadzeń na złączu J1 są następujące:
- Sygnały interfejsu sterującego I2C to SD – SDA, oraz SC – SCL. Nie są wyposażone w rezystory podciągające – odpowiednie elementy musi zawierać układ sterujący.
- Wejścia A0, A1, A2 pozwalają ustawić adres (bity nr 2, 1 i 0), jakim będzie dysponował moduł dołączony do interfejsu I2C. Domyślnie wejścia te są połączone do masy poprzez rezystory (pull-down) i przyjmują wartości logiczne 0. Dołączenie dodatniego bieguna zasilania do wejść A0/A1/A2 ustawia logiczne 1 dla najmłodszych bitów adresu.
- Wszystkie dostępne adresy interfejsu I2C zawierają się w zakresie 0x20...0x27.
Szczegółowe informacje dotyczące komunikacji i konfiguracji układu MCP23008 są dostępne w dokumentacji technicznej tego układu.
Dodatkowe sygnały to:
- Sygnał zerujący (RST) służy do wyzerowania układu MCP23008 na płytce KAmod I2C-Mini Out8, co przywraca wszystkie ustawienia do stanu początkowego.

Zasilanie
| Oznaczenie | Funkcja |
|---|---|
|
|
|
|
Obwód sterujący modułu KAmod I2C-Mini Out8 może być zasilany napięciem stałym o wartości 3...5 V, dołączonym do styków V+ oraz GND na złączu J1.
Obwód wyjściowy modułu KAmod I2C-Mini Out8 może być zasilany napięciem stałym o wartości 3...50 V, dołączonym do styków VCC oraz G na złączu J2.

Wymiary
Wymiary płytki KAmod I2C-Mini Out8 to 31x23,5 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ł KAmod I2C-Mini Out8 został podłączony poprzez interfejs I2C.
#include <Wire.h>
//#include <Adafruit_MCP23X17.h>
#include <Adafruit_MCP23X08.h>
//LED
#define LED_PIN 2
#define MY_DELAY 2000
#define TEST_LED_ON 1
#define TEST_LED_OFF 0
//I2C
#define I2C_SDA 33
#define I2C_SCL 32
#define I2C_FREQ 100000
#define MCP23008_ARD 0x20
TwoWire I2Cbus = TwoWire(0);
Adafruit_MCP23X08 MCPIO;
int i;
//-----------------------------------------------------------------
void setup() {
Serial.begin(115200);
Serial.println();
Serial.println("Hello. KAmod I2C Mini Out 8 test");
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH);
delay(500);
while(!I2Cbus.begin(I2C_SDA, I2C_SCL, I2C_FREQ)){
Serial.println("I2C init failed...");
delay(500);
}
while (!MCPIO.begin_I2C(MCP23008_ARD, &I2Cbus)) {
Serial.println("MCP init failed...");
delay(500);
}
Serial.println("I2C init OK");
delay(100);
}
//-----------------------------------------------------------------
void loop() {
if (i & 1){
digitalWrite(LED_PIN, TEST_LED_ON);
} else {
digitalWrite(LED_PIN, TEST_LED_OFF);
}
Serial.print("Out: ");
Serial.println(i);
MCPIO.pinMode(i, OUTPUT);
MCPIO.digitalWrite(i, TEST_LED_ON);
delay(100);
MCPIO.pinMode(i, OUTPUT);
MCPIO.digitalWrite(i, TEST_LED_OFF);
delay(100);
i++;
if (i >= 8){
i = 0;
}
}
Linki
- [Karta katalogowaMCP23008]
- Przykładowe programy