09.04.2013
Пока я искал WI-Fi Shield, о котором писал в предыдущем посте, наткнулся на один интересный набор в электронном магазине Электронщик в разделе «Роботы для сборки», а именно — Робот пишущий Doodle Bot kit, DAGU Electronics.
Возможно, этот набор мне показался интересен потому, что можно собрать робота, чем-то напоминающего «Черепашку Ирвина». Но я не купил этот набор. Такой путь мне показался слишком простым. Проведя ревизию на наличие модулей для подключения моторов, сервоприводов и датчиков, я этого робота решил собрать самостоятельно. Практически все, что нужно для создания робота, было в наличии, плюс есть огромное желание построить нового робота, да еще к тому же, появилась идея собрать самодельный энкодер и опробовать его в действии.
Как всегда, все начинается с шасси. После разборки списанного копира, осталось довольно много полезного железа и среди этого изобилия я нашел элемент шасси, изображенный на фотографии ниже.
После некоторой доработки получаем вот такую основу для робота. Теперь можно крепить моторы и сервопривод.
Немного о моторах, которые я использовал. В процессе детских экспериментов в прошлом году было выведено из строя два сервопривода, но при этом погорела только управляющая плата — сами моторы остались в рабочем состоянии. Если немного поработать паяльником, то можно будет получить два приличных мотора, да еще и с редуктором.
Для этого разбираем сервопривод…
И перепаиваем провода, как на фотографии ниже, при этом третий провод убираем совсем… плату можно не вынимать…
Далее для робота понадобится сделать два энкодера. Для построения Doodle Bot kit использовали магнитные энкодеры потому было решено их и сделать. Для этого были куплены датчики Холла SS411A
(2-шт.) и магниты 3х2 (17-шт… нужно 16 — 1 из них запасной).
По 8 магнитов располагаем на стальной шайбе, чередуя полярность (чтобы магниты не сдвигались, используем клей «Момент»).
Далее припаиваем провода к датчику Холла. Я использовал этот шлейф…
Удалив белый разъем, припаял к нему датчик Холла. Контакты заизолировал термоусадочной изоляцией. После прикрепил его двусторонним скотчем на корпусе переделанного мотора, как на фото ниже:
Можно устанавливать моторы на свои места и собирать колеса.
Начнем с колес. Для этого я взял сервоколесо 50 мм в диаметре — самое большое на фото…
С ним я пошел на строительный рынок и в отделе сантехники приобрел покрышки для колес моего робота (две сантехнические прокладки)
Но, чтобы покрышки держались, нужен второй диск. Его я сделал из обрезков пластикового электрического короба. Как то не покажется странным, диски вырезал шилом. Процесс длительный, но при этом довольно качественно все получается.
Теперь остается все собрать и опробовать, как работает энкодер.
Для проверки его работы я использовал скетчи с этого сайта, а именно этот скетч:
void setup()
{
Serial.begin(9600);
}
void loop()
{
static uint8_t prev_state = LOW;
uint8_t state = digitalRead(2);
if (state != prev_state)
{
prev_state = state;
Serial.println(state == LOW ? «OFF» : «ON»);
}
}
Убедившись, что все работает, я приступил к окончательной сборке робота и последующей наладке.
Теперь переходим непосредственно к сборке робота. Так как в процессе сборки было не до съемки, то я буду использовать фотографии уже собранного робота (надеюсь, что это никого не запутает)
Итак:
В первую очередь закрепляем стойки, которые будут держать плату Arduino и батарейные отсеки… для этого заранее были просверлены отверстия в шасси…
После чего можно смело крепить моторы и сервопривод на свои места…
Следующим этапом устанавливаем плату Arduino, два батарейных отсека и Motor Shield. Чтобы исключить замыкания, плату Arduino я установил на пластиковую прокладку (которую сделал также, как диски для колес — из обрезков пластикового электрического короба). Её довольно хорошо видно на фотографии…
Теперь можно установить кнопку, припаять к ней провода и соединить между собой батарейные блоки…
Затем подключаем моторы к Motor Shield(я не стал разрушать разъемы и подключение осуществил с помощью штырьковых соединителей).
Следующим шагом устанавливаем плату IO Expansion Shield и подключаем к ней датчики (ко 2 и 3 портам) и сервопривод ( к 12 порту)…
Для того, чтобы робот мог поднимать маркер на время маневров, нужно сделать подъемник (для этого нам и нужен сервопривод). Чтобы его сделать, понадобится полуплечо для сервопривода, а на конце нужно будет закрепить колесо, как на фотографии ниже (я использовал колесо от копира).
Теперь немного о том, как крепить маркер. Для этого в шасси сделано отверстие нужного диаметра, а затем в это отверстие вставляем заглушку от распределительной коробки, в которой делаем отверстие нужного диаметра (зависит от диаметра маркеров, которые будете использовать).
Ну, вроде все, робот собран, можно переходить к настройке. Габариты моего робота отличаются от оригинала, поэтому предстояло еще поработать с кодом…
О том, как это происходило, можно, конечно, много чего написать, но, я думаю, фотографии, представленные ниже, скажут намного больше
И вот, наконец, настройка закончилась, робот выучил алфавит и теперь может послать привет Галактике