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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
flyu
Новичок
Сообщения: 12
Зарегистрирован: 25 апр 2017, 22:31
Репутация: 0
Настоящее имя: Леонид Федорченко
Контактная информация:

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

Сообщение flyu »

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

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

Сообщение nkp »

flyu писал(а):при вводе команд G1... G2... вручную двигатели тоже работают
если я правильно понял - это работа при вводе MDI команд ,так?
flyu
Новичок
Сообщения: 12
Зарегистрирован: 25 апр 2017, 22:31
Репутация: 0
Настоящее имя: Леонид Федорченко
Контактная информация:

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

Сообщение flyu »

Да, при вводе MDI комманд.
flyu
Новичок
Сообщения: 12
Зарегистрирован: 25 апр 2017, 22:31
Репутация: 0
Настоящее имя: Леонид Федорченко
Контактная информация:

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

Сообщение flyu »

Поигрался еще со станком. Команды перестают выполняться после включения шпинделя. В том числе и при вводе MDI команд. Управление двигателями восстанавливается после выполнения команд M5 M2 из программы или из MDI без разницы.
Аватара пользователя
odekolon
Мастер
Сообщения: 1125
Зарегистрирован: 05 ноя 2014, 14:53
Репутация: 360
Настоящее имя: Борис
Контактная информация:

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

Сообщение odekolon »

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

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

схему подключения и хал файл в студию!
"Капиталистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество"
flyu
Новичок
Сообщения: 12
Зарегистрирован: 25 апр 2017, 22:31
Репутация: 0
Настоящее имя: Леонид Федорченко
Контактная информация:

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

Сообщение 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:
Вложения
Фото платы (3892 просмотра) <a class='original' href='./download/file.php?id=110209&mode=view' target=_blank>Загрузить оригинал (1.29 МБ)</a>
Фото платы
Фото платы (3892 просмотра) <a class='original' href='./download/file.php?id=110210&mode=view' target=_blank>Загрузить оригинал (1.06 МБ)</a>
Фото платы
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

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

Сообщение 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' скажем ето камень ..
Ну камень и водьй не свяжеш , да ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
flyu
Новичок
Сообщения: 12
Зарегистрирован: 25 апр 2017, 22:31
Репутация: 0
Настоящее имя: Леонид Федорченко
Контактная информация:

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

Сообщение flyu »

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

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

Сообщение 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
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

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

Сообщение Сергей Саныч »

Воспользуйтесь компонентом pwmgen.
http://www.linuxcnc.org/docs/html/man/m ... gen.9.html
Чудес не бывает. Бывают фокусы.
Vasia_Pupkin
Кандидат
Сообщения: 70
Зарегистрирован: 23 авг 2017, 19:57
Репутация: 10
Настоящее имя: Антон
Откуда: Екатеринбург
Контактная информация:

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

Сообщение 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 - плохо понятно как это работает.
Vasia_Pupkin
Кандидат
Сообщения: 70
Зарегистрирован: 23 авг 2017, 19:57
Репутация: 10
Настоящее имя: Антон
Откуда: Екатеринбург
Контактная информация:

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

Сообщение Vasia_Pupkin »

Вопрос решился.
Re: StepMaster ver 2.5 #681
Ответить

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