Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Методы сдвига фазы синусоидального сигнала на 120 градусов.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
Страницы: 1, 2
Буратино
Цитата(тау @ Apr 20 2010, 16:03) *
1000Гц нельзя для мотора получить из шима с несущей 30кГц ?, такой модулированный шим не выдаст процессор? В чем проблема?

Нет, не получится. Железное мертвое время, разрядность ШИМ, скорость, необходимость трех полных каналов и еще наверное много всего. Рекомендуют (и в этой ветке) использовать специализированные процессоры, но для меня это трудно, так как пока и с AVR на "вы" smile.gif
А почему плохо с TL494? Я наверное торможу очень, но я честно сказать не понимаю, чем отличается "правильный" ШИМ для IRAMS от того что получается у меня?

Цитата(тау @ Apr 20 2010, 16:03) *
обычные управляемые ключи - они же и драйвер и выходной транзистор ( в простейшем случае) , только параллельно диод в обратном включении поставьте Voltage controlled switch (раздел Basic / switch)

Супер, спасибо!
тау
Цитата
Нет, не получится. Железное мертвое время, разрядность ШИМ, скорость, необходимость трех полных каналов и еще наверное много всего. Рекомендуют (и в этой ветке) использовать специализированные процессоры, но для меня это трудно, так как пока и с AVR на "вы" smile.gif

Хм, странно , все равно ведь будете формировать синусно модулированный ШИМ по 3- м каналам перед подачей на 494. Тут не страшно ?


Цитата
А почему плохо с TL494?
потому что в станддартном включении , типа как Вы нарисовали, для противоположных плеч полумоста она вырабатывает одинаковые интервалы, а надо разные. У Ускова этот вопрос решен хитро. но мертвое время чисто за счет свойств IR2110
Вы же можете поступить проще , раз уж так необходимо использовать 494-ю. просто берете только один выход C1 с микросхемы и подаете на HIN1, а на LIN1 инвертированный сигнал с HIN1 - будет как на картинке в 46 посту. Мерстове "железное " время из TL придется забыть, так же как и Ускову.
и выходы микросхемы 494 переведите в однотактный режим (13 нога)


есть смысл почитать Application Note AN- 1094, там про помехи.
тау
Для Буратино: во вложенном файле игрушка. там много упрощений. мертвое время внутри IRAMS10 не симулировано.
Буратино
Цитата(тау @ Apr 21 2010, 01:20) *
Для Буратино: во вложенном файле игрушка. там много упрощений. мертвое время внутри IRAMS10 не симулировано.


Ошибку генерит симулятор. Локализовал причину: Модель TL494. Мультисим у меня версии 10.0.144
Да, и в библиотеках у меня нет этой микросхемы. mellow.gif

Кстати, мертвое время полюбому нулевым не будет. У TL494 встроенный механизм формирования минимального дедтайма есть.

---
Кажись начинаю понимать к чему Вы клонитеsmile.gif
тау
Цитата(Буратино @ Apr 21 2010, 10:14) *
Мультисим у меня версии 10.0.144

надо 10.1 , т.к. в 10.0 больше глюков по жизни


Цитата
Кстати, мертвое время полюбому нулевым не будет. У TL494 встроенный механизм формирования минимального дедтайма есть.

минимальный дадтайм - обеспечивается только в двухтактном режиме у 494. Ни у Усова , ни у Вас, двухтактный примениться не может.
Остается надеяться на собственный дедтайм IRAMS, но я бы проверил ее на этот счёт. очень подозрительно малое мертвое время -300 nS для IGBT транзисторов с ограничением по частоте Шима == 20кГц.
Буратино
Цитата(тау @ Apr 21 2010, 11:48) *
надо 10.1 , т.к. в 10.0 больше глюков по жизни

На торентах появилась 11я версия ,вот ее поставил на закачку.


Цитата(тау @ Apr 21 2010, 11:48) *
минимальный дадтайм - обеспечивается только в двухтактном режиме у 494. Ни у Усова , ни у Вас, двухтактный примениться не может.
Остается надеяться на собственный дедтайм IRAMS, но я бы проверил ее на этот счёт. очень подозрительно малое мертвое время -300 nS для IGBT транзисторов с ограничением по частоте Шима == 20кГц.

Да, плохо дело. Придется отказаться от этого направленияsad.gif
Сам неоднократно встречал категорические запреты полагаться на Dead Time в IRAMS. В однотактном режиме использовать 494, да еще и со всеми прибамбасами по формированию синуса, нехорошо и пожалуй как-то даже избыточно.

Что если попробовать следующее:
отказаться совсем от IRAMS, а также от трехфазных драйверов,а использовать мостовые драйвера IR21094 и мощные транзисторы? У драйвера есть возможность управлять dt от 500ns до 5uS, используется совмещенный вход, недорогие (по 1,2 у.е. за штуку.)
На вход IR21094 подавать ШИМ с процессора, выбор которого нужно обсудить. Также нужно правильно подобрать транзисторы.

Вот для скоростных применений в обязательном порядке нужно соблюсти требование к постоянству V/f. В том варианте который я выкладывал выше, я планировал уменьшать амплитуду на ус-ле ошибки в 494й и соответственно изменять размах тока в обмотках. Не знаю, что из этого бы получилось, но хоть какая то идея, что же мне делать в варианте с ШИМ прямо с процессора?
Конечно, если использовать мощные камни, то что угодно получить возможно, но я максимум что потяну это 168ю мегу. Скорее всего придется использовать Fast режим ШИМ на 8ми битных счетчиках, а там сильно не разгонишься с вариациями модуляции.
Что скажите?
Спасибо.
_Pasha
Цитата(Буратино @ Apr 21 2010, 15:51) *
Сам неоднократно встречал категорические запреты полагаться на Dead Time в IRAMS.

Странно. У меня больше десятка девайсов были только на внутреннем дедтайме. С 2006 года не возвращались еще.
Буратино
Цитата(_Pasha @ Apr 21 2010, 17:03) *
Странно. У меня больше десятка девайсов были только на внутреннем дедтайме. С 2006 года не возвращались еще.


_Pasha, как умные люди делают константой V/f? cool.gif
_Pasha
Цитата(Буратино @ Apr 21 2010, 16:37) *
_Pasha, как умные люди делают константой V/f? cool.gif

Константа - это весьма условно. smile.gif
В общем не знаю, как там умные люди делают, я делаю так:
CODE

ApplyVF:
; ******Applying V/F
_eeread8 Modulation ; r0
tst yh
brne vf_set ; for f>=50
mov xL,r0
_eeread8 Vboost
;$$ new !!
mov xh,r0
cpi xh,16
brsh vf_var1
rcall Lenza ;0..15 - lenza
rjmp vf_set
vf_var1:
cpi xh,32
brsh vf_var2
rcall freescale ; 16..31= freescale
rjmp vf_set
vf_var2:
ldi xh,31
sub r0,xh
rcall Parabolic ; 32..64 = parabolic(Vf0-31)
vf_Set:
sts Next_ModIndx,r0 ; new parameter
ret
;--------------------------------
FreeScale:
mov xh,r0
mov zL,r0
neg zL ; 256-vboost
; xL=Amp xh=Vboost zL=neg(VBoost)
mul yL,zL ; r0r1=lo(RPM)*zL
add xh,r1 ; vboost=+r1
rdy_amp:
mul xL,xh
mov r0,r1 ; ready modindex
ret
;----------------------------------
Lenza:
cp yL,r0
brlo lenza1
mov r0,yL
lenza1:
mov xh,r0
rjmp rdy_amp
;---------------------------------
Parabolic:
;xh=neg(r0) //push r0
mov xh,r0
neg xh
push r0
;zhzLr1r0=YL*YL*xh->zh
mul yL,yL
movw zL,r0
mul xh,zL
push r1
mul xh,zh
pop zL
clr zh
add r0,zL
adc zh,r1;da ef 90
;r0r1= yL*xh
mul yL,xh ;e5b4
;rol(r0r1)->r1
clr xh
lsl r0
rol r1 ;01cb
rol xh
; pop r0
pop r0 ;0f
; xh=r1-zh+r0
add r1,r0
clr r0
adc xh,r0
sub r1,zh
sbc xh,r0
tst xh
brne Vf_over
mov xh,r1
rjmp rdy_amp
vf_over:
ldi xh,0xff
rjmp rdy_amp

Это кусок из программы привода, который не меняется уже лет 5 (для меги 8/48)
На входе имеем Y - нормализованное значение частоты (256= 50герц)
На выходе - реальное значение индекса модуляции (общий индекс задается в параметрах)
Буратино
_Pasha? Це шо у Вас там АСМ? angry.gif
А если просто, для деревянных рассказать? Правильно ли я понял, что Вы в зависимости от скорости двигателя меняете как бы это так сказать уровень/потолок/границу этого индекса модуляции? Выходит так, что чем больше скорость тем меньше "рамки" скважности в которых ШИМ рисует синус? И на выходе получается синус (если ток смотреть) но меньшей амплитудой?
Хочу сказать ,что мне не для коммерции, а чиста для души, нужно двиг один запустить.
_Pasha
Цитата(Буратино @ Apr 21 2010, 18:23) *
А если просто, для деревянных рассказать?

Описано в макабуке на МС3РН. For english-spoken woods biggrin.gif
И вообще - сложно/просто - заряжай в симулятор и впередъналивай да пей
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.