Программирование микроконтроллеров для управления роботами

Знакомство с программированием микроконтроллерных плат ChipKIT для управления роботами:

Программирование микроконтроллера для управления роботом from Anton Moiseev

На слайдах:

ChipKIT-sound sensor.jpg

Исходники уроков:

https://github.com/1i7/lessons/tree/master/chipkit-robot-intro/sketches

Платы

ChipKIT WF32 (с вайфаем $70): http://digilentinc.com/Products/Detail.cfm?NavPath=2,892,1193'Prod=CHIPKIT-WF32
ChipKIT Uno32 (самая простая $27): http://digilentinc.com/Products/Detail.cfm?NavPath=2,892,893'Prod=CHIPKIT-UNO32
ChipKIT Wi-FIRE (аналог WF32 с процессором PIC32MZ 200МГц $80): http://digilentinc.com/Products/Detail.cfm?NavPath=2,892,1266'Prod=CHIPKIT-WIFIRE

Установка среды разработки MPIDE

Скачать среду разработки MPIDE, адаптированную для работы с платами серии ChipKIT (Linux, Mac, Windows):
http://chipkit.net/started/

Для ее работы потребуется установить платформу Java SE:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Инструкции: для Linux, Mac, Windows

Общий смысл:

1) Запустить среду mpide (скачать архив - исполняемый файл внутри).

Перед запуском исполняемого файла из архива, требуется установить Java (в Linux - еще одну библиотеку rxtx).

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

2) Установить драйверы для плат, чтобы они определялись в системе как COM-порт и MPIDE их видела для прошивки.

В Linux все необходимые драйверы уже есть в ядре, но может потребоваться поиграть с настройками доступа к устройству /dev/ttyUSB0 (индекс на конце может быть любой), под видом которого появляется подключенная к системе плата. Инструкции могут отличаться от дистрибутива к дистрибутиву (может потребоваться добавить пользователя в нужную группу; в крайнем случае выполнить "sudo chmod 777 /dev/ttyUSB0" или запустить MPIDE от рута, но так лучше не делать).

В Mac драйвер есть внутри архива и ставится без проблем.

В Windows драйвер тоже есть внутри архива MPIDE, но с его установкой на новую систему у меня обычно начинается какая-то чехарда (некоторые нюансы ниже могут требовать перепроверки):

  • В Windows 7 обычно подходит драйвер из архива с mpide - при подключении устройства нужно указать системе путь к каталогу с распакованной MPIDE и она должна найти в ней нужный драйвер (там их два и нужно обязательно выбрать не FTDI, а второй; с FTDI подключенная плата не появляется в виде COM-порта - вот здесь могу наврать, т.к. под рукой нет Windows7, но пару раз кажется было именно так)
  • В Windows 8 драйверы из архива с MPIDE системой не распознаются - при подключении платы нужно поймать диалог подключения нового устройства и разрешить ему найти драйверы в интернете (если вы находитесь далеко от нормального интернета, например проводите демо-занятие в Ждановце, это проблема).
  • В Windows 8.1 по отзыву одного из студентов, драйвер уже встроен в систему (сам не проверял).

В случае успеха, подключенная к компьютеру плата должна появиться в меню MPIDE Tools/Serial Port.

Дополнительно

Мотор с пластиковым редуктором:
http://www.robotshop.com/en/solarbotics-gm7-gear-motor-7.html

Серво-машинки (для примера их разных можно найти и у нас): http://www.robotshop.com/en/dfrobot-micro-servo-motor.html
Магазин хобби-сервис в Печерах рядом с 6м корпусом (там есть моторчики, аккумуляторы и много еще полезного, но раза в 3 дороже, чем в интернете):
www.hobby-service.ru/shops.html
Казанское шоссе 16: http://maps.yandex.ru/?text=Хобби-Сервис'sll=44.001485999999986%2C56.324141999993074'sspn=0.865173%2C0.256770'z=17'results=20'll=44.079693%2C56.283690'spn=0.014677%2C0.004261'l=map

