Инвертор 12-220 (sin на МК)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18856
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

30 килогерц потянут. Нормальный синус будет.
Полевики потянут и больше, но тут надо с драйверами мутить. Чтобы транзистор очень быстро закрывался.
Реклама
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

хорошо. НО 30.36 кГц как сделать такую точную частоту? именно 30.36 :roll: какие кратные частоты надо?
в спорах рождается ИСТИНА [AND] flud.
Реклама
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18856
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

demson писал(а):НО 30.36 кГц как сделать такую точную частоту? именно 30.36 :roll: какие кратные частоты надо?
Вот бы узнать :roll:
А почему именно такая частота? Наверное можно и под другую подстроиться?
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

это частота с которой нам необходимо изменять параметр величины шим.
НО можно ее умножить на некоторое целое число потом пропускать столько-же действий.
например частоту умножим на 4
действие пропуск пропуск пропуск действие
в спорах рождается ИСТИНА [AND] flud.
Реклама
Эиком - электронные компоненты и радиодетали
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Сообщение clawham »

Ребятки а что не понятного-то?
есть частота 60 герц
это значит что 60 раз в секунду надо сделать полную синусоиду от нуля вверх потом сверху вниз до нуля от нуля вниз и снизу вверх....имеем 2 четверть синусоиды для двух каналов по очереди 120 раз в секунду....теперь нам надо сделать этот красивый изгиб плавного подъёма вверх синусоиды и потом последовательно вывести его в прямом порядке на первый канал, потом задом-наперед в первый канад потом в прямом порядке во второй канал и наконец задомнаперед во второй канал....
теперь этот плавный переход от нуля до максимума - четвертесинусоида так сказать.....нужно сделать массив-табличку....в которой чем больше значений будет тем лучше но на глаз и 128 штук хватит вот и записать в неё последовательно значения регистра для соответствующего синусоиде процента PWM а дальше если у нас например 128 значений в таблице то частоту второго таймера ставим примерно равной - 60*4*128 = 30 килогерц и 30 тыщ раз в секунду выполняем прерывание которое будет иметь 4 режима -
1) _--`` для первого канала

2) ``--_ для первого канала

3) аналог первого только на второй канал

4) аналог второго на второй канал

и теперь при старте ставим переменную режима = 1, переменную текущего значения = 0 и запускаем таймер
в прерывании таймера:
Если переменная режима =
1) инкрементируем переменную текущее значение, вычитываем и записываем в регистр PWM а первого канала значение таблицы, проверяем переменную на предмет выхода за 128 и если вышли - ставим режим 2
2) декрементируем переменную текущее значение, читаем содержимое таблицы и пишем его в регистр PWM а первого канала, проверяем не пришли ли мы к 1 в переменной текущее значение если пришли - ставим режим 3
3) инкрементируем переменную текущее значение, вычитываем и записываем в регистр PWM а второго канала значение таблицы, проверяем переменную на предмет выхода за 128 и если вышли - ставим режим 4
4) декрементируем переменную текущее значение, читаем содержимое таблицы и пишем его в регистр PWM а второго канала, проверяем не пришли ли мы к 1 в переменной текущее значение если пришли - ставим режим 1

вот и весь алгоритм....если взять таблицу из 10-ти значений то получится гораздо меньшие частоты - 60*4*10 = 2400 раз в секунду нужно будет вызывать эту процедурку ну и пределы изменить со 128 на 10 но тогда синус ступенчатым получится

и драйверы в любом случае надо ставить и причем не просто а мостовые у которых на выходе 2 транзюка, тогда не будет потерь на диоде

да и частоту самого PWM таймера тогда можно будет задрать хоть до 2 мегагерц :) - чем выше частоты тем ближе мы к аналогу

