запускаю очередной роутер по фанере.
захотелось подключить частотник по PWM (ШИМ)
с удивлением, обнаружил некоторую "мутность" в описании, как это сделать, в разделе "настройка"
![Thinking :thinking:](./images/smilies/think.gif)
Попытаюсь восполнить этот пробел.
сначала рисуем схему. первая ножка LPT - собственно ШИМ
16 ножка - шпиндель вперед (CW - clockwise) - по часовой
17 ножка - шпиндель назад (СCW - counter clockwise) - против часовой
ножки на разных частотниках, разные, потому нумерацию опускаю
на большинстве частоников, входы 1 и 2 обычно запрограммированы на функции "вперед" и "назад"
кроме этого, частотники обычно имеют вход аналогового управления и источник питания аналогового входа (ну чтоб внешний переменный резистор можно было подключить)
чтоб выход ШИМ мог менять потенциал на аналоговом входе, подтянем его резистором (я поставил 2кОм) наверное можно в пределах 500ом-3 кОм.
подключаю. пробую. нихрена не работает.
![Thinking :thinking:](./images/smilies/think.gif)
начинаю ковыряться в настройках. Хоть и не люблю stepconfig, но пришлось сохранить рабочую конфигурацию станка и сделать экспериментальную, строго для проб подключения шпинделя.
в общем вот что получилось:
1 настройки порта в степконфиг пины "шпиндель вперед/назад", должны быть приоинвертированы
2 настройки шпинделя в степконфиг тут 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
но явно видна опорная частота ШИМ, максимальные обороты шпинделя, и недокументированый в русской версии "LinuxCNC_Integrators_Manual"
параметр pwmgen.0.offset 0.0
в общем, поковырявшись, установил параметр pwmgen.0.offset 0.0 на 0,08, угол прямой скважность шим/частота поменялся и я получил практически приемлемое соответствие установленных оборотов и реальных
ЗЫ
Еще, я наступил на грабли установив опорную частоту ШИМ 200 Гц и получил биения, выразившиеся в периодическом изменении выходной частоты с периодом около 30 сек. Но возможно, это глюк конкретного китайского частотника. Кстати, у частотника были параметры, отвечающие за фильтрацию сигнала аналогового входа, но они в данной ситуации не помогли.
поставил опорную частоту на 2000 гц - и явление пропало