EMC2 и неровная поверхность гравировки [РЕШЕНО]

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

На русском, и немного изменил расположение элементов.
Файл compensation_pyvcp.xml

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

<pyvcp>
	<labelframe text="Компенсация">
		<vbox>
			<hbox>
				<checkbutton>
					<halpin>"enable"</halpin>
					<text>"Вкл./выкл."</text>
				</checkbutton>
				<vbox>
					<labelframe text="Статус">
							<rectled>
							<halpin>"enable-led"</halpin>
							<height>"50"</height>
							<width>"50"</width>
							<on_color>"green"</on_color>
							<off_color>"red"</off_color>
						</rectled>
					</labelframe>
					<labelframe text="Ошибки">
						<rectled>
							<halpin>"error-led"</halpin>
							<height>"50"</height>
							<width>"50"</width>
							<on_color>"green"</on_color>
							<off_color>"red"</off_color>
						</rectled>
					</labelframe>
				</vbox>
			</hbox>
			<labelframe text="Карта высот">
				<button>
					<halpin>"reset"</halpin>
					<text>"Обновить"</text> 
				</button>
				<rectled>
					<halpin>"reset-led"</halpin>
					<height>"10"</height>
					<width>"145"</width>
					<on_color>"green"</on_color>
					<off_color>"red"</off_color>
				</rectled>
			</labelframe>
			<labelframe text="Значение компенсации">
				<number>
					<halpin>"current-comp"</halpin>
					<font>("Helvetica",24)</font>
					<format>"+4.4f"</format>
				</number>
			</labelframe>
			<labelframe text="Значение оси Z">
				<number>
					<halpin>"current-z"</halpin>
					<font>("Helvetica",24)</font>
					<format>"+4.4f"</format>
				</number>
			</labelframe>
			<labelframe text="Зонд">
				<checkbutton>
					<halpin>"beep"</halpin>
					<text>"Звук (бипер)"</text>
				</checkbutton>
				<rectled>
					<halpin>"probe-led"</halpin>
					<height>"300"</height>
					<width>"145"</width>
					<on_color>"green"</on_color>
					<off_color>"gray"</off_color>
				</rectled>
			</labelframe>
		</vbox>
	</labelframe>
</pyvcp>
Работает при costom_postgui.hal

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

# Include your customized HAL commands here
# The commands in this file are run after the AXIS GUI (including PyVCP panel) starts

loadrt or2 count=2
loadrt sum2 count=1
loadusr -Wn compensation python compensation.py filename.txt

#beep
loadusr -Wn beep python beep.py
net probe-in => beep.in
#setp beep.enable 1
net beep-enable <= pyvcp.beep => beep.enable

addf or2.0 servo-thread
addf or2.1 servo-thread
addf sum2.0 servo-thread

net xpos-cmd => compensation.x-map
net ypos-cmd => compensation.y-map

# отключаем сигналы управления обратной связи оси Z 
unlinkp stepgen.2.position-cmd
unlinkp axis.2.motor-pos-cmd
unlinkp stepgen.2.position-cmd
unlinkp axis.2.motor-pos-fb

# заново назначаем сингалы упралвления и обратной связи
net zpos-cmd <= axis.2.motor-pos-cmd
net zpos-cmd => axis.2.motor-pos-fb

net zpos-cmd => sum2.0.in0
net comp compensation.out => sum2.0.in1
net zpos-cmd-comp sum2.0.out => stepgen.2.position-cmd

# это мы делаем так, что бы M62 P0 (цифровой вывод №1) включал компенсацию 
net dout-00 <= motion.digital-out-00 
net dout-00 => or2.0.in0
net pyvcp-enable pyvcp.enable => or2.0.in1
net comp-enable or2.0.out compensation.enable  

# это мы настраиваем функцию reset.
net dout-01 <= motion.digital-out-01 
net dout-01 => or2.1.in0
net pyvcp-reset pyvcp.reset => or2.1.in1
net comp-reset or2.1.out compensation.reset  

#это мы настраиваем led
net comp-enable => pyvcp.enable-led
net comp-reset => pyvcp.reset-led
net comp-error compensation.error => pyvcp.error-led
net probe-in => pyvcp.probe-led

#это мы настраиваем отображение
net zpos-cmd-comp => pyvcp.current-z
net comp => pyvcp.current-comp
Nick, на мой взгляд (с точки зрения юзабилити) нужно еще сделать чтобы кнопочка "Обновить"("Reset"), становилась неактивной если компенсация включена (то есть чекбокс - есть галочка), а при отключенной компенсации была активной. Подобно "Аварийная остановка"(F1) и "Питание станка"(F2) Как это сделать я незнаю, подскажешь?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Надо кнопке добавить <disable_pin>True</disable_pin> и завести на него сигнал comtenstaion.enable. Как точно будет называться этот пин не знаю, надо добавить эту строчку, запустить LinuxCNC и посмотреть пины в halmeter
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

В файле costom_postgui.hal, добавить:

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

net comp-enable => pyvcp.reset.disable
В файле compensation_pyvcp.xml, изменить:

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

				<button>
					<halpin>"reset"</halpin>
					<disable_pin>True</disable_pin>
					<text>"Обновить"</text> 
				</button>
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Романов Семен писал(а):#288
Кстати, я каждый раз перезапускаю ЕМС при каждой заготовке, не знаю почему, так то уже привык, но раньше помоему с каким то косяком столкнулся, поэтому перезагружаю и все.
Попробуйте тоже каждый раз перезагружать, мб, попрет?
Решение, после выполнения кода фрезерования, необходимо отключить компенсацию из g-code:

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

(----------------------------------------------------------------------------)
M65 P0  (это мы выключаем работу компенсатора)
(----------------------------------------------------------------------------)
M2 (end program)
Только осторожно, т.к. при отключении компенсации ось z смещается на значение текущей компенсации, может врезаться...для этого предварительно надо на безопастную выстоту (с учетом компесации) выйти.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

to Nick
Почему-то индикация и бип не всегда страбатывают, но при этом физически probe работает, и карта высот создается.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Индикация работает в пространстве user space, скорее всего просто не успевает отработать. Кстати compensation.py выполняется не чаще чем раз в
work_thread = 0.05 # work_thread means how often pins will be updated (sec)
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

А нужно/можно это время уменьшить?
Возможно повысить приоритет выполнения compensation.py (например с помщью команты nice)?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

А зачем? Главное, чтобы emc2 работал правильно, а не индикация. (вам что нужно шашечки или ехать :) )
Параметр поменять не вопрос, в коде он в самом верху.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Возможно повысить приоритет выполнения compensation.py (например с помщью команты nice) - это для того чтобы другой процесс в user space не мешал работе compensation.py?
С индикацией, не критично, пусть так будет.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Да можно, но еще нужно повысить приоритет axis и pyvcp...
Аватара пользователя
mithun
Кандидат
Сообщения: 66
Зарегистрирован: 05 июн 2012, 22:38
Репутация: 2
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение mithun »

пипец пасаны 20 страниц просто неочем :hehehe: а нафига такая фигня придумана? :evil:
фигня (3656 просмотров) <a class='original' href='./download/file.php?id=6507&mode=view' target=_blank>Загрузить оригинал (55.09 КБ)</a>
фигня
далее стол должен быть жосткий! к примеру плита люминя или железа 12мм ато и больще ее нада пройти фрезой желательно 3х резцовой на глубину 0.2...0.4мм чтоб поверхность была в идеале а потом некаких липких 2х стороних лент снизу, токо штифты! 2 шт достаточно с головой.а проблема с резкой текстолита вот как решена http://www.youtube.com/watch?v=GPzAMOYYyKM нечо сложного :hehehe: ток берем алмазно отрезной круг у меня диск 100х16х0.5мм режет наура ток нада скорость вращения не меньше 6000 об/мин! и мона немного водички.
Последний раз редактировалось mithun 16 июл 2012, 18:24, всего редактировалось 1 раз.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Нужно, для того, чтобы обойтись без сложной механики, совсем. А 20 страниц - это разработка от начала до конца + тестирование.
Аватара пользователя
mithun
Кандидат
Сообщения: 66
Зарегистрирован: 05 июн 2012, 22:38
Репутация: 2
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение mithun »

Ник а там нечо сложного вот можно таково монстра зделать
gravir11.jpg (3653 просмотра) <a class='original' href='./download/file.php?id=6508&mode=view' target=_blank>Загрузить оригинал (26.72 КБ)</a>
:hehehe: меня вот что напрягает
1.gif
1.gif (6.11 КБ) 3651 просмотр
была както версия лайоута которая общую шину сливала с дорожками и потом эта версия резко исчезла с просторов тырнета :cry: терь приходится применять полигон а ет очень гиморно особенно с большими платами
vadim063
Кандидат
Сообщения: 69
Зарегистрирован: 19 авг 2012, 12:59
Репутация: 7
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение vadim063 »

Здравствуй, спасибо за твой труд, сконфигурировал я все как написано на форуме, фрезой прозванивает текстолит и составляет карту высот, но у меня возникла проблема, о которой на форуме нет упоминания:
после старта программы у меня не включается компенсация по оси Z
Тоесть:
1) составляется карта
2) нормально без ругани этот фаил включается с ожиданием на обработку 10 секунд
3) переключается система координат, но счастья не происходит:
-индикаторы леды горят зеленым, сообщая что компенсация включена
-цифровой показометр текущей компенсации показывает нули и не меняется
-цифровой показометр текущей высоты показывает неадекватную завышенную высоту. (между фрезой и текстолитом свободно помещается лист бумаги, хотя пишет высоту -0.085мм)

Помоги пожалуйста, будь добр. Мне просто позарез нужна эта функция при гравировке плат. Без этой компенсации 80% текстолита уходит в брак.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

А ты переключаешь значение пина enable
Скинь свои hal файлы.
vadim063
Кандидат
Сообщения: 69
Зарегистрирован: 19 авг 2012, 12:59
Репутация: 7
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение vadim063 »

Спасибо за внимание, вот архив с конфигами, картой высот и всем всем, до чего я дошел.
Станок cutmaster cm-325 двигатели на 1.8 градуса, разрешающая способность 0.05мм

С Уважением, Вадим.
Вложения
my-cfg with compensations.rar
архив с конфигами для станка cm-325
(6.97 КБ) 441 скачивание
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение Nick »

Так, а вообще компенсация включается? Т.е. если нажать reset, а потом enable на панели PyVCP компенсация включается или нет?
И как ты проверяешь, работает она или нет?
vadim063
Кандидат
Сообщения: 69
Зарегистрирован: 19 авг 2012, 12:59
Репутация: 7
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение vadim063 »

Да, это у меня работает. Опеределяю визуально: я знаю, если заглубить фрезу на 0.085мм в текстолит, она гарантированно обязанна срезать медь (опыт из mach3).
Тут в лучшем случае фреза неравномерно отполирует медь, или вообще ее даже не заденет ни в одной точке (под работающей фрезой можно протащить белый лист бумаги и он не порежется. Его толщина 0.14мм). Плюс чисто интуитивно: наверное этот показометр текущей компенсации вы делали не для отображения не меняющихся нулей. Скриншот прилагаю.
Вложения
EMC2 выполняет программу (Фреза или не касается текстолита вообще - или едва задевает неравномерно).jpg (3584 просмотра) <a class='original' href='./download/file.php?id=7588&mode=view' target=_blank>Загрузить оригинал (331.94 КБ)</a>
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение 2cme »

Из принтскрина выидно что компенсация не включиласть, т.к. индикатор Error красный, а должен быть зеленый!
Все инидикаторы при положительном включении должны быть зеленые!
vadim063
Кандидат
Сообщения: 69
Зарегистрирован: 19 авг 2012, 12:59
Репутация: 7
Контактная информация:

Re: EMC2 и неровная поверхность гравировки [РЕШЕНО]

Сообщение vadim063 »

Я где-то видел упоминание о модуле тривиальной кинематики, который надо на что то заменять. Оно еще актуально?
Как решить проблему? Выложите пожалуйста кто-нибудь свой рабочий архив со всеми файлами конфигурации станка, горю желанием разобраться с проблемой.
Ответить

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