Магазин ArduNN.ru: платы Arduino, датчики, запчасти для 3д-принтеров и т.п. в Нижнем Новгороде.

chipnn.ru - разные электронные компоненты в Нижнем Новгороде (в основном не для Ардуино), есть драйвер L293D

fixled.ru - хороший интернет-магазин в Санкт-Петербурге, много всего совместимого с экосистемой Ардуино, в частности разные датчики.


Уведомлять о статьях
chipkit arduino микроконтроллеры роботы моторы   Автор: 1i7
В обсуждении оставлено 4 комментариев
administrator26 Апреля 2015 21:57:14
Я так понимаю это что-то вроде ардуины. Ничего сложного внутри не напрограммировать, типа распознавания образов (всё на сервак выносится)?
| Ответить
1i727 Апреля 2015 14:16:21
Там процессор поинтереснее, чем на ардуине - PIC32MX, и есть еще WiFIRE с PIC32MZ, но память там измеряется килобайтами, поэтому распознавание образов не сделать. С Ардуиной они совместимы на уровне библиотек (проект ChipKIT), но их можно также программировать во "взрослом" режиме из среды MPLABX через программатор с брейк-поинтами: http://1i7.livejournal.com/12327.html вот здесь больше информации http://1i7.livejournal.com/42642.html
| Ответить
Konstantin05 Сентября 2016 11:01:27
Запустил среду mpide. Компьютер видит плату wi-fire как com-порт. Установлена последняя версия FTDI. Другой (ChipKit driver) при установке выдает синий экран. Не получается загрузить ни одной тестовой программы. Что может быть не так?
| Ответить
 
1i707 Сентября 2016 16:23:30
У меня есть несколько новых тестовых вайфаеров, которые тоже определяются, подают признаки жизни, но из mpide не шьются даже блинком. Пока не дошли руки разобраться, в чем дело, но мое предположение - именно в них загоняют прошивку для работы с Имаджинэйшеновским сервисом Flow Clowd - интернет вещей, все дела, у которой (если мое предположение верно) свой загрузчик, который не совместим с работой из мпайда. Вот здесь есть что-то про флоу-клауд: http://store.digilentinc.com/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board/ вполне возможно, они сейчас его на вайфаеры по умолчанию все шьют. Если это все действительно так, что можно попробовать зашить другой загрузчик, который будет совместим с мпайдом. Скорее всего это вот этот: chipKIT Bootloader image loaded into the WiFire PIC32 microcontroller at the factory https://reference.digilentinc.com/chipkit_wifire:chipkit_wifire_b Правда, для этого потребуется специальный отдельный программатор типа PICKit3 или ChipKIT PGM. Но он в любом случае не будет лишним. Для работы в MPIDE он не нужен, но с ним можно работать во "взрослой" MPLAB, в который есть дебагер и полноценные точки останова. Перед первой прошивкой платы из MPLAB через программатор, она просит заменить загрузчик на свой, с MPLAB'овским загрузчиком mpide с платой перестает работать. В любой момент можно вернуться обратно, если зашить загрузчик ChipKIT со страницы платы в магазине. Да, вспомнил, что я как-то подключал такую вайфаеровскую плату и решил посмотреть в MPIDE вывод в Serial Monitor - она туда валила какие-то сообщения как раз по линии флоу-клауда. И да, чипкитовцы mpide как форк Arduino IDE дропнули и запилили всю платформу поддержки чипкитов в виде плагина к дефолтной Ардуине http://chipkit.net/wiki/index.php?title=ChipKIT_core p.s. админу: 20 минут писал комент, нажал добавить, во всплывающем окне нажал кнопку "восстановить пароль", попал на эту же страницу без работающей кнопки "назад", комент пропал (была бы кнопка "назад", у фаерфокса был бы шанс запомнить форму). Очень, очень плохо.
| Ответить
Яндекс.Метрика admin@synxronica.com