OpenRobo
Самодельные роботы
Робот
Создать
Редакторы
Схемы и детали

Обучение созданию роботов

Содержание этой части обучения
После обучения на сайте вы научитесь создавать роботов своими руками, управлять ими с компьютера через USB, организовывать перемещение и включение инструметов, которые могут использоваться для производства различных товаров.

Со страниц курса можно заказать необходимое оснащение для выполнения задач, если у вас его нет.

В случае если возникнут какие-то затруднения или дополнительные вопросы по обучению, обратитесь к автору этого курса по электронной почте phpinbox@yandex.ru.

Cоберем простое устройство управления машиной

Макетная плата и питание

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

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

Подключим источник питания к макетной плате - возьмём 2 AA батарейки 1.5V, вместе они дают напряжение 3V, питание можно проверить с помощью светодиода, подключив его длинной стороной к плюсовой линии питания и короткой к минусовой.

Провода от источника питания закручиваются в клеммник и он вставляется в гнезда двух разных дорожек, проводками эти дорожки соединяются с плюсовой и минусовой дорожкой. Если светодиод горит, то дорожки запитаны и к ним могут подключаться контакты других деталей устройств, которым необходимо питание.
Макетная плата купить
190
РУБ.
ШТ.
КУПИТЬ
Размер: 63 x 2 горизонтальных линий и 4 вертикальные линии
Набор проводков купить
210
РУБ.
ШТ.
КУПИТЬ
Количество: 140
Отсек для батареек купить
35
РУБ.
ШТ.
КУПИТЬ
Места: 2 с проводками
Размер батареек: AA
Клеммник купить
15
РУБ.
ШТ.
КУПИТЬ
Контактов: 2
Зажим: прикрутка
Светодиод купить
3
РУБ.
ШТ.
КУПИТЬ
Цвет: Белый
Напряжение: 3 V
 

Как сделать устройство программируемым

Устройство с программой

Простое программируемое устройство на микроконтроллере AVR своими руками
Сделать устройство программируемым можно при помощи микроконтроллера. Воспользуемся микроконтроллерами AVR. Для подготовки программы на эти микроконтроллеры используется редактор Atmel Studio. Работа с ним будет рассмотрена далее. Готовая программа записывается в память микроконтроллера специальным инструментом Программатором. После этого микроконтроллер можно вставить в устройство, подключить к нему питание и инструменты, которыми он будет управлять.

Чтобы микроконтроллер с записанной в него программой работал, надо для начала подключить его к питанию. Рассмотрим для примера 3 разных микроконтроллера: большой ATmega16A, средний ATmega8A и мелкий ATtiny2313A. Они подключаются к питанию через разные линии, но общим является то, что все их выводы GND должны подключаться к минусу, а VCC к плюсу питания. Схема их подключения показана на рисунке внизу.

На рисунке слева показано простое программируемое устройство - светодиод, который включается по программе через микроконтроллер ATtiny2313A. Длинной стороной (плюс) светодиод подключен к одной из программно управляемых линий микроконтроллера PB7, а короткой (минус) к минусу источника питания, светодиод будет гореть при выставлении через программу микроконтроллера на этой линии значения 1 и погаснет при выставлении значения 0.

Питание для работы этих микроконтроллеров должно быть в диапозоне примерно от 3V до 5V. От батареек я взял 3V, от USB можно брать 5V. Не забудьте отключить светодиод между плюсом и минусом питания из прошлого примера, иначе устройство не включится. Также проверьте, что батарейки не разрядились и дают именно 3V, если не включается, подключите 3 батарейки, а не 2. После подключения микроконтроллера к питанию программно-управляемые линии P (порты) могут быть использованы для подключения к ним инструментов. Расположение P-линий показано на схеме - это линии, название которых начинается с буквы P, например PA0, PD0, PB7.

Порты могут работать в 2-х режимах - прием данных (ввод) при значении DDR порта 00000000 и
включение-выключение (вывод) при значении DDR порта 11111111. Режимы DDR для используемых портов настраиваются обычно в самом начале программы для микроконтроллера. Чаще всего используемые порты просто необходимо поставить на вывод в начале.

Подключение микроконтроллеров AVR к питанию

Подключение микроконтроллеров AVR к питанию

Для включения линий используются числа в программе. Перед тем как использовать какое-либо число, его сначало нужно записать в специальную память для переменных чисел. Для этого в микроконтроллере есть регистры с именами r16 и далее r17, r18, до r25. Эти имена будем использовать при написании программ.

При работе с этими микроконтроллероми удобно пользоваться 8-знаковыми числами из 0 и 1. Т.к. порт (A, B, C, D) состоит не более чем из 8-ми линий, то по виду таких чисел сразу можно понять какие линии порта включены. Такие числа в программе начинаются с символов 0b.

Чтобы можно было свободно вытаскивать микроконтроллер с макетной платы без риска погнуть его ножки используются специальные зажимы, вы можете ими воспользоваться или работать без них.

 
ATtiny2313A купить
70
РУБ.
НЕТ В НАЛИЧИИ
Это: Микроконтроллер
Контакты: 20
Программа: 2 Kb
ATmega8A купить
85
РУБ.
НЕТ В НАЛИЧИИ
Это: Микроконтроллер
Контакты: 28
Программа: 8 Kb
ATmega16A купить
160
РУБ.
ШТ.
КУПИТЬ
Это: Микроконтроллер
Контакты: 40
Программа: 16 Kb
 

 
Зажим на 20 гнезд купить
65
РУБ.
ШТ.
КУПИТЬ
Гнезда: 10 x 10
Зажим на 28 гнезд купить
80
РУБ.
ШТ.
КУПИТЬ
Гнезда: 14 x 14
Зажим на 40 гнезд купить
110
РУБ.
ШТ.
КУПИТЬ
Гнезда: 20 x 20
 

Подготовка программы

Установите Atmel Studio. Создайте новый проект, выберите язык Assembler, выберите тип микроконтроллера. Теперь всё готово для написания программы в центральном окне, строчки с комментариями сверху можно удалить. После того, как программа будет написана, надо выполнить построение Build / Build solution и забрать Hex-файл, который будем записывать в микроконтроллер. Он в директории Документы / Atmel Studio / 6.2 / AssemblerApplication1 / AssemblerApplication1 / Debug / AssemblerApplication1.hex

Подготовка программы для устройства

Подготовка программы для устройства

Напишем простую программу, которая будет включать светодиод в собранном нами простом устройстве. Для этого нужно выполнить 4 операции - записать в память число 11111111, вывести содержимое памяти в DDR порта B (тем самым настроить порт на вывод), записать в память число 10000000, вывести содержимое памяти в порт B. В результате будет включена линия PB7 (светодиод на этой линии загорится), остальные линии порта B будут выключены. Включить только PB6 можно числом 01000000, включить только PB5 можно числом 00100000 и т.д. Можно включить несколько линий, например, числом 10000011 включаются линии PB7, PB1 и PB0.

Эта программа для микроконтроллера AVRПрограмма Комментарии
1
2
3
4
5
ldi r16, 0b11111111  
out DDRB, r16  
 
ldi r16, 0b10000000  
out PORTB, r16
Записываем 1-цы в регистр r16
Настраиваем DDR порта B на вывод единицами из r16
Записываем число для включения линии PB7 в r16
Выводим число в порт B и так включаем линию PB7

Теперь мы знаем как включать и выключать линии из программы. Как подключить инструменты, а не светодиод, информацию об этом смотрите в самом конце этой статьи. После того как программа готова, ее надо записать в микроконтроллер.

Как записать программу в память микроконтроллера

Программа готова и её надо записать в память микроконтроллера. Для этого нам потребуется программатор для микроконтроллеров AVR. Воспользуемся программатором USBasp. Скачиваем Драйвер для программатора, распаковываем архив. Подключаем программатор и устанавливаем драйвер, чтобы программатор определялся системой. В мастере установки оборудования укажите путь для поиска драйверов - директорию из архива.

Программатор USBasp купить
210
РУБ.
ШТ.
КУПИТЬ
Микроконтроллеры: AVR
Макетная плата купить
190
РУБ.
ШТ.
КУПИТЬ
Размер: 63 x 2 горизонтальных линий и 4 вертикальные линии
Проводки купить
80
РУБ.
ШТ.
КУПИТЬ
Тип: Навесные
Количество: 40
Зажим на 20 гнезд купить
65
РУБ.
ШТ.
КУПИТЬ
Гнезда: 10 x 10
ATtiny2313A купить
70
РУБ.
НЕТ В НАЛИЧИИ
Это: Микроконтроллер
Контакты: 20
Программа: 2 Kb
 

Теперь необходимо подключить микроконтроллер к программатору. Микроконтроллер подключается через линии для программирования RESET, SCK, MISO, MOSI и линии питания VCC, GND. Линии для программирования расположены так:

