evgeny_ch 0 4 мая, 2009 Опубликовано 4 мая, 2009 (изменено) · Жалоба Не по скорости а по перемещению. И решается. Если забивать в программу момент который эта нагрузка создает. Но это в теории. А на практике, лучше повесить на двигатель енкодер с дырками, и по этому енкодеру смотреть, шагнул двигатель или еще нет.Не совсем так или так но не совсем. В этом случае коммутация ШД осуществляется импульсами энкодера, т. н. автокоммутация. Позволяет избавиться от резонансов и потери шагов. Это делается просто на аппаратном уровне, как в контроллерах для BLDC приводов HDD и пр. крутилок. Изменено 4 мая, 2009 пользователем evgeny_ch Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба Не совсем так или так но не совсем. В этом случает коммутация ШД осуществляется импульсами энкодера, т. н. автокоммутация. Позволяет избавиться от резонансов и потери шагов. Ну? Нафига в таком случае тот ваш алгоритм? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба Я тут подумал: раз у нас все сводится к конечным значениям длительности, попробуйте покопать приближение с помощью цепных дробей. Думаю, за вменяемое кол-во итераций все-же можно избавиться от деления. Наверное, и критерий будет такой, чтобы время не превышало аналогичной операции деления. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба Поставьте датчик ускорения - будет красиво Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 36 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба "Красиво" управлять шаговиком- это только по таблицам. Обычно простой рампы (трапеции) достаточно. Но иногда нужен безударный разгон-торможение (т.е ускорение меняется тоже плавно от нуля к максимуму и наоборот) или учет потерь вращающего момента шаговика на высоких оборотах. Хуже всего, если механическая характеристика подвижной части системы переменная (например с грузом и без груза), а ездить надо с максимальной скоростью. Приходиться заводить несколько таблиц разгон-торможение. По обратной связи- обычно достаточно диска на валу шаговика с прорезью и контролировать число шагов на оборот. Если их оказалось не 400 ( в полушаге для типовых моторов) то произошла потеря позиции и надо "кричать караул"- звать наладчика для корректировки законов разгона- торможения или смазки механизма. Энкодер бывает нужен только на этапе отладки механики в процессе проектирования привода, но там желателен и тензометрический датчик момента на валу, и датчик линейных ускорений подвижной части привода итд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба По обратной связи- обычно достаточно диска на валу шаговика с прорезью и контролировать число шагов на оборот. Если их оказалось не 400 ( в полушаге для типовых моторов) то произошла потеря позиции и надо "кричать караул"- звать наладчика для корректировки законов разгона- торможения или смазки механизма. Зачем? Просто не делать следующий шаг, пока текущий не завершён. Все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgeny_ch 0 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба Ну? Нафига в таком случае тот ваш алгоритм?Тот алгоритм это какой? Я вроде и не предлагал алгоритмов. Что касаемо ускорения, то его нужно рассматривать применительно к механизму, но это не алгорим, аксиома называется. Ненагруженный ШД (т. е. соотношение момента к инерции нагрузки) может стартовать с максимальным ускорением, нагруженный с меньшим. Что касается автонастройки, то без ОС это невозможно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 36 4 мая, 2009 Опубликовано 4 мая, 2009 · Жалоба Зачем? Просто не делать следующий шаг, пока текущий не завершён. Все. Непонял. Мы же плавно разгоняемя до какой- то неведомой скорости, которая определяется трением в механизме, моментом инерции движущихся частей, уменьшением момента двигателя при росте частоты "шагания" и еще кучей параметров. Можно конечно все это моделировать, но обычно я пишу для готового механизма простенькую отладочную программку которя, безопасно двигая механизм, постепенно повышает скорость движения. И по датчику на валу отслеживает, при какой скорости начнем терять шаги. Получаю максимальную скорость механизма для данного движка и параметров его питания. Даю 25% запас по частоте и записываю это в еепром контроллера. А безударный разгон бывает часто нужен в измерительной технике. При плавном измерении ускорения кривая изменения скорости имеет S-образный вид. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dpss 5 5 мая, 2009 Опубликовано 5 мая, 2009 · Жалоба При плавном измерении ускорения кривая изменения скорости имеет S-образный вид. При S образном разгоне-торможении в сравнении с трапецией при одинаковой максимальной скорости и времени движения придется двигаться с большим ускорением , что не всегда позволяет привод или механическая нагрузка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 5 мая, 2009 Опубликовано 5 мая, 2009 · Жалоба При S образном разгоне-торможении в сравнении с трапецией при одинаковой максимальной скорости и времени движения придется двигаться с большим ускорением Форму S образного разгона тоже можно разной придумать. Достаточно прикинуть сопряжение прямой и кусков параболы с ограничением на максимальное значение ускорения производной Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Skywolf 0 7 мая, 2009 Опубликовано 7 мая, 2009 · Жалоба а самый младший Cyclone II это 5 тыс. который что ли?. я на 8 тыс.(ep2c8t144) кручу 4 ШД ,делитель общий , 16 разряда . ШД работает в 10-микрошаговом режиме (1.8 градуса механических) итого 2000 шагов на оборот и максимальная скорость 65`536 (2^16) итого ~32 об./сек. , а больше и смысла нет, т.к. подовляющее большинство ШД быстрее крутится не способно. место осталось но мала, но там еще много доп. функций было. Так что мне кажется что вы просто с разрядностью делителя промахнулись. П.С. Имел опыт сделать тоже самое на таблице. брал MAX II (у него есть флеш пользователя) и в его флешку таблицу заливал. И на адрес скорость подавал а данные на счетчик отправлял. Но фигня получилась, не рекомендую. флеша мало, разрядность максимум 9 бит ... просто картинка красивая, правда тут разгона/торможения не видно осциллограма Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dinam 1 8 мая, 2009 Опубликовано 8 мая, 2009 · Жалоба Да это на 4600 LEs. По поводу разрядности делителя. До того как задумался об линейности было сделано так. Скорость 23 разряда. Разгон/торможение 16 разрядов. Время пусть будет 16 разрядов. Если сделать разрядность скорости 18 и немножко другие величины подсократить, то по прикидкам в мегавизарде: 18/48 - 2445 LEs. Вроде должно влезть в Cyclone II если сделать общий делитель. Но пока не проверял, т.к. параллельно занимаюсь и другими делами. У меня как я писал 3200 импульсов на оборот. И максимальная скорость чуть более 50 об/сек. Но и это не предел, т.к. ШД пробовал крутить от 30В, а предполагается от 48В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться