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

From RepRap
Revision as of 10:06, 5 July 2013 by Bdragon (talk | contribs) (Russian page translation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Разработка документации RepRap II "Мендель"


Это не законченный перевод статьи. Пожалуйста, сделайте свой вклад в перевод документации.
Motherboard-programming.jpg
RepRap имеет основной контроллер, который управляет всем устройством. У каждого экструдера есть также вспомогательный контроллер. Основной контроллер и вспомогательные контроллеры экструдеров должны быть прошиты. На данной странице рассказывается, как это сделать.
Please Note this page describes how to install the RepRap standard firmware. There are alternatives to the standard firmware available and these are listed on the Comparison of RepRap Toolchains.

Основной контроллер и контроллеры экструдеров должны иметь установленный загрузчик до того, как вы сможете загружать программы в них. Операция установки загрузчика должна быть проделана всего один раз. Если вы купили уже готовые платы контроллеров, то загрузчик там уже есть, однако если вы собираете контроллеры самостоятельно, то необходимо его установить в соответствии с Инструкцией по установке загрузчика.

Перед началом работы

Настройка Arduino Software for Sanguino

До того, как станет возможным загружать что-либо в контроллер Sanguino, вам нужно настроить среду Arduino для того, чтобы определился нестандартный чип Atmel 644p.

Скачайте и установите Arduino software, после чего скачайте информацию о чипе с сайта Zach Sanguino site.

В скачанных файлах чипа вам необходимо скопировать каталоги в их соответствующие пути.

   * скопируйте sanguino-software-1.x/cores/sanguino в arduino/hardware/cores/sanguino
   * скопируйте sanguino-software-1.x/bootloaders/atmega644p в arduino/hardware/bootloaders/atmega644p
   * скопируйте все каталоги из sanguino-software-1.x/libraries/ в arduino/hardware/libraries/ с перезаписью существующих файлов библиотек.

Далее, вам нужно отредактировать файл boards.txt, чтобы добавить Sanguino в список поддерживаемых плат. Файл располагается в arduino/hardware/boards.txt

Перезапустите среду Arduino, и после этого вы можете скачать прошивку для Sanguino.

Более полные инструкции доступны также здесь.

Прошивка основного контроллера

Компиляция

Программа на C++, загружаемая в основной контроллер, находится в загрузках в каталоге mendel/firmware/FiveD_GCode/FiveD_GCode_Interpreter. Самая последняя версия доступна в RepRap Subversion repository, однако имейте ввиду - это может быть нестабильная версия для разработчиков.

В каталоге загрузки есть готовый конфигурационный файл с названием configuration.h.dist. Скопируйте его в новый файл с именем configuration.h для того, чтобы когда вы скачиваете новую версию RepRap, вам может потребоваться защитить от перезаписи ваш собственный файл конфигурации.

Запустите Arduino Development Environment и откройте скетч mendel/firmware/FiveD_GCode/FiveD_GCode_Interpreter/FiveD_GCode_Interpreter.pde. Ваш новый файл configuration.h должен появиться в одной из вкладок.

Щелкните на эту вкладку и вы сможете прочесть этот файл. Он хорошо прокомментирован и содержит инструкции как конфигурировать прошивку для вашего RepRap. Когда закончите редактирование, выберите File->Save.

В Arduino Development Environment выберите Tools->Board->Sanguino, а затем Sketch->Verify/Compile.

Программа после этого должна скомпилироваться без ошибок.

Загрузка прошивки

Подключите кабель USB<->serial, собранный по инструкции к шестиконтактному разъему у левого края основного контроллера. Убедитесь, что он подключен правильной стороной. Контакт RTS (он должен быть окрашен в зеленый цвет) должен совместиться с верхним концом разъема с надписью "GRN" на контроллере. Минусовой контакт (окрашен черным) совмещается с нижним концом с надписью "BLK".

Убедитесь, что на двухконтактном разъеме C8 платы контроллера установлен джампер (справа от шестиконтактного разъема, вами используемого). Это переводит плату в режим программирования.

Подключите кабель USB в соответствующий разъем USB-B на плате, но пока не подсоединяйте его к компьютеру.

Перейдите в список соединений с помощью Tools->Serial Port и запомните его. Затем, подсоедините кабель USB к компьютеру и проверьте список снова - должно появиться новое соединение (в Linux это будет, например, /dev/ttyUSB0, в Windows, например, COM5). Выделите его, если это не было сделано автоматический средой Arduino. Это соединение USB и есть то, которое вы только что подключили.

Кстати, индикатор питания на плате контроллера должен гореть - плата подключена к питанию по USB.

Выберите Upload to I/O Board (небольшой квадрат справа от стрелки ->). Через несколько секунд индикатор отладки на плате должен часто замигать - это значит, что программа загружается в контроллер.

Еще через несколько секунд Arduino Development Environment должен отобразить сообщение Done uploading, а индикатор отладки на плате должен начать мигать медленно, с частотой около 2 Гц. Это означает, что программа RepRap выполняется в контроллере.

Если загрузка программы не работает, отключите кабель USB, подождите пару секунд и подключите его снова. После чего зажмите кнопку RESET на контроллере. Подведите мышь к Upload to I/O Board, отпустите RESET и сразу же нажмите кликните мышью.

Для тестирования прошитого основного контроллера пройдите по ссылке.

Прошивка контроллера экструдера

Extruder-programming.jpg

Данный процесс очень похож на процесс прошивки основного контроллера.

Компиляция

Программа на C++, загружаемая в контроллер экструдера, находится в загрузках в каталоге mendel/firmware/FiveD_GCode/Extruder. Самая последняя версия доступна в RepRap Subversion repository, однако имейте ввиду - это может быть нестабильная версия для разработчиков.

В каталоге загрузки есть готовый конфигурационный файл с названием configuration.h.dist. Скопируйте его в новый файл с именем configuration.h для того, чтобы когда вы скачиваете новую версию RepRap, вам может потребоваться защитить от перезаписи ваш собственный файл конфигурации.

Запустите Arduino Development Environment и откройте скетч mendel/firmware/FiveD_GCode/Extruder/Extruder.pde. Ваш новый файл configuration.h должен появиться в одной из вкладок.

Щелкните на эту вкладку и вы сможете прочесть этот файл. Он хорошо прокомментирован и содержит инструкции как конфигурировать прошивку для конкретного экструдера. Когда закончите редактирование, выберите File->Save.

Если вы используете терморезистор в качестве датчика температуры экструдера, нужно также просмотреть файл temperature.h. Выберите таблицу, соответствующую вашему терморезистору. Если у вас терморезистор, не входящий в стандартную таблицу, то не беда. Существует скрипт на Python для генерации таблиц для любого терморезистора. Данный скрипт находится в файлах RepRap по пути mendel/firmware/createTemperatureLookup.py. Подробнее.

В Arduino Development Environment выберите Tools->Board->Arduino Diecimila or Duemilanove w/ ATmega 168, а затем Sketch->Verify/Compile.

Программа должна скомпилироваться без ошибок.

Загрузка прошивки

Подключите кабель USB<->serial, собранный по инструкции к шестиконтактному разъему у левого края контроллера экструдера. Убедитесь, что он подключен правильной стороной. Контакт RTS (он должен быть окрашен в зеленый цвет) должен совместиться с нижним концом разъема с надписью "GRN/RTS" на контроллере. Минусовой контакт (окрашен черным) совмещается с верхним концом с надписью "BLK/GND".

Подключите кабель USB в соответствующий разъем USB-B на плате, но пока не подсоединяйте его к компьютеру.

Перейдите в список соединений с помощью Tools->Serial Port и запомните его. Затем, подсоедините кабель USB к компьютеру и проверьте список снова - должно появиться новое соединение (в Linux это будет, например, /dev/ttyUSB0, в Windows, например, COM5). Выделите его, если это не было сделано автоматический средой Arduino. Это соединение USB и есть то, которое вы только что подключили.

Кстати, индикатор питания на плате контроллера должен гореть. Контроллер экструдера питается от USB при программировании, однако при выполнении иметт отдельный 12-вольтовый источник питания. Некоторые индикаторы также могут гореть - это нормально.

Выберите Upload to I/O Board (небольшой квадрат справа от стрелки ->). Через несколько секунд индикатор отладки на плате должен часто замигать - это значит, что программа загружается в контроллер.

Еще через несколько секунд Arduino Development Environment должен отобразить сообщение Done uploading, а индикатор отладки на плате должен погаснуть.

Если загрузка программы не работает, отключите кабель USB, подождите пару секунд и подключите его снова. После чего зажмите кнопку RESET на контроллере. Подведите мышь к Upload to I/O Board, отпустите RESET и сразу же нажмите кликните мышью.

Для тестирования прошитого контроллера экструдера пройдите по ссылке.

См. также

Generation 3 Firmware.