среда, 10 декабря 2014 г.

Постпроцессор RepRap для ArtCam.

Постпроцессор ( далее ПП ) был написан для программы ArtCam для создания УП "формата" 3D принтера. ПП расчитан на использование прошивок Marlin и Sprinter. Он позволяет использовать принтер или его контроллер в связке с иным станком для рисования, сверловки, фрезеровки и т.д. Ктото может сказать - зачем изобретать велосипед? Постпроцессор позволяет  использовать принтер более гибко, если в этом есть необходимость. Лично у меня большое желание рисовать платы для разных устройств, а для технологии RepRap это возможность воспроизводить нетолько части механики но и платы для электроники.
 При создании УП в программе ArtCam точка отсчета координат должна находится в том же углу что и на принтере. Это связано с тем, что на принтере нет возможности устанавливать ноль в любом месте стола. Но есть маленькая хитрость - при включении принтера точкой отсчета координат является текущее положение каретки и до обнуления принтер может произвольно двигаться по каждой координате только в сторону расположения конечника. Это дает  возможность выбрать нужную точку отсчета.

Порядок установки ноля:
1. Включить принтер и обнулить координаты
2. Установить заготовку и найти ноль по X и  Y.
3. Выключить принтер и включить снова.
4. Обнулить Z в соответствии заданым параметрам УП и отвести Z на безопасное растояние.
5. Запускаем "печать" и радуемся.

Включение Шпинделя M106 S 0-250
Выключение Шпинделя M107
Шпиндель подключается через реле (мосфет) на пин вентилятора.


Текст постпроцессора:
;
; RepRap configuration file 
;
; History
;
; Who When     What
; === ======== ========================================
; BEM 21/02/2014 Written
;
; bem 21/02/2014 Added DESCRIPTION and FILE_EXTENSION fields
;
;
DESCRIPTION = "RepRap (*.gcode)"
;
FILE_EXTENSION = "gcode"
;
UNITS = MM
;
; Cariage return - line feed at end of each line
;
END_OF_LINE = "[13][10]"
;
;
; Set up default formating for variables
;
; Line numbering
FORMAT = [N|@|N|1.0]
; Spindle Speed
FORMAT = [S|@|S|1.0]
; Feed Rate
FORMAT = [F|#|F|1.3]
; Tool moves in x,y and z,e
FORMAT = [X|#|X|1.3]
FORMAT = [Y|#|Y|1.3]
FORMAT = [Z|#|Z|1.3]
; Home tool positions 
FORMAT = [XH|@|X|1.3]
FORMAT = [YH|@|Y|1.3]
FORMAT = [ZH|@|Z|1.3]
;
; Set up program header
;
; set units to millimeters
START = "G21"
; use absolute coordinates
START = "G90"
;
START = "M106 [S]"
; Spindle acceleration delay Р1000 - 1с.
START = "G4 P10000"
START = "G0[XH][YH]"
;
; Program moves
;
RAPID_RATE_MOVE        = "G0 [X] [Y] [Z]"
FIRST_FEED_RATE_MOVE   = "G1 [X] [Y] [Z] [F]"
FEED_RATE_MOVE         = "G1 [X] [Y] [Z]"
;
; End of file
;
END = "M107"
;
; disable motors
END = "M84"

Порядок установки постпроцессора:
1. Создать пустой текстовый документ с названием RepRap_CNC.con
2. Скопировать текст ПП (выделен желтым текстом) и вставить в пустой текстовый документ
3. Сохранить документ
4. Поместить документ в директорию:  C:\Program Files\ArtCAM \postp\
5. Запускаем ArtCam, если программа при запуске не выдала ошибки, связанные с этим ПП, значит все сделано правильно.При создании УП выбираем RepRap_CNC из списка постпроцессоров.


Постпроцессор тестируется!!! Буду признателен увидеть пожелания по доработке и дополнению.

Последний раз редактировался: 01.03.2020г. Добавлена задержка на разгон шпинделя 10с (START = "G4 P10000").



среда, 26 февраля 2014 г.


Программирование Atmega 1284p.


            Многие при сборке 3D принтера испытывают затруднение в программировании Atmega 1284p. Версии Arduino IDE ниже 1.0 не поддерживают эту микросхему, а версии 1.0 и выше выдают ошибки при компиляции прошивки. Кто еще только собирается приобрести комплект электроники, задумайтесь о приобретении Atmega 644p. Свой принтер я собирал с Atmega 644p, но понадобилось собрать пару комплектов электроники и при покупке компонентов выяснилось, что  микроконтроллер Atmega 1284p приобрести легче (644p менее распространен) да и на  сайте RepRap  написано, что микроконтроллеры 644p и 1284p идентичны по пинам и отличаются объемом памяти. Но на деле оказалось что1284p пока плохо поддерживается средой Arduino IDE . Поиск в интернете вывел на несколько блогов (один из них здесь), где рассказывалось как люди решали эту проблему но мне эти варианты не помогли. После 4 дней танцев с бубном мной был найден выход из сложившейся ситуации, о нем я хочу рассказать.

              В первую очередь надо поставить фьюзы и прошить бутлоадер. У меня программатор СТК200 и  бутлоадер в Atmega 644p я прошивал программой PonyProg, а потом через Arduino IDE компилировал и прошивал прошивку Marlin. С Atmega 1284p возникли проблемы уже на первом этапе -  PonyProg не поддерживает Atmega 1284p. Пришлось попробовать подружить свой программатор с  Arduino IDE. Ранее мне уже попадалась статья как это сделать. Оказывается, среда Arduino IDE знает много программаторов с разным типом подключения. Нужно использовать  Arduino1.0 и выше. Тех, у кого программатор СТК200 хочу обратить внимание, что их там два типа: СТК200 и Pony СТК200. Отличаются они применением в схеме 8 пина COM порта

После изменения файла programmers.txt получаем:
.

Далее ставим фьюзы и прошиваем бутлоадер. Перед прошивкой нужно проверить фьюзы в файле arduino\hardware\sanguino\boards.txt. В моем случае кварцевый резонатор и фьюзы:  low_fuses=0xFF, high_fuses=0xDC, extended_fuses=0xFD.

Выбрать нужную плату:


 Дальше загрузить прошивку, но не через USB, а через тот же программатор:


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



воскресенье, 23 февраля 2014 г.


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