Вопрос знатокам:можно ли средствами accelstepper или какой нить иной либы определить статус ШД при инициализации станка?
только концевики. а чем концевики не устраивают? Ну или абсолютный многооборотный энкодер. Он правда стоит как пара станков.
а что такое "статус ШД"? accelstepper и сам двигатель не знают в каком он положении, это заботы программиста. Обычно после включения питания нужна калибровка - движение до концевика, чтобы задать нулевую точку.
Возможно я некорректно поставил вопрос( Нужно просто(хотя вряд ли это просто) при включении станка получить статус ШД: 1.исправен не исправен 2. Корректность подключения И т.п. причем тут концевики? Я что упускаю?
гм, поясните, зачем при включении станка знать "исправен / не исправен ШД" (это будет видно в работе, штатными средствами не узнать) и корректно ли он подключен? Это делается один раз при наладке и забивать память ПО этой диагностикой ни к чему.
1 у меня при включения фрезер идет (отключаемый) тест - х и у сначала в +1, +1 (концевик стоит и на максимумы), потом в 0,0 . Если после движения в +1,+1 концевики нуля не сработали, а по выполнении комнды 0,0 сработали - то считается в норме 2 ну то же в принципе самое, но зачем это? вы его в паузах переключаете?
Есть проект: трехкоординатный станок (сверловка, фрезерование) При включении питания хотелось бы получить текущий статус исполнительных механизмов например ШД Что то вроде POST теста для материнки компа По идее чего там определять? Все ж должнобыть исправно и подключено? Но вот такое странное желание
у меня есть такое, так он при включении встает в нуль по х и у и в максимум (для установки фрезы/сверла) по z. Нормальное желание. Так и включите тест в программу.
Ну это то понятно можно просто крутнуть туда-сюда крутится? Значит статус ОК Но хочется то программно и ДО исполнения основного кода Запускать исполнение основного кода незная заранее будет он исполняться и как будет как то некомильфно
Вот например:даю команду шд на движение в координату, а он двигается с малозаметными рывками, пропускает шаги и проч. Я то положим разобрался и нашел неконтакт с управляющим выходом ардуины, а что делать оператору? Как ему понять, что станок требует наладки?
сделанный и отлаженный станок , если он грамотно сконструирован,должен работать годами без всяких неконтактов. Если нет уверенности, то можно заложить в программу тест, отключаемый. Я, например, в асутп всегда включаю отключаемый тест всех датчиков, концевиков, клапанов и прочей периферии. Пришли люди с отпуска, запустили тест, он себе фигачит и проверяет все датчики, измерители и проч. Это не то чтобы полезно, а нужно. Ну если подход серьезный, конечно. А если неконтакт -то нужно все контакты менять на такие, у которых неконтакта нет. Впрочем, зависит от цены ошибки.
а программно это и не определить, команды-то ШД выдаются нормально, без сбоев. Либо ставить абсолютный энкодер и неслабую программу анализа, но это уже совсем другая ценовая категория. Как выше было сказано, для этого есть калибровка и диагностические тесты, запускаемые оператором вручную и потом глазками смотреть и слушать.
Я уж о датчике Холла на валу думал- Крутнуть вал на число оборотов равное числу шагов в обороте и посчитать Пропуск шага должен вылезти?
да я вроде и ответил- тут всего-то три степени свободы. У меня не проверяются концевые датчики (но это лишь потому,что для себя делал)- при включении делает +1 по х и у и до упора по z, потом до нуля по х и по у и ждет подтверждения "фреза установлена", потом калибрует "0" по z (контакт между фрезой / сверлом и платой, если непроводящий материал - кладу фольгу с известной толщиной) и ждет ввода файла фрезеровки или сверления. Весь софт самопальный , включая алгоритмизацию по брезенхейму, так что подсказать могу только по алгоритмам. Пока не разу не подвел.
станок должен быть сконструирован так чтобы пропуска шагов не было. тут и думать не надо. А уж если он без нагрузки шаги пропускает - надо переделывать.
Понял... всем ответившим спасибо... все верно : надо думать над тем чтоб работало, а не над тем как определить почему не работает, хотелось мелкой самодиагностики при включении, но мелкой не получитсЯ