Мы разработали первую версию универсальной платы, которая может служить, как простым блоком питания с изменяемым напряжением и током, так и продвинутым контроллером для разного рода устройств, начиная со светодиодных лампочек, шаговых моторов, и термодатчиков до полноценных полностью автономных роботов! Рабочее название — Grambo Pi (Grambo — это английский Громозека, а Pi — это от Raspberry Pi).
Grambo Pi — программируемая плата управления на базе микроконтроллера ARM Cortex M3. Она может служить для разнообразных задач, связанных с управлением устройствами и автоматическим получением показаний датчиков. Плата может служить источником напряжения, работать как зарядное устройство для аккумуляторов разных типов, может управлять электродвигателями с максимальным длительным током до 600мА и кратковременным — до 1200мА, имеет схему управления осветительным светодиодом. При проектировании платы была заложена возможность служить источником питания для одноплатного компьютера Raspberry Pi. Плата имеет набор датчиков: термометр, акселерометр и компас, что позволяет использовать плату как систему ориентации для движущихся устройств. С внешними устройствами плата может общаться, используя набор стандартных интерфейсов обмена данными: USB, последовательный порт, I2C (мастер и слейв). Функциональность платы может расширяться за счёт подключения плат расширения!
В плату встроена виртуальная машина, исполняющая байт код, получаемый после компиляции программ, написанных на языке Pawn. Байт код записывается во FLASH память и начинает исполняться каждый раз при подаче питания на плату. Поведение платы и обмен данными с внешними устройствами определяется той программой, которая в неё загружена.
Предусмотрено три основных способа использования платы:
В последнем случае плата не только может управляться компьютером Raspberry Pi, но и служить для него умным источником питания. Например, плата может быть настроена (программой на Pawn, загруженном во внутреннюю FLASH память) как ATX подобный источник питания, включающий и выключающий компьютер по нажатию кнопки или как источник питания, включающийся по расписанию.
На плате установлены программно настраиваемые преобразователи напряжения. Для каждого преобразователя есть возможность задания желаемого выходного напряжения и ограничения максимального входного тока. Для повышающего преобразователя также есть возможность задания минимального входного напряжения. Последнее позволяет использовать плату для получения энергии от солнечных батарей в точке с максимальной мощностью на I-V характеристике батареи.
Возможность подключения перезаряжаемого аккумулятора и солнечной батареи даёт возможность получать решения, не зависящие от стационарных источников энергии. В этом случае плата и подключенные устройства могут работать в любом месте, где есть солнечный свет. Требовательный к энергии компьютер может включаться время от времени, когда в аккумуляторе достаточно энергии для его питания.
Плата предусматривает три способа подачи питания:
В последнем случае ток, получаемый платой, предварительно аппаратно ограничивается величиной в 400мА, после чего поступает на вход настраиваемого повышающего преобразователя напряжения.
Полный список периферийных устройств на плате:
Все периферийные устройства могут использоваться из внутренней Pawn программы.
Использование Raspberry Pi вместе с Grambo Pi позволяет разрабатывать решения практически любой сложности. Начиная с систем включения и выключения по заранее заданному расписанию с целью экономии потребления энергии и кончая системами, которые требуют полной компьютерной мощности для выполнения таких задач, как обработка видео в реальном времени и поддержка веб приложений!
Функциональность платы Grambo Pi может быть увеличена с помощью специально разработанных плат расширения, которые также просто стыкуются друг c другом. Можно подключать несколько плат одновременно.
Платы расширения могут быть разными. Представленная на рисунке имеет следующие устройства:
Для простоты отладки в каждой плате предусмотрено несколько программно управляемых индикаторных светодиодов, которые могут быть использованы для визуальной отладки или для оповещения о состоянии.
Существует несколько вариантов программного взаимодействия с платой Grambo Pi:
Со стороны платы коммуникация с компьютером и управление периферийными устройствами осуществляется виртуальной Pawn машиной.
Ценители робототехники, интересен ли был бы вам такой модуль? Купили бы вы экземпляр для тестирования? Или собрали бы лучше свое устройство на платформе Arduino?
Grambo Pi — программируемая плата управления на базе микроконтроллера ARM Cortex M3. Она может служить для разнообразных задач, связанных с управлением устройствами и автоматическим получением показаний датчиков. Плата может служить источником напряжения, работать как зарядное устройство для аккумуляторов разных типов, может управлять электродвигателями с максимальным длительным током до 600мА и кратковременным — до 1200мА, имеет схему управления осветительным светодиодом. При проектировании платы была заложена возможность служить источником питания для одноплатного компьютера Raspberry Pi. Плата имеет набор датчиков: термометр, акселерометр и компас, что позволяет использовать плату как систему ориентации для движущихся устройств. С внешними устройствами плата может общаться, используя набор стандартных интерфейсов обмена данными: USB, последовательный порт, I2C (мастер и слейв). Функциональность платы может расширяться за счёт подключения плат расширения!
В плату встроена виртуальная машина, исполняющая байт код, получаемый после компиляции программ, написанных на языке Pawn. Байт код записывается во FLASH память и начинает исполняться каждый раз при подаче питания на плату. Поведение платы и обмен данными с внешними устройствами определяется той программой, которая в неё загружена.
Предусмотрено три основных способа использования платы:
- как автономного устройства, работающего самостоятельно;
- как устройства, управляемого от компьютера через шину USB;
- в связке с одноплатным компьютером Raspberry Pi.
В последнем случае плата не только может управляться компьютером Raspberry Pi, но и служить для него умным источником питания. Например, плата может быть настроена (программой на Pawn, загруженном во внутреннюю FLASH память) как ATX подобный источник питания, включающий и выключающий компьютер по нажатию кнопки или как источник питания, включающийся по расписанию.
На плате установлены программно настраиваемые преобразователи напряжения. Для каждого преобразователя есть возможность задания желаемого выходного напряжения и ограничения максимального входного тока. Для повышающего преобразователя также есть возможность задания минимального входного напряжения. Последнее позволяет использовать плату для получения энергии от солнечных батарей в точке с максимальной мощностью на I-V характеристике батареи.
Возможность подключения перезаряжаемого аккумулятора и солнечной батареи даёт возможность получать решения, не зависящие от стационарных источников энергии. В этом случае плата и подключенные устройства могут работать в любом месте, где есть солнечный свет. Требовательный к энергии компьютер может включаться время от времени, когда в аккумуляторе достаточно энергии для его питания.
Плата предусматривает три способа подачи питания:
- через вход понижающего преобразователя;
- через вход повышающего преобразователя;
- через разъём USB.
В последнем случае ток, получаемый платой, предварительно аппаратно ограничивается величиной в 400мА, после чего поступает на вход настраиваемого повышающего преобразователя напряжения.
Полный список периферийных устройств на плате:
- 3-х координатный акселерометр;
- 3-х координатный компас;
- цифровой и аналоговый термометры;
- контроллер 2-х двигателей постоянного тока (или одного биполярного шагового или 4 независимых индуктивных нагрузок) со встроенными защитными диодами;
- step down преобразователь на 3.3V для питания периферии;
- настраиваемый понижающий преобразователь с диапазоном выходного напряжения от 0В до 16В, ограничение входного тока от 0А до 3А;
- настраиваемый повышающий преобразователь с диапазоном выходного напряжения до 16В, входной ток может быть ограничен от 0А до 3А.
- USB;
- аппаратный ограничитель тока через USB до 400мА;
- последовательный порт UART;
- I2C master;
- I2C slave;
- схема питания осветительного светодиода;
- разъём совмещения с Raspberry Pi;
- разъём подключения плат расширения;
Все периферийные устройства могут использоваться из внутренней Pawn программы.
Использование Raspberry Pi вместе с Grambo Pi позволяет разрабатывать решения практически любой сложности. Начиная с систем включения и выключения по заранее заданному расписанию с целью экономии потребления энергии и кончая системами, которые требуют полной компьютерной мощности для выполнения таких задач, как обработка видео в реальном времени и поддержка веб приложений!
Функциональность платы Grambo Pi может быть увеличена с помощью специально разработанных плат расширения, которые также просто стыкуются друг c другом. Можно подключать несколько плат одновременно.
Платы расширения могут быть разными. Представленная на рисунке имеет следующие устройства:
- 8 разъёмов ШИМ, совместимых с разъёмами аналоговых сервомашинок;
- контроллер 4-х двигателей постоянного тока, либо 2-х биполярных шаговых двигателей;
- 8 аналоговых входов АЦП с диапазоном от 0В до 3.3В;
- 8 цифровых входов (например, для детектирования нажатий на кнопку);
Для простоты отладки в каждой плате предусмотрено несколько программно управляемых индикаторных светодиодов, которые могут быть использованы для визуальной отладки или для оповещения о состоянии.
Существует несколько вариантов программного взаимодействия с платой Grambo Pi:
- Библиотека C++;
- Модуль Python для взаимодействия через порт USB;
- Модуль Python для взаимодействия через порт I2C (в случае подключение к Raspberry Pi);
Со стороны платы коммуникация с компьютером и управление периферийными устройствами осуществляется виртуальной Pawn машиной.
Вопросы к хабражителям
Ценители робототехники, интересен ли был бы вам такой модуль? Купили бы вы экземпляр для тестирования? Или собрали бы лучше свое устройство на платформе Arduino?