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

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

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

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


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


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

Сообщений 1 страница 30 из 128

1

Доброго времени суток.
Часто спрашиват можно зделать однофазный преобразователь для асинхронного двигателя. Очень нужная тема у кого дровяной отопительный котел. Системы с самоциркуляцией не изпользуют, дорого. По этому неоходимо ставить циркуляционный насос. Если пропадает электричество вода в котле закипает, и последствия печальные.
Пробовали ставить безперебойники от компьютера. Можно убить насос. Они на выходе формируют прямоуольник. Для импульсных блоков питания нормуль, хоть постоянка. Аснхронные движки сильно греються.
Накидал код, но толком ничего с синусом не выходит. Чем больше пересчетов в прерывании, тем меньше частота модуляции. С треугольной формой бм. Можно получить 50Гц.

Код:
$regfile = "m328pdef.dat"
$crystal = 16000000                                          
$hwstack = 160
$swstack = 160
$framesize = 64

'==========================================================================================================
Config Timer1 = Pwm, Pwm = 8, Compare A Pwm = Clear Up, Compare B Pwm = Clear Up, Prescale = 8

Config Timer0 = Timer , Prescale = 1                       '
On Timer0 Pila                                              ' обзываем прерывание
'**********************************************************************************************************
Config PORTB.1 = Output
Config PORTB.2 = Output

'==========================================================================================================
Dim K As Bit
Dim T As Bit               'Формирование треугольника фазы
Dim U As Byte              'Пила фазы
Dim SinU As Single         'Формирование Sin фазы
Dim Uout As Byte           'Управление ШИМ фазы формы Sin

 Const S = 0.00616          'Константа (Пи/2)/255
Dim Hz As Word : Hz = 200
'==========================================================================================================
Enable Interrupts                                           ' разрешаем все прерывания
Enable Timer0
'**********************************************************************************************************
Do

   SinU = U * S
   SinU = Sin(SinU)
   SinU = SinU * 255
   Uout = SinU


 Loop
End
'==========================================================================================================
 Pila:
  Timer0 = Hz

   If T = 0 Then Incr U
   If U = 252 Then T = 1
   If T = 1 Then Decr U
   If U = 3 Then
     T = 0
     Toggle K
   End If

   If K = 0 Then
    Pwm1b = 0
    Pwm1a = U'out
   End If

   If K = 1 Then
    Pwm1a = 0
    Pwm1b = U'out
   End If

 Return

0

2

Не подойдет ? ;)
» Программирование ATMEL в BASCOM. » Примеры применения в среде Баском » Синусоида на AVR.

Отредактировано Nord (2019-03-01 22:21:45)

0

3

Nord
Тема не та, но интересная. Жаль все файлы удалены.
Мне нужен ШИМ модулированный синусом.http://sh.uploads.ru/t/sFtp2.jpg
На картинках треугольником.
http://s3.uploads.ru/t/8Jl4y.jpg

Отредактировано rom-i (2019-03-01 22:55:41)

0

4

По таблице делайте, это экономит ресурсы, 16кгц вытягивает АВР как, можно и больше.

0

5

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

Тема не та, но интересная. Жаль все файлы удалены.

Упс...  o.O
Такие факты не проверял...

В любом случае - покопайтесь там же, этот раздел просто кладезь информации.
Спасибо Александру !
Есть еще в его параллельных разделах многое.

Точно помню - где-то было ваше искомое ! ;)
Ищите про хлебопекарню... ;)

Отредактировано Nord (2019-03-01 23:57:31)

0

6

Nord
Про аналоговую синусоиду нашел. Автор перенес ее под название генераторы синусоидальной формы, а файлы переложил на яндекс диск. Но это на будущее. Хочу разобраться с этой темой.
Стало интересно почему так таймер тормозиться если в прерывание добавлять функции.
Если по моей программе предустановка TIMER0=200, Config Timer0 = Timer , Prescale = 1, частота 16мГц.
Прерывание должно быть 56/16000000=35мкС, или 285714Гц.
Добавил в прерывание Toggle PORTB.0, что бы реально замерить период. Должно получиться полный период F=285714/2=142857Гц. В реале получаю 41760Гц.
Если добавить в прерывание пересчет треугольника в синус(в коде перекинул в основной цикл, что бы не комментить) частота уменьшается до 3125Гц. Если брать нужное для создания треугольника ето еще 249+249=498 переполнений таймера. 3125/498=6Гц.
Писать таблицу Case из 255 строк как предлогает Yuriy.pv. И в конце не получить нужного результата, очень грустно.

0

7

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

Мне нужен ШИМ модулированный синусом.
(Вчера 21:55:41)

Здесь

делаете таблицу синуса и вперёд с транспарантом.

+1

8

sasha_1973
Скачивал пораньше эту тему. Интересный код. Много для мну непонятного(вставки ассемблера). На баском только учусь. Но это совем не то, что надо. Формирование треугольника для ШИМ в главном цикле. Это, и есть нужная для меня часть формирующая выходной сигнал. В моем случае 50Гц. Не зря пытаюсь затолкать это в прерывание(привязаться к частоте МК).
В главном цикле много еще чего будет. Контроль сети. Переключение на автономное питание от этого преобразователя, и наоборот. Контроль температур. Передача аварийных переходов по SIM800l, и обратный контроль. Частота работы главного цикла вообще будет не стабильна.

0

9

если синус то Вам сюды, аппаратное формирование синуса

чистый синус

0

10

Архив закинул Вам на мыло

0

11

sasha_1973
Эту тему нашел ночью после работы. Скачал, но не успел посмотреть.  o.O На Ваших программах точно не научусь.))) Это не для первоклассника. Голый АСМ.

Таблица от 0 до 252.
У мну получиться:
Uout = Lookup(u , Таблица_синуса_252)

0

12

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

Таблица от 0 до 252.
У мну получиться:
Uout = Lookup(u , Таблица_синуса_252)

Прям в десятку !

А на счёт ASM, так собственно макс. скорость, при минимальных затратах.

0

13

sasha_1973
Чет таблица не срослась.

Код:
 Pila:
  Timer0 = Hz
   Toggle Portb.0

   If T = 0 Then Incr U
   If U = 252 Then T = 1
   If T = 1 Then Decr U
   If U = 0 Then
     T = 0
     Toggle K
   End If

   Uout = Lookup(u , Таблица_синуса_252)

   If K = 0 Then
    Pwm1b = 0
    Pwm1a = Uout
   End If

   If K = 1 Then
    Pwm1a = 0
    Pwm1b = Uout
   End If

 Return
'===============================================================================
  Таблица_синуса_252:                                       ' 252 значения синусоиды
'-------------------------------------------------------------------------------
    Data &H7E , &H82 , &H85 , &H88 , &H8B , &H8E , &H91 , &H94 , &H97 , &H9B
    Data &H9E , &HA1 , &HA4 , &HA7 , &HAA , &HAD , &HAF , &HB2 , &HB5 , &HB8
    Data &HBB , &HBD , &HC0 , &HC3 , &HC5 , &HC8 , &HCB , &HCD , &HCF , &HD2
    Data &HD4 , &HD6 , &HD9 , &HDB , &HDD , &HDF , &HE1 , &HE3 , &HE5 , &HE7
    Data &HE8 , &HEA , &HEC , &HED , &HEF , &HF0 , &HF1 , &HF3 , &HF4 , &HF5
    Data &HF6 , &HF7 , &HF8 , &HF9 , &HF9 , &HFA , &HFB , &HFB , &HFC , &HFC
    Data &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFB
    Data &HFB , &HFA , &HF9 , &HF9 , &HF8 , &HF7 , &HF6 , &HF5 , &HF4 , &HF3
    Data &HF1 , &HF0 , &HEF , &HED , &HEC , &HEA , &HE8 , &HE7 , &HE5 , &HE3
    Data &HE1 , &HDF , &HDD , &HDB , &HD9 , &HD6 , &HD4 , &HD2 , &HCF , &HCD
    Data &HCB , &HC8 , &HC5 , &HC3 , &HC0 , &HBD , &HBB , &HB8 , &HB5 , &HB2
    Data &HAF , &HAD , &HAA , &HA7 , &HA4 , &HA1 , &H9E , &H9B , &H97 , &H94
    Data &H91 , &H8E , &H8B , &H88 , &H85 , &H82 , &H7E , &H7B , &H78 , &H75
    Data &H72 , &H6F , &H6C , &H69 , &H66 , &H62 , &H5F , &H5C , &H59 , &H56
    Data &H53 , &H50 , &H4E , &H4B , &H48 , &H45 , &H42 , &H40 , &H3D , &H3A
    Data &H38 , &H35 , &H32 , &H30 , &H2E , &H2B , &H29 , &H27 , &H24 , &H22
    Data &H20 , &H1E , &H1C , &H1A , &H18 , &H16 , &H15 , &H13 , &H11 , &H10
    Data &H0E , &H0D , &H0C , &H0A , &H09 , &H08 , &H07 , &H06 , &H05 , &H04
    Data &H04 , &H03 , &H02 , &H02 , &H01 , &H01 , &H01 , &H01 , &H01 , &H00
    Data &H01 , &H01 , &H01 , &H01 , &H01 , &H02 , &H02 , &H03 , &H04 , &H04
    Data &H05 , &H06 , &H07 , &H08 , &H09 , &H0A , &H0C , &H0D , &H0E , &H10
    Data &H11 , &H13 , &H15 , &H16 , &H18 , &H1A , &H1C , &H1E , &H20 , &H22
    Data &H24 , &H27 , &H29 , &H2B , &H2E , &H30 , &H32 , &H35 , &H38 , &H3A
    Data &H3D , &H3F , &H42 , &H45 , &H48 , &H4B , &H4E , &H50 , &H53 , &H56
    Data &H59 , &H5C , &H5F , &H62 , &H66 , &H69 , &H6C , &H6F , &H72 , &H75
    Data &H78 , &H7B , &H7E
'=====================================================

http://s3.uploads.ru/t/YNK4w.jpg
Но движение по теме есть. Максимальная частота 75Гц. Таймер не до конца принижен.)))

0

14

весь исходник ?

0

15

Думаю все нормально. На баском по другому не сделать. Нужно писать свою таблицу.

0

16

sasha_1973
Нет. Исходник в начале поста. Это только прерывание.

0

17

Здесь то, что Вам надо

+1

18

Частоту под себя подправите.

+1

19

sasha_1973
Гораздно лучьше. Спасибо. Переносить таблицу в ОЗУ, для пердыша узнать, очень здорово.
Перенес в свою программу. Получилась максимальная частота 250Гц. Осталось разбить на два полупериода.

Код:
$regfile = "m328pdef.dat"
$crystal = 16000000                                         'для уменьшения энергопотребления
$hwstack = 160
$swstack = 160
$framesize = 64

'==========================================================================================================
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8

Config Timer0 = Timer , Prescale = 8                        '
On Timer0 Pila                                              ' обзываем прерывание
'**********************************************************************************************************
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output


'-------  Для генератора 3-х фазной синусоиды, фазы смещены на 120°  -----------

  Dim 1_фаза As Byte
  Dim Цикл_значение_синуса As Word
  Dim Значение_синуса(252) As Byte

'------------------  Запуск и предварительные настройки  -----------------------
'------  Закидываем значения выводимой синусоиды из таблицы в оперативку  ------

  For Цикл_значение_синуса = 1 To 252
      Значение_синуса(цикл_значение_синуса) = Lookup(цикл_значение_синуса , Таблица_синуса_252)
  Next Цикл_значение_синуса
'==========================================================================================================
Dim K As Bit
Dim T As Bit                                                'Формирование треугольника фазы
Dim U As Byte                                               'Пила фазы
Dim Sinu As Single                                          'Формирование Sin фазы
Dim Uout As Byte                                            'Управление ШИМ фазы формы Sin

 Const S = 0.00616                                          'Константа (Пи/2)/255
Dim Hz As Word : Hz = 200
'==========================================================================================================
Enable Interrupts                                           ' разрешаем все прерывания
Enable Timer0
'**********************************************************************************************************
Do

 Loop
End
'==========================================================================================================
 Pila:
  Timer0 = Hz
  Toggle Portb.0
    Incr U                                                  ' Высчитываем выводимое значение синуса для 1 фазы
    If U > 252 Then U = 1                                   ' Исключаем переполнение счетчиков значений синуса, для 252 точек
    Ocr1a = Значение_синуса(u)                              ' Забираем значение синуса из массива, всего 252 значения в регистр таймера 0
'-------------------------------------------------------------------------------
  Return
'===============================================================================


'===============================================================================
  Таблица_синуса_252:                                       ' 252 значения синусоиды
'-------------------------------------------------------------------------------
    Data &H7E , &H82 , &H85 , &H88 , &H8B , &H8E , &H91 , &H94 , &H97 , &H9B
    Data &H9E , &HA1 , &HA4 , &HA7 , &HAA , &HAD , &HAF , &HB2 , &HB5 , &HB8
    Data &HBB , &HBD , &HC0 , &HC3 , &HC5 , &HC8 , &HCB , &HCD , &HCF , &HD2
    Data &HD4 , &HD6 , &HD9 , &HDB , &HDD , &HDF , &HE1 , &HE3 , &HE5 , &HE7
    Data &HE8 , &HEA , &HEC , &HED , &HEF , &HF0 , &HF1 , &HF3 , &HF4 , &HF5
    Data &HF6 , &HF7 , &HF8 , &HF9 , &HF9 , &HFA , &HFB , &HFB , &HFC , &HFC
    Data &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFB
    Data &HFB , &HFA , &HF9 , &HF9 , &HF8 , &HF7 , &HF6 , &HF5 , &HF4 , &HF3
    Data &HF1 , &HF0 , &HEF , &HED , &HEC , &HEA , &HE8 , &HE7 , &HE5 , &HE3
    Data &HE1 , &HDF , &HDD , &HDB , &HD9 , &HD6 , &HD4 , &HD2 , &HCF , &HCD
    Data &HCB , &HC8 , &HC5 , &HC3 , &HC0 , &HBD , &HBB , &HB8 , &HB5 , &HB2
    Data &HAF , &HAD , &HAA , &HA7 , &HA4 , &HA1 , &H9E , &H9B , &H97 , &H94
    Data &H91 , &H8E , &H8B , &H88 , &H85 , &H82 , &H7E , &H7B , &H78 , &H75
    Data &H72 , &H6F , &H6C , &H69 , &H66 , &H62 , &H5F , &H5C , &H59 , &H56
    Data &H53 , &H50 , &H4E , &H4B , &H48 , &H45 , &H42 , &H40 , &H3D , &H3A
    Data &H38 , &H35 , &H32 , &H30 , &H2E , &H2B , &H29 , &H27 , &H24 , &H22
    Data &H20 , &H1E , &H1C , &H1A , &H18 , &H16 , &H15 , &H13 , &H11 , &H10
    Data &H0E , &H0D , &H0C , &H0A , &H09 , &H08 , &H07 , &H06 , &H05 , &H04
    Data &H04 , &H03 , &H02 , &H02 , &H01 , &H01 , &H01 , &H01 , &H01 , &H00
    Data &H01 , &H01 , &H01 , &H01 , &H01 , &H02 , &H02 , &H03 , &H04 , &H04
    Data &H05 , &H06 , &H07 , &H08 , &H09 , &H0A , &H0C , &H0D , &H0E , &H10
    Data &H11 , &H13 , &H15 , &H16 , &H18 , &H1A , &H1C , &H1E , &H20 , &H22
    Data &H24 , &H27 , &H29 , &H2B , &H2E , &H30 , &H32 , &H35 , &H38 , &H3A
    Data &H3D , &H3F , &H42 , &H45 , &H48 , &H4B , &H4E , &H50 , &H53 , &H56
    Data &H59 , &H5C , &H5F , &H62 , &H66 , &H69 , &H6C , &H6F , &H72 , &H75
    Data &H78 , &H7B , &H7E
'===============================================================================

на частоте примерно 75Гц
http://s8.uploads.ru/t/bMfBQ.jpg

Отредактировано rom-i (2019-03-02 15:50:25)

0

20

Полупериод не сделать. Делает как в посте 13. Начало таблицы, добавляется в конце.

0

21

Делайте таблицу полупериода и переключайтесь,  таблицу можно до 127 сократить или меньше, ещё ресурсы освободите, в реальном устройстве столько не нужно.

0

22

Yuriy.pv
Таблицу использую Александра. Отлично работает. Но только раскомментировать деление на полупериоды, получается начало, в конце.

Код:
$regfile = "m328pdef.dat"
$crystal = 16000000                                         'для уменьшения энергопотребления
$hwstack = 160
$swstack = 160
$framesize = 64

'==========================================================================================================
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8

Config Timer0 = Timer , Prescale = 8                        '
On Timer0 Pila                                              ' обзываем прерывание
'**********************************************************************************************************
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output


'-------  Для генератора 3-х фазной синусоиды, фазы смещены на 120°  -----------

  Dim 1_фаза As Byte
  Dim Цикл_значение_синуса As Word
  Dim Значение_синуса(252) As Byte

'------------------  Запуск и предварительные настройки  -----------------------
'------  Закидываем значения выводимой синусоиды из таблицы в оперативку  ------

  For Цикл_значение_синуса = 1 To 252
      Значение_синуса(цикл_значение_синуса) = Lookup(цикл_значение_синуса , Таблица_синуса_252)
  Next Цикл_значение_синуса
'==========================================================================================================
Dim K As Bit
Dim T As Bit                                                'Формирование треугольника фазы
Dim U As Byte                                               'Пила фазы
Dim Sinu As Single                                          'Формирование Sin фазы
Dim Uout As Byte                                            'Управление ШИМ фазы формы Sin

 Const S = 0.00616                                          'Константа (Пи/2)/255
Dim Hz As Word : Hz = 200
'==========================================================================================================
Enable Interrupts                                           ' разрешаем все прерывания
Enable Timer0
'**********************************************************************************************************
Do

 Loop
End
'==========================================================================================================
 Pila:
  Timer0 = Hz
  Toggle Portb.0
    Incr U                                                  ' Высчитываем выводимое значение синуса для 1 фазы
    If U > 252 Then                                         ' Исключаем переполнение счетчиков значений синуса, для 252 точек
       Toggle K
       U = 1
    End If

'  If K = 0 Then                                             ' Забираем значение синуса из массива, всего 252 значения в регистр таймера 0
    Ocr1a = Значение_синуса(u)
    Ocr1b = 0
'  End If

'  If K = 1 Then                                             ' Забираем значение синуса из массива, всего 252 значения в регистр таймера 0
'    Ocr1b = Значение_синуса(u)
'    Ocr1a = 0
'  End If
'-------------------------------------------------------------------------------
  Return
'===============================================================================


'===============================================================================
  Таблица_синуса_252:                                       ' 252 значения синусоиды
'-------------------------------------------------------------------------------
    Data &H7E , &H82 , &H85 , &H88 , &H8B , &H8E , &H91 , &H94 , &H97 , &H9B
    Data &H9E , &HA1 , &HA4 , &HA7 , &HAA , &HAD , &HAF , &HB2 , &HB5 , &HB8
    Data &HBB , &HBD , &HC0 , &HC3 , &HC5 , &HC8 , &HCB , &HCD , &HCF , &HD2
    Data &HD4 , &HD6 , &HD9 , &HDB , &HDD , &HDF , &HE1 , &HE3 , &HE5 , &HE7
    Data &HE8 , &HEA , &HEC , &HED , &HEF , &HF0 , &HF1 , &HF3 , &HF4 , &HF5
    Data &HF6 , &HF7 , &HF8 , &HF9 , &HF9 , &HFA , &HFB , &HFB , &HFC , &HFC
    Data &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFC , &HFB
    Data &HFB , &HFA , &HF9 , &HF9 , &HF8 , &HF7 , &HF6 , &HF5 , &HF4 , &HF3
    Data &HF1 , &HF0 , &HEF , &HED , &HEC , &HEA , &HE8 , &HE7 , &HE5 , &HE3
    Data &HE1 , &HDF , &HDD , &HDB , &HD9 , &HD6 , &HD4 , &HD2 , &HCF , &HCD
    Data &HCB , &HC8 , &HC5 , &HC3 , &HC0 , &HBD , &HBB , &HB8 , &HB5 , &HB2
    Data &HAF , &HAD , &HAA , &HA7 , &HA4 , &HA1 , &H9E , &H9B , &H97 , &H94
    Data &H91 , &H8E , &H8B , &H88 , &H85 , &H82 , &H7E , &H7B , &H78 , &H75
    Data &H72 , &H6F , &H6C , &H69 , &H66 , &H62 , &H5F , &H5C , &H59 , &H56
    Data &H53 , &H50 , &H4E , &H4B , &H48 , &H45 , &H42 , &H40 , &H3D , &H3A
    Data &H38 , &H35 , &H32 , &H30 , &H2E , &H2B , &H29 , &H27 , &H24 , &H22
    Data &H20 , &H1E , &H1C , &H1A , &H18 , &H16 , &H15 , &H13 , &H11 , &H10
    Data &H0E , &H0D , &H0C , &H0A , &H09 , &H08 , &H07 , &H06 , &H05 , &H04
    Data &H04 , &H03 , &H02 , &H02 , &H01 , &H01 , &H01 , &H01 , &H01 , &H00
    Data &H01 , &H01 , &H01 , &H01 , &H01 , &H02 , &H02 , &H03 , &H04 , &H04
    Data &H05 , &H06 , &H07 , &H08 , &H09 , &H0A , &H0C , &H0D , &H0E , &H10
    Data &H11 , &H13 , &H15 , &H16 , &H18 , &H1A , &H1C , &H1E , &H20 , &H22
    Data &H24 , &H27 , &H29 , &H2B , &H2E , &H30 , &H32 , &H35 , &H38 , &H3A
    Data &H3D , &H3F , &H42 , &H45 , &H48 , &H4B , &H4E , &H50 , &H53 , &H56
    Data &H59 , &H5C , &H5F , &H62 , &H66 , &H69 , &H6C , &H6F , &H72 , &H75
    Data &H78 , &H7B , &H7E
'===============================================================================

Вот так.
http://sd.uploads.ru/t/QTAGq.jpg

Отредактировано rom-i (2019-03-02 19:13:32)

0

23

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

Но только раскомментировать деление на полупериоды, получается начало, в конце.

Перечитал раз восемь...  :dontknow:
Расшифруйте, плиз... ;)

0

24

Извиняюсь. Переключение произходит на 2mS позже. Так правильнее.

0

25

Nord
Спецом, для Вас!!!

Код:
'==========================================================================================================
 Pila:
  Timer0 = Hz
  Toggle Portb.0
    Incr U                                                  ' Высчитываем выводимое значение синуса для 1 фазы
    If U > 252 Then                                         ' Исключаем переполнение счетчиков значений синуса, для 252 точек
       Toggle K
       U = 1
    End If

'  If K = 0 Then                                             ' Забираем значение синуса из массива, всего 252 значения в регистр таймера 0
    Ocr1a = Значение_синуса(u)
    Ocr1b = 0
'  End If

'  If K = 1 Then                                             ' Забираем значение синуса из массива, всего 252 значения в регистр таймера 0
'    Ocr1b = Значение_синуса(u)
'    Ocr1a = 0
'  End If
'-------------------------------------------------------------------------------
  Return

0

26

МК на кварце или на внутреннем RC ?

В коде:
$crystal = 16000000

В железе что ?

0

27

Nord
Не обижайтесь. Но поставлю "-". За баню.

+1

28

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

Осталось разбить на два полупериода

В смысле ?

0

29

sasha_1973
Упраление выходными ключами. В мостовом режиме. Для начала драйвер пойдет, потом IJBT. По теме моща махонькая нужна. Мона Ампер на 30 STGIPS воткнуть. Дело техники.

0

30

типа такого

http://s8.uploads.ru/t/APTly.jpg

0


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