воскресенье, 21 декабря 2008 г.

Робот и микроконтроллер. COM-порт

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

Такая связка, как правило, производится через COM-порт. Все, кто с этим когда-либо связывался, наверняка знают, что у COM-порта компьютера, и у UART микроконтроллера - разные уровни сигналов логических "0" и "1". Для их согласования используют микросхему MAX232, или ее аналоги. У меня в городе микросхем продается крайне мало, да и лишней пайки всегда стараюсь избежать - поэтому я сразу же пошел по альтернативному пути. А именно, использовал для согласования дата-кабель от мобильного телефона.

После недолгих поисков оказалось, что у меня есть только лишь дата-кабель от телефона Fly SL200. К разъему этого телефона напрямую подцепиться просто невозможно, т.к. расстояние между контактами там меньше миллиметра. Отрезать разъем тоже не хотелось - телефон-то рабочий, и его иногда синхронизировать не помешает. Пришлось подпаиваться. Результат очень порадовал, поэтому размещаю фоторепортаж с места событий.

Итак, вот что у нас есть вначале:

Ясно, что внутри компьютерного разъема запаян MAX232 или его подобие. Я даже проверять не стал, тем более вычитал этот факт из документации в интернете. Подпаиваться же надо ко второму разъему - телефонному. С помощью тонкой отвертки поддел защелки на разъеме и снял его крышку. Внутри обнаружилось 4 очень аккуратно подпаянных проводка. Мне такой пайки не повторить:

Путем поиска в интернете удалось обнаружить, что два проводка посередине - это как раз нужные мне TxD и RxD. К одному подпаялся прямо на разъеме, а ко второму - на небольшом отдалении, зачистив изоляцию на проводке:

Затем, с помощью маленьких пассатижей, я завязал узлом подпаянные провода - чтобы они не боялись дерганий, и ножом вырезал выемку в пластиковом крепеже для приходящих в разъем проводов:

Закрыл крышку, получилась вот такая вот красота:

Теперь кабелем можно пользоваться как для синхронизации телефона, так и для связи компьютера или КПК с микроконтроллером. Осталось немногое - прикрепить к концу выведенного нами двухжильного провода какой-нибудь разъем, с помощью которого этот провод можно было бы легко подключать к плате микроконтроллера. Я сделал просто, отрезав этот разъем от старенького блока питания. Скрутил провода и пропаял их немного, вот что получилось:

На плату микроконтроллера потребуется лишь припаять простенькую вилку, ее можно или купить, или проще - выпаять из старой, или сгоревшей, материнской платы, такого счастья там целый вагон:

Думаю, данный рецепт вполне подойдет и для большинства других дата-кабелей. Главное, проверить, что кабель для подключения к COM-порту использует сигналы ttl-логики со стороны разъема телефона.

Напоминаю: нулю в TTL-логике соответствует напряжение до 0,4В, единице от 2,5В. В то же время в стандарте RS232 ноль - это от +5В до +15В, единица - от -15В до -5В, причем от -5В до +5В считается неопределённым состоянием.

Программирование COM-порта, как со стороны КПК/компьютера, так и со стороны микроконтроллера, обсудим в следующий раз. До скорых встреч!

3 комментария:

  1. А где это можно использовать на практике?

    ОтветитьУдалить
  2. Лишние движения...
    Макс элементарно заменяется парой диодов и транзисторов :)
    http://www.chip-dip.ru/library/DOC000185966.gif

    Роботостроитель должен быть ленив... ;)

    ОтветитьУдалить
  3. ///Программирование COM-порта, как со стороны КПК/компьютера, так и со стороны микроконтроллера, обсудим в следующий раз. До скорых встреч!///

    О самом интересном не написал(( кинь ссылку плиз =)

    ОтветитьУдалить

Внимание! Реклама и прочий спам будут беспощадно удаляться.