Домашний робот своими руками, шаг за шагом.
Вступление:
В процессе сборки своего робота я натыкался на множество трудностей и сложностей, которые (по большому счету) только уводили от основной задачи. Ну подумайте сами - зачем знать как работает протокол RS-232? Или как запрограммировать микроконтроллер? Основная задача - робот, а не ковыряние с комплектующими. А изначально я занимался именно "ковырянием с комплектующими". Так что, этот материал составляется мной для облегчения другим энтузиастам сборки собственного робота. Ни в коем случае мой материал не претендует на некий "Эталон", многие трудности я не решал, а именно "обходил". Ну не хочет нормально работать какой-нибудь элемент. По всем параметрам должен, а не работает, или работает, но "не так". Находился некий "исключительный случай", когда элемент начинал выдавать правильное значение, а "Как?" и "Почему?", я откладывал на будущее. Мной руковорил принцип: "Сначала соберем "что-то в общем", а потом подумаем над деталями". Уверен, на своем пути вы найдете верное решение! Да, как пояснение, что именно мы собираем? Мы соберем автономную робо-платформу, с управлением по Wi-Fi, в составе платформы будет находиться: 2 тяговых электромотора (они будут перемещать саму платформу), 1 электромотор подъема видеокамеры (поворот камеры вправо-влево можно осуществить тяговыми двигателями, а вот посмотреть вверх... понадобится еще один), фару (вдруг в комнате будет темно) и видео-камеру (WEB-камеру). Подключим речевой модуль, и научимся запускать эту конструкцию по Wi-Fi. Так что - приступим.
Глава 1.
Делаем "правильный" переходник USB-RS232.
Для начала надо приобрести в радио-магазине (компьютерном салоне): термоусадочные трубки разных диаметров (очень сильно облегчит процесс изоляции), самые тонкие провода во фторопластовой изоляции и переходник USB-RS232 (или USB - COM-порт). Почему я начал именно с этого переходника? Дело в том, что это - важная составляющая общей схемы, можно ее реализацию оставить на потом, но потом-то все-равно ее придется решать. И еще один момент: для нашего использования, купленный переходник в первоначальном виде не пригоден, остановлюсь на этом немного подробнее.
Первоначально все компьютеры были оборудованы коммуникационным средством, так называемым COM-портом. Передача осуществлялась по протоколу RS-232, не поверите, но в исключительных случаях данные по СОМ-порту можно было передавать на расстояние до 3-х километром. Да-да, вы не ослышались - три километра. На сколько я знаю, протокол разрабатывался для военного ведомства, по этому получился достаточно надежным (и простым). Так вот, основной характеристикой, при передаче данных, было то - как кодируется "в проводе" информация. "Единица" - кодировалась положительным импульсом/напряжением +12 Вольт (или - положительным фронтом), "Ноль" - кодировался отрицательным импульсом/напряжением -12 (минус 12) Вольт, Если бы мы подключили к такому проводу электромоторчик, то при поступлении "единицы" он бы унас крутился в одну сторону, а при поступлении "ноля" - в обратную. То же самое вы можете наблюдать подключая батарейку к электромоторчику, при смене полюсов, меняется и направление его вращения.
Но, в контроллере находится немного модифицированный приемник протокола RS-232, так называемый протокол USART. Его основное отличие от старого протокола - напряжение, которым кодируется информация. "Единица" там кодируется положительным напряжением +5 Вольт, а "ноль" - отсутствием напряжения (то есть - нулем вольт). Применительно к "моторчику" - если поступает "единица", моторчик крутится, а когда поступает "ноль" - стоит на месте. То есть, если напрямую подключить наш переходник к контроллеру - все "нули" - пропадут. Придет только часть информации, а контроль целостности покажет ошибку передачи. Что же нам делать? Надо из контроллера USB-RS232 удалить мешающий нам модуль. Он обычно представлен бывает микросхемой MAX-232 (или ее аналогами). Мы микросхему физически удалять не будем, мы просто подпаяемся в нужном месте.
Еще хочу остановиться на микросхеме PL2303. Собственно она и представляет сам переходник. Все функции по перекодировке информачии из одного стандарта в другой берет на себя она.
Внимание! Указанный ниже переходник не покупать ни в коем случае! Покупка еще одного такого переходника показала - он некачественный! Проблема отказа была не в моем вмешательстве, а том что он изначально не работал!
Переходник, который работать не будет:
После извлечения из коробки имеем:
Рекомендуемый переходник:
Открываем коробку:
Вставьте прилагаемый к переходнику CD в привод и установите драйвер, запустив установочный файл из папки: D:\USBRS232\Windows\Setup.exe (это если "D" - ваш CD-ROM). После установки подсоедините переходник к USB (система автоматически найдет новое устройство и подключит его) и откройте "Диспетчер устройств" (Панель управления - Система - вкладка "Оборудование" - кнопка "Диспетчер устройств").
У меня переходник встал на COM4, соответственно обращаться в своих программах я буду к COM4. Плюс ко всему мы частично проверили работоспособность переходника. Продолжим:
разбираем корпус:
Сверху микросхема PL2303:
Это та самая микросхема PL2303, про которую я писал.
Если поискать ее описание (на языке электронщиков - datasheet), то его можно найти, я его выкладывать не буду, поскольку нам весь datasheet не нужен. Нам нужна только его часть, а именно - назначение выводов (или в просторечии - ножек) микросхемы. В нужном месте открываем:
(описание микросхемы)
Нас интересуют только две ножки из всех возможных, это RXD и TXD. Дело в том, что передача осуществляется только по этим двум выводам. RXD - receive (прием) данных, TXD - transmit (передача) данных. Берем очень тонкий паяльник и подпаиваемся в нужных местах проводами (это первая ножка микросхемы и пятая). Тут надо пояснить почему провода во фторопластовой изоляции: когда будете паять провод в обычной изоляции - изоляция может "поплыть", избыточно обнажая провод. Со фторопластовыми такого не произойдет. Скорее вы пережжете плату, чем нарушите паяльником изоляцию. В общем - это единственная "ювелирная" операция, если сами не сможете - попросите человека со стажем, я не думаю что вам откажут.
Подпаиваем провода:
"Минусовой (земля)" и "Плюсовой (+5В)":
Провода "Передача данных"(1) и "Прием данных"(5):
Припаяв провода, заливаем для надежности герметиком (Отличнейше подойдет клей "Момент"):
Подсушиваем, обозначаем (маркируем) провода и окончательно упаковываем переходник. Вот тут нам и пригодятся термоусадочные трубки:
Маркировка: красный - +5В; черный - земля; синий - RXD; зеленый - TXD.
Осталось проверить работоспособность модифицированного нами переходника.
Подключите переходник к компьютеру и еще раз удостоверьтесь, что он опознался и установился на определенный порт.
Для проверки работоспособности, надо запустить программу пля проверки COM-порта Скачать:
Запускаем программу:
1) выбираем COM-порт (у меня COM4) и устанавливаем скорость обмена (19200);
2) Жмем кноку "Open", если порт откроется, то надпись на кнопке сменится на "Close";
3) В строке (обозначена на рисунке цифрой 3 вводим любой произвольный текст;
3-a) Закорачиваем два провода на переходнике (те, которые подпаивали к выводам микросхемы PL2303, они же RxD и TxD);
4) Жмем кнопку "Send";
5) В текстовом поле 5 должен появится тот же текст, который вводили встроке 3;
6) Закрываем COM-порт - "Close".
Текст должен быть полностью идентичен. Если текст не появился - проверьте как вы соединили провода, если текст отличается - значит проблема либо в пайке, либо в микросхеме PL2303 (битая).
На этом перая часть полностью закончена, как результат - имеем нужный нам переходник.