Libelium Bluetooth vs. IO Shield

Тема в разделе "Arduino & Shields", создана пользователем Igor, 27 фев 2012.

  1. Igor

    Igor Нуб

    Сын активно осваивает Ардуино, и я решил подарить ему на день рождения модуль блютус с дальним прицелом сделать радиоуправляемую платформу. В "Амперке" делал покупки уже несколько раз, нареканий не было, поэтому выбор в очередной раз остановил на ней. IO Shield (а именно, IO Expansion Shield V5 от DFRobot) уже был, оставалось купить модуль Bluetooth (производство Libelium). Что я и сделал.

    Купленный модуль с некоторыми ухищрениями (напишу об этом в конце) был водружен в IO Shield, но несмотря на наши с сыном радужные ожидания, сходу запустить его не удалось. На все AT-команды модуль реагировал полнейшим молчанием. Диагноз поставил осциллограф. С выхода TX последовательного порта Ардуино шли импульсы, как и полагалось, размахом около 5 вольт. А на вход RX модуля блютус эти импульсы приходили в весьма неожиданном виде: уровню "1", как и должно было быть, соответствовало около 3.3 вольта, а вот уровню "0" - аж 1.2 вольта, что, по всей видимости, как "0" модулем не воспринималось.

    Окончательно точки над "ё" расставили принципиальные схемы IO Shield и модуля блютус. Для снижения уровня TX с 5 до 3.3 вольта в IO Shield используется резистивный делитель, а в модуле блютус вход RX оказался подтянут резистором к 3.3 вольта. В сумме эти цепочки и давали столь высокий уровень "0" на входе блютус.

    Отступать было некуда, все ж таки подарок :), стали придумывать метод лечения. Первой пришедшей мыслью было вместо IO Shield собрать свой переходник. Остановило то, что для этого пришлось бы делать собственную печатную плату, т.к. шаг отверстий на плате Proto Shield 2.5 мм, а для модуля блютус нужно 2.0 мм. К счастью, нашлось более простое решение. Им оказался диод 1N4148 (КД522), который мы впаяли в IO Shield анодом к выводу RX разъема XBee/Bluetooth (по схеме IO Shield это вывод 3 разъема XBee, обозначен на этой схеме как DIN/~CONFIG) и катодом - к цепи APC-TXD в блоке джамперов, которыми последовательный порт Ардуино переключается между XBee/Bluetooth и RS-485 (вывод 2 разъема J13 на той же схеме).

    Такое включение диода позволило снизить уровень "0" до приемлемой величины, и модуль блютус успешно заработал. Отмечу, хоть это и не проверялось на практике, диод не должен мешать подключению модулей XBee, независимо от того, имеют ли они подтяжку входа RX к питанию или нет.

    Вид IO Shield со впаянным диодом показан на фотографии (диод спрятан в изолирующей трубке):
    io-bt-diode.png

    Вместо 1N4148 (КД522) подойдет любой другой маломощный импульсный выводной (т.е. не SMD :)) диод.

    Ну и наконец об ухищрениях, с которыми модуль блютус вставлялся в IO Shield. То ли модуль был шире, чем нужно :), то ли разъемы сервы и питания были установлены на IO Shield слишком близко (что более вероятно), но модуль категорически не хотел входить между этими разъемами. Лечение было простое - верный друг напильник :), которым разъемы были немного подточены со стороны модуля блютус:
    io-bt-front.png

    P.S. Не все то совместимо, что выполнено в одном форм-факторе. Не все то работает вместе, что совместимо. Но практически все можно совместить, используя напильник и паяльник :)
     
    Megakoteyka нравится это.
  2. Dmitriy Kunin

    Dmitriy Kunin Гик

    Увы, именно IO-Shield'ы у от DFRobot у меня тоже вызвали нарекания, и необходимость взяться за паяльник :(
    Но есть три причины, по которым я буду ими пользоваться: первое цена, второе наличие в Москве, третье и главное функциональность.
    Есть шилды от конкурентов, где нет X-Bee, и доступ к контактам не так удобен, есть и те, что лучше чем те, что выпускает DFRobot, у Фреадуино очень удачный на вид шилд, не знаю как реализовано преобразование уровней, но конструктивно сделан приятнее.
    [​IMG]
    Вот только наши его копировать не спешат, и ввозить не торопятся.
    Вобщем есть такая беда, иногда приходиться сначала починить новую вещь, а потом пользоваться.
    Но в советском союзе почти всё было так... Нам не привыкать.
     
  3. Andrew

    Andrew Нуб

    Да, пришлось немножко потрудиться, чтобы всё заработало! осталось лишь научиться программировать правильно и хорошо, чтобы работать с этим модулем
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Нереально крутой ликбез по BT от Libelium. Спасибо большое, что поделились!