Arduino. Регулировка частоты ШИМ настройками таймера - счетчика
Понадобилось мне недавно установить частоту ШИМ у Arduino на 20кГц, с возможностью менять скважность (отношение периода повторения импульсов к длительности импульса). Хотелось это сделать без использования библиотек - настройками таймера счетчика. Убив на это два дня, перелопатив кучу форумов, перепробовав кучу вариантов(хз, это я такой тупой или выложены нерабочие коды) удалось найти на ютубе рабочий вариант на канале: "микроконтроллеры с нуля!" в видео с номером 26. Решил поделиться этим на Пикабу, вдруг кому пригодится.
Сам код:
cli(); //запрет прерываний
//режим вывода не инверсный
TCCR1A|=(1<<COM1A1); //1
TCCR1A&=~(1<<COM1A0); //0
//режим шим c точной фазой и частотой
TCCR1A&=~(1<<WGM10); //0
TCCR1A&=~(1<<WGM11); //0
TCCR1B&=~(1<<WGM12); //0
TCCR1B|=(1<<WGM13); //1
//предделитель 8
TCCR1B|=(1<<CS11); //1
TCCR1B&=~((1<<CS10)|(1<<CS12)); //0 0
OCR1A =25; // 50% длительность импульса
ICR1=50; // 20кГц
sei(); //разрешение прерываний
Код нужно добавить в Setup. Настраивается таймер - счетчик 1, только канал А, соответственно нужный сигнал будет только на пине D9. Частота задается значением в регистре ICR1. Ниже представлены протестированные значения и соответствующая им частота.
ICR1=10; // 100 кГц
ICR1=20; // 50 кГц
ICR1=30; // 33 кГц
ICR1=40; // 25 кГц
ICR1=50; // 20 кГц
ICR1=60; // 16,6 кГц
ICR1=70; // 14,3 кГц
ICR1=80; // 12,5 кГц
ICR1=90; // 11,1 кГц
ICR1=100; // 10 кГц
Если изменить предделитель, то частоты будут другие, например при предделителе 64 и ICR1=50, частота будет 2,5 кГц.
Скважность регулируется значением в регистре OCR1A, она зависит от значения в ICR1, таким образом, что максимальное значение OCR1A равно значению в ICR1, если они равны получится постоянный сигнал. При значении OCR1A = ICR1 / 2 получится меандр (длительность импульса и длительность паузы между импульсами равны). Еще пример: при ICR1 = 50 (20кГц) и OCR1A = 10, длительность импульса будет 20%.
В loop можно менять значение OCR1A и соответственно будет меняться скважность.
Протестировано в Proteus, затем было выполнено на Arduino Nano, все работает.
P.S. Если кто - то знает еще рабочие способы изменения частоты шим и скважности, особенно на таймере - счетчике 2 буду благодарен за информацию.
UPD: Еще один вариант
Gainward GTX 1060 3 Gb
Всем привет! Не знал какое имя придумать заголовку, по этому назвал как предмет ремонта. Собственно, вопрос:
Плата один-в-один как у Palit, поднимаются все питания кроме pci express (1 вольт), видеопамяти (1.5 вольт) и ГПУ (0.8 вольт).
Что было сделано: заменен uP1728 - не помогло. Все напряжения есть кроме сигнала EN
EN выдаёт основной ШИМ NCP81174 - его замена тоже не помогла
Путём прозвонки вышел на логику (название элемента, к сожалению, не знаю - буду признателен если кто подскажет). VCC 3.3 есть, IN A по нулям, IN B около 2х вольт (то же что на линии 1.8), GND звонится. Т.к. IN A нет, то на OUT Y тоже тишина, а должна быть единица (логика же).
Если замкнуть OUT и 3.3 - есть EN на шим PCI, но 1 вольта нет( Питание ГПУ так же появляется, начинает греться.
Подключал лабораторник - потребления нет( Ребят, куда копать? Третий вечер и часть ночи сижу с этой картой - уже не знаю куда рыть...
Заранее всем спасибо!
Прошу помощи в опознании
Прошу помощи в опознании данной "микрушки". Предположительно это ШИМ. На данной микросхема "короткое" между 2-й и 3-й ногой. 2-я нога это общий, третья судя по всему 3,3 Вольта, 4-я 5 В. Остальное не могу сказать. Плата от камеры Aqara Smart Camera G2 Gateway
Ноутбук HP DV6-3124er выключается. Старая типовуха
Когда-то топовый ноутбук HP DV6-3124er с процессором Intel Core i7-720QM попал ко мне с жалобой, что выключается самопроизвольно и иногда не включается.
Ноутбук построен на платформе DA0LX6MB6H1.
Болячки этой и аналогичных платформ давно известны. Из опыта, в таком поведении у них виноват BGA ШИМ-контроллер Volterra VT358FC.
Микросхема реагирует на прогрев, после чего ноутбук работает нормально некоторое время.
Без лишних раздумий меняю контроллер на новый.
Теперь чищу систему охлаждения, собираю и проверяю ноутбук под длительной нагрузкой
Прошу помощи в определении шим
Прошу помощи в определении маркировки шим контроллера. Стоит в бп k30354 принтера canon mg6450. 5,6,7,8 нога соединены и идут одной дорожкой на транс. Спасибо заранее всем за ответы.
Помогите распознать деталь (ШИМ)
Всем доброго времени суток, прошу помощи в поиске маркировки данной мс, гугл ничего путного не может сказать...
Неисправен холодильник, на фото его блок управления, по первичке половина элементов дохлая, глянем ближе...
Шимку разнесло в пух и прах, и ушла она в мир иной с доброй половиной радиоэлементов...
Взываю к силе Пикабу, ткните носом, в какую сторону копать то...
Фото моё и значит тэг тоже - моё)))
В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Реклама АО «Кордиант», ИНН 7601001509
Вся правда о ваших смартфонах о проблемах которые утаивают их производители.
Сегодня речь пойдет о смартфонах на которых установлена матрица amoled.Производители скрывают о том что на данных матрицах устанавливают матрицу низшего качество которые выгорают у кого кто часто их использует через пол года, а кто пользуется реже год полтора.Совсем недавно я просматривал блогера Алексея Игнатьева недавно на свои обзоры он купил шим прибор так вот в норме шим должен быть маленьким,но то что он показал этим прибором на флагманах Самсунг и Айфон было шоком для всех, а это запредельные цифры прибора.Как мы знаем шим влияет на глаза,а ядовитые цвета амоледов те кто читает новости со своих смартфонов наверняка замечают что глаза устают, слезятся,да и у некоторых возникают рези.Минусуйте меня сколько угодно но почитайте комментарии что такой тип экрана многие люди не любят именно из за этого.Я советую использовать матрицы ips тем кто хочет сохранить зрение и очень обидно что сейчас почти все смартфоны оснащены амолед матрицей.Проверьте может и у вас выгорел экран? Для этого выкрутите яркость на полную и выберите белый фон.Пишите в комментариях за какой тип экрана вы за ips или amoled.