Вывод данных autoleveling

Платы управления от LERDGE: K, X
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Вывод данных autoleveling

Сообщение demonlibra »

Наконец-то подключил 3D-TOUCH.

Установил плагин Bed Visualizer в OctoPrint. Но не могу найти способ вывода данных измерения стола.
После выполнения команды G29 происходит процедура измерения, но в терминале отсутствует вывод измеренных данных.

Код: Выделить всё

Send: G29
Recv: echo: The system is homing, please wait...
Recv: echo: The system starts to level automatically, please wait for finishing the leveling
Recv: ok
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
ursoft
Активист
Сообщения: 196
Зарегистрирован: 18 янв 2020, 19:52
Откуда: Екатеринбург

Re: Вывод данных autoleveling

Сообщение ursoft »

Плагин использует формат вывода команды G29 T, она не во всех прошивках реализована. В Lerdge точно нет, в Марлине есть.
Uni 2.2, Ulti Steel, FF Dreamer напечатали мне эти 400+ изделий.
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Вывод данных autoleveling

Сообщение demonlibra »

Как подсказали в чате, можно использовать команду

Код: Выделить всё

G30 [X<pos>] [Y<pos>] [P< frequency>]
Пишу сценарий для получения и обработки сетки измерений.
Сценарий для получения первичных данных по UART

Код: Выделить всё

#------------------------ Параметры --------------------------

MIN_X=20	#Минимальная координата X
MIN_Y=20	#Минимальная координата Y

MAX_X=230	#Максимальная координата X
MAX_Y=180	#Максимальная координата Y

POINTS_X=10	#Точек измерения вдоль оси X
POINTS_Y=10	#Точек измерения вдоль оси Y

#--------------------------------------------------------------

stty 115200 -F /dev/ttyUSB0 raw -echo
sleep 3
cat /dev/ttyUSB0 > bltouch.log &

STEP_X=$(( ($MAX_X-$MIN_X) / $POINTS_X ))
STEP_Y=$(( ($MAX_Y-$MIN_Y) / $POINTS_Y ))

Y=$MIN_Y
while [[ $Y -lt $MAX_Y ]]
	do
		X=$MIN_X
		while [[ $X -lt $MAX_X ]]
			do
				echo "G30 X$X Y$Y P1" > /dev/ttyUSB0
				X=$(( $X + $STEP_X ))
			done
		Y=$(( $Y + $STEP_Y ))
	done 

echo ; echo ------------------ ; read -p "Нажмите ENTER после завершения измерений"
killall cat
Результат

Код: Выделить всё

echo: Starts probing the Z-axis coordinates of the (20.000,20.000) position, Repeat the number of detections: 1
echo: (20.000,20.000) position of the Z-axis coordinates are:-0.283
ok
echo: Starts probing the Z-axis coordinates of the (72.000,20.000) position, Repeat the number of detections: 1
echo: (72.000,20.000) position of the Z-axis coordinates are:-0.265
ok
echo: Starts probing the Z-axis coordinates of the (124.000,20.000) position, Repeat the number of detections: 1
echo: (124.000,20.000) position of the Z-axis coordinates are:-0.268
ok
echo: Starts probing the Z-axis coordinates of the (176.000,20.000) position, Repeat the number of detections: 1
echo: (176.000,20.000) position of the Z-axis coordinates are:-0.250
.....
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Вывод данных autoleveling

Сообщение demonlibra »

Я в шоке от того какой у меня кривой стол и как я его настроил )

Запускается на Raspberry Pi или другом железе работающем под GNU/Linux.
Необходимо установить gnuplot

Код: Выделить всё

sudo apt install gnuplot
В сценарии задается количество точек и область измерения.

Сценарии и подробное описание:
https://github.com/demonlibra/uni/tree/master/bltouch

Изображение Изображение
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Вывод данных autoleveling

Сообщение demonlibra »

Два подряд эксперимента.
Слева направо: температура 24, после нагрева стола до 100, после остывания до 24

Изображение Изображение Изображение
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
Evg33
Активист
Сообщения: 145
Зарегистрирован: 19 янв 2020, 02:31
Откуда: Earth

Re: Вывод данных autoleveling

Сообщение Evg33 »

Положу тут ссылку, чтоб не потерялась.
http://lokspace.eu/3d-printer-auto-bed- ... isualizer/
просто копипастим вывод данных G29 на сайт и получаем картинку.
UNI Mini, UNI 2.2, ZAV Mini, ZAV Max.
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Вывод данных autoleveling

Сообщение demonlibra »

В прошивку 4.3.0 добавили вывод данных в терминал после завершения выполнения команды G29.
Данные выводятся, если указать количество точек калибровки > 4.
Send: G29
Recv: echo: The system is homing, please wait...
Recv: echo: The system starts to level automatically, please wait for finishing the leveling
Recv: 0(0.000,0.000,0.601) 1(70.000,0.000,0.622) 2(140.000,0.000,0.642) 3(210.000,0.000,0.652) 4(280.000,0.000,0.650)
Recv: 5(0.000,48.750,0.603) 6(70.000,48.750,0.614) 7(140.000,48.750,0.645) 8(210.000,48.750,0.639) 9(280.000,48.750,0.642)
Recv: 10(0.000,97.500,0.586) 11(70.000,97.500,0.630) 12(140.000,97.500,0.648) 13(210.000,97.500,0.644) 14(280.000,97.500,0.624)
Recv: 15(0.000,146.250,0.586) 16(70.000,146.250,0.606) 17(140.000,146.250,0.636) 18(210.000,146.250,0.631) 19(280.000,146.250,0.625)
Recv: 20(0.000,195.000,0.590) 21(70.000,195.000,0.635) 22(140.000,195.000,0.654) 23(210.000,195.000,0.641) 24(280.000,195.000,0.623)
Recv: ok
Плагин Bed Visualizer Settings в OctoPrint такой вывод не воспринимает.
Вариант визуализации в Linux
Создать файл с выводом данных bltouch_lerdge_output

Создать файл bltouch_gnuplot

Код: Выделить всё

set terminal png
set output file_out
set xlabel "x"
set ylabel "y"
set zlabel "z"
set bmargin 4
set lmargin 4
set rmargin 4
set tmargin 4
set key top
set border 4095
#set xrange [20:250]
#set yrange [20:180]
set zrange [0.4:0.8]
set pm3d
set palette defined ( -1.0 "red", 1.0 "green" )
set grid xtics ytics ztics
splot file_mesh using 1:2:3 with lines
Создать и выполнить файл bltouch.sh

Код: Выделить всё

#!/bin/bash

file_data="bltouch_lerdge_output"	#Файл вывода данных от Lerdge
file_mesh="bltouch_mesh"			#Файл сетки координат
gnuplot_script="bltouch_gnuplot"	#Сценарий для программы построения поверхности
file_png="bltouch_plot.png"			#Файл вывода изображения поверхности


cat "${file_data}" | sed 's/[0-9]*(//g' | sed 's/)$/\n/g' | tr -s "Recv) " "\n" | tr -s ":," " " > "${file_mesh}"
	
gnuplot -e "file_mesh=\"$file_mesh\"" -e "file_out=\"$file_png\"" "$gnuplot_script"
Изображение
Не бойся поломать. Бойся не починить ))
Изображение

Вернуться в «LERDGE»