Путешествие в страну Freeduino, часть 10.3 Записки Самоделкина / 19.03.2012 Итак, робот собран и установлен микроконтроллер Freeduino Nano v5. Провода подключены и программный код загружен (пример кода прилагался на диске для ATMega8A, мною были внесены изменения в файл библиобеки IO_pins.h) И тут выплыли те самые проблемы, возникшие при пайке. Робот жил какой-то своей жизнью . Колеса вращались в разные стороны, заставляя робота крутится на одном месте. А скажем так, голова робота судорожно дергалась (как будто у робота какой-то спазм или нервный тик), а время от времени резко задиралась вверх или так же резко поворачивалась, то в лево, то в право. Первым делом проверил провода и соответствие портов. Порты были подключены все правильно, но вот провода, стоило их пошевелить так сервоприводы начинали срабатывать. Выяснилось, что под изоляцией скрывался брак (у каждого провода на концах с двух сторон припаян наконечник квадратный в сечении место пайки заизолировано), заменив провода я смог добиться от робота некоторого послушания, но не в полной мере. Наверное возникает вопрос. Что робот должен уметь делать? Начнем с того, что не спроста у него такой сложный глаз. Данные от датчиков поступают на четыре аналоговых порта А7, А6, А5, А4. и один цифровой D2 Приведу для примера часть кода: А5, А4 отвечают за левый и правый фронт А7, А6, отвечают за верхний и нижний фронт D2 отвечает за работу IR светодиодов (четыре в один ряд по центру) Это дает возможность заставить робота подчиняться движениям руки человека.(со стороны робот похож на игривую собачку). И так я остановился на том, что не всегда срабатывало все четко и робот крутился на месте. Первым делом разобрался с вращением колес. Нужно было подобрать значения int leftmotorstop и int rightmotorstop так чтобы они не вращались (для каждого серво привода значения могут быть разные). В моем случае это: Затем отредактировал значения int neckLRcenter и int neckUDcenter они отвечают за положение глаза Изменяя значения int neckLRcenter добиваемся, чтобы глаз смотрел строго вперед Я настроил эти значения так: Дальше протестировав работу, частично остался доволен результатом. Оставалось разобраться. С нечетким исполнением команд. Первое что проверил это работоспособность IR светодиодов. Это сделать просто если у вас есть видео камера. В камеру я увидел что все четыре светодиода работают. Оставалось проверить работу фотодиодов. Первое, что я решил сделать это проверить их работу программно, а именно промониторить , что я получаю на портах. Просмотрев понял, надо взглянуть снова на единственный в схеме глаза транзистор. Получше протер увеличительное стекло, включил паяльник. Рассматривая контакты, понял, что днем видимость лучше чем ночью (меньше бликов). Нужно было убрать излишки олова. Для этого почистил жало паяльника и аккуратно прогрел контакты. Результатом остался доволен (между точками пайки просматривались четкие дорожки, никаких замыканий быть больше не должно). Закрепил плату на место, заново залил программу. И вот оно чудо техники, все заработало. Небольшой видеоролик про то, как это все работает (не думал, что так сложно и снимать на камеру и с роботом играться...) Но на этом история не заканчивается. За время пока писал эти посты я уже собрал второго робота, только слегка по своему . И теперь у меня их два. О том как я его собирал уже в следующих постах. продолжение следует... Путешествие в страну Freeduino, часть 10.2 Путешествие в страну Freeduino, часть 10.1 Путешествие в страну Freeduino, часть 9 Путешествие в страну Freeduino, часть 8 Путешествие в страну Freeduino, часть 7.3 Путешествие в страну Freeduino, часть 7.2 Путешествие в страну Freeduino, часть 7.1 Путешествие в страну Freeduino, часть 6 Путешествие в страну Freeduino, часть 5.2 Путешествие в страну Freeduino, часть 5.1 Путешествие в страну Freeduino, часть 4.2 Путешествие в страну Freeduino, часть 4.1 Путешествие в страну Freeduino, часть 3 Путешествие в страну Freeduino, часть 2 Путешествие в страну Freeduino, часть 1 arduino freeduino робототехника