|
ДШИ 200-1-1 ? |
|
|
|
Feb 3 2006, 22:05
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Пожалуйста дайте характеристику ДШИ 200-1-1 в часности по питанию? А то почему то на очень малых оборотах шагает вроде нормально (относительно) , а стоит чуть добавить оборотов сразу остонавливается и начинает дрыгаться на одном месте. Мне кажется что с питаньием перебор, может из за этого такое быть?
|
|
|
|
|
Feb 5 2006, 11:05
|
Участник

Группа: Свой
Сообщений: 28
Регистрация: 18-10-05
Из: Одесса
Пользователь №: 9 766

|
Знакомая проблема. Можно подробнее, что им управляет?
|
|
|
|
|
Feb 5 2006, 13:22
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Я управляю им с компа, через LPT порт. Ключи (КТ805АМ). Снизил напряжение до 8v , стал крутится быстрее, но всеровно потом тоже самое. Почему у ДШИ 200-1-1 такой маленький крутящий момент, чуть польцами прижать и остонавливается, или это только у меня так?
|
|
|
|
|
Feb 5 2006, 13:32
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(rihkov @ Feb 4 2006, 01:05)  Пожалуйста дайте характеристику ДШИ 200-1-1 в часности по питанию? А то почему то на очень малых оборотах шагает вроде нормально (относительно) , а стоит чуть добавить оборотов сразу остонавливается и начинает дрыгаться на одном месте. Мне кажется что с питаньием перебор, может из за этого такое быть? Привожу основные параметры ШД ДШИ-200-1-1 (из паспорта): 1) сопротивление фазных обмоток, Ом 1,56±0,15; 2) максимальный статический синхронизирующий момент, н*м, не менее 0,25; 3) максимальная частота приемистотсти, Гц не менее 1200; 4) единичный шаг и статическая погрешность отработки шага, угл. Мин. 108±3,25 (при полушаговой управляющей последовательности); 5) максимальная потребляемая мощность, Вт не более 8,8. Рекомендуемое производителем напряжение питания -12В. Последовательно с каждой фазной обмоткой рекомендуется включать резистор 5,8Ом. Одна из рекомендуемых схем включения в прикрепленном файле. Еще в паспорте есть зависимость величины момента нагрузки от частоты отработки шагов, приведу ее в виде таблицы (постройте график по точкам): 500 Гц 0,18 нм 1000 Гц 0,15 нм 1500 0,15 2000 0,13 3500 0,12 5000 0,11 6000 0,09 6500 0,08 7000 0,06 По графику видно, что чем выше частота тем меньший момент может обеспечить двигатель. В вашем случае есть подозрение, что момент в нагрузке больше чем может провернуть двигатель, и он (двигатель) выходит из синхронизации, со стороны это выглядит как дергание на месте туда сюда… Уменьшайте момент в нагрузке, или берите другой двигатель. Я использовал ДШИ200-3, на 1000 Гц вал рукой не остановить...
Эскизы прикрепленных изображений
|
|
|
|
|
Feb 5 2006, 16:42
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Цитата В вашем случае есть подозрение, что момент в нагрузке больше чем может провернуть двигатель, и он (двигатель) выходит из синхронизации, со стороны это выглядит как дергание на месте туда сюда… На вал двигателя вообще нет никакой нагрузки. Может быть я его не правильно подключаю? Последовательность подключения я нашёл экспериментально, сначала нашёл пары проводов (4 пары) , затем нанёс метки на валу и на корпусе, подал питание на одну пару проводов, ротор сдвинулся на одно деление метки, затем нашёл такую пару чтобы ротор сдвинулся дальше в этом же направлении, и так дальше. В общем так я нашёл последовательность подачи напряжения на обмотки. Цитата Я использовал ДШИ200-3, на 1000 Гц вал рукой не остановить... Old1 скажите пожалуйста вы управляли ШД с LPT порта компьютера без помощи отдельного контроллера, если управляли подскажите пожалуйста следующее: у меня программа управления сделана так, в бесконечном цикле крутятся четыре оператора, каждый оператор изменяет состояние LPT порта (записывает в порт 1,2,4,8 и по новой), после каждого оператора стоит задержка допустим Sleep(100); , изменяя задержку я меняю скорость вращения, а если убрать задержку то с какой частотой будут перебираться операторы, и успеет ли за ними LPT порт ???
|
|
|
|
|
Feb 5 2006, 19:45
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(rihkov @ Feb 5 2006, 19:42)  Old1 скажите пожалуйста вы управляли ШД с LPT порта компьютера без помощи отдельного контроллера, если управляли подскажите пожалуйста следующее: у меня программа управления сделана так, в бесконечном цикле крутятся четыре оператора, каждый оператор изменяет состояние LPT порта (записывает в порт 1,2,4,8 и по новой), после каждого оператора стоит задержка допустим Sleep(100); , изменяя задержку я меняю скорость вращения, а если убрать задержку то с какой частотой будут перебираться операторы, и успеет ли за ними LPT порт ??? Я управлял двигателем при помощи микроконтроллера, одна из причин такого решения - это относительно высокие требования по точности частоты вращения ШД. ИМХО задавая шаговую последовательность через LPT хорошую точность и стабильность не получишь: влияют скорость процессора, загрузка процессора (количество задач выполняемых в системе в это время), быстродействие драйвера, через который обращаетесь к LPT и др. Но слышал, что люди все таки управляют ШД напрямую через LPT... В вашем случае, для начала, стоит определить реальную частоту чередования фаз при которой ротор еще вращается, например, подключив к LPT осциллограф, заодно убедитесь что импульсы управления фазами ШД одинаковые (по длительности), с чередованием фаз надеюсь у вас все в порядке (раз двигатель все таки вращается на низких оборотах, кстати какие обороты удается получить?). Теперь об управляющей последовательности. У вас, как я понял, реализована волновая последовательность (в единицу времени включена только одна фаза)-ИМХО не самый лучший вариант: момент на валу при таком управлении самый низкий. Попробуйте сделать полушаговую последовательность: фА фБ фВ фГ 1) + + - - 2) - + + - 3) - - + + 4) + - - + при таком возбуждении и момент побольше будет и работать ровнее будет (правда частота вращения снизится)... Кстати плавно разгонять двигатель пробовали?
|
|
|
|
|
Feb 6 2006, 08:09
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(rihkov @ Feb 5 2006, 19:42)  Old1 скажите пожалуйста вы управляли ШД с LPT порта компьютера без помощи отдельного контроллера, если управляли подскажите пожалуйста следующее: у меня программа управления сделана так, в бесконечном цикле крутятся четыре оператора, каждый оператор изменяет состояние LPT порта (записывает в порт 1,2,4,8 и по новой), после каждого оператора стоит задержка допустим Sleep(100); , изменяя задержку я меняю скорость вращения, а если убрать задержку то с какой частотой будут перебираться операторы, и успеет ли за ними LPT порт ??? Да, можно управлять ШД через LPT-порт. Только надо под ДОС, отключив все прерывания! Скорость порта можно менять в БИОС, но Вам это не нужно - 1 килогерц (то, что максимально для мотора) он потянет без проблем. Есть проблема с электромеханическим резонансом - его нужно обходить. Кроме того, сразу максимальную скорость задавать нельзя - надо постепенно ее увеличивать. Лучше начинать выше резонанса, который зависит от тока в обмотке, момента инерции ротора+того, что к нему приделано. Лучше всего микрошаговый режим, для реализации которого выпускаются не очень дорогие микросхемы. Или можно взять старые ST с тремя уровнями тока. Вообще лучше использовать специализированные драйверы, так как они имеют защиту от перегрева, ограничивают ток и т. д. Еще следует отметить, что для высоких скоростей так наз. номинальное напряжение питания надо значительно увеличить, так как ток не успевает вырасти до номинала из-за индуктивности.
|
|
|
|
|
Feb 6 2006, 20:08
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Подключил логический анализатор к LPT и всё теперь понятно, проблема в алгоритме управления, он был такой: Код for(; i < 5; i++) { if(i == 1) { SetPortVal(0x378,1,1); Sleep(valstep); } else if(i == 2) { SetPortVal(0x378,2,1); Sleep(valstep); } else if(i == 3) { SetPortVal(0x378,4,1); Sleep(valstep); } else if(i == 4) { SetPortVal(0x378,8,1); Sleep(valstep); i = 0; } } При таком алгоритме длительность импульсов рассыпалась, не понятно почему? Сменил на такое: Код while(a) { SetPortVal(0x378,1,1); Sleep(valstep);
SetPortVal(0x378,2,1); Sleep(valstep);
SetPortVal(0x378,4,1); Sleep(valstep);
SetPortVal(0x378,8,1); Sleep(valstep);
} Длительность импульсов стала ровной, но через какое то время то на 1 то на 2 то на 3 то на 4 выводах проскакивали импульсы длиннее чем нормальные, потом поставил LPT в режим SPP, и импульсы стали одинаковые по длительности. В общем я решил что управлять ШД таким способом это одно мучение, лучше купить специализированный контроллер и управлять им с PC, а он пусть управляет ШД. Посоветуйте микросхему для 4х фазника?
|
|
|
|
|
Feb 7 2006, 11:38
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Вентилятор я делать не хочу! Что касается моего алгоритма, так это же просто пока экспериментальный алгоритм по разгону ШД. А работает он так: сначала подаётся питание на первую фазу ШД (SetPortVal(0x378, 1,1)), потом задержка в мили секундах (Sleep(valstep)), переменная valstep изменяет задержку, а значит и частоту перебора фаз ШД, здесь реализована волновая последовательность. Цитата Я знаю алгоритмы 2-2 и 2-3-2.В вашем случае должны всегда включаться две фазы. Две фазы в один момент времени это полушаговый режим, а здесь волновой, сначала напряжение подается на 1 фазу, затем на 2 фазу, затем на 3 фазу, затем на 4 фазу, и по новой.
Сообщение отредактировал rihkov - Feb 7 2006, 11:39
|
|
|
|
|
Feb 7 2006, 19:34
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Ту тему про которую вы говорите “Алгоритм управления ШД” я открыл первую, но там почему то всё ушло чуть в сторону и все решают свои проблемы. Прошу пожалуйста объясните по подробнее следующее: Цитата Но если вы используете LPT-порт в котором читаемый буфер, то программу можно построить и так.Вы читаете LPT и по его значению записываете новый код.Событие чтения и определяет частоту управления ШД.Проще в этом случае и реверс.И не надо мучиться со Sleep командой. Если можно приведите пример? Ещё хочу спросить, подскажите кто знает где купить в розницу UCN5804 ?
|
|
|
|
|
Feb 8 2006, 05:47
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
Фрагмент управления ШД от дисковвода.Алгоритм AB-BC-CD-DA... Код procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Interval:=TrackBar1.Position; //В принципе это частота вращения if SpeedButton2.Down then // Кнопка реверса begin If PortIn($378) = $C then begin PortOut($378,$6); exit; end; If PortIn($378) = $6 then begin PortOut($378,$3); exit; end; If PortIn($378) = $3 then begin PortOut($378,$9); exit; end; If PortIn($378) = $9 then begin PortOut($378,$C); exit; end;
end else begin If PortIn($378) = $C then begin PortOut($378,$9); exit; end; If PortIn($378) = $9 then begin PortOut($378,$3); exit; end; If PortIn($378) = $3 then begin PortOut($378,$6); exit; end; If PortIn($378) = $6 then begin PortOut($378,$C); exit; end; end; end;
Сообщение отредактировал Alexandr - Feb 8 2006, 08:45
|
|
|
|
|
Feb 8 2006, 08:06
|
Участник

Группа: Новичок
Сообщений: 52
Регистрация: 25-01-06
Пользователь №: 13 617

|
Принцип понятен, но при таком алгоритме двигатель будет габотать так: зделает четыре шага, потом задержка, потом опять четыре шага и всё по новой. Мне кажется что он будет работать не равномерно?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|