-
Постов
193 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент TDA
-
Ни слова не понял. У вас шпилька укладчика какой шаг имеет 1мм или 8мм? Если вы будете чередовать числа в случайном порядке я не помогу.
-
С этими настройками заходим в меню Pos control, выставляем там STPMUL = 200 далее меняем на 1 значение SH POS (основной мотор), а затем LA POS (мотор укладчика) и говорим мне на какой угол повернулись двигатели.
-
Да это разные ветки, Ардуино и Ародуино 2,0, но вопрос он задавал аналогичный, какое должно быть число для шага резьбы 8мм. И ответ 400 для двигателей 1.8гр и как я выше посчитал 417 для двигателя 1.875гр. Его проблемы с неадекватным вращением двигателей весьма похожи на описанные вами. Так же напоминаю, что в меню присутствует раздел ручное перемещение можно проверять там выставив stepmul на 200, при этом один шажок энкодера должен перемещать ШД на полный оборот.
-
Как никто не ответил то? Я лично ответил и у него заработало для шага 8, читаем до конца. Я пытаюсь объяснить логику всеми возможными способами, но уже не нахожу слов. Естественно не проверял работу 1,875гр, но логику я описал всеми доступными мне словами выше.
-
В соседней ветке в последних постах у человека тоже многозаходная резьба с шагом 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мм
-
step это толщина провода. Да, из того что я понял по вашим ШД должно быть: #define ShaftStep 417 // ShaftStep = Шаг резьбы*50 #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг) Проблема в микрошаге. Он выставлен неправильно. Нужно проверить выводы M0,M1,M2 должно быть Low Low High
-
Хм, интересно... Про число 50 все просто, логика абсолютна такая же. Стандартный ШД 200 шагов на оборот, пусть шаг резьбы 1мм, тогда перемещение за 1 шаг составит 1мм/200 = 0,005мм, т.к. я веду расчеты в целочисленной арифметике то в расчетах принимается 0,005*10000 = 50, возможно более понятно было бы 5 или 5000, но сути это не меняет. Вариант решения: (8/192)*10000 = 416,666667, Округляя до 417 это будет приводить к постоянной ошибке, но возможно не существенной.
-
Это как? что за ШД такой?
-
1. Да, можно бы было, но не реализовано. 2. Кнопка Reset 3. STPMUL множитель шагов для перемещения ШД при управлении из меню.
-
#define ShaftStep 50 // ShaftStep = Шаг резьбы*50 В комментарии к этой строчке дана формула для расчета этого числа как шаг резьбы умноженный на 50. Если шаг резьбы равен 1мм то число должно быть 1×50 = 50. При этом шаг резьбы определяется как расстояние на которое пройдет условная гайка по этой резьбе за один оборот. Это уточнение исключает недопонимание при применении многозаходных резьб. #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг)
-
Да, если отправляете через форму сайта, то с некоторой задержкой я получаю. Сейчас получен один перевод. Спасибо за интерес и помощь проекту.
-
Бывает) Да, точно так
-
А можно не скромный вопрос, чего же Вы не сказали что драйвера то поставили не как в статье DRV8825, а совершенно другие A4988? Это я только по последней фотографии смог понять. У них естественно таблица микрошага отличается, а может и что еще. Попробуйте выставить перемычки как по табличке ниже (все установлены)
-
Перемычки микрошага как у Вас установлены? Не надо пытаться подбирать числа, это бессмысленно. Выше я написал правильные числа при условии что у вас многозаходная резьба с ходом 8мм, микрошаг 1/16 и двигатель той модели что вы сказали.
-
То же хочу токарный, когда нибудь возьму)))
-
Ошибся немного, конечно же нужно наоборот выставить 0 или подтянуть к GND
-
while (Actual_Turn < Set_Turns) // Пока текущее кол-во витков меньше заданного продолжаем мотать { run_btn = PINB & 0b00001000; while (run_btn) { За это отвечает переменная run_btn, можно поставить всегда = 1 или подтянуть 11 пин к +5В
-
О, смотрится круто! Это пластик?
-
Выглядит хорошо. Это фрезой все снято? Долго наверно. Нажатие кнопок должны приводить к вращению двигателей, они подключены?
-
Как выставлены перемычки микрошага на драйверах? Если выставлены на микрошаг 16, то должно быть так: #define ShaftStep 400 // ShaftStep = Шаг резьбы*50 #define MicroStepsN 16 // Число микрошагов на шаг #define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг)
-
Значит 200 шагов на оборот.
-
Многозаходная шпилька (правильное название резьбовой вал) с ходом (условно шагом) равным 8, итого нужно: #define ShaftStep 400 // ShaftStep = 8*50 Выше я ошибся. У меня шаг резьбы 1мм, а значит и #define ShaftStep 50 // ShaftStep = 1*50 Моторы "нема 17" это только типоразмер, а модель какая? Это нужно что бы знать угол поворота на 1 шаг, обычно это 1.8° (200 шагов на оборот) 1.8°×200 = 360° Шпилька на основном двигателе может быть абсолютно любая, это на работу не влияет.
-
Как я писал выше нужно изменить только одну переменную: #define ShaftStep 50 // ShaftStep = Шаг резьбы*50 Она вычисляется исходя из шага резьбы укладчика. При этом я определяю шаг резьбы как расстояние на которое пройдет условная гайка по этой резьбе за один оборот. Это определение исключает недопонимание при использовании многозаходных резьб. Если шпилька стандартная М8 то у не шаг равен 1мм.
-
Шаг резьбы на шпильке укладчика знать надо обязательно от этого зависит скорость перемещения укладчика и нужно написать число в программе 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
-
В меню есть пункт Autowinding (Автонамотка)там все и задается. SH POS это позиция вала, LA POS это позиция укладчика STMUL это множитель шага. Настоятельно рекомендую использовать последнюю прошивку версии 2, версия 1 уже давно мной не поддерживается. В самой новой на данный момент есть кнопки для ручного перемещения обоих двигателей. За материальную благодарность спасибо!