Страница 1 из 1

Проблема с выполнением программы.

Добавлено: 25 апр 2017, 23:00
flyu
Делаю фрезерный 4 координатный станок для домашнего пользования. Установил программу, настроил в stepconf шаговые двигатели. Из stepconf двигатели управляются нормально. Запускаю настроенную машину. По командам с клавиатуры (стрелочки и pageup, padedown)двигатели управляются, команду "Home all" отрабатывают все двигатели, при вводе команд G1... G2... вручную двигатели тоже работают. Загружаю пример программы где вырезается слово "LINUX". На экране вся программа отрабатывает. Двигатели не вращаются ни один. Где-то какую-то мелочь упускаю. Не могу понять где и что упустил. Подскажите, пожалуйста, в какую сторону копать?

Re: Проблема с выполнением программы.

Добавлено: 26 апр 2017, 08:26
nkp
flyu писал(а):при вводе команд G1... G2... вручную двигатели тоже работают
если я правильно понял - это работа при вводе MDI команд ,так?

Re: Проблема с выполнением программы.

Добавлено: 26 апр 2017, 08:37
flyu
Да, при вводе MDI комманд.

Re: Проблема с выполнением программы.

Добавлено: 26 апр 2017, 08:56
flyu
Поигрался еще со станком. Команды перестают выполняться после включения шпинделя. В том числе и при вводе MDI команд. Управление двигателями восстанавливается после выполнения команд M5 M2 из программы или из MDI без разницы.

Re: Проблема с выполнением программы.

Добавлено: 26 апр 2017, 09:06
nkp

Re: Проблема с выполнением программы.

Добавлено: 26 апр 2017, 10:38
odekolon
Похоже это аппаратный глюк. Мне попадалась интерфейсная LPT плата, которая вела себя похожим образом. При каких-то условиях зависала и не двигала осями. лечилось отключением компа от сети (плата была с питанием от USB, а питание на USB не снимается выключенном компе.)
Хотя, если честно, ума не приложу что в этой плате могло зависнуть - там же нифига нет!
в общем, я бы отключил цепи управления шпинделем от платы, и поигрался бы снова.

А! и еще - при неправильной настройке портов ввода-вывода сигнал управления шпинделем может попасть на цепь разрешения работы драйверов (если такая имеется)
но это гадания на кофейной гуще.

схему подключения и хал файл в студию!

Re: Проблема с выполнением программы.

Добавлено: 28 апр 2017, 20:48
flyu
Спасибо всем откликнувшимся. Потоптался по граблям с неправильной настройкой выводов платы, когда сигнал управления шпинделем попадает на цепь разрешения работы драйверов. В принципе все удовлетворяет, но загадочная русская душа ищет приключений на не менее загадочную русскую Ж.
Суть в следующем: ввиду присутствия отсутствия дензнаков и невозможностью договориться с жабой на нормальный шпиндель, на станок (по дереву) будет ставится фрезер от братьев китайцев за 1,5 тыр. с обещанными 34 000 об/мин(для моих потребностей более чем достаточно). На этом чуде китайской техники есть крутик, который регулирует обороты от 11 000 до 34 000. Крутик, как я подозреваю, соединен с обычным переменным резистором и управление оборотами, по сути, осуществляется изменением напряжения. На плате есть выводы с регулировкой напряжения от 0 до 10 V. Пытаюсь их заставить работать, но чем дальше влезаю в этот вопрос, тем большая каша в голове.
Не понятнен следующий момент: в файле hal добавляю секцию
loadrt scale count=1
addf scale.0 servo-thread
setp scale.0.gain 0.002
net spindle-speed-scale motion.spindle-speed-out => scale.0.in
net spindle-speed-DAC scale.0.out => <your DAC pin name>

Плата работает от параллельного порта. Что надо вставить вместо <your DAC pin name>? Свободы пины 1,16,17. Если указываю свободный пин, например 17(), то при запуске ругается матом. Вот таким: signal 'spindle-speed-DAC' of type 'float' cannot add pin 'parport.0.pin-17-out' of type 'bit'
Понимаю, что либо вставляю не то, что надо, либо необходимо привести типы в соответствие, но где это делается не понимаю :thinking:

Re: Проблема с выполнением программы.

Добавлено: 29 апр 2017, 07:16
dinkata
flyu писал(а):Вот таким: signal 'spindle-speed-DAC' of type 'float' cannot add pin 'parport.0.pin-17-out' of type 'bit'

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

motion.spindle-speed-out - (float, out) Commanded spindle speed in rotations per minute. Positive for spindle forward (M3), negative for spindle reverse (M4). 
т.е. может бьйт стоимост 0.02 ; -2.45 ; -10.00 или 10.00 , примерно "float"...... скажем ето водьй ...

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

'parport.0.pin-17-out' of type 'bit'
т.е ето может бьйт либо включено (стоимост 1) , либо вьйключено (стоимост 0)
другое состояние он нет , .......примерно 'bit' скажем ето камень ..
Ну камень и водьй не свяжеш , да ?

Re: Проблема с выполнением программы.

Добавлено: 04 май 2017, 09:15
flyu
Спасибо за подсказку, но это немного не то, что я хочу. В данном случае будет только 2 состояния "Включено" и "Выключено", а я хочу много разных состояний.
Копание в плате осцилогафом и мультиметром привело к желаемому результату (плата приобретена у братьев китайцев, документации нет). ШИМ подается на 1 ногу. Параллельно на отдельных выводах изменяется напряжение от 10 до 0 в. На максимальных оборотах - 0в, на мининмальных - 10в. Дальнейшее уже дело техники.
Еще раз всемс пасибо!

Re: Проблема с выполнением программы.

Добавлено: 05 дек 2017, 01:01
Vasia_Pupkin
Подниму тему....столкнулся с той же проблемой.
Что в итоге то нужно вставить вместо <your DAC pin name>?

Понимаю что это у меня на плате нога №14, но выдает те же ошибки, или тип не совпадает, либо пин не создан, если что то другое пишу.

signal 'spindle-speed-DAC' of type 'float' cannot add pin 'parport.0.pin-14-out' of type 'bit'
Понятно что проблема в типах переменных...
Либо надо создать новый пин... глупость наверное написал))

в хал прописано
net spindle-pwm => parport.0.pin-14-out

Re: Проблема с выполнением программы.

Добавлено: 05 дек 2017, 04:43
Сергей Саныч
Воспользуйтесь компонентом pwmgen.
http://www.linuxcnc.org/docs/html/man/m ... gen.9.html

Re: Проблема с выполнением программы.

Добавлено: 05 дек 2017, 07:50
Vasia_Pupkin
Сергей Саныч писал(а):Воспользуйтесь компонентом pwmgen.
http://www.linuxcnc.org/docs/html/man/m ... gen.9.html
По умолчанию пользовался этим компонентом, вроде работало, хотя непонятки с частотой вращения на оборотах 8000-16000 были, но это не суть важно, может быть плата, а может быть и мои кривые руки.

Это описание из мануала linuxcnc
loadrt scale count=1
addf scale.0 servo-thread
setp scale.0.gain 0.002
net spindle-speed-scale motion.spindle-speed-out => scale.0.in
net spindle-speed-DAC scale.0.out => <your DAC pin name>

Просто хотелось бы понять как это вобще работает.
В мануале компонента pwmgen - внятно расписано только pwm, а, про pdm - плохо понятно как это работает.

Re: Проблема с выполнением программы.

Добавлено: 06 дек 2017, 23:21
Vasia_Pupkin
Вопрос решился.
Re: StepMaster ver 2.5 #681