Кстати, единая точка входа для раздела автоматизированных систем управления (стартовая страница) доступна по ссылке.
Предыстория
В далекие времена аспирантуры научный руководитель озадачил меня педагогической практикой. Надо было создать курс практических занятий по микроконтроллерам. Тогда это было свежо и приобщало к высоким технологиям. Но надо сказать, что мой новый ВУЗ, куда я перешел во след за шефом, по техническим дисциплинам несколько отставал по уровню. Пару раз я замещал научника на занятиях, после чего моя лексика на долгое время самопроизвольно обогащалась различными ругательствами и обидными определениями присутствующих там студентов. Какие контроллеры, какой ассемблер!
В общем, я отправился в Микронику, купил там набор робота на базе знакомого мне семейства PIC. Это было то, что надо — куча готовых красивых плат и деталек по типу детского конструктора, программатор в комплекте, понятная среда программирования. По тем временам. А главное — готовые практические занятия и осязаемый результат, который может ездить и даже пугать приблудную кафедральную кошку. Несколько смущала цена, набор стоил до фига, не чета сегодняшним аналогам. Но на какие траты только не пойдешь, если нацелился нести в мир светлое, доброй, вечное.
Планы, однако, поменялись. Практики не случилось, а конструктор остался. Я отнес его на работу, и мы с коллегами несколько месяцев игрались всеми техническими отделами — повышали проходимость, путем увеличения клиренса и перераспределения массы, изменения ведущих осей. Говорят, что наши наработки попались на глаза работникам АвтоВАЗа и были тепло приняты их конструкторами, врут наверное… Потом коробка плавно перекочевала на антресоль, где оказалась забыта и не востребована до недавних выходных, когда я на нее наткнулся и решил приобщить к ней подрощённого сына.
Воспитание подрастающего поколения
Сразу скажу, что сыну не зашло. Он вежливо, но скучающе отсидел все то время, пока я увлеченно вещал о роли микроконтроллеров в современной робототехнике. Возмутился обилию деталей и моей оценке времени, которое нужно потратить на сборку и ввод изделия в эксплуатацию. Необходимость программирования вообще не вызвала у него энтузиазма. Даже скорее возмущение: «мол, папа, не мог нормальное что-то купить, без вот этого всего». Он меланхолично позакручивал указанные винтики, попутно потеряв часть. Без интереса понаблюдал, как втыкаются разъемы, загораются и мигают светодиоды. Откровенно страдал, когда я обновлял программное обеспечение и разбирался как с ним работать. Естественно, что версия из коробки безнадежно устарела. Благо актуальную версию под текущую операционку оказалось до сих пор можно скачать с сайта, близкого к официальному.
Оживление пришло тогда, когда робот по итогу не поехал.
В поисках неисправности, диагностика — это наше все
Выгнав ехидно скачущего отпрыска, я занялся переборкой робота. Переборка не помогала. Из диагностических инструментов у меня в зоне доступности был мультиметр. А где-то в глубине шкафа еще лежал переносной осциллограф, но его даже доставать было страшно. Ведь параллельно придется делать генеральную уборку и хорошо если только шкафа, а не всей квартиры.
Напрягало то, что во время сборки изделия и при установке батарейного блока основная плата один раз ощутимо нагрелась. Хотя это не точно, могло и показаться. Не тот уровень напряжения, конечно.
Итак, батарейки исправно выдают требуемое напряжение, оно приходит на все платы, светодиод питания загорается. Проще всего проверить двигатели — если подать на них напряжение, они вполне бодро жужжат и делают вид, что работают. Схемы разводки платы нет, дальше тут копать не то, что бессмысленно, ибо может и повезти наткнуться на источник проблемы, но даже у ежика в тумане найти лошадку шансов больше. Мой текущий уровень в схемотехнике высокой интеграции — немного что-то помнящий любитель.
С наскоку проблема не решилась, и я приступил к последовательному тестированию функций, путем их реализации на программном уровне. С задачей движения по заданному алгоритму робот справился. Вывод светосигнальной индикации также осуществился без проблем. Текст «робот — овно» тоже вывел. Уже хорошо. Чуть хуже было с определением расстояния до препятствий, но я решил — время не пошло на пользу дешевым датчикам. По дистанционным командам устройство двигаться отказывалось.
Неисправность была где-то рядом. Но рядом — это или в приемном тракте, или передающем. И лучше бы она скрывалась в передающем. Пульт дистанционного управления здесь примитивен, схема легко прослеживается по плате. Маркировка элементов также понятна, я посмотрел — все можно заказать.
Я начал с уровня напряжения батареек пульта — мультиметр показал полный порядок.
Интернет — великая штука. Вместе с кучей мусора тут всегда можно найти полезную информацию, главное ее проверять, проверять и перепроверять. Пять минут поисков подарили мне алгоритм проверки работоспособности ИК-диода. Оказывается, если смотреть на него через камеру телефона, то можно увидеть, как он загорается при передаче команд. У меня был пульт от телевизора, я проверил, все так. Диод на пульте управления от телевизора работает (у меня даже музыка на детской игрушке включилась), а от робота — нет.
Уже близилась ночь, раздражение семьи нарастало, звали дела нового дня. Напоследок я заказал инфракрасный светодиод на маркетплейсе и с чистой совестью принял волевое решение на сегодня прекратить.
К следующим выходным я провел внушительную подготовительную работу. Готовился к худшему: достал осциллограф, инструменты и всякие прибамбасы для пайки. Сделал-таки уборку. Забрал заказанный компонент. Отогнал домочадцев заниматься другими важными делами.
Триумф, но с нотками сомнения
Сел, вздохнул и начал детально изучать плату дистанционного пульта. Сигнал на диод не поступал, я даже расстроиться не успел, как выяснил, что питание на формирующую плату также не поступает.
И тут, детально изучив батарейный блок и его соединения обнаружил, что, вероятно, от времени пружинка отошла от контакта, образуется практически невидимый зазор. Легкое движение отверткой и вуаля — заработал пульт, по командам с него поехал робот.
Ну ёклмн! Твою дивизию!
В общей сложности я потратил на все и про все часов восемь. И откровенно говоря, до сих пор не понял — стоило оно того или нет.
Ознакомиться с содержанием журнала.
Уважаемые коллеги, желаю хорошего дня. Подписывайтесь, чтобы иметь возможность обсудить со мной вашу задачу в комментариях. Буду рад лайку, альтернативному мнению или истории по теме статьи.
ПРЕДУПРЕЖДЕНИЕ №1: Оценки, суждения и предложения по рассматриваемым вопросам являются личным мнением автора.
ПРЕДУПРЕЖДЕНИЕ №2: Техническая информация, представленная на сайте, не является официальной и предоставлена только в целях ознакомления. Владелец сайта не несет никакой ответственности за риски, связанные с использованием информации, полученной из данного источника.
Все изображения, если не указано иное, либо выполнены автором, либо взяты из открытых источников.