Перейти к содержанию

TDA

Members
  • Постов

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

  • Посещение

Весь контент TDA

  1. Ни слова не понял. У вас шпилька укладчика какой шаг имеет 1мм или 8мм? Если вы будете чередовать числа в случайном порядке я не помогу.
  2. С этими настройками заходим в меню Pos control, выставляем там STPMUL = 200 далее меняем на 1 значение SH POS (основной мотор), а затем LA POS (мотор укладчика) и говорим мне на какой угол повернулись двигатели.
  3. Да это разные ветки, Ардуино и Ародуино 2,0, но вопрос он задавал аналогичный, какое должно быть число для шага резьбы 8мм. И ответ 400 для двигателей 1.8гр и как я выше посчитал 417 для двигателя 1.875гр. Его проблемы с неадекватным вращением двигателей весьма похожи на описанные вами. Так же напоминаю, что в меню присутствует раздел ручное перемещение можно проверять там выставив stepmul на 200, при этом один шажок энкодера должен перемещать ШД на полный оборот.
  4. Как никто не ответил то? Я лично ответил и у него заработало для шага 8, читаем до конца. Я пытаюсь объяснить логику всеми возможными способами, но уже не нахожу слов. Естественно не проверял работу 1,875гр, но логику я описал всеми доступными мне словами выше.
  5. В соседней ветке в последних постах у человека тоже многозаходная резьба с шагом 8мм и стандартные ШД 200 шагов на оборот, у него проблема была с микрошагом https://forum.cxem.net/index.php?/topic/203349-намоточный-станок-на-arduino/page/6/#comments При этом следующий код был проверен: #define ShaftStep 400 // ShaftStep = Шаг резьбы*50 #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг) ShaftStep это расстояние которое пройдет укладчик за один шаг. К примеру 400 означает 0,04мм
  6. step это толщина провода. Да, из того что я понял по вашим ШД должно быть: #define ShaftStep 417 // ShaftStep = Шаг резьбы*50 #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг) Проблема в микрошаге. Он выставлен неправильно. Нужно проверить выводы M0,M1,M2 должно быть Low Low High
  7. Хм, интересно... Про число 50 все просто, логика абсолютна такая же. Стандартный ШД 200 шагов на оборот, пусть шаг резьбы 1мм, тогда перемещение за 1 шаг составит 1мм/200 = 0,005мм, т.к. я веду расчеты в целочисленной арифметике то в расчетах принимается 0,005*10000 = 50, возможно более понятно было бы 5 или 5000, но сути это не меняет. Вариант решения: (8/192)*10000 = 416,666667, Округляя до 417 это будет приводить к постоянной ошибке, но возможно не существенной.
  8. 1. Да, можно бы было, но не реализовано. 2. Кнопка Reset 3. STPMUL множитель шагов для перемещения ШД при управлении из меню.
  9. #define ShaftStep 50 // ShaftStep = Шаг резьбы*50 В комментарии к этой строчке дана формула для расчета этого числа как шаг резьбы умноженный на 50. Если шаг резьбы равен 1мм то число должно быть 1×50 = 50. При этом шаг резьбы определяется как расстояние на которое пройдет условная гайка по этой резьбе за один оборот. Это уточнение исключает недопонимание при применении многозаходных резьб. #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг)
  10. Да, если отправляете через форму сайта, то с некоторой задержкой я получаю. Сейчас получен один перевод. Спасибо за интерес и помощь проекту.
  11. А можно не скромный вопрос, чего же Вы не сказали что драйвера то поставили не как в статье DRV8825, а совершенно другие A4988? Это я только по последней фотографии смог понять. У них естественно таблица микрошага отличается, а может и что еще. Попробуйте выставить перемычки как по табличке ниже (все установлены)
  12. Перемычки микрошага как у Вас установлены? Не надо пытаться подбирать числа, это бессмысленно. Выше я написал правильные числа при условии что у вас многозаходная резьба с ходом 8мм, микрошаг 1/16 и двигатель той модели что вы сказали.
  13. Ошибся немного, конечно же нужно наоборот выставить 0 или подтянуть к GND
  14. while (Actual_Turn < Set_Turns) // Пока текущее кол-во витков меньше заданного продолжаем мотать { run_btn = PINB & 0b00001000; while (run_btn) { За это отвечает переменная run_btn, можно поставить всегда = 1 или подтянуть 11 пин к +5В
  15. Выглядит хорошо. Это фрезой все снято? Долго наверно. Нажатие кнопок должны приводить к вращению двигателей, они подключены?
  16. Как выставлены перемычки микрошага на драйверах? Если выставлены на микрошаг 16, то должно быть так: #define ShaftStep 400 // ShaftStep = Шаг резьбы*50 #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг)
  17. Многозаходная шпилька (правильное название резьбовой вал) с ходом (условно шагом) равным 8, итого нужно: #define ShaftStep 400 // ShaftStep = 8*50 Выше я ошибся. У меня шаг резьбы 1мм, а значит и #define ShaftStep 50 // ShaftStep = 1*50 Моторы "нема 17" это только типоразмер, а модель какая? Это нужно что бы знать угол поворота на 1 шаг, обычно это 1.8° (200 шагов на оборот) 1.8°×200 = 360° Шпилька на основном двигателе может быть абсолютно любая, это на работу не влияет.
  18. Как я писал выше нужно изменить только одну переменную: #define ShaftStep 50 // ShaftStep = Шаг резьбы*50 Она вычисляется исходя из шага резьбы укладчика. При этом я определяю шаг резьбы как расстояние на которое пройдет условная гайка по этой резьбе за один оборот. Это определение исключает недопонимание при использовании многозаходных резьб. Если шпилька стандартная М8 то у не шаг равен 1мм.
  19. Шаг резьбы на шпильке укладчика знать надо обязательно от этого зависит скорость перемещения укладчика и нужно написать число в программе ShaftStep = Шаг резьбы*50 По умолчанию для шага 2мм число стоит 50 #define ShaftStep 50 SH POS и LA POS только для установки начального положения, STMUL работает сними совместно. Стандартные шаговые двигатели совершают за один шаг поворот на 1.8°. Если изменить STMUL то за один отчет SH POS они будут совершать SH POS×STMUL шагов. В целом все это меню функционально заменено кнопками в версии 2.2, на остальную часть программы это никак не влияет. Что имеется в виду под словом "катушка", если я правильно понял то это оправка для намотки. В меню Autowinding нужно выставить: Step (шаг) = 1мм (по факту можно максимум 0.995) Turns (витки) = 33 layers (слои) = 1 Speed (скорость) = 25 (например) Затем нажать Start (Старт), появиться диспетчер намотки со счетчиком, затем вручную управлять намоткой нажимая и отпуская кнопку пуск https://youtu.be/o_f3Sf8Vp78
  20. В меню есть пункт Autowinding (Автонамотка)там все и задается. SH POS это позиция вала, LA POS это позиция укладчика STMUL это множитель шага. Настоятельно рекомендую использовать последнюю прошивку версии 2, версия 1 уже давно мной не поддерживается. В самой новой на данный момент есть кнопки для ручного перемещения обоих двигателей. За материальную благодарность спасибо!
×
×
  • Создать...