RESET=RESSCK=PB7MISO=PB6MOSI=PB5на ATmega16A
RESET=PC6SCK=PB5MISO=PB4MOSI=PB3на ATmega8A
RESET=RES (PA2)SCK=PB7MISO=PB6MOSI=PB5на ATtiny2313A

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

Запись программы в память микроконтроллера

Программирование микроконтроллеров AVR

У программатора 10 выводов, 6 из них надо подключить к микроконтроллеру, расположение выводов показано на картинке выше. На стороне с круглым перепретением проводов расположен ряд выводов для программирования - MOSI, не подключен, RESET, SCK, MISO. В нижнем ряду расположены выводы питания, только 2 крайних линии подключаются - слева VCC, справа GND. У ATmega8 и ATmega16A к VCC программатора подключаются линии VCC и AVCC, а также 2 линии GND к GND. Микроконтроллер подключаем к макетной плате и с помощью проводков соединяем с программатором линии для программирования, расположение которых мы выяснили. Пример подключения ATtiny2313A на рисунке ниже.

Пример подключения программатора USBasp к микроконтроллеру AVR ATtiny2313A

Пример подключения программатора USBasp к микроконтроллеру AVR ATtiny2313A

Скачиваем программу AVRdude и Документацию к ней. Архив с программой распаковываем в директорию C:\avrdude и туда же необходимо поместить hex-файл программы на запись, который мы получили ранее в программе Atmel Studio, это AssemblerApplication1.hex. Для дальнейшей простоты переименуем этот файл в 1.hex.

Запускаем командную строку Windows c:\Windows\System32\cmd.exe и набираем команды в ней по одной строке, нажимаем Enter в конце каждой строки. Команды запустят программу AVRdude, но сначало надо определить по документации какая должна быть строка для запуска. Смотрим документацию по программе AVRdude со второй главы и узнаем необходимую строку для запуска программы. Строка должна включать указание типа микроконтроллера, типа программатора и типа прошиваемой памяти, а также ссылку на файл прошивки, ну и стереть старую программу надо. У меня получились такие строки для запуска программатора на ATtiny2313A с учетом всего необходимого:

Это команды для командной строки Windows, которая находится здесь C:\Windows\System32\cmd.exe, команды набираются вручную по одной строке и в конце каждой строки необходимо нажать клавишу EnterКомандная строкаКомментарии
1
2
cd c:\avrdude  
avrdude -p t2313 -c usbasp -e -U flash:w:1.hex
Переходим в директорию с программой AVRdude
Запускаем программу, указывая необходимые параметры

Чтобы прошить ATmega8 вместо t2313 укажите m8 или для ATmega16A укажите m16. Все возможные варианты можно найти в документации. Нажимаем Enter, идет прошивка. Теперь микроконтроллер можно вставить в устройство управления и проверить программу.

Мы прошили только программу. Еще у этих микроконтроллеров есть биты настроек Fuse-биты, которые определяют важные параметры их работы. Для первой программы их изменение не требуется, однако потом нужно будет их менять. Программа показывает начальное значение этих битов, нас интересуют только значения H и L. У ATtiny2313A начальные значения H=DF, L=64. Все возможные комбинации битов настроек и их расшифровку смотрите в Справочнике fuse-битов и там же написано как изменить эти биты.

Как подключить инструменты

Микроконтроллер может включать высоковольтные инструменты с отдельным источником питания через транзистор. У транзистора имеется 3 линии - gate (G), drain (D) и source (S). Линия G соединяется с линией микроконтроллера, источник питания инструмента и сам инструмент соединяются между линиями D и S по схеме, показанной на рисунке. Линия S соединяется с минусом источника питания микроконтроллера.

Для примера возьмем транзистор IRF540N, в отсутствии сигнала на линии G он закрыт и инструмент не работает, при подаче сигнала с микроконтроллера на линию PB4 (к которой подсоединен Gate) транзистор открывается и инструмент начинает работать.

Как подключить инструмент к управлению

Как подключить инструмент к управлению

Транзистор IRF540N купить
35
РУБ.
ШТ.
КУПИТЬ
Это: Ключ
Максимальный ток: 33 A
Макс. напряжение: 100 V
Тех. поддержка ответит на ваши вопросы по этой статье
phpinbox@yandex.ru
Перейти к следующей теме обучения
Подключим устройство к компьютеру через USB
 
Регистрация
Для новых людей