Gnevko

Пользователи
  • Продаж/оценка Барахолки

    0/0 (полученные отзывы)
  • Публикации

    134
  • Зарегистрирован

  • Посещение

Репутация

25 Нулевая

О Gnevko

  • Звание
    Постоялец
  • День рождения 3 июля

Персональная информация

  • Пол
    Мужчина
  • Страна
  • Город
    Австрия
  • Имя Пользователя
    Алексей
  1. Что делать: 1) Перейти к файлу TimerThree.h в библтотеке TimerThree и переименовать функции: void attachInterrupt(void (*isr)()) __attribute__((always_inline)) { и void attachInterrupt(void (*isr)(), unsigned long microseconds) __attribute__((always_inline)) { в void attachInterruptFunction(void (*isr)()) __attribute__((always_inline)) { и void attachInterruptFunction(void (*isr)(), unsigned long microseconds) __attribute__((always_inline)) { соответственно (в двух местах). Или скачайте файл TimerThree.h из этого сообщения TimerThree.h. Или скачайте файл по ссылке: https://github.com/Gnevko/Lathe-Arduino-Assistant/blob/master/ThreeTimeFix/TimerThree.h Откуда эти грабли: определение функции attachInterrupt конфликтует с другими библиотеками, проблема в инете известная, одно из решений - просто переименовать функции. Возможно кто то подскажет более элегантный способ ее решения.
  2. Конечно же я, джойстик не задумывался изначально как основной элемент управления, поэтому и "подключение" библиотеки к нему я не вынес в Config.h. Но нет ничего постояннее временного. Хождение по граблям - дело не благодарное, поэтому вам огромное спасибо!
  3. Таки да, ускользнула библиотека от зоркого ока https://github.com/timtro/wiinunchuck-h
  4. Спасибо, Sebra, за помощь! От себя добавлю, что в Config.h указаны так же и другие библиотеки, которые понадобятся для зборки.
  5. Если я правильно догадываюсь, то "No such ..." - это "No such file found" или что то в этом роде. Очень похоже на то, что вы загрузили (скачали) только сам скетч, но не все остальные файлы программы, такие как Config.h, GDisplay.h, GDisplay.cpp и так далее: Все файлы должны находиться в той же папке, что и сам скетч "LatheArduinoAssistant.ino". PS: можно было бы конечно все запихнуть и в один файл скетча, то тогда бы он получился просто гиганским, и ни о какой прозрачности и легкочитаемости и удобстве при внесении изменений речи бы уже не шло.
  6. Из альбома Paulimot Project

  7. "Не могу загрузить" в каком смысле? Не находит файлы, библиотеки или что то еще?
  8. В языках ли счастье ... но это уже тема для отдельного обсуждения. "Чётко симметричный импульс" в данной реализации программы не нужен, но потенциально он может быть полезен в случае, если вы захотите удвоить скорость реакции системы на изменения частоты вращения шпинделя. Например, у вас при нарезании резьбы очень сильно "проседает" скорость вращения шпиделя. Правда, в этом случае прийдется и в программе покопаться, и кое что переделать. Датчик вызывает опасения хотябы тем, что ему нужно от 10В ... ардуино работает с 5В. Джойстик заменить можно на вот такой переключатель Схема подключения + прийдется добавить две кнопки для сброса показаний позиции суппорта в ноль и для ускоренной подачи. Для продолжения автоматизации по оси Х нужен фрезеровочный станок, так как без дополнительных танцев с бубном там уже мотор не прикрепить. И такой станок у меня уже появился (маленький но все же), пока что осваиваю его и в процессе осваивания пришел к мысли, что программа один к одному, без каких либо изменений станет и на него (для управления координатным столом), стоит только прикрутить шаговики. Так что продолжение в любом случае будет.
  9. Господа, спокойствие, только спокойствие. О каких наездах идет речь? Окститесь, только здоровый диалог! 3 мм/об на 600 об/хв - это был пример не удачного подбора скорости для ускоренной подачи в режиме "Thread" (в коде я этот режим уже переименовал в "Sync", так как это больше соответствует его возможностям). А вообще, панове, система не идеальна, и если кто хочет поучаствовать в ее улучшении - то не стеснайтесь, прошу вас, весь код лежит в открытом доступе и что то даже задокументированно, сам код весьма прост и местами даже приметивен, что должно только улучшить его восприятие.
  10. Не то что бы не повредит, но и не поможет: 1) когда вы будете задавать скорость в 3мм система может еще и не знать, сколько у вас оборотов будет. Или же даже, если вы будете менять значение скорости с включенным шпинделем, то далеко не факт, что вы не повысите скорость уже после того, как выставили 3мм. 2) Это в моем конкретном случае, с моим шаговиком и драйвером нет возможности стартовать на такой скорости, а может быть с другим железом это и возможно. С более же слабым железом может быть и 0.75 мм на оборот при 600 оборотах уже много будет.
  11. Режим "Thread" всего лишь согласует скорости вращения шпинделя и подачи суппорта, режим "Auto" - подает суппорт с независимой от вращения шпинделя скоростью, а вот направление движения суппорта в обоих режимах полностью зависит от оператора. Это позволяет, на пример, нарезать резьбу вообще не останавливая шпиндель, тем более нет необходимости менять направление вращения оного, что бы отвести суппорт в начальную позицию - это очень удобно и экономит массу времени. Мой опыт показывает (во всяком случае мне), что любые запреты, оправданные в одном процессе, становятся огромной обузой в другом процессе, о наличие которого разработчик даже и не подозревает. Однако, мысль переключать в режим "Auto" у меня была, но только в том случае, если скорость вращения шпинделя вообще отсутствует, как и переключать в режим "Thread", как только шпиндель начал вращение, так как название режима "Thread" не в полной мере отображает его сути и возможностей. В этом режиме чудно осуществляются как черновые, так и чистовые проходы. Так же есть идея переключатся в режим "Auto", при ускоренной подаче, даже из режима "Thread". Причина банальна - в режиме "Thread" очень трудно подобрать такую скорость синхронизации подачи суппорта, что бы это работало на всех скоростях вращения шпинделя. Пример - выставляю для ускоренного режима "Thread" скорость в 3мм на оборот. На скорости вращения шпиндаля около 100 оборотов в минуту все ок, а вот уже на 600 оборотах шаговик просто "срывает", так как он не может без программируемого ускорения взять такую скорость. А программируемое ускорение в режиме "Thread" - это зло.
  12. Никак. Для определеня направления вращения шпинделя достаточно поставить второй оптический энкодер, с таким же зазором в 180 градусов, только смещенный на 90 градусов относительно первного, как я изначально и задумывал. Но ... мне так и не пришла в голову реальная ситуация, при которой на программном уровне мне нужно было бы знать/определить направление вращения шпинделя. А чисто для наглядности, что б только на экране отобразить - то оно этого для меня не стоило + опять же только дополнительный и не оправданный расход мощностей ардуино.
  13. Хотя ... в принципе ... любое кол-во срабатываний за один оборот можно "выдать" за одно. Предположим, что срабатываний 360, тогда если при каждом срабатывании делить счетчик на 360 и следить за остатком от деления, то при оном равном 0 у вас будет один оборот шпинделя. Но, есть одно жирное но - большое кол-во страбатываний грузит ардуино весьма серьезно, таким образом в таком подходе так же нет большого смысла. А вот одно срабатывание - самое оно, последнее время работал на скорости около 1300 оборотов шпинделя в минуту - все стабильно (конечно резьбы я на такой скорости не резал, а вот финальные проходы тестировал на разных скоростях синхронизированной подачи суппорта).
  14. Говорила мне мама - "учи, сынок, китайский" ... но я был не очень послушным ребенком. Если этот энкодер можно настроить на на одно срабатывание за один оборот шпинделя, то можно использовать без переделки кода. Если же нет - то кроме того, что прийдется в коде покапаться (хотя это и не сложно), все равно вам понадобиться еще один энкодер, который сможет срабатывать только один раз - для повторяемости захода при нарезании резьбы. Но тогда зачем танцы с бубном? Если же резьбы - это не ваша цель, а хочется просто синхронизировать скорости вращения шпинделя и подачи суппорта, тогда да, так как необходимость в "метке" в этом случае отпадает. ЗЫ: прошу прощения за поздний ответ, уведомления о новых постах в теме почему то до австрийских лугов не доходят
  15. Сегодня приехала замена первоначального основания, с виду ровно, но все равно не шлифовано (слева новая, справа старая).