вторник, 12 ноября 2013 г.

Контроллер принтера своими руками. Немного истории.

     У всех начинающих принтеростроителей возникает резонный вопрос на тему самостоятельного изготовления всей электроники. Зачем покупать готовые контроллеры, если схемы все открытые, детали продаются, за плечами богатый опыт паяния и т.д. У каждого второго это подкреплено классической нехваткой денег и желанием сэкономить на всем. Собственно, я тоже начинал не с магазинных контроллеров, а с самодельного колхозного варианта. Вот он, мой самый первый контроллер 3D принтера, собранный на коленке:

 

     Вернее, не полностью контроллер, а только мозговая его часть. Здесь еще не хватает драйверов шаговых двигателей, силовой электроники и еще пары мелочей (они были собраны также навесом на отдельной плате). Собран он на базе микроконтроллера ATMega644-20PU. В качестве переходника COM -> USB микросхема FT232BM от FTDI (прилеплена сбоку). Все это обильно полито канифолью и обмотано жгутом мгтф-провода. Кстати, совет всем начинающим разработчикам - обязательно отмывайте ацетоном канифоль с плат! Иначе замучаетесь искать причину глюков или полной неработоспособности устройства.
     В контроллер была залита прошивка-загрузчик (bootloader), которая превратила это беспорядочное месиво проводов в ATMega644Arduino - контроллер.
     Среда программирования Arduino после долгих манипуляций приняла-таки самодельный контроллер за своего (он определился как Sanguino) и позволила залить в него нужный мне софт. Прошивку брал от оригинального RepRap'а (другое туда не лезло из-за объема встроенной Flash-памяти в 64 Кб).
   
     Вот схема этого чуда:


     Если возникнет желание это дело спаять, то посоветую использовать вместо ATMega644 более мощный контроллер ATMega1284p. Он точно такой же по корпусу и назначению выводов, но имеет 128 Кб Flash-памяти на борту, а это позволит залить в него нормальную Marlin-скую прошивку со всеми бантиками. В качестве бантиков мы будем подключать экраны, sd-карты, энкодеры и т.д.

     После сборки устройства в него необходимо залить bootloader (загрузчик) любым удобным способом.

     Идем по ссылке: http://code.google.com/p/sanguino/downloads/list и качаем самый свежий дистрибутив заголовочных файлов, содержащих, в том числе, и нужные нам загрузчики. Извлекаем архив и открываем \sanguino\bootloaders\atmega. Загрузчик для ATMega644p называется ATmegaBOOT_168_atmega644p.hex, а для ATMega1284p - соответственно: ATmegaBOOT_168_atmega1284p.hex.

     Если все было собрано правильно, то устройство при подключении к компьютеру должно попросить драйвера для установки. Их можно скачать отдельно с сайта разработчика чипа: http://www.ftdichip.com/FTDrivers.htm, либо сразу скачать среду программирования ардуино: http://arduino.ru/Arduino_environment (там они находятся в папке drivers\FTDI USB Drivers). Для того, чтобы наш самопальный контроллер стал доступным для программирования из-под ардуины, надо в нее скопировать заголовочные файлы для Sanguino.

     Вопросы задавайте в комментариях.



p.s. Чтобы не возиться со всеми этими загрузчиками и прочими сложностями, а потратить время на более приятные занятия - оочень советую купить готовый контроллер, например, Arduino Mega 2560 R3 и сразу приступить к его программированию.
   
   
   
   

1 комментарий:

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

    ОтветитьУдалить