ХОТЯ! МОЁ ЛИЧНОЕ ИМХО!!!
это всё бред!
где стабилизация по напряжению? где обратная связь? таблицу надо коректировать на предмет размаха..тоесть делить её значения на некий индекс-процент нагруженности
ибо транс без нагрузки выдаст пару тыщ вольт поубивает нахрен силовые транзюки и спалит микроконтроллер - знаю по своему опыту ибо брал транс из УПС и подключал к ЛАТРу на котором было намотано 12 витков медной шины сварочной....результаты были просто супер :) такой ДУГИ во вторичке (которая на 220) я давно не видовал :))) в общем это ужос.:)))
Вам нужно делать это дело на аналоговой вещи - ТЛ494
просто на одном операционнике сделать генератор синуса, но втором инвертор ещё на одном - повторитель напряжения первого и подавать эти синусы через ещё пару операционников на входы двух ТЛ494 у которых на входе + будет напряжение с выходного фильтра(дроссель и кандер) а на минус подавать синус - тогда это будет просто песня...транс не будет петь песни не будет пробиваться высоким без нагрузки и вообще...одни плюсы будут :)
Реклама
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18856
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

clawham писал(а): где стабилизация по напряжению? где обратная связь?
А оно надо? Вон в сети напряжение то-же не стабилизированное. Перепад в 20 - 30 вольт (а то и больше) случается сплошь и рядом. И зачем обратная связь, если не нужна стабилизация? Ну только если как защита от перегрузок...
ИМХО вполне достаточно вывести синусоиду, и подать на трансформатор (как это происходит при включении трансформатора в розетку).
Реклама
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Сообщение clawham »

хотя лучше использовать конечно ICL8038 для изготовления синуса красивого и любой частоты скважности и т.д.

в сети оно ещё и как стабилизированное, вы даже не представляете как на электростанциях мучаются изза этой стабилизации и частоты

стабилизация нужна полюбому!
это уж поверьте очень серьёзное дело... так как транс это очень большая индуктивность а вы её качаете на максимуме что она будет делать? ну выброва с 40 вольт по первичке это не страшно а вот вторичная высоковольтная...блин..это сила....

кстати... транс в упс-ке расчитан не на 12 вольт а на 7,5 !!! так что дав ему 12 или 16 вольт с машины вы получите на выходе не 220 а все 640 %)
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

ну и обратную связь можно сделать например вольтметр а от его показаний будет зависеть максимальное значение ocr не 255 а 100 например
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18856
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

clawham писал(а):в сети оно ещё и как стабилизированное, вы даже не представляете как на электростанциях мучаются изза этой стабилизации и частоты
Что-бы на МК сделать нестабильную частоту, это надо очень постараться. Стабилизация напряжения конечно не помешает, но и без неё достаточно нормально будет работать. Единственное что действительно надо-бы сделать, это контроль разряда аккумулятора (если инвертор будет питаться от аккумуляторов).
clawham писал(а):так как транс это очень большая индуктивность а вы её качаете на максимуме что она будет делать? ну выброва с 40 вольт по первичке это не страшно а вот вторичная высоковольтная...блин..это сила....
А откуда возьмутся выбросы 40 вольт по первичке? Мы не прямоугольные импульсы на трансформатор подаём, а синусоиду. Синусоида выводится из прямоугольных импульсов ШИМ с помощью ЦАП, и только потом идёт на транс.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

ну что начинаем реализацию кода ? я на с пишу :)
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
SeregaT
Генеральный секретарь МЯУ
Сообщения: 18856
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.
Контактная информация:

Сообщение SeregaT »

Как напишете, не забудьте со мной текстом поделиться :) Я то-же такой хочу!
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

Как напишете, не забудьте со мной текстом поделиться
не волнуйся я же один точно не напишу ...
так что в этой тему будем вместе ошибки в коде искать :)

на счет частоты таймера пока непонятно.
частоту второго таймера ставим примерно равной - 60*4*128 = 30 килогерц и 30 тыщ раз в секунду выполняем прерывание которое будет иметь 4 режима -
от примерно частота не уплывет?
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

#include <delay.h> // библиотека пауз CVAVR

char del_clock=1; // делитель частоты таймера
char del_clock_i=0; //счетчик события
char PMW_flag_pluss=1; //счетчик события полупериода прибавляем/убавляем шим

прерывание {
if (del_clock_i < del_clock){del_clock_i++;}else{del_clock_i=0
//наше событие

if (PMW_flag_pluss==1){
if (PMW<255){ PMW++; }else{PMW_flag_pluss=0; }
}else{
if (PMW>0){ PMW--; }else{PMW_flag_pluss=1; }
}
}
}
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Сообщение urry »

