У всех начинающих принтеростроителей возникает резонный вопрос на тему самостоятельного изготовления всей электроники. Зачем покупать готовые контроллеры, если схемы все открытые, детали продаются, за плечами богатый опыт паяния и т.д. У каждого второго это подкреплено классической нехваткой денег и желанием сэкономить на всем. Собственно, я тоже начинал не с магазинных контроллеров, а с самодельного колхозного варианта. Вот он, мой самый первый контроллер 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 и сразу приступить к его программированию.
Вернее, не полностью контроллер, а только мозговая его часть. Здесь еще не хватает драйверов шаговых двигателей, силовой электроники и еще пары мелочей (они были собраны также навесом на отдельной плате). Собран он на базе микроконтроллера 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 и сразу приступить к его программированию.