|
Алгоритм линейного ускорения-торможения ШД, Есть элегантное решение? |
|
|
|
May 4 2009, 08:23
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(Methane @ May 4 2009, 11:11)  Не по скорости а по перемещению. И решается. Если забивать в программу момент который эта нагрузка создает. Но это в теории. А на практике, лучше повесить на двигатель енкодер с дырками, и по этому енкодеру смотреть, шагнул двигатель или еще нет. Не совсем так или так но не совсем. В этом случае коммутация ШД осуществляется импульсами энкодера, т. н. автокоммутация. Позволяет избавиться от резонансов и потери шагов. Это делается просто на аппаратном уровне, как в контроллерах для BLDC приводов HDD и пр. крутилок.
Сообщение отредактировал evgeny_ch - May 4 2009, 08:28
--------------------
Quo vadis?
|
|
|
|
|
May 4 2009, 10:44
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(Methane @ May 4 2009, 11:26)  Ну? Нафига в таком случае тот ваш алгоритм? Тот алгоритм это какой? Я вроде и не предлагал алгоритмов. Что касаемо ускорения, то его нужно рассматривать применительно к механизму, но это не алгорим, аксиома называется. Ненагруженный ШД (т. е. соотношение момента к инерции нагрузки) может стартовать с максимальным ускорением, нагруженный с меньшим. Что касается автонастройки, то без ОС это невозможно.
--------------------
Quo vadis?
|
|
|
|
|
May 4 2009, 11:56
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Цитата(Methane @ May 4 2009, 12:41)  Зачем? Просто не делать следующий шаг, пока текущий не завершён. Все. Непонял. Мы же плавно разгоняемя до какой- то неведомой скорости, которая определяется трением в механизме, моментом инерции движущихся частей, уменьшением момента двигателя при росте частоты "шагания" и еще кучей параметров. Можно конечно все это моделировать, но обычно я пишу для готового механизма простенькую отладочную программку которя, безопасно двигая механизм, постепенно повышает скорость движения. И по датчику на валу отслеживает, при какой скорости начнем терять шаги. Получаю максимальную скорость механизма для данного движка и параметров его питания. Даю 25% запас по частоте и записываю это в еепром контроллера. А безударный разгон бывает часто нужен в измерительной технике. При плавном измерении ускорения кривая изменения скорости имеет S-образный вид.
|
|
|
|
|
May 7 2009, 07:01
|

Частый гость
 
Группа: Свой
Сообщений: 171
Регистрация: 2-06-05
Из: Город дождей и белых ночей.....
Пользователь №: 5 683

|
а самый младший Cyclone II это 5 тыс. который что ли?. я на 8 тыс.(ep2c8t144) кручу 4 ШД ,делитель общий , 16 разряда . ШД работает в 10-микрошаговом режиме (1.8 градуса механических) итого 2000 шагов на оборот и максимальная скорость 65`536 (2^16) итого ~32 об./сек. , а больше и смысла нет, т.к. подовляющее большинство ШД быстрее крутится не способно. место осталось но мала, но там еще много доп. функций было. Так что мне кажется что вы просто с разрядностью делителя промахнулись. П.С. Имел опыт сделать тоже самое на таблице. брал MAX II (у него есть флеш пользователя) и в его флешку таблицу заливал. И на адрес скорость подавал а данные на счетчик отправлял. Но фигня получилась, не рекомендую. флеша мало, разрядность максимум 9 бит ... просто картинка красивая, правда тут разгона/торможения не видно осциллограма
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|