Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Прямое подключение ультразвукового датчика LEGO Mindstorms NXT к Raspberry Pi

Аннотация

Подключите ультразвуковой датчик LEGO Mindstorms NXT напрямую к Raspberry Pi. Решение использует буфер I²C TCA9517 и дополнительный GPIO для SCL, а также лаконичный фрагмент C++ для чтения расстояния.

Введение

Пока Raspberry Pi славится обширным сообществом и документацией, набор LEGO Mindstorms остается платформой №1 для быстрого прототипирования роботов. Серия NXT содержит микроконтроллер на базе ARM, достаточный для базовой робототехники, но не справляется с продвинутыми задачами вроде компьютерного зрения. Новая серия EV3 предлагает более мощный Linux-«мозг», но всё равно борется с высокоразрешательной обработкой изображений на приемлемой скорости.

Интеграция вычислительной мощи Pi с гибким железом LEGO обещает мощные гибридные системы. Существующие мосты вроде BrickPi работают, но ограничены старыми I²C-датчиками, зависят от промежуточных микроконтроллеров и плохо справляются с двигателями. В статье показан чистый способ подключить ультразвуковой датчик NXT напрямую к Pi без микроконтроллера.

Проблемы

Первая препятствие — железо: простой сдвигатель уровня на двух n-FET не смог решить несоответствие между 5-вольтовой логикой датчика и 3,3-вольтовой шиной I²C Pi. По даташиту датчик имеет слабые подтягивающие резисторы 82 кОм и сильные последовательные 4,7 кОм, мешающие подтяжкам Pi (1,8 кОм) опускать линию в ноль. Следовательно, датчик никогда не подтверждал адрес Pi.

Для решения использовался двунаправленный буфер I²C TCA9517. Он обеспечивает корректный сдвиг уровня и устраняет проблему последовательного сопротивления.

Вторая, прошивка: требовался дополнительный тактовый цикл между записью регистра датчика и чтением данных. Стандартный Linux-драйвер I²C не может вставить этот цикл, поэтому дополнительный GPIO переключается на линии SCL для удовлетворения тайминга датчика.

Железо

Прототип требует:

Минимальная плата расширения подает 9 В управления, 5 В питания и сигналы I²C без опционального переключения 9 В и последовательных резисторов, упрощая подключение. О распиновке см. LEGO HDK.

Производственный процесс

  1. Raspberry Pi и HDC2010: полное руководство по настройке I2C датчика температуры и влажности
  2. Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
  3. Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
  4. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  5. Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
  6. Интеграция данных сенсоров в Raspberry Pi: практическое руководство
  7. Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
  8. Управление светодиодом с PIR-датчиком движения на Raspberry Pi
  9. Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
  10. Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20