#19
Сообщение
DerAlex » 21.06.2016{, 09:57}
Понял.К сожалению этот блок позволяет менять только частоту.Скважность постоянная и равна двум, то есть импульс и пауза одинаковы.
Добавлено (20.06.2016, 15:56)
---------------------------------------------
Не я автор этого блока.
Добавлено (20.06.2016, 16:00)
---------------------------------------------
Я пытался создать генератор с использованием скоростного счетчика.Открыл одноименную тему и товарищи помогли .Прислали готовый блок.
Добавлено (20.06.2016, 16:07)
---------------------------------------------
Вот в теме =НАСТРОЙКА ЧАСТОТЫ ШИМ= нашел :
Для UNO и уноподобных с кварцом 16МГц.
имеются три "железных" таймера, завязанных на определенные выводы ШИМ, некоторые коррекции могут повлиять на функции - допустим ИК передатчик перестанет работать если изменить стандартную частоту на портах 11 и 3....
Частота ШИМ'а на ногах 5 и 6:
Константа Делитель Частота(Гц)
0x01 1 62500
0x02 8 7812.5
0x03 64 976.5625
0x04 256 244.140625
0x05 1024 61.03515625
В Setup пишем строчку:
TCCR0B = TCCR0B & 0b11111000 | <Константа>;
Частота ШИМ'а на ногах 9 и 10:
Константа Делитель Частота(Гц)
0x01 1 31250
0x02 8 3906.25
0x03 64 488.28125
0x04 256 122.0703125
0x05 1024 30.517578125
В Setup пишем строчку:
TCCR1B = TCCR1B & 0b11111000 | <Константа>;
Частота ШИМ'а на ногах 11 и 3:
Константа Делитель Частота(Гц)
0x01 1 31250
0x02 8 3906.25
0x03 32 976.5625
0x04 64 488.28125
0x05 128 244.140625
0x06 256 122.0703125
0x07 1024 30.517578125
В Setup пишем строчку:
TCCR2B = TCCR2B & 0b11111000 | <Константа>;
ПРИМЕР:
получим частоту ШИМ'а на 9, 10, 11 и 3 ногах около 4кГц путем добавления в секцию инциализации двух строк:
void setup()
{
TCCR1B = TCCR1B & 0b11111000 | 0x02;
TCCR2B = TCCR2B & 0b11111000 | 0x02;
... - следующие строки скетча секции инициализации
... - следующие строки скетча секции инициализации
P. S.: у МЕГИ таймеров больше...смотри мануал...
Добавлено (20.06.2016, 16:16)
---------------------------------------------
Как я понимаю возможно или менять частоту при неизменной скважности или менять скважность и выбирать какую то рабочую частоту.Не очень разбираюсь
каким образом возможно обращаться напрямую к регистрам Arduino.
Возможно есть более подготовленные товарищи и они смогут помочь разобраться.
Добавлено (21.06.2016, 09:57)
---------------------------------------------
Можно попробовать сделать генератор с использованием внешних элементов.Внешний будет RS триггер.Внутри будут использованы: 1) блок генератора , 2 блок скоростного счетчика в режиме линии задержки.Для блока генератора будет задействован выход D9, для блока скоростного счетчика - вход D2 , выход D3.Выход D9 соединяем с D2 . На выходе D3 получаем импульс . задержанный относительно D9.Далее импульс с D9 подаем на вход S внешнего триггера. А с выхода D3 подаем на вход R внешнего триггера.Для управления нужно будет два переменных резистора.Один регулирует частоту, другой задержку импульса и в итоге скважность .
Последний раз редактировалось
DerAlex 22.06.2016{, 03:32}, всего редактировалось 1 раз.
аврора