Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Таймеры, ШИМ и все про них » Как зделать синусоидальный ШИМ?


Как зделать синусоидальный ШИМ?

Сообщений 61 страница 90 из 128

61

rom-i написал(а):

Это если городить на отдельных драйверах для каждого транзюка. Брать спецовые нужно двойные, или сразу трехфазные. Проверено. Не один привод пашет. Если нормально подобрать сопрот измерения тока, можно на рабочем фазы коротить. Специально не пробовал, но случаи были.))) IR2135 на ошибку становиться пока питание не передернишь. Тоже с STGIPS20K60.

Да то понятно что работает, в IR21.. задержки 150-200 ns не ковсем транзисторам подходят есть где 300 надо , и тут без дополнительного дедтайма никак.. а stgip эт сборки с транзюков с драйвером, там другие не воткнеш. Там мертвое до 700 ns доходят.

0

62

Yuriy.pv
По таблице Александра 1 ноль в начале, и в конце. Частота шим у меня 4кГц. Это мертвое 2 раза по 250мкс. Можно еще пару добавить.

0

63

Ну если таблица для однофазной системы то справедливо, для 3х нет.  Ну и главное , дополнительный 0 не решит дедтайм, вы затяните только переход фазы. А нам нужно переход полярности при ШИМ так как там происходят переходные процессы.

0

64

Yuriy.pv
Дык это, и есть переход полярности. Верхние, и нижние ключи. Между ступенька 500мкс.

0

65

Если у вас мостовая схема вы 0 переключаете диагональные транзисторы, из которых 1 или 2  шимят. Так вот значение из этой таблицы задаёт скважность шима с помощью которого вы получаете синус. А вообще бы схему так как тут можно по разному сделать. Может мы о разном говорим..

0

66

Yuriy.pv
Схему на STGIPS20K60 буду делать. Есть пара в наличии. Не нужно с драйверами возится. Сама инвертирует второй вход. Отлично защита по току работает. Одна фаза будет в воздухе. Из 12\220 на 494. Есть схема отработанная. Драйвер двойной, и те же IJBT. Правда сын начал говорить про электростанцию(бензиновую). Для нее контроллер тогда нужно писать. Затея с аккумом самому не сильно нравиться. На сколько его хватит даже в импульсном режиме. То есть воду прокачал температура упала, отключился. Поднялась качает. Главное до закипания не довести.
Вот еще чего хотел спросить. Есть наработки трехфазного привода на баском? Программированием недавно занимаюсь, интересно посмотреть на программу. Только если на баском. На других языках все равно не пойму.

0

67

rom-i написал(а):

Yuriy.pv
Схему на STGIPS20K60 буду делать. Есть пара в наличии. Не нужно с драйверами возится. Сама инвертирует второй вход. Отлично защита по току работает. Одна фаза будет в воздухе. Из 12\220 на 494. Есть схема отработанная. Драйвер двойной, и те же IJBT.

Не ну если  на финансы пофик... одна Stgip 40$ стоит + обвес... То ладно.

Интересно глянуть на отработанную схему с двойным драйвером. Если можно..

Про одну фразу не понял, как в ВОЗДУХЕ ? ...

3х фазный есть .

0

68

rom-i написал(а):

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

В инете была на 873 пике схема, прошивка и все остальное.  У меня остался данный архив. Завтра выложу ссылку. По мотивам, я пробовал на аттини13 сделать простейшую мостовую схему с драйверами ADP3110 от материнской платы. Два  драйвера, 4 N-канальных полевика. Управление следующее: половину периода открыт верхний ключ постоянно, противоположный нижний шимит, потом наоборот. Частоту 50 Герц добивался настройкой регистра OSSCAL. Синусоида на выходе после фильтра 50 Гц была, но дальше подключения мелкого трансформатора дело не пошло.

0

69

Yuriy.pv
Как то раньше ремонтировал привод от швейной машинки. Вот остались сборки. Без дела валяються. STGIPS20K60 трехфазный мост. Мне нужен двух. Один ключ пустой.
Это делал автомобильные усилители. Преобразователь +-45В, моща УМЗЧ ВВ Сухов.
Ссылка
Схема взята из даташита на 494 он в архиве, остальное по печатке понятно. Первичка транса 5 витков D1.1. Все 10 обмоток в ряд. Виток, к витку. Как раз полностью заполняешь внутренний диаметр сердечника. Вторичку рассчитывал относительно половинного напряжения в первичке 6В. Транзюки брал, что там же в архиве. Только обманул. Это мосфеты. Последний раз собирал год назад.))) Уже забыл.

0

70

rom-i написал(а):

STGIPS20K60 трехфазный мост. Мне нужен двух.

Почему двухфазный, если изначально было:

rom-i написал(а):

зделать однофазный преобразователь для асинхронного двигателя.

;)

0

71

sasha_1973
Александр спасибо что ответили,
на примере Heated Bed 3D принтера
мк любой, например Atmega328
датчик термистор или термопара
выход на нагреватель через SSR
индикация, интерфейс пользователя сделаю сам
заранее благодарю

0

72

kestrel написал(а):

sasha_1973
Александр спасибо что ответили,
на примере Heated Bed 3D принтера
мк любой, например Atmega328
датчик термистор или термопара
выход на нагреватель через SSR
индикация, интерфейс пользователя сделаю сам
заранее благодарю

Не, ну капец !"

0

73

ссылка на яндекс диск с архивом Инвертор 12/220 на https://yadi.sk/d/8rZ0GUlMLrhiyA

0

74

Отлично подсказали Александр, и Юрий.
У Александра отличный подход перенести таблицу в массив(ОЗУ). И в прерывании пользоваться уже переменнымы, а не таблицей. Поигрался с формулами Sin. Рисовал свои таблицы. В конце, концов одна сошлась с таблицей Александра. На ней остановился. Пришел к лучшему выбору. Брать полный период. То есть формировать две фазы со сдвигом 180 градусов. В этом меня убедил Юрий. Правда со сквозным током моя программа рассчитана только на драйвера. Мертвое время даже не знаю как задать. Но сборка STGIPS20K60 не плохо справляется.
Крутил свою гидростанцию от этого инвертора, и от сети. Результат не дал различия по потреблению.
Гидростанция обычная. Колодец, водопровод. Давление мах 2.4, мин 2.0 кг\см3.
Не подумайте про готовую конструкцию. От 12 В еще очень много работы. Инвертер питается от сети.)))
Спасибо!!!

Отредактировано rom-i (2019-03-07 22:09:54)

+2

75

rom-i написал(а):

Правда со сквозным током моя программа рассчитана только на драйвера. Мертвое время даже не знаю как задать. Но сборка STGIPS20K60 не плохо справляется.

Если будет необходимость, примените Attiny861, там аппаратный дедтайм можете задавать. Удачи.

0

76

rom-i написал(а):

Отлично подсказали Александр, и Юрий.
У Александра отличный подход перенести таблицу в массив(ОЗУ). И в прерывании пользоваться уже переменнымы, а не таблицей.

Выигрыш всего то 1 такт (если ASM), актуально для байтового значения.

Так, что в принципе, без разницы, как забирать данные.

0

77

sasha_1973
В железе, почемуто результат гораздго больше. Из таблицы, или из массива. Точто не сказу. Но почти порядок.

0

78

sasha_1973
Вопрос для меня очень темный.
Всегда использовал как обычный таймер.
Config Timer0 = Timer , Prescale = 8                        '
On Timer0 Pila                                              ' обзываем прерывание
У Вас как компаратор.
  Config Timer0 = Timer , Clear Timer = 1 , Prescale = 64
  On Compare0a Pila
В первом случае считает в два раза медленнее если в прерывании заложены функции.

Не пишу цитат. Только учусь.

Отредактировано rom-i (2019-03-08 01:15:57)

0

79

Ну про треугольник, и пилу.. это смотря как настроить таймеры .. почитайте Даташиты. Желательно настраивать ШИМ в режиме Phase Correct , получите меньше гармоник за счёт правильного момента обновления регистров. 6 Гц это что максимально?

0

80

http://s9.uploads.ru/t/0Lb4f.png
http://s3.uploads.ru/t/JHulZ.png

Вот простейший способ формирования ШИМ сигнала для 2-х драйверов ADP3110. Включение 4-х выходных транзисторов - по мостовой схеме. По переполнению таймера идет запись регистров OCR1A и OCR1B из таблицы. Так как второго таймера нет, то частота 50 Гц получается подбором значения OSSCAL. Из-за ограниченных ресурсов Attiny13 данная схема нуждается в переработке - надо два таймера: один для формирования шим, второй для формирования частоты смены обновления OCR.  Желательно использовать МК со встроенным PLL - Attiny26/46/86 например. Ссылка на файл: https://yadi.sk/d/dRZbtHSGrsjEjA

0

81

pchela5Спасибо. Но этот вопрос решен.

0

82

Yuriy.pv
Phase Correct
Пользуюсь обычными букварями. Это как? И что?
Не обижайтесь. Только учусь.

0

83

rom-i написал(а):

Phase Correct. Пользуюсь обычными букварями. Это как? И что?
Не обижайтесь. Только учусь.

Это режим работы регистров OCR. Пора переходить с букварей на книгу Евстифеева А.В. «Микроконтроллеры avr»

0

84

pchela5
Вот так работает последняя наработка этого вопроса.http://sg.uploads.ru/t/NcQSB.jpg

0

85

Что бы создать это.
Спасибо Александру, Юрию.

0

86

Можно посмотреть на принципиальную схему?

0

87

pchela5
https://yadi.sk/d/wXw-7p8KZYsC-A

0

88

pchela5
Схемы в данный момент не существует. Это отдельные наработки. Решение возникающих вопросов.
Готовое решение планирую к следующему отопительному сезону.

0

89

rom-i написал(а):

sasha_1973
Вопрос для меня очень темный.
Всегда использовал как обычный таймер.
Config Timer0 = Timer , Prescale = 8                        '
On Timer0 Pila                                              ' обзываем прерывание
У Вас как компаратор.
  Config Timer0 = Timer , Clear Timer = 1 , Prescale = 64
  On Compare0a Pila
В первом случае считает в два раза медленнее если в прерывании заложены функции.

Не пишу цитат. Только учусь.

Отредактировано rom-i (2019-03-08 00:15:57)

Если предположить, что Prescale одинаков в обоих случаях, тогда:
в первом случае считает в два раза медленнее, потому, что у Вас коррекция фазы ( 0=>255=>0 ), а во втором случае коррекции нет ( 0=>255 ).

0

90

rom-i написал(а):

В железе, почемуто результат гораздго больше. Из таблицы, или из массива. Точто не сказу. Но почти порядок.

Без исходника затруднительно сказать, в чём причина.

Повторюсь, если писать на ASM, разница 1 такт МК.

0


Вы здесь » Программирование ATMEL в BASCOM. » Таймеры, ШИМ и все про них » Как зделать синусоидальный ШИМ?