Определить статус шагового двигателя

Тема в разделе "Arduino & Shields", создана пользователем Hairly, 29 дек 2015.

  1. Hairly

    Hairly Нуб

    Вопрос знатокам:можно ли средствами accelstepper или какой нить иной либы определить статус ШД при инициализации станка?
     
  2. Onkel

    Onkel Гуру

    только концевики. а чем концевики не устраивают? Ну или абсолютный многооборотный энкодер. Он правда стоит как пара станков.
     
  3. Tomasina

    Tomasina Сушитель лампочек Модератор

    а что такое "статус ШД"? accelstepper и сам двигатель не знают в каком он положении, это заботы программиста. Обычно после включения питания нужна калибровка - движение до концевика, чтобы задать нулевую точку.
     
  4. Hairly

    Hairly Нуб

    Возможно я некорректно поставил вопрос(
    Нужно просто(хотя вряд ли это просто) при включении станка получить статус ШД:
    1.исправен не исправен
    2. Корректность подключения
    И т.п. причем тут концевики? Я что упускаю?
     
  5. Hairly

    Hairly Нуб

    Концевик есть на ноль, но чтоб начать крутить нужно знать что будет крутиться)
     
  6. vvr

    vvr Инженерище

    вы описали бы свою задачу, а то как то статус шаговика не совсем понятно и надумать можно что угодно
     
  7. Tomasina

    Tomasina Сушитель лампочек Модератор

    гм, поясните, зачем при включении станка знать "исправен / не исправен ШД" (это будет видно в работе, штатными средствами не узнать) и корректно ли он подключен?
    Это делается один раз при наладке и забивать память ПО этой диагностикой ни к чему.
     
  8. Onkel

    Onkel Гуру

    1 у меня при включения фрезер идет (отключаемый) тест - х и у сначала в +1, +1 (концевик стоит и на максимумы), потом в 0,0 . Если после движения в +1,+1 концевики нуля не сработали, а по выполнении комнды 0,0 сработали - то считается в норме
    2 ну то же в принципе самое, но зачем это? вы его в паузах переключаете?
     
  9. Onkel

    Onkel Гуру

    можно узнать. погнать его до концевика макс, потом , после сработки концевика, до концевика ноль.
     
  10. Hairly

    Hairly Нуб

    Есть проект: трехкоординатный станок (сверловка, фрезерование)
    При включении питания хотелось бы получить текущий статус исполнительных механизмов например ШД
    Что то вроде POST теста для материнки компа
    По идее чего там определять? Все ж должнобыть исправно и подключено?
    Но вот такое странное желание
     
  11. Onkel

    Onkel Гуру

    у меня есть такое, так он при включении встает в нуль по х и у и в максимум (для установки фрезы/сверла) по z. Нормальное желание. Так и включите тест в программу.
     
  12. Hairly

    Hairly Нуб

    Ну это то понятно можно просто крутнуть туда-сюда крутится? Значит статус ОК
    Но хочется то программно и ДО исполнения основного кода
    Запускать исполнение основного кода незная заранее будет он исполняться и как будет как то некомильфно
     
  13. Hairly

    Hairly Нуб

    Вот например:даю команду шд на движение в координату, а он двигается с малозаметными рывками, пропускает шаги и проч.
    Я то положим разобрался и нашел неконтакт с управляющим выходом ардуины, а что делать оператору?
    Как ему понять, что станок требует наладки?
     
  14. Onkel

    Onkel Гуру

    сделанный и отлаженный станок , если он грамотно сконструирован,должен работать годами без всяких неконтактов. Если нет уверенности, то можно заложить в программу тест, отключаемый. Я, например, в асутп всегда включаю отключаемый тест всех датчиков, концевиков, клапанов и прочей периферии. Пришли люди с отпуска, запустили тест, он себе фигачит и проверяет все датчики, измерители и проч. Это не то чтобы полезно, а нужно. Ну если подход серьезный, конечно. А если неконтакт -то нужно все контакты менять на такие, у которых неконтакта нет. Впрочем, зависит от цены ошибки.
     
  15. Tomasina

    Tomasina Сушитель лампочек Модератор

    а программно это и не определить, команды-то ШД выдаются нормально, без сбоев. Либо ставить абсолютный энкодер и неслабую программу анализа, но это уже совсем другая ценовая категория.
    Как выше было сказано, для этого есть калибровка и диагностические тесты, запускаемые оператором вручную и потом глазками смотреть и слушать.
     
  16. Hairly

    Hairly Нуб

    Вот абсолютно согласен, собственно весь вопрос как этот тест сделать?
     
  17. Hairly

    Hairly Нуб

    Я уж о датчике Холла на валу думал-
    Крутнуть вал на число оборотов равное числу шагов в обороте и посчитать
    Пропуск шага должен вылезти?
     
  18. Onkel

    Onkel Гуру

    да я вроде и ответил- тут всего-то три степени свободы. У меня не проверяются концевые датчики (но это лишь потому,что для себя делал)- при включении делает +1 по х и у и до упора по z, потом до нуля по х и по у и ждет подтверждения "фреза установлена", потом калибрует "0" по z (контакт между фрезой / сверлом и платой, если непроводящий материал - кладу фольгу с известной толщиной) и ждет ввода файла фрезеровки или сверления. Весь софт самопальный , включая алгоритмизацию по брезенхейму, так что подсказать могу только по алгоритмам. Пока не разу не подвел.
     
  19. Onkel

    Onkel Гуру

    станок должен быть сконструирован так чтобы пропуска шагов не было. тут и думать не надо. А уж если он без нагрузки шаги пропускает - надо переделывать.
     
  20. Hairly

    Hairly Нуб

    Понял... всем ответившим спасибо... все верно : надо думать над тем чтоб работало, а не над тем как определить почему не работает, хотелось мелкой самодиагностики при включении, но мелкой не получитсЯ