Приветствую Вас, Гость! Регистрация

Персональный сайт Пьяных А.В.

Суббота, 18.11.2017
Если Вы делаете покупки в интернет магазинах AliExpress, GearBest, Banggood, ASOS, Ozon, то вступайте в мою партнерскую программу. Таким образом поможете развитию моего сайта и скорейшему выходу новых статей. Ваша выгода - возврат до 18% потраченных средств. Кэшбэк проверенный. Деньги выводят быстро и без лишних проволочек.


Главная » Статьи » Электроника » Arduino и т.п.

Продвинутый велокомпьютер. Часть 2. Железо

Во второй части я постараюсь подробнее описать "железо", из которого собран велокомпьютер. Приведу описание и характеристики используемых модулей, микросхем и деталей.  Первая часть статьи.

   Плата.   

   По нехорошей традиции печатную плату я решил не делать. Для обкатки и выяснения возможных недостатков собрал практически все "железо" на плате для прототипирования, устанавливаемой прямо на Arduino Mega2560. 

 

Плата для прототипирования

Ссылка на компонент.

   MP3 DFPlayer Mini

   Для воспроизведения голосовых сообщений использовал модуль MP3 DFPlayer Mini.

Ссылка на компонент.

   Несмотря на крохотные размеры, чуть больше micro SD карты, плеер очень функционален.

   Возможности:

  • Поддержка декодирования MP3 и WMV файлов;
  • Поддержка частоты дискретизации 8KHz, 11.025KHz, 12KHz, 16KHz, 22.05KHz, 24KHz, 32KHz, 44.1KHz, 48KHz;
  • 24-битный цифро-аналоговый преобразователь, динамический диапазон 90dB;
  • Поддержка TF карт до 32Gb включительно с файловыми системами FAT16, FAT32;
  • Встроенный усилитель на 3 Вт;
  • Поддержка до 100 папок по 1000 записей в каждой;
  • 30 уровней громкости;
  • 10 предустановленных настроек эквалайзера.

   Он способен воспроизводить MP3 файлы как по команде от микроконтроллера, так и при нажатии подключаемых кнопок (до 20 штук). Для удобства управления можно установить библиотеку к Arduino IDE. Для трушных кристальщиков есть PDF с описанием всех байт посылок для работы с плеером. Описание программной части работы с модулем будет приведено в третьей части.

   Экран OLED, 128х64px

Для вывода графической информации я использовал два монохромных OLED дисплея  разрешением 128х64 точек, диагональю 0,96 дюйма с полосой пикселей желтого цвета.

OLED дисплей

Ссылка на компонент.

   Дисплеи подключены по шине I2C. На оборотной стороне дисплеев была перемычка. В зависимости от ее установки дисплею можно установить один из двух адресов для обращения. Подключил дисплей к ардуино, залил скетч I2C сканера и, прогнав сканирование, определил адреса дисплеев. Адреса, написанные на дисплеях, не совпали с адресами, найденными сканером.

   Инвертирующие триггеры Шмитта

   Для исключения дребезга контактов кнопок все они подключены через инвертирующие триггеры Шмитта. Программное подавление дребезга работает хорошо, но все же проскакивают ложные срабатывания. Также увеличивается сложность и размер программного кода. В самом начале я использовал Arduino Nano и, экономия памяти была очень актуальна.

   Если для обычного логического элемента время изменения входного сигнала из состояния 0 в состояние 1 должно составлять всего несколько наносекунд, то для триггера Шмитта это время может быть любым, в том числе несколько десятков или сотен миллисекунд, которые потребуются для устранения дребезга контактов. Кроме того, передаточная характеристика триггера Шмитта обладает гистерезисом: уровень входного напряжения, при котором выход триггера переключается из 0 в 1, превышает уровень напряжения переключения из 1 в 0 примерно на 0,5…0,8 В. Эффект гистерезиса позволяет подавить звон входного сигнала. Незначительные по амплитуде высокочастотные колебания, наложенные на монотонно изменяющуюся постоянную составляющую входного сигнала, не будут приводить к многократному изменению выходного сигнала, поскольку абсолютная величина входного сигнала окажется внутри петли гистерезиса.

6 инвертирующих триггеров Шмитта в одном корпусе

Ссылка на компонент.

   Подключается по первому или второму варианту. Я использовал первый. Емкость конденсатора 10 мкФ. 

Схема подключения

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

   Модуль часов реального времени DS3231 AT24C32 I2C.

   Модуль содержит два чипа. Один DS3231 - часы реального времени. Второй AT24C32 чип памяти на 32 Кб. Часы отличаются высокой точностью ± 0,432 секунды в сутки. Батарейки хватает на 5-7 лет работы часов. Чип памяти я не использую. Модуль подключается по I2C шине.

Модуль часов реального времени.

Ссылка на компонент.

  Модуль Bluetooth HC-05.

   Для связи с мобильным телефоном я использовал Bluetooth модуль HC-05. Модуль построен на базе чипа BC417143, ориентирован на коммерческое применение.

 

Модуль Bluetooth HC-05.

Ссылка на компонент.

   
   Краткие характеристики модуля:

  • чип Bluetooth – BC417143 производства CSR company (Cambridge Silicon Radio);
  • протокол связи – Bluetooth Specification v2.0+EDR;
  • радиус действия – до 10 метров (уровень мощности 2);
  • совместимость со всеми Bluetooth-адаптерами, которые поддерживают SPP;
  • объем flash-памяти (для хранения прошивки и настроек) – 8 Мбит;
  • частота радиосигнала – 2.40 .. 2.48 ГГц;
  • хост-интерфейс – USB 1.1/2.0 или UART;
  • энергопотребление – ток в течение связи составляет 30-40 мА. Среднее значение тока около 25 мА. После установки связи потребляемый ток 8 мА. Режим сна отсутствует.

   Модуль настраивается с помощью АТ команд и обеспечивает обмен данными через последовательный порт. HC-05 может выступать в качестве master и slave устройства в зависимости от настроек. Даташит с описанием и АТ командами с примерами.

   Micro SD TF Card Модуль SPI.

   Для хранения лога событий к велокомпьютеру подключен по шине SPI модуль Micro SD карт. 

Модуль Micro SD TF card.

Ссылка на модуль.

   В принципе SD карту памяти можно было бы подключить к ардуино напрямую, если бы не одна мелочь - разные напряжения работы. У ардуино 5 В, а для карты необходимо 3,3 В. Я пробовал подключить интерфейс карты через резистивные делители, а питание забрать с вывода 3,3 В на ардуино. Все работало нормально, но по уму необходимо ставить микросхему согласования уровней сигналов. В модуле уже установлена такая микросхема и преобразователь питания.

   Модуль барометра GY-68.

   Для измерения атмосферного давления и в будущем для измерения перепадов высот по шине I2C подключен модуль барометра GY-68. Модуль основан на микросхеме Bosh BMP-180 в корпусе LGA-7. 

   Краткие характеристики модуля:

  • питание: 1,8 - 3,6 В
  • потребляемый ток: при измерении 5 uA, в режиме ожидания 0,1 uA
  • диапазон измерения: 300hPa to 1100hPa (+9000m to -500m)
  • режим высокой линейности, разрешение 0.03hPa (0,25 м)
  • время отклика: 7,5 ms
  • частота I2C: 3,5 Mhz

Модуль барометра GY-68.

Ссылка на модуль.

   Модуль амперметра на 5 А.

   Некая контора Allegro придумала и выпускает датчик тока ACS712. У меня в модуле стоит версия на 5 А. Так же в продаже есть на 20 и 30 А. 

Датчик тока на 5А.

Сылка на Али.

  • Чувствительность датчика: 185 мВ/А.
  • Диапазон измерения: -5....+5 А
  • Питание: 5 В
  • Сопротивление датчика: 0,0012 Ом

   Датчик "преобразует" измеряемый ток в напряжение на выходе. Так как датчик измеряет ток в обе стороны, то значение тока 0 А равно напряжению питания, разделенному на 2. При оцифровке в Arduno это значение должно быть 512, но на деле так не бывает. Датчик необходимо калибровать: вывести в com порт значения датчика без нагрузки и полученное значение использовать в формуле вычислений тока. В третьей части напишу об этом поподробнее.

   Супермега фара.

   Фара описана в первой части.

Ссылки не будет. Тот продавец, у которого я покупал, больше не продает этот товар. Ищите в поиске со словами "5T6 Bike Light 5xCREE XM-L T6"

Вот что получилось после установки радиатора.

   Кто-то скажет, что она получилась некрасивой и огромной. Мне тоже хотелось бы сделать ее поменьше, но радиатор нормальный нашел только такой. При ширине рулевого стакана 50 мм, ширина радиатора составляет 70 мм. То есть выпирать будет всего лишь на сантиметр с каждой стороны. Это не большая плата за столь яркий свет.

   Импульсный преобразователь питания.

   Для питания светодиодов поворотников, заднего габарита и стоп сигнала я применил понижающий импульсный преобразователь напряжения.

Преобразователь напряжения.

Ссылка на Али.

Максимальный выходной ток 3 А. При токе светодиодов 0,35 А более чем достаточно.

   Светодиоды для поворотников, габарита и стоп сигнала.

Ищите по словам "1W LED CHIP"

  • Напряжение питания: 3,2-3,4 В
  • Ток 300-350: мА
  • Световой поток: 100-120 люмен.

Для уменьшения яркости и тепловыделения напряжение питания уменьшено.

  Управление светодиодами. 

   Светодиоды поворотников, габарита и стоп сигнала подключены к Arduino через транзисторы КТ817А. Светодиодная сборка фары подключена через IRFZ34.

   Компоновка.

   При монтаже всех модулей на плату для прототипирования размер "бутерброда" вместе с мегой довольно большой. Плюс еще батареи питания. Корпус хочу распечатать на 3D принтере, по форме подходящий к треугольнику рамы велосипеда. Этот вопрос пока остается открытым.

 

Готовый "печатный узел"

   При удачном опыте использования, возможно будет разработана печатная плата, на которой будут размещены все компоненты. Вместо DIP корпусов можно использовать SMD. Резисторы тоже для поверхностного монтажа. Габариты MEGA2560 и остальных микросхем небольшие и при двухстороннем монтаже размеры платы можно будет сократить в несколько раз. 

Категория: Arduino и т.п. | Добавил: Zlitos (01.12.2015) | Автор: Пьяных А.В.
Просмотров: 1864 | Комментарии: 1 | Теги: Ардуино, Велокомпьютер, микроконтроллеры, электроника, модули | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]