домовой
здесь должен будет быть пост про то как закончить крутить гайки и начать править значения принтера
текущее состояние:
1. нарисовал площадку под установку механического концевика распечатал и примерил.
приклеил концевик к площадке. переделал модель на случай если мне захочется странного
2. научился узнавать что установленные на принтере концевики нажаты.
3. научился из скрипта отдавать команды и получать результат.
4. нашел инструкцию о том как пользоваться калькулятором escher3d
если верить руководству то мне достаточно будет
1. указать правильные цифры на вход калькулятора
2. узнать и вписать коррекцию, по каждой из предложенных точек.
3. получить в ответ команды m665, m666 с правильными аргументами и записать их в память командой m500.
необходимо и достаточно в первом приближении
1. прочитать настройки принтера
2. разобрать кто есть где и отправить их в калькулятор
3. получить/указать координаты которые надо тестировать
4. написать простой скрипт который будет щупать стол в указанных координатах и выдавать величины ошибки.
5. отправить все страшные цифры, получить коррекцию, вписать ее в принтер.
/*управление движением и опрос принтера о состоянии*/
G0 - движение головки/платформы принтера
M114 - Получить текущие координаты
M119 - Вывод состояния концевиков.
M105 получить температуру экструдера.
M503 - выводит текущие настройки в виде команд установки значений. если выведет настройки дельты будет великолепно. если нет то придется искать.
upd :
1. принтер не поддается на провокацию и отказывается выводить свои настройки. Нет уверенности что будет работать запись параметров в eeprom.
2. я где то что то делаю не так при работе с принтером. в результате скрипт долго тупит ожидая ответ.
upd2: продолжаю использовать дайрик как журнал эксперимента и записную книжку для всяких мелочей.
нашел пример простейшей программы отсылающей команды в порт
onehossshay.wordpress.com/2011/08/26/grbl-a-sim...
узнал что все таки есть метод позволяющий узнать есть ли байты в буфере
qaru.site/questions/351870/python-3-non-blockin...
ну и реализация microtime на питоне.
stackoverflow.com/questions/7238226/python-date...
upd3: скрипт измеряющий ошибку позиционирования я таки написал.
ответ на команды G0 и G1 я варварски отбросил ибо полезных данных он не несет.
лишнего вывода под концевик в контроллере нет. так что выключатель выполняющий роль щупа платформы был включен параллельно первому попавшемуся концевику. Следствием этого решения стала необходимость проверки положения платформы перед выполнением операций.
(нажат ли концевик, высота над столом > 10мм) .Если этого не делать то выполнение команды G28 (домой) при опущенной до упора вниз платформе приводит к тому что ось с дублированным концевиком не поднимается вверх считая что она уже дома.
upd4:
1. три раза перепечатывал крепление концевика. в итоге коромысло концевика удалось поместить на расстоянии порядка 5 мм от сопла. и наконец удалось получить что то отличное от цен на дрова
2. настройка отступов на родной прошитой в принтер marlin не работает. пришлось крутить винты.
3. выровнял отступы с помощью винтов. С правдивыми значениями ошибки высоты в окрестности сопла, и опытом кручения винтов дельта принтера выровнять стол оказалось не так сложно.
текущее состояние:
1. нарисовал площадку под установку механического концевика распечатал и примерил.
приклеил концевик к площадке. переделал модель на случай если мне захочется странного
2. научился узнавать что установленные на принтере концевики нажаты.
3. научился из скрипта отдавать команды и получать результат.
4. нашел инструкцию о том как пользоваться калькулятором escher3d
если верить руководству то мне достаточно будет
1. указать правильные цифры на вход калькулятора
2. узнать и вписать коррекцию, по каждой из предложенных точек.
3. получить в ответ команды m665, m666 с правильными аргументами и записать их в память командой m500.
необходимо и достаточно в первом приближении
1. прочитать настройки принтера
2. разобрать кто есть где и отправить их в калькулятор
3. получить/указать координаты которые надо тестировать
4. написать простой скрипт который будет щупать стол в указанных координатах и выдавать величины ошибки.
5. отправить все страшные цифры, получить коррекцию, вписать ее в принтер.
/*управление движением и опрос принтера о состоянии*/
G0 - движение головки/платформы принтера
M114 - Получить текущие координаты
M119 - Вывод состояния концевиков.
M105 получить температуру экструдера.
M503 - выводит текущие настройки в виде команд установки значений. если выведет настройки дельты будет великолепно. если нет то придется искать.
upd :
1. принтер не поддается на провокацию и отказывается выводить свои настройки. Нет уверенности что будет работать запись параметров в eeprom.
2. я где то что то делаю не так при работе с принтером. в результате скрипт долго тупит ожидая ответ.
upd2: продолжаю использовать дайрик как журнал эксперимента и записную книжку для всяких мелочей.
нашел пример простейшей программы отсылающей команды в порт
onehossshay.wordpress.com/2011/08/26/grbl-a-sim...
узнал что все таки есть метод позволяющий узнать есть ли байты в буфере
qaru.site/questions/351870/python-3-non-blockin...
ну и реализация microtime на питоне.
stackoverflow.com/questions/7238226/python-date...
upd3: скрипт измеряющий ошибку позиционирования я таки написал.
ответ на команды G0 и G1 я варварски отбросил ибо полезных данных он не несет.
лишнего вывода под концевик в контроллере нет. так что выключатель выполняющий роль щупа платформы был включен параллельно первому попавшемуся концевику. Следствием этого решения стала необходимость проверки положения платформы перед выполнением операций.
(нажат ли концевик, высота над столом > 10мм) .Если этого не делать то выполнение команды G28 (домой) при опущенной до упора вниз платформе приводит к тому что ось с дублированным концевиком не поднимается вверх считая что она уже дома.
upd4:
1. три раза перепечатывал крепление концевика. в итоге коромысло концевика удалось поместить на расстоянии порядка 5 мм от сопла. и наконец удалось получить что то отличное от цен на дрова
2. настройка отступов на родной прошитой в принтер marlin не работает. пришлось крутить винты.
3. выровнял отступы с помощью винтов. С правдивыми значениями ошибки высоты в окрестности сопла, и опытом кручения винтов дельта принтера выровнять стол оказалось не так сложно.