Метки: EEPROM  
2016-02-17  
  
Раздел: Настройка, Прошивка  
Автор: wolfs_SG Просмотров: 39 638  
6 комментариев
Изменение базовых настроек 3D принтера без перезаливки прошивки
Добавлено в закладки: 6
Современные популярные прошивки для 3D принтеров на микроконтроллерах ATmega для хранения некоторых параметров (переменных) используют энергонезависимую память EEPROM (Electrically Erasable Programmable Read-Only Memory — электрически стираемое перепрограммируемое ПЗУ). Нам EEPROM интересен тем, что мы можем менять в нём параметры с помощью G-код команд, не перезаливая прошивку каждый раз (только если включена возможность записи в EEPROM).
В прошивке Marlin за включение записи в EEPROM отвечает строка “#define EEPROM_SETTINGS”
Синтаксис:
КОМАНДА(G-код) Двигатель(ось) переменная
Переменные движков можно вводить как для всех движков сразу, так и для конкретного двигателя. Например:
M201 X1000 Y1000 Z1000 E1000 или M201 X1000 – для двигателя оси X это будет равноценно, где М201 команда, X1000 – переменная для двигателя оси Х, Y1000 – переменная для двигателя оси Y и т.д.
Изначально нужно раскомментировать строку “#define EEPROM_SETTINGS” в прошивке и залить прошивку. Далее запустить Pronterface и подключиться к принтеру. Мы получим картинку (рис.1), где поле параметров (рис.2) отображает текущие параметры EEPROM принтера.
Можно в режиме On-Line настраивать ускорение и максимальную скорость движков, подавая команды М201 и М203 с параметрами движков:
- команда М201 отвечает за ускорение в мм/с?,
- команда М203 отвечает за максимально возможную скорость двигателя в мм/с.
Подробнее по настройке скорости / ускорения можно посмотреть на видео http://www.youtube.com/watch?v=aqLtkAzktRc
Кроме этого можно подавать другие команды для настройки. Например:
- команда M92 устанавливает количество шагов для двигателя (я рассчитывал это так… изначально был параметр в прошивке задан например X… в пронтерфейсе я дал команду для перемещения двигателя на расстояние 100 мм. – двигатель переместился на расстояние 78,7 мм. – далее расчет… X относится к 78,7, как Y к 100… где Y = X*100/78.7… соответственно получившийся результат для оси заносим в прошивку и проверяем еще раз)
- Так же есть другие команды: М204, M205, M206 и т.д. Мне (пока) не все команды потребовались, но например командой М200 я воспользовался, не зная зачем она нужна, но логично по дефолту стоит параметр 3,0 мм., а т.к. у меня сопло 1,75, то это параметр я изменил на 1,75
- М206 отвечает за позицию “ДОМ“, т.е. если концевик стоит в одном месте, а позиция “ДОМ” дальше за ним, то тут требуется корректировка (я так понял, может быть ошибаюсь. Этот параметр у меня не используется).
- M301 команда для изменения калибровки PID стола и хотенда. Пример: M301 H1 P1 I2 D3 (Более подробно по этой команде смотрите заметку с именем Пропорционально-интегрально-дифференцирующий (ПИД) регулятор и выравнивания графика температуры)
- М500 команда для сохранения всех сделанных настроек в EEPROM.
При нажатии на кнопку сброса на RAMPS 1.4 (не сохранив изменения) все сделанные настройки скидываются на последние сохраненные.
Все G-коды смотрите в нашей wiki
Делитесь своими знаниями по правке EEPROM в комментариях.
6 комментариев на «Изменение базовых настроек 3D принтера без перезаливки прошивки»
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.
100% избавление от резьбы!       Пропорционально-интегрально-дифференцирующий (ПИД) регулятор и выравнивание графика температуры
Интересная тема Давайте дожимайте её.
Все делал как в ролике, но скорости перемещения не менялись ни в какую
Проверьте в прошивке включение параметра EEprom… и для того, чтоб убедится – попробуйте просто не реально запредельные скорости и ускорения…
Так же следует обратить внимание… есть ли ошибка при подаче команды М500 после изменения параметров
Это проверено не только мной!
Вопрос – если команда имеет аргументы по всем осям – допускается ли подавать только один параметр Z или E к примеру? Остальные в таком случае не поменяются?
ДА – допускается
НЕТ – остальные параметры меняться не должны
Бикзуррахмат! В смысле грандмерси!