Ребята, не все так просто, как вам кажется. Друг делал преобразователь - постоянка - в -380 вольт 3 фазы - убил 2 месяца жизни - причем программер не из последних и схемотехнику тоже хорошо знает.
Даже нагрузка - 500 и полтора киловатта - это тоже 2 большие разницы.
Да, существуют апноуты, но... Конкретная инфа на эту тему не особенно светится - на быструю победу не рассчитывайте.
Аlex

Сообщение Аlex »

Ребята, Вы чего-то не правильно считаете.
Если период синуса 16666 мкс (60 Гц), за этот период, предположим, будет 100 периодов ШИМа (разбили волну на 100 дискрет). Значит делим на 100 получаем 166.66 мкс. Это получился период ШИМа (частота ШИМа 6000 Гц). А в этом периоде шима ещё например 100 дискрет (разрядность получается ~6.65), делим ещё на 100, получаем 1.6 микросекунд (600 Кгц). Т.е. одно приращение ШИМного таймера сравнения получаеться 1.6 микросекунд. Попробуйте сделайте таймер на такую длительность, да и ещё все прибамбасы чтобы влезали в это время. :)))

Немножко по другому: Частота синуса 60 Гц, умножаем её на кол-во ступенек (100), получаем 6Кгц и умножаем её на битность ШИМа (2^6.65, 100 вобщем), получаем 600 кГц. Вот с этой частотой и нужно приращать таймер сравнения.

Вы немного запутились и забыли о том, что период ШИМа состоит тже из частей (битность).
Аппаратный ШИМ в помощь, плюс внешняя логика для выбора ключа (если ШИМ в МК один).
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »


Частота синуса 60 Гц, умножаем её на кол-во ступенек (100), получаем 6Кгц и умножаем её на битность ШИМа (2^6.65, 100 вобщем), получаем 600 кГц. Вот с этой частотой и нужно приращать таймер сравнения.
абсолютно правильно но 100/4=25 по 25 ступеник на четверть период и 50 на полупериод. Не маловато?

как написал clawham
нам надо в каждом периоде синуса сделать (60 периодов в секунду - 60 Гц) сделать изменения шим
1канал
1 ++ 0-255
2 - - 255-0
2 канал
3 ++ 0-255
4 - - 255-0

ну пусть даже до 100 считать
это 60*4*100=24000 Гц. ( еще кстати надо выкинуть крайние 0 и 100 получится 98 а это уже 60*4*98=23520 кратных частот нет ) - значит считаем до 102 и ищем частоту 24 кГц

а частота изменения шима пусть 1 Мгц тогда шим будет пробегать много раз прежде чем изменится величина.
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
Настя
Мявтор!
Сообщения: 878
Зарегистрирован: Чт авг 07, 2008 09:12:38
Откуда: не скажу
Контактная информация:

Сообщение Настя »

Конвертер DC-AC, генерим синус
http://www.remexpert.com/ipb/ipb.html?a ... wentry=129

Конвертер DC-AC, генерим синус, часть вторая
http://www.remexpert.com/ipb/index.php? ... wentry=130
натуральная блондинка
Аlex

Сообщение Аlex »

по 25 ступеник на четверть период и 50 на полупериод. Не маловато?
Думаю нет, должно хватить.
это 60*4*100=24000 Гц.
Это вы посчитали по 100 ступенек за четверть периода, 400 на весь период (волну). Это точно излишне :)
а частота изменения шима пусть 1 Мгц тогда шим будет пробегать много раз прежде чем изменится величина.
А так и нужно делать. Фильтр (ФНЧ) за одну ступеньку должен успеть выйти на нужное значение. Для звука, например, с частотой дискретизации 44 кГц советуют ШИМ с частотой не менее 1 мГц.
Только 1мГц не сможеш сделать на МК, можно кГц 200-300 сделать, думаю нормально будет.
Но всё-же, без аппаратного ШИМа не обойтись в любом случае.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

Давайте задумаемся над кодом. ШИМ программный от аппаратного отличаться не сильно будет (В КОДЕ) разница в том что будет вызываться функция а не регистр.
а вот код...
он нормально составлен? ну в смысле для первого шага :))
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

смотрим прикидку частот. вопрос какие частоты существуют? и их можно получить на меге 8
Вложения
T.xls
(64 КБ) 238 скачиваний
в спорах рождается ИСТИНА [AND] flud.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»