Перейти к содержанию

Иван Рогожников

Members
  • Постов

    16
  • Зарегистрирован

  • Посещение

Информация

  • Город
    Новокузнецк

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    электроника
  • Оборудование
    без осциллографа

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Иван Рогожников

Новобранец

Новобранец (2/14)

  • Год на форуме
  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме

Последние значки

0

Репутация

  1. Здравствуйте! Собрал платку с igbt-драйвером ikcm15f60ga. При эксплуатации возникли вопросы: 1. При подачи сигнала ITRIP с МК (сигнал ошибки), исходя из даташита [прим. 1], закрывает ключи, в следствие чего, по логике, я должен получить на выходе (Выход фазы - минус питания) 0 В. Но на реальном драйвере в этой ситуации я получаю: - 10 В, если питание силовой части (Vpower) > 10 В; - Vpower + 0.8, если питание силовой части (Vpower) < 10 В. Т.о. я получаю 8.8 вольт при напряжении на силе 8 В. Напряжение на выходе фазы постоянное, никак не изменяющееся. 2. Назначение конденсаторов, установленных в цепи VS(phase)-VB(phase). [прим. 2] Я понимаю это так: В момент, когда нижний ключ открыт, конденсатор начинает накапливать энергию. После закрытия, он - источник питания, но для чего? Вопрос 1 меня волнует больше всего, ведь, по логике, я подаю сигнал ошибки драйверу, надеясь, что он отключит ключи и никакого потенциала не будет. Но получаю ситуацию, когда обмотки двигателя в выключенном состоянии будут работать как активная нагрузка этому напряжению. Верно? Подскажите, пожалуйста, в чем дело. Заранее спасибо за ответы.
  2. Да, понял, спасибо большое. Сразу почему-то не дошло Приду домой - попробую! Спасибо вам еще раз за консультацию!!
  3. Спасибо всем, кто ответил. Да, я согласен, что годится и обычный, и, как уже сказали, пространственно-векторный Вот, что получилось: В общем, разобрался в итоге, как сформировать этот сигнал. Только не понятно, как сдвинуть уже отмодулированный сигнал по фазе? Если каждую функцию (sin(t), 1/6sin(3t)) сдвинуть по фазе(чтобы получить модулированный сигнал уже сдвинутым), то получится ерунда какая-то. Теперь, подскажите, пожалуйста, по поводу самой подачи сигнала: сам dead-time для моего драйвера не нужен. Из этого следует, что я просто подаю половину периода(2 рисунок в спойлере) на комплементарную пару. Прямой сигнал - на вернее плечо, комплементарный - на нижнее?Для каждой фазы, разумеется, со сдвигом в 120* ? Спасибо большое всем ответившим в этой теме!
  4. Собственно, у меня уже есть таблица на полный период для каждой фазы со сдвигом в 120 градусов. Но, как уже заметили здесь, он совершенно не годится по этому: Я генерировал обычный шим сигнал по син. закону. Теперь нужно реализовать более эффективный метод. Мне предоставили ссылку на статью, где, в принципе, и указаны законы изменения. Но, к сожалению, я не понимаю, как сформировать по ним таблицу.. Спасибо, конечно, за вашу помощь. Но я хочу понять, как это все дело работает
  5. имею ввиду, что я формирую шим-сигнал табличным методом. И, вероятно, чтобы не считать в контроллере, этот способ тоже бы желательно сделать табличным И, получается, чтобы не делать счетчик симметричным, можно же заранее сформировать таблицу симметричную. Вопрос по напряжениям: какие значения подставлять в них? Подскажите, пожалуйста
  6. Спасибо за ответ! Разве это влияет как-то? По сути, мой табличный метод начинается с 0 и заканчивается им же, что и есть симметрия? понял, спасибо Подскажите по формулам, если не сложно. Из статьи: т.е, как я понимаю, это значения, которые мы получим, если подключим инвертор к уже выпрямленному напряжению? Таким образом, у нас Umax примет 310 В, Umin = 0 В? а Ua - это моя функция, формирующая таблицу? bitness = 8 Y = round((((2^bitness)-1) / 2)*sin(T) + ((2^bitness - 1)/2));
  7. А! Вы про это..Да. У меня уже сгенерирована таблица значений на таймер. Спасибо Собственно, хочу подытожить: мой сигнал на фотографиях соответствует правильному? Т.е прямой сигнал подаю на HIN1, его комплементарный - на LIN1, чтобы добиться того, что плечо не было открыто. Соответственно, для фазы 2(сдвинута на 120) на HIN2/LIN2. Я правильно понимаю?
  8. Будьте любезны, объясните, пожалуйста. Не совсем понял Вас На микросхеме 6 входных каналов: HIN(1-3), LIN(1-3). На них нужно подавать сигналы, которые управляют соответствующими ключами. Верно ведь?
  9. Приветствую всех! Товарищи, подскажите, пожалуйста, не нашел нормальных диаграмм в темах, которые здесь созданы. Существует задача: сформировать сигнал для микросхемы ikcm15f60. Представляет собой трехфазный драйвер для двигателя. Подскажите, как нужно задействовать комплементарные пары, чтобы получить нужный сигнал. Например, я понимаю, как выдать синус в двухтактном режиме: на первой ноге выдаем полуволну в первый период, на втором периоде(цикле) выдаем полуволну, но уже инверсную. Если использовать комплементарные выводы TIM1(stm32f103), то, получается, просто выводить полуволну, а она автоматически на другой ноги проинвертируется + если нужно, то ставим дэдтайм Теперь про подключение: Например, есть HIN(1-3), LIN(1-3). Подключать 1 фаза: прямой выход на HIN1, инверсный: LIN1 и так для каждой фазы соответственно? Вот, что имею: Если не трудно, подскажите, прав ли я или нет. Просто пока драйвер в пути, нет возможности преверить. По поводу мертвого времени: он устанавливается аппаратно драйвером, в контроллере этого делать не нужно. В дополнение, код:
  10. В целом, ничего незаконного. Принимаю значение по константной ссылке, чтобы не копировать объект. Диаграмма на анализаторе не изменилась. Отсылаемые значения именно на анализаторе показываются верные Такое противоречие, и : Хм.....Но ведь другие же запускают ее от stm-ки..
  11. Приветствую. При подключении микрухи MAX7219 столкнулся с проблемой, что она некорректно реагирует на отсылаемые ей данные. Я уже ознакамливался с темами этого форума касательно аналогичной проблемы, но ответа так и не было. Сигнал с анализатора: Сигнал согласно даташиту: Код: Подскажите, в чем я ошибся... Вроде бы, все правильно. Заранее спасибо! Неправильно выразился: она вообще не реагирует на данные. Подаю ей питание(сигнала с МК еще не было) - выводит то 4, то 3 разряда девяток. Индикатор подключен 4-х разрядный. Питание переподключаю - уже 3 разряда горят и т.д. Запускаю МК, отправляю данные - никакой реакции нет. Грешу еще на питание. с МК SPI выходит 3.3 В, а по даташиту MAX7219 высокий уровень понимает с 4+. Питание ставил около 4 В на нее. Подавал с МК те же 3.3 В, но все равно не работает.. Но не принимаю как причину, ведь другие от СТМ32 заводят же ее как-то..
  12. Да, разобрался ночью. Господи, такая глупая ошибка…. Спасибо за ответ!
  13. Всем привет! Столкнулся с проблемой, что, например, если обвязать переключение на HSE, PLL проверками, то не проходит проверку лишь переключение на PLL. Код: inline void RCC_Init() // устанавливаем на 72 МГц { //так как частота ядра 48 MHz <= frequency <= 72 MHz, нужно установить 2 цикла ожидания FLASH FLASH->ACR |= FLASH_ACR_LATENCY_2; //т.к шина APB1 не может работать на частоте выше, чем 36 МГц, установим делитель на 2. Остальные шины(APB2, AHP) оставляем без делителей RCC->CFGR |= RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_HPRE_DIV1; RCC->CR |= (1 << RCC_CR_HSEON_Pos); //запускаем HSE-генератор while(!(RCC->CR & (1 << RCC_CR_HSERDY_Pos))); //пока HSE генератор не запустился, сидим в цикле. RCC->CFGR |= (0b0111 << RCC_CFGR_PLLMULL_Pos); // PLL = 0111 => умножение на 9 RCC->CFGR |= (1 << RCC_CFGR_PLLSRC_Pos); // запустили тактирование HSE от PLL while(RCC->CR & (1 << RCC_CR_PLLRDY_Pos)); //пока тактирование от PLL не началось, сидим в цикле. RCC->CFGR |= RCC_CFGR_SW_PLL; // переключаемся на PLL. while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) // вот здесь и проблема <<<<<<<<<<<<<<<<<< { } // пока не переключились на PLL, сидим в цикле RCC->CR &= ~RCC_CR_HSION; // отключаемся от HSI } int main() { RCC_Init(); ...... while(true) {} return 0; } По дебагу смотрел, RCC->CFGR SWS по нулям стоит, хотя должны быть в 10 стоять. Грешу на микроконтроллер. Покупал на местом базаре. Проблемы были с _CPUTAPID, пришлось и его подбивать в OpenOCD. Поэтому даже и не удивлюсь, если проблема в МК. У кого-нибудь были проблемы, что делать? Если убрать последнюю проверку на переключение от PLL, то все норм. С функции RCC_INIT() выйдем и пойдем по main() уже дальше.
  14. Доброго времени суток! Подскажите, пожалуйста, назначения пинов микросхемы IR2130. Имеется задача раскачать ШИМом с МК транзисторы. Питание будет на асинхронный двигатель. Как я понял: Ho(1-3)/Lo(1-3) - выходы на затворы верхних/нижних транзисторов соотв. плеч. Hin(1-3)/Lin(1-3) - входы на открытие затворов верхних/нижних транзисторов соотв. плеч. Vcc/Gnd - питание и земля. Fault - индикация перегрузки. Какую роль играют: - ITRIP, Cao, Ca-, Vss, Vs0, Vb/Vs(1-3); - конденсаторы, стоящие параллельно Vs-Vs и транзисторам; - резисторы, стоящие в левой части микросхемы. И как подобрать их номиналы? Заранее большое спасибо!
×
×
  • Создать...