Модуль преобразователя уровней KY-051 (Level Shifter)

Узнайте всё о преобразователе уровней KY-051: характеристики, распиновка, схемы подключения, документация и примеры кода для ESP32, Arduino, ESP-IDF.

Модули KY Цифровой

Обзор

KY-051 — это универсальный четырехканальный модуль преобразователя логических уровней, который позволяет безопасно соединять устройства, работающие при разных напряжениях (например, 3.3В и 5В). Благодаря двунаправленной передаче сигналов, он обеспечивает совместимость и защищает компоненты от повреждений, вызванных несоответствием уровней напряжения.

KY-051 предназначен для безопасного сопряжения устройств с разным напряжением питания. Он имеет 4 канала, которые могут преобразовывать цифровые сигналы как вверх (step-up), так и вниз (step-down), упрощая связь между микроконтроллерами и периферией.

Преобразователь уровней KY-051
Быстрая навигация
Основные разделы статьи
Примеры кода
Популярные платформы

О преобразователе уровней KY-051

Преобразователь уровней KY-051, также известный как Level Shifter, разработан для безопасного соединения устройств, работающих на различных уровнях напряжения. Он оснащен четырьмя (или восемью, в зависимости от чипа TXS0108E/BSS138) каналами, которые могут преобразовывать цифровые сигналы, облегчая связь между микроконтроллерами и датчиками с разными требованиями к напряжению.

Ключевые особенности

  • Двунаправленность — Сигналы автоматически преобразуются в обе стороны (вверх и вниз).
  • Четыре канала — Возможность одновременного преобразования до 4 независимых линий (например, SPI или I2C).
  • Безопасность — Защищает чувствительные входы 3.3В контроллеров от сигналов 5В.
Где купить

Приобретите KY-051

KY-051
От
$1
за штуку
Поиск на AliExpress
Лучшее соотношение цены и качества
Поиск на Amazon
Доставка по всему миру

Цены могут изменяться в зависимости от продавца и количества модулей в упаковке.

Технические характеристики

Характеристики KY-051

Полные технические характеристики модуля преобразователя уровней KY-051.

Каналы
4 канала
Низкое напряжение (VCCa)
1.2В – 3.6В
Высокое напряжение (VCCb)
1.7В – 5.5В
Размеры
24 x 17 x 11 мм
Скачать полный даташит
Конфигурация пинов

Распиновка KY-051

Модуль KY-051 представляет собой 8-пиновый (на каждой стороне по 4 сигнальных пина) двунаправленный преобразователь:

Визуальная диаграмма распиновки
Схема модуля
Распиновка KY-051
Всего выводов
8+
Типы
Питание + Сигналы
Быстрые советы
  • VCCb ≥ VCCa — напряжение на стороне B всегда должно быть выше или равно напряжению на стороне A.
  • Двунаправленность — сигналы автоматически идут от A к B или от B к A.
  • Поддержка протоколов — идеально для I2C, SPI, UART.
Описание выводов
Название Тип Описание Примечания
VCCa Питание Опорное низкое напряжение 1.2В – 3.6В (например, 3.3В)
VCCb Питание Опорное высокое напряжение 1.7В – 5.5В (например, 5В)
GND Земля Общий минус Общий для обеих сторон
A1-A4 I/O Линии низкого напряжения Соединяются с 3.3В устройством
B1-B4 I/O Линии высокого напряжения Соединяются с 5В устройством
Руководство по подключению

Подключение KY-051 к ESP32

Для сопряжения ESP32 (3.3В логика) с устройством на :

Схема подключения
Типовое (3.3В ↔ 5В)
Схема подключения KY-051
Тип преобразования
Двустороннее
Статус питания
VCCa и VCCb нужны
Скорость
До 60 Mbps
Подключения пинов
Вывод KY-051 Подключение Вывод ESP32 / Устройства
VCCa 3.3V (ESP32)
VCCb 5V (Внешнее питание / USB)
GND GND (Общий)
A1-A4 GPIO (3.3V) ESP32
B1-B4 GPIO (5V) Устройства
Устранение неполадок KY-051

Отладка и ошибки

Распространенные проблемы

Нет сигнала на выходе
Проверьте, что VCCb (сторона высокого напряжения) больше или равно VCCa. Также убедитесь в наличии общей земли (GND) между всеми устройствами.
Нестабильная передача данных (I2C)
I2C требует подтягивающих резисторов. Проверьте, есть ли они на самом модуле или на подключенных устройствах. Слишком длинные провода также могут вносить помехи.
Примеры программирования

Примеры кода KY-051

Ниже приведены примеры для проверки работоспособности преобразователя.

Arduino
Arduino IDE
Тест прохождения сигнала
C++
// Определяем пины для теста
#define LOW_VOLT_PIN 2  // Подключен к стороне VCCa (например, 3.3В логика)
#define HIGH_VOLT_PIN 3 // Подключен к стороне VCCb (например, 5В логика)

void setup() {
    pinMode(LOW_VOLT_PIN, INPUT);   // Читаем сигнал с одной стороны
    pinMode(HIGH_VOLT_PIN, OUTPUT);  // Выводим на другую сторону
    Serial.begin(9600);
    Serial.println("KY-051 Voltage Level Shifter Test");
}

void loop() {
    // Читаем низковольтный сигнал
    int low_signal = digitalRead(LOW_VOLT_PIN);
    
    // Дублируем его на высоковольтную сторону
    digitalWrite(HIGH_VOLT_PIN, low_signal);
    
    Serial.print("Вход (3.3В): ");
    Serial.print(low_signal);
    Serial.print(" -> Выход (5В): ");
    Serial.println(low_signal); // Сигнал транслируется аппаратно модулем
    
    delay(500);
}

Этот код предназначен для базовой проверки: вы подаете сигнал на одну сторону модуля и проверяете его наличие на другой. Помните, что модуль преобразует уровни аппаратно, код лишь помогает визуализировать процесс.

ESP-IDF
ESP-IDF Native
Конфигурация GPIO
C/C++
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

#define LOW_VOLT_PIN GPIO_NUM_2  // Сторона 3.3В
#define HIGH_VOLT_PIN GPIO_NUM_3 // Сторона 5В

void app_main() {
    // Настройка пинов
    gpio_reset_pin(LOW_VOLT_PIN);
    gpio_set_direction(LOW_VOLT_PIN, GPIO_MODE_INPUT);
    
    gpio_reset_pin(HIGH_VOLT_PIN);
    gpio_set_direction(HIGH_VOLT_PIN, GPIO_MODE_OUTPUT);

    printf("KY-051 Level Shifter Test Started\n");

    while (1) {
        int level = gpio_get_level(LOW_VOLT_PIN);
        gpio_set_level(HIGH_VOLT_PIN, level);
        printf("Signal Level: %d\n", level);
        vTaskDelay(pdMS_TO_TICKS(500));
    }
}

Пример на ESP-IDF показывает простую трансляцию логического уровня через GPIO, что позволяет убедиться в корректности работы всей цепочки соединений.

MicroPython
MicroPython
Простой скрипт
Python
import machine
import time

# Настройка пинов
low_pin = machine.Pin(2, machine.Pin.IN)
high_pin = machine.Pin(3, machine.Pin.OUT)

print("KY-051 Testing...")

while True:
    val = low_pin.value()
    high_pin.value(val)
    print("Логический уровень:", val)
    time.sleep(0.5)

Итоги

KY-051 Voltage Translator — это незаменимый инструмент для любого разработчика электроники, работающего с современными 3.3В контроллерами (ESP32, Raspberry Pi) и классической 5В периферией.

Рекомендации

Используйте KY-051 для защиты пинов ESP32 при подключении датчиков, работающих строго от 5В. Это предотвратит выход контроллера из строя.

Безопасность

Никогда не подавайте 5В напрямую на пины VCCa или сигнальные линии стороны A, если они соединены с 3.3В микроконтроллером.

Готовы использовать KY-051?

Теперь у вас есть вся информация для интеграции преобразователя уровней в ваш следующий проект на ESP32!

Похожие варианты