LinuxCNC подключение частотника по ШИМ

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
odekolon
Мастер
Сообщения: 1118
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

LinuxCNC подключение частотника по ШИМ

Сообщение odekolon »

Всем привет!
запускаю очередной роутер по фанере.
захотелось подключить частотник по PWM (ШИМ)
с удивлением, обнаружил некоторую "мутность" в описании, как это сделать, в разделе "настройка" :thinking:
Попытаюсь восполнить этот пробел.

сначала рисуем схему.
схема подключения (5579 просмотров) <a class='original' href='./download/file.php?id=137891&sid=ae4172e8caa2a21b2df2f6ecaf9bfb1a&mode=view' target=_blank>Загрузить оригинал (42.07 КБ)</a>
схема подключения
первая ножка LPT - собственно ШИМ
16 ножка - шпиндель вперед (CW - clockwise) - по часовой
17 ножка - шпиндель назад (СCW - counter clockwise) - против часовой


ножки на разных частотниках, разные, потому нумерацию опускаю
на большинстве частоников, входы 1 и 2 обычно запрограммированы на функции "вперед" и "назад"
кроме этого, частотники обычно имеют вход аналогового управления и источник питания аналогового входа (ну чтоб внешний переменный резистор можно было подключить)
чтоб выход ШИМ мог менять потенциал на аналоговом входе, подтянем его резистором (я поставил 2кОм) наверное можно в пределах 500ом-3 кОм.
подключаю. пробую. нихрена не работает. :thinking:
начинаю ковыряться в настройках. Хоть и не люблю stepconfig, но пришлось сохранить рабочую конфигурацию станка и сделать экспериментальную, строго для проб подключения шпинделя.

в общем вот что получилось:
1 настройки порта в степконфиг
настройки порта (5581 просмотр) <a class='original' href='./download/file.php?id=137889&sid=ae4172e8caa2a21b2df2f6ecaf9bfb1a&mode=view' target=_blank>Загрузить оригинал (53.1 КБ)</a>
настройки порта
пины "шпиндель вперед/назад", должны быть приоинвертированы

2 настройки шпинделя в степконфиг
настройки шпинделя (5581 просмотр) <a class='original' href='./download/file.php?id=137890&sid=ae4172e8caa2a21b2df2f6ecaf9bfb1a&mode=view' target=_blank>Загрузить оригинал (29.82 КБ)</a>
настройки шпинделя
тут PWM rate - это частота на которой работает ШИМ,
Speed1 - это скорость, когда уровень заполнения шима равен 1 , оптрон, шунтирует резистор, напряжение на аналоговом входе равно 0
Speed2 - это скорость, когда шим уже отключился нафиг, оптрон закрыт и резистор просто подключен к аналоговому входу. напряжение на входе будет чуть меньше напряжения питания аналогового овхода, если точнее- то напряжение будет равно отношению Uвх(Rвх/(R1+Rвх))
в качестве speed2 - выбрал стандартную максимальную скорость шпинделя 24000
что такое "Cyccles per revolution - я не понял, да хрен с ним

3. включаю станок, выставляю нули, шпиндель пока не подключаю, чтоб зря не крутить
перехожу в MDI
даю команду :
s24000 m3
ура! частота на выходе есть - около 300 гц, таскаю ползунок шпинделя - вроде регулируется.
Поковырявшись в настройках частотника, нашел параметр отвечающий за усиление аналогового сигнала
( Программирование частотника, выходит за рамки темы, поэтому его опущу)
В общем, подобрал параметр, так, что при максимальном уровне, частота на выходе была 400 гц, что соответствует 24000 об/мин
начал проверять линейность - оказалось так себе, при установленых 12000 - реально было 9800
начал ковыряться в настройках HAL

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

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 2000.0
setp pwmgen.0.scale 24000.0
setp pwmgen.0.offset 0.0
setp pwmgen.0.dither-pwm true
кто хочет, может подробно изучить вопрос, http://www.cnc-club.ru/wiki/index.php/L ... %D1%8B_HAL
но явно видна опорная частота ШИМ, максимальные обороты шпинделя, и недокументированый в русской версии "LinuxCNC_Integrators_Manual"
параметр pwmgen.0.offset 0.0

в общем, поковырявшись, установил параметр pwmgen.0.offset 0.0 на 0,08, угол прямой скважность шим/частота поменялся и я получил практически приемлемое соответствие установленных оборотов и реальных

ЗЫ
Еще, я наступил на грабли установив опорную частоту ШИМ 200 Гц и получил биения, выразившиеся в периодическом изменении выходной частоты с периодом около 30 сек. Но возможно, это глюк конкретного китайского частотника. Кстати, у частотника были параметры, отвечающие за фильтрацию сигнала аналогового входа, но они в данной ситуации не помогли.
поставил опорную частоту на 2000 гц - и явление пропало
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
суанва
Новичок
Сообщения: 17
Зарегистрирован: 08 окт 2017, 23:16
Репутация: 0
Настоящее имя: Андрей
Откуда: Калининград
Контактная информация:

Re: LinuxCNC подключение частотника по ШИМ

Сообщение суанва »

Доброго времени суток.
Нужна помощь. Имеется чпу-фрезер под управлением linuxCNC, плата согласования lpt-dptr 1.03. Требуется научить её менять обороты шпинделя. Запуск оного с УП уже победил (через отдельное реле на плате). На плате есть группа PWM, 4 контакта: gnd(земля), pwm(шим), out(включение) и +10v. Шим постоянно держит +4.95v, а вкл. постоянно замкнут. В config'е менял значения, мины, настройки - без толку. Если я правильно понимаю, при регулировке оборотов с программы, на паре земля+шим должно меняться напряжение, а оно остаётся 4,90-4,95, соответственно, обороты 20-21тыс.
Очень надеюсь, у кого-то есть такая же связка плата-управление.
Аватара пользователя
odekolon
Мастер
Сообщения: 1118
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

Re: LinuxCNC подключение частотника по ШИМ

Сообщение odekolon »

суанва писал(а):Доброго времени суток.
Нужна помощь. Имеется чпу-фрезер под управлением linuxCNC, плата согласования lpt-dptr 1.03. Требуется научить её менять обороты шпинделя. Запуск оного с УП уже победил (через отдельное реле на плате). На плате есть группа PWM, 4 контакта: gnd(земля), pwm(шим), out(включение) и +10v. Шим постоянно держит +4.95v, а вкл. постоянно замкнут. В config'е менял значения, мины, настройки - без толку. Если я правильно понимаю, при регулировке оборотов с программы, на паре земля+шим должно меняться напряжение, а оно остаётся 4,90-4,95, соответственно, обороты 20-21тыс.
Очень надеюсь, у кого-то есть такая же связка плата-управление.
Вам нужно определить, к какой ножке на LPT подключен выход ШИМ (на плате) а дальше все, как у меня, только вместо 1 (первая ножка LPT) - используйте ту что у вас.
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: LinuxCNC подключение частотника по ШИМ

Сообщение antoxa-kylibin »

Здравствуйте! У меня тоже есть проблема с регулировкой оборотов по шим сигналу. Нет линейности при изменении оборотов. Т.е. задаю 6000 об мин, а по факту 12000. Задаю 18000 уже по полной крутит 240000. С коэффициентом offset игрался, добился что при заданных 6000 частотник выходил на режим 103 гц, что близко к 6000. Но стоит указать 15000 как шпиндель уже крутится на 24000 об мин. Нет линейной зависимости заданных значений и реальных....Как это победить? В настройках stepconf не совсем понял как правильно пользоваться параметрами скоростей и несущей частоты. По идеи там как то нужно задать соответствие уровня pwm и скорости вращения шпинделя. Скорость вращения можно по частотнику смотреть, а значение pwm это имеется ввиду напряжение (т.е. берем вольтметр и замеряем по факту значения от 0 до 10вольт) или значения pwm могут быть от 0 до 1 и нужно понимать это как 0-0вольт, а 1-10вольт??? Как посмотреть текущий уровень pwm сигнала? Через halscop? Народ, кто смог докопаться до истины, отзовитесь...
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

Re: LinuxCNC подключение частотника по ШИМ

Сообщение antoxa-kylibin »

Всем спасибо за внимание )))), разобрался я с частотником. Посмотрел через halscop что происходит с ШИМ сигналом при изменении заданных оборотов в EMC. Изначально в stepconf задал параметры PWM1 =0 PWM2 =1 и обороты 0 и 24000 соответственно. Через HALSСOP было видо что EMC2 скважность сигнала формирует правильно, а сам частотник реагирует не совсем адекватно. Запустив шпиндель на 24000 об/ми (в MDI команда M3 S24000) двигал ползунок скорости вращения шпинделя. Записал при каких значениях % ползунка частотник выставлял максимальную частоту 400Гц и минимальную рабочую частоту (в моем случае 100Гц). Получилось 10% для 100гц и 32% для 400Гц. После этого в stepconf задал параметры pwm1=0.1, скорость 1 = 6000; pwm2 = 0.32, скорость2 = 24000. После этого В новой конфигурации шпиндель стал работать адекватно. Точность задания оборотов по факту получилась с погрешностью в пределах 1%, что на мой взгляд достаточно для шпинделя без обратной связи... Надеюсь данная информация будет полезна для начинающих ЧПУшников )))....Почитав мануал на частотник обнаружил поддержку протокола RS485....Думаю следующий этап освоения регулировкой шпинделя по RS485 протоколу, но это уже к другой теме относится....
Ответить

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