roboforum.ru

Технический форум по робототехнике.

Автоуровень кровати: ёмкостной датчик расстояния

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение egorka75 » 24 фев 2015, 23:12

icehardy писал(а):мне лениво было серву приделывать, просто щуп втыкаю перед калибровкой, и потом вытаскиваю
принтер все равно уже сейчас другой, этот или продам или разберу

Судя по прошиве прямо на хотэнд ???
egorka75
 
Сообщения: 18
Зарегистрирован: 25 янв 2015, 20:15

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение icehardy » 24 фев 2015, 23:26

egorka75 писал(а):
icehardy писал(а):мне лениво было серву приделывать, просто щуп втыкаю перед калибровкой, и потом вытаскиваю
принтер все равно уже сейчас другой, этот или продам или разберу

Судя по прошиве прямо на хотэнд ???

на картерку оси Х приклеил концевик с направляющей для щупа
щуп - Г образный ключик, шестигранник
Аватара пользователя
icehardy
 
Сообщения: 1282
Зарегистрирован: 27 фев 2013, 16:59
Откуда: Кострома
Skype: icehardy

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение SkyFlyer » 25 фев 2015, 21:46

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

В общем, теперь после нескольких калибровок зазор почти одинаков, разбос значений при нескольких замерах не более 0.02-0.03 мм. по Z.

Надо оптический концевик ставить, если смогу печатать, то сделаю его первым.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение ursus » 10 мар 2015, 15:37

Скачал тут новый марлин. Изменили они сильно код автолевела. Добавили функцию не убирать серву при перемещениях между пробами, т.е. опускается серва, берется проба первая , приподнимается голова на расстояние #define Z_RAISE_BETWEEN_PROBINGS и едет к следующей точке не убирая серву. Для активации такого автолевела нужно дать команду G29 E. Без Е будет по старому. НО после замера последней точки серва убирается по старому и естественно цепляет стол. Так же осталась проблема с G28. Не поднимает голову перед ретрактом.
Помог справиться с G28 код Ande:
Код: Выделить всёРазвернуть
Find the following code:
// Retract Servo endstop if enabled

#ifdef SERVO_ENDSTOPS
if (servo_endstops[axis] > -1) {
servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2 + 1]);
}
#endif
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
if (axis==Z_AXIS) retract_z_probe();
#endif
add these lines of code immediately after the "// Retract Servo endstop if enabled" comment.
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
if (axis==Z_AXIS)
do_blocking_move_relative(0, 0, Z_RAISE_BEFORE_PROBING);
#endif

It should look like this when you have made the change:
// Retract Servo endstop if enabled
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
if (axis==Z_AXIS)
do_blocking_move_relative(0, 0, Z_RAISE_BEFORE_PROBING);
#endif

#ifdef SERVO_ENDSTOPS
if (servo_endstops[axis] > -1) {
servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2 + 1]);
}
#endif
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
if (axis==Z_AXIS) retract_z_probe();
#endif


А вот с ретрактом в конце g29 пока не разобрался.
ZAV MAX Pro V1. ZAV mini.
ursus
 
Сообщения: 267
Зарегистрирован: 27 авг 2014, 02:11
Откуда: Тольятти
ФИО: Михаил

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение SkyFlyer » 10 мар 2015, 16:13

Да я уже с этим ретрактом одну серву практически запорол.
Код прошивки написан отвратительно, на мой взгляд.

После замера последней точки серва делает ретракт без какой-либо задержки. Это обязательно надо править, у меня при этом оптический датчик щелкает, царапая стол (и ломая серву).

Вообще ужасно проблемный этот автолевел. Как ни выставляю, зазор не соответствует тому, что было измерено при начальной калибровке. И результаты замеров отличаются друг от друга, особенно первый.

Можно как-то поправить скорость поворота сервопривода? На той скорости, на которой марлин это делает, она развалится и зубья на шестеренках посрезает.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение ursus » 10 мар 2015, 19:54

Ну не знаю у меня когда стоял микрик все норм было. Я просто выставлял смещения по Х и У по инструкции а Z сначала так же а потом просто подбирал подходящий методом тыка, но в итоге зазор был нормальный по всему столу. Просто сам микрик не слишком точный(я его выковырял из мышки какой то), вот и решил поменять на оптодатчик, а вот с ним да никак не получается до конца добить.

Добавлено спустя 3 часа 32 минуты 22 секунды:
Нашел я кусок кода который отвечает за то что серва не убирается во время движения и убирается на последней точке.
Код: Выделить всёРазвернуть
// Enhanced G29 - Do not retract servo between probes
          ProbeAction act;
          if (enhanced_g29) {
            if (yProbe == front_probe_bed_position && xCount == 0)
              act = ProbeEngage;
            else if (yProbe == front_probe_bed_position + (yGridSpacing * (auto_bed_leveling_grid_points - 1)) && xCount == auto_bed_leveling_grid_points - 1)
              act = ProbeRetract;
            else
              act = ProbeStay;
          }

Кто шарит подскажите как его поправить что б сначала поднималась голова и только потом серва убиралась плз.
ZAV MAX Pro V1. ZAV mini.
ursus
 
Сообщения: 267
Зарегистрирован: 27 авг 2014, 02:11
Откуда: Тольятти
ФИО: Михаил

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение SkyFlyer » 10 мар 2015, 20:54

Наверное, как то так:

Код: Выделить всёРазвернуть
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);


Вставлять надо после проверки на последнюю точку. Только где эта проверка, я в этой кривой логике найти не могу. Это где-то в этом куске кода, что вы привели выше.

Проверьте, а то у меня под рукой принтера нет.

Добавлено спустя 14 минут 11 секунд:
Возможно, вот сюда надо вставить.
Это ф-я ретракта сервы. Думаю, что перед любым ретрактом полезно поднимать пробу.

Код: Выделить всёРазвернуть
static void retract_z_probe() {
.......
}
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение ursus » 10 мар 2015, 22:44

Я сделал пока таким образом.
act = ProbeRetract; Заменил на act = ProbeStay; т.е. от теперь не поднимает щуп по окончании замеров. А в слайсере добавил G1 Z15 и M402 после G29 E. Вроде работает.
ZAV MAX Pro V1. ZAV mini.
ursus
 
Сообщения: 267
Зарегистрирован: 27 авг 2014, 02:11
Откуда: Тольятти
ФИО: Михаил

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение ursus » 11 мар 2015, 07:17

Создал тему https://github.com/MarlinFirmware/Marlin/issues/1589на гитхабе по поводу ретракта сервы. Товарищ просит подтверждения проблемы еще от нескольких человек для занесения ее в список на исправление.
ZAV MAX Pro V1. ZAV mini.
ursus
 
Сообщения: 267
Зарегистрирован: 27 авг 2014, 02:11
Откуда: Тольятти
ФИО: Михаил

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение SkyFlyer » 11 мар 2015, 11:13

Отписался туда, подождем - может поправят. Самому править неудобно, как потом марлина обновлять, все правки слетят.

Я сделал пока таким образом.


Несколько некорректно, больше похоже на костыль)
Все же правильнее будет делать подъем оси Z перед любым ретрактом.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение ursus » 11 мар 2015, 14:48

Так если даешь команду G29 E серва ваще не убирается во время перемещений, имхо так даже лучше, нет погрешности в механике сервы. Остается только ретракт после G28, но это правится кодом и последний ретракт после всех замеров.
В гкод кстати пришлось еще задержку добавить перед ретрактом после команды поднятия, иначе серва убиралась сразу после начала движения головы вверх. Теперь все отлично.

Понятно что это костыль, но поправить серьезно код сам я не могу, к сожалению, остается только ждать когда допилят разрабы. А пока попользуюсь костылями.
ZAV MAX Pro V1. ZAV mini.
ursus
 
Сообщения: 267
Зарегистрирован: 27 авг 2014, 02:11
Откуда: Тольятти
ФИО: Михаил

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение SkyFlyer » 11 мар 2015, 15:19

Ну, это я к тому, что любой ретракт должен быть только после подъема сервы. В любой команде.

Править самому можно, но как потом апдейт накатывать? Так что лучше, пусть они правят. Вроде собрались.)

Я пока попробую добавить эту команду подъема.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение Chpok » 03 апр 2015, 03:26

http://www.thingiverse.com/thing:739401 -там есть файлы в "Sprint 6" для лута платы концевика оптического,файлы в автокаде если кому размеры подогнать под свои,схема

Добавлено спустя 44 минуты 21 секунду:
вот прошивка рабочая https://github.com/beckdac/Marlin ,у меня работает :good:,в файле Configuration.h ( #define Z_RAISE_BETWEEN_PROBINGS 7) есть подьем между измерениями если его увеличивать ,увеличивается высота после которой серва убирает лапку
Chpok
 
Сообщения: 9
Зарегистрирован: 14 мар 2015, 18:41

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение SkyFlyer » 03 апр 2015, 15:18

Сомневаюсь, что эта загогулина будет точнее хотя бы даже обычного микрика. Нехватало еще самому делать оптические концевики, проще в Китае заказать.

И зачем вы опять нам подсовываете кривую и старую прошивку, да еще и неоригинал? Есть 1.0.2, который нормально работает. А этот форк у меня даже не заработал. Почитайте хотя бы страничку выше.

Хотя я к примеру, от автолевела вообще отказался, ручное выравнивание у меня дает лучшие результаты.
SkyFlyer
 
Сообщения: 134
Зарегистрирован: 21 дек 2014, 23:08

Re: Автоуровень кровати: ёмкостной датчик расстояния

Сообщение Chpok » 04 апр 2015, 03:56

На рошивку я дал ссылку для образца там уже почти все настроено,у меня работает.Загогулина реально точнее,кому то в кайф купить мне в кайф сделать самому люблю мастерить,а по поводу новой прошивки у меня принтер без примочек пока ,текста много а работает так же, автоуровень - это первая
Chpok
 
Сообщения: 9
Зарегистрирован: 14 мар 2015, 18:41

Пред.След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

cron