Показать содержимое по тегу: Arduino - Lazy Electronics

Ну вот, эпопея с роботом подходит к завершению. Напоследок я решил сделать для него новую печатную плату.

На эту плату я установил уже не Arduino Duemillanove, как раньше, а Pro Mini. Он стоит в три раза дешевле, и его можно припаять и оставить на плате без сожаления.

 

Опубликовано в Ардуино

Пришла пора научить моего машиноподобного робота объезжать препятствия. Для этого я пошел по простейшему пути – использовал ультразвуковой датчик расстояния HC-SR04.Угол распространения ультразвукового пучка у этого датчика довольно узкий (по моим оценкам, около 20о), а препятствия нужно обнаруживать со всех сторон от робота. Поэтому датчик был закреплен на маленьком сервомоторе 9g servo.

Опубликовано в Ардуино

Следующий этап, который я решил предпринять на пути повышения «интеллекта» робота на Arduino – это научить его  ориентироваться в системе координат, и перемещаться в заданную двумя координатами точку.

Эта кажущаяся несложной задача заняла прилично времени и заставила перетряхнуть школьные знания по геометрии. Кто не говорил в школе фразу: «Да на кой черт мне все эти синусы – косинусы в жизни пригодятся?!» Ну, если кто с детства спал и видел себя инженером – то, может, и не говорил. Но я ж не инженер…

Итак, условия задачи. Робот едет вперед, его колеса вращаются с разной скоростью из-за разной мощности двигателей . Скорость эта ещё и не постоянная – я ведь все же пытаюсь её более-менее уравнять с помощью ШИМ.  В итоге едет он по неправильной кривой. Как точно рассчитать его положение  и текущее направление?

Опубликовано в Ардуино

Начинаю программировать робота - машинку на Arduino. Первая задача - реализовать обратную связь между энкодерами колес и двигателями. Для чего это нужно?


Если стоит задача заставить машинку ехать прямо вперед, и при этом просто подать ток на двигатели - то из-за разной мощности двигателей (или разной силы трения колес) колеса робота будут вращаться с разной скоростью. Как следствие, робот будет ехать по кривой.

Выход только один: через небольшие промежутки времени проверять скорость вращения колес и корректировать её, подавая на двигатели большую или меньшую силу тока. 

Раз уж доступны данные с энкодеров - то почему не перевести их заодно в длину пути, пройденного каждым из колес? А тогда уже можно реализовать и прердвижение робота на вполне определенное расстояние, и его поворот на вполне конкретный угол.

Все это я сделал, программу можно скачать отсюда, файл с именем "LazyCarBot_04"

Объяснять её письменно мне лень, поэтому я сделал это на видео:

Там же можно увидеть, как мой молодой, но уже очень самонадеянный робот с Ардуино на борту передвигается под управлением этой программы.

Опубликовано в Ардуино

Печатную плату для машинки – робота я сделал пока в предварительном варианте.  По большому счёту, можно пока обойтись и без неё, соединив всё на макетной плате.  Но на нормальной плате всё-таки удобней, так что вот она:

 

Опубликовано в Ардуино

Этой статьёй я начинаю цикл о том, как своими руками собрать и запрограммировать машинку-робота на Arduino. Статьи будут достаточно простые – так как инженерам-электронщикам вряд ли нужно искать такую информацию в интернетах, а вот начинающим радиолюбителям будет проще читать более «разжеванную» информацию.

И начну я не совсем стандартно – с подключения оптических датчиков положения колёс.

Опубликовано в Ардуино

Недавно я купил на Алиэкспрессе кучку литиевых аккумуляторов для своих будущих проектов, с ёмкостью 1200 мА*ч и 6000 мА*ч. Но верить написанному китайцами – дело неблагодарное, и я решил сделать довольно простую схему, которая позволит мне измерить реальную ёмкость этих аккумуляторов.

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

Опубликовано в Ардуино

Лень - двигатель прогресса, как всем известно. А склероз - двигатель автоматизации. Я вот, к примеру, часто забываю покормить рыбок в аквариуме. И освещение им забываю включить, и воздушный компрессор. А аквариум мне всё же нравится. Так что, выхода нет: придётся делать автоматизацию аквариума. А так как готовые решения по вменяемой цене на эту тему отсутствуют - сделаю всё своими руками.

Опубликовано в Ардуино