Зарегистрирован: Вс мар 12, 2017 11:59:12 Сообщений: 14
Рейтинг сообщения:0
В общем-то я далек от всего этого. Был у меня однофазный частотный преобразователь и недавно испустил дух китайцы понапихали туда непонятных драйверов и починить нет возможности.
Я посмотрел как это всё дело работает: напряжение преобразуется в постоянное. далее стоят 3 конденсатора, от конденсаторов провода идут на полумосты, а полумостами управляют драйверы, которые в свою очередь управляются контроллером.
Я покумекал и решил, что надо действовать. В качестве igbt транзистора использую FGH40N60SFD, в качестве драйвера не знаю что выбрать, но пока остановился на IR2101, в качестве контроллера хочу использовать arduino uno, у него как раз 6 шим пинов, да и писать я умею под него.
Подключение драйвера использовал по типовой схеме:
Нарисовал схемку. Теперь по порядку. Bat1 я обозначил питание 12-15 вольт. Этого хватает, чтобы запитать драйверы и контроллер. С1, С2, С3 конденсаторы по 400v, 825мф (цифры взял из своего сгоревшего частотника). Rel1 - это реле, которым управляет arduino (на схеме не нарисовал провод). IC4 - это собственно сам arduino uno, а точнее просто пины. R24 - это потенциометр, который обозначает контроллеру, какая частота должна быть. T6 - T11 - это FGH40N60SFD. IC1, IC2, IC3 - IR2101 R15,16,17,22,19,20 - резисторы на 20 Ом. D1, D2, D3 - диоды, но какие у них должны быть параметры не знаю, но думаю на sf 1А. С4, С5, С6 - конденсаторы, почти понял, как они работают и что зависят от частоты шим (на arduino частота 488,28 Гц). Гуглением нашел число в 33мф/50v.
И распишу, как по моему должна работать программа на контроллере. Если мы берем частоту 50гц, то в каждом полумосту каждый транзистор должен включаться/выключаться 25 раз. Причем второй полумост должен смещаться на 120 градусов, а третий на 240, получается такая картинка (примерно):
И получается такой код:
Код:
int interval = 1000/50; // Секунда/нужная нам частота int last_millis = 0; // последняя миллисекунда в такте
while { // получаем текущую миллисекунду int millis = getMillis();
// если текущая милисекунда больше, чем последняя полученная, то обновляем последнюю полученную if(millis > last_millis) { last_millis = millis; }
double k = 180 / interval; // получаем коэффициент частоты=градусов
// например k = 9 (180 / (1000 / 50)); // last_millis = 10мс, что означает максимальную высоту полупериода
Библиотечная функция sin принимает значения в радианах! Что в коде, что в jsfiddle у вас ошибка. Вот поправил немножко https://fiddle.jshell.net/4fsqrzcb/2/
китайцы понапихали туда непонятных драйверов и починить нет возможности.
Починить можно всё, достаточно обратится к специалисту.
lampa писал(а):
Я покумекал и решил, что надо действовать.
С такими знаниями в электронике вам не надо действовать.
lampa писал(а):
у него как раз 6 шим пинов, да и писать я умею под него.
хотите поупражняться в программировании или не знаете куда засунуть вашу хуйдину, для этого есть специальная тема. Если хотите собрать преобразователь то почитайте тему viewtopic.php?f=11&t=28822&start=3740 Там всё уже давно разжовано от самых простых. Зачем дублировать темы.
_________________ Тем кого не устаревает наличия ошибок в моем тексте, оставляю права не пользоваться моими советами или просто не читать мои сообщения.
Библиотечная функция sin принимает значения в радианах! Что в коде, что в jsfiddle у вас ошибка. Вот поправил немножко https://fiddle.jshell.net/4fsqrzcb/2/
У меня коэффециент - это количество градусов за 1 миллисекунду. Я этот коэффециент перемножаю на количество миллисекунд, получаю количество градусов и перевожу их в радианы с помощью функции toRadians(), в чем тут ошибка?
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Для визуализации работы каждого выхода был создан тестовый стенд:
Схема:
Стенд показал, что программная часть работает как надо.
Дальше я сделал тестовый стенд одной фазы (1) на irf840 и A3120.
Схема:
Оно работало до поры до времени, попутно нагревались драйвера. Я добавлял разные конденсаторы между ножками 8 и 5 А3120, но это не влияло на нагрев. Также в осциллографе увидел ямки: Причем ямки были только на стоке. Добавление конденсатора не влияло на неё. Помогало сгладить ямку только дотронувшись до ножек A3120.
Почему так грелось? может нужен конденсатор полярный?
обвязывайте драйвера керамикой по шинам питания.....и это....между затвором и истоком резюки повесьте на 10кОм....в коем-то веке.....в "дед тайме"(если он у вас конечно есть?) затвор висит сам по себе.
_________________ Ом намо Бха га ва-тэ,Васу дэва -йа.
не может он от HCPL3120 висеть в воздухе. если на входе оптики 0, то затвор притягивается к истоку. а вот затворный резистор(драйвер-затвор) 10-20ом очень даже не помешал бы, этот драйвер дает немалый ток, и не исключено что нагрев идет от звона.
Сейчас этот форум просматривают: morozov и гости: 26
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения