ШИМ 10 БИТ с изменяемым периодом
Блоки Позволяют увеличить дискретизацию ШИМ с 255 до 1024, а так же представяет возможность регулировать период (Частоту) ШИМ.
Т1 и Т3 в названии означают какой аппаратный таймер используется, Т3 есть только в ArduinoLeonardo ArduinoMega,
Возможно использовать для следующих пинов
| Плата | Т1 | Т3 |
|---|---|---|
| Arduino Uno | 9, 10 | |
| ArduinoLeonardo | 9, 10, 11 | 5 |
| ArduinoMega | 11, 12, 13 | 2, 3, 5 |
Arduino Uno — означает все платы на Atmega 168/328 (UNO, Nano, MINI Pro, Pro mini, LilyPad)
ArduinoLeonardo — означает все платы на ATmega32u (Micro, Leonardo)
CONST — период выставляется при настройки блока и не может изменятся в процессе исполнения программы.
REG — может изменятся в процессе исполнения программы.
. Возможны конфликты с блоками где используется Timer1 (Timer3), из известных мне Rremote, Servo.
Вложения
Автор публикации
Сергей Глушенко
3 комментария к “ШИМ 10 БИТ с изменяемым периодом”
Для двух ШИМов с разной частотой, берёшь два блока «ШИМ 10 БИТ», выводишь их на плату, и у каждого на отводе «период» задаёшь свою константу времени периода, она же частота. Любые два входа из PWM, соединяешь параллельно, например PWM1 первого блока, и PWM1 второго блока, и пользуешь!
По части включения и отключения блока, если у блока на используемом входе PWM, значение «0», то и на выходе так же будет значение «0». Если нет возможности обнулять числовое значение «integer» на входе PWM блока «ШИМ 10 БИТ», то можно обнулять значение ШИМа, добавив на вход PWM блок «SWITCH». Этот блок управляется командой «boolean», (включил — выключил), а пропускает через себя числовые значения «integer» для управления ШИМом от 0 до 1023.
Здравствуйте! Как использовать этот блок если мне нужно 2 шима с разной частотой? не могли бы Вы мне помочь с решением столь пустяковой задачки?
А как его включить и выключить?
Наверно нужен вход EN.
Оставьте комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Мультиприбор — GM328 для проверки радиоэлементов
Мультиметр-Частотомер-Генератор GM328 для проверки транзисторов, диодов, конденсаторов, индуктивности, сопротивлений…, а также для генерирования, измерения частоты сигнала…

Кроме функций мультиметра Mega328 автоматически определять практически любой подключаемый радиоэлемент, измерять его характеристики он также способен генерировать и измерять частоту сигнала.
Все отображается на цветном 160 х 128 ЖК-дисплее.
Способности мультиметра:
Отображаемое значение:
Технические характеристики:
На приборе установлен круговой переключатель с кнопкой (энкодер), с её помощью можно управлять тестером.
После запуска тестера нажмите кнопку и удерживайте, откроется меню :
Режим «Транзистор Тест»
В режиме «Транзистор Тест» можно определить тип и расположение выводов биполярного или полевого транзистора, диода, измерить проводимость биполярного транзистора, а также его коэффициент усиления. При этом несложно подобрать пару выходных транзисторов для усилителей по одинаковому коэффициенту усиления.
У диодов прибор измеряет падение напряжения и ёмкость P-N перехода, по этому можно сразу определить тип диода.
При проверке электролитического конденсатора, его следует сначала разрядить, в противном случае прибор можно вывести из строя!
Принципиальная схема мультиприбора GM-328
Некоторые ключевые узлы схемы:
Схема довольно простая. Ответственный узел собран на шести резисторах R1-6 — от точности этих резисторов зависит полученная точность прибора.
Узел формирования опорного напряжения собран на регулируемом стабилитроне TL431 и резисторе R15.
Узел управления питанием собран на транзисторах T1-3.
Схема сделана таким образом, что после нажатия на кнопку поступает питание на микроконтроллер, дальше он сам «удерживает» питание включенным и может сам себе его отключить при необходимости.
Чтобы база Т2 не «висела» в воздухе, лучше её соединить с эмиттером сопротивлением 100 — 300 кОм. Бывают случаи из за этого транзистор пробивает.
Стабилизатор питания 5В на IC2.
Генератор на кварцевом резонатор
Включение и калибровка
Для включения прибора надо нажать на ручку энкодера. после этого на процессор пойдет питание и одновременно он выдаст команду на узел управления питанием и будет сам удерживать его включенным.
Для начала прибор выдает на экран напряжение батареи и пытается перейти в режим проверки компонента.
Так как ничего не подключено, то он сообщает: «элемент отсутствует или поврежден».
Прибор не откалиброван и после этого выдает соответствующее сообщение:
Для калибровки необходимо замкнуть все три контакта панели (в нашем случае средний и два из левой и правой тройки) и включить прибор.
После сообщения — isolate probe следует убрать перемычку и оставить контакты свободными.
Затем, после соответствующего уведомления надо будет установить конденсатор ( в комплекте) на клеммы 1 и 3.
Калибровка
1.Заходим в меню, подержав кнопку включения пару секунд и выбрал режим Selftest.
Переход в меню — длительное удержание кнопки энкодера.
Перемещение по меню — вращение энкодера.
Выбор параметра или режима — короткое нажатие на кнопку энкодера.
2. Прибор выдает сообщение — «закоротите контакты». Для этого нужно соединить все три контакта вместе.
3. Прибор производит измерение сопротивления перемычки. После того, как закончена калибровка выйдет сообщение: «уберите перемычку».
4. Убираем перемычку, прибор продолжает ещё измерения уже без перемычки.
На этом этапе необходимо подключить к клеммам 1 и 3 конденсатор из комплекта (можно использовать и другой).
5. После установки конденсатора прибор продолжает измерения, во время всего процесса калибровки кнопку энкодера нажимать не надо, все происходит в автоматическом режиме.
Все! Калибровка успешно завершена!
Видеообзор с youtube
Купить данный прибор можно в Китае на сайтах AliExpress, Ebay, Gearbest и т.п.,
ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ
П О П У Л Я Р Н О Е:
Применение третье – ресивер для разрежения в устройстве для замены масла в двигателе автомобиля

Изготовим из неё маслоотсос – устройство для замены масла в двигателе автомобиля, а также в других агрегатах, через отверстие для масляного щупа или маслозаливные пробки.

Как выбрать бесшумный кондиционер (сплит систему)?

Этим вопросом задаются многие из нас при предварительном планировании ремонта в квартире ещё перед покупкой кондиционера.
Обзор тестера компонентов M328
Внутри находится антистатический пакет заботливо хранящий конструктор тестера. Какая либо мягкая упаковка отсутствует.
Все детали китайцы заботливо разложили по пакетикам, а дисплей обернули пупырчатым пакетом, уложив его перед этим в отдельный антистатический пакет (МК, правда, он воткнули в очень даже статический пенопласт). Все выводы ровные, почта обошлась с посылкой не очень сурово. Кстати, какой либо инструкции или схемы в комплекте не было (найти ее удалось на алиэкспрес, в описании к аналогичному конструктору. Прилагаю в конце статьи).
Плата устройства довольно высокого качества. Маска нанесена ровно, шелкография качественная. В общем никаких нареканий нет.
Приступим к пайке. Первыми в дело пошли резисторы. Номинал каждого элемента на плате подписан, благодаря этому паять очень легко и удобно, не надо каждый раз заглядывать в схему. В бонус к этому все элементы выводные, так что спаять такой конструктор сможет даже начинающий радиолюбитель без большого опыта пайки.
Резисторы запаяны, приступаем к содержимому следующего пакетика. Там оказались конденсаторы и кварц.
Далее впаиваем транзисторы и TL431.
Ну и напоследок запаиваем разъемы, энкодер и панельку под микроконтроллер.
Так же не забываем про дисплей. Гребенка паяется между 5 и 12 выводами, как указано на плате тестера.
Собираем все вместе, прикручиваем дисплей к стойкам. Теперь можно подать питание. На это действие прибор никак не реагирует, кроме этого, в выключенном состоянии потребления тока нет, совсем. Это возможно благодаря хитрой реализации схемы питания (взята из инструкции на тестер).
Жмем на энкодер и наслаждаемся работой прибора.
При первом включении будет выведено сообщение (его, к сожалению, не заснял), что прибор нуждается в калибровке и неплохо было бы замкнуть все 3 вывода измерительного разъема, после чего следовать дальнейшим инструкциям на дисплее. При этом режим тестирования будет предлагаться всякий раз, когда девайс понимает, что все входы у него закорочены. Длится калибровка секунд 10. После проведения калибровки, при включении, прибор сразу будет переходить в режим измерения. В этом режиме МК сначала измеряет напряжение на батарее и напряжение питания после стабилизатора, о чем и информирует соответствующими надписями на дисплее. Далее производится само тестирование компонента, вставленного в разъем. Если же таковой не обнаруживается, тестер возмутится и примерно через 5 секунд отключится. Время с момента включения до отображения результата составляет от 2 до 5 секунд, в зависимости от элемента. Дольше всего идет тестирование конденсаторов.
Выход из режима измерения осуществляется удержанием нажатого энкодера в течении пары секунд. После чего попадаем в меню, которое содержит следующие пункты:
Почти сразу обнаружилась небольшая недоработка прошивки. Часто, после выхода из какого-либо раздела обратно в меню, теряется последовательность переключения пунктов, которые начинают переключаться хаотично. Тоже самое наблюдается при выборе частоты встроенного генератора.
— Начнем по порядку. Первый и основной режим работы скрывается под пунктом Transistor (именно он запускается при включении). При выборе данного пункта, прибор начинает измерение того, что ему установили в разъем. Начинается все с замера напряжения питания. Вся процедура измерения занимает около 5 секунд. По окончанию, на дисплеи выводится вердикт:
Повторное измерение запускается по нажатию на энкодер. Оно и понятно, незачем непрерывно измерять параметры одного и того же компонента. Если же ничего не нажимать, через 28 секунд тестер выключится. Подключение компонента к прибору можно выполнить тремя способами: через zip панельку, через площадки на плате (для SMD), либо подпаяв какой-либо свой разъем или щупы к контактным площадкам TP1, TP2, TP3.
Измерять можно практически все, что угодно. Это полупроводники (диоды, транзисторы, тиристоры, симисторы), сопротивления, индуктивности и емкости. Заявлены следующие характеристики:
Начнем с транзисторов. Под руку попались 2SC1953, IRF740 и КП303. Тестер легко справляется с поставленной задачей.
Диоды и симисторы так же не вызвали затруднений.
Пробитый транзистор тестер посчитал за два сопротивления.
Далее проведем измерения «рассыпухи». Показания я буду сравнивать с профессиональным LCR метром Instek LCR-819. Для удобства восприятия свел измерения в таблицы. Первыми в бой пошли резисторы.
| Номинал резистора | Instek LCR-819 | M328 |
| 51.1 Ω | 51.4 Ω | 51.1 Ω |
| 68 Ω | 67.6 Ω | 67.3 Ω |
| 2.61 K | 2.6 K | 2.61 K |
| 4.3K | 4.27 K | 4.29 K |
| 8.2 K | 8.23 K | 8.27 K |
| 10 K | 10.0 K | 10.1 K |
| 33 K | 32.9 K | 32.9 K |
| 47 K | 46.5 K | 46.0 K |
Честно говоря, точность меня приятно удивила. Теперь проверим на идуктивностях:
| Номинал индуктивности | Instek LCR-819 | M328 |
| 22 мкГн | 0.02 мГн | 0.02 мГн |
| 50 мкГн | 0.05 мГн | 0.05 мГн |
| 220 мкГн | 0.22 мГн | 0.22 мГн |
| 470 мкГн | 0.49 мГн | 0.47 мГн |
| 3.5 мГн | 3.52 мГн | 3.55 мГн |
| 5 мкГн | 4.9 мГн | 3.1 мГн |
| 6.5 мГн | 6.51 мГн | 6.41 мГн |
В данном случае о точности судить довольно трудно, т.к. все результаты прибор показывает в миллигенри, обрезая тем самым единицы микрогенри. Можно лишь сказать, что в принципе неплохо. Сложности вызвала лишь катушка на 5 мГн, тестер сильно занизил показания. Возможно сказалось высокое сопротивление данной катушки, около 44 Ом. (катушка не очень высокого качества).
Остаются лишь конденсаторы (в скобках указано значение ESR, данная величина начинает измеряться от 100 нФ):
| Номинал емкости | Instek LCR-819 | M328 |
| Пленочные | ||
| 1 нФ | 894 пФ | 886 пФ |
| 100 нФ | 103 нФ | 101 нФ |
| 220 нФ | 213 нФ | 212 нФ |
| 470 нФ | 458 нФ | 462 нФ |
| 680 нФ | 691 нФ | 693 нФ |
| 1 мкФ | 958 нФ | 957 нФ |
| Электролиты | ||
| 1 мкФ | 0.998 мкФ (22.5) | 0.975 мкФ (13) |
| 47 мкФ | 42.9 мкФ (0.78) | 44.71 мкФ (0.62) |
| 100 мкФ | 94.9 мкФ (1.1) | 98.72 мкФ (0.96) |
| 220 мкФ | 216.4 мкФ (0.51) | 222.9 мкФ (0.40) |
| 470 мкФ | 399.8 мкФ (0.29) | 416.2 мкФ (0.23) |
| 2200 мкФ | 2516 мкФ (0.06) | 2747 мкФ (0.06) |
| 4700 мкФ | 4324 мкФ (0.03) | 4777 мкФ (0.02) |
А вот тут уже все на так радужно, при этом неэлектролиты измерены довольно точно, а вот с электролитами как-то хуже. При этом чем выше емкость, тем больше расхождение в измерении емкости между двумя приборами. Показания ESR практически равны.
— Следующий режим Frequency, проще говоря частотомер. Для измерения частоты на плате есть специальный вход F-IN.
Сначала просто протестировал работу, подав 1 КГц с осциллографа. Частоту прибор измерил точно.
Прибор умеет как измерять частоту, так и генерировать ее. Для этого служит режим f-Generator. На выбор доступен список частот:
| 1000 мГц | 10 Гц | 50 Гц | 100 Гц |
| 250 Гц | 439.9956 Гц | 441.989 Гц | 443.017 Гц |
| 1 КГц | 2.5 КГц | 5 КГц | 10 КГц |
| 25 КГц | 50 КГц | 100 КГц | 153.8462 КГц |
| 250 КГц | 500 КГц | 1000 КГц | 2000 КГц |
Задать свою частоту вручную невозможно. Сигнал выдается на ножки TP2:TP3. Работа генератора проверена осциллографом Rigol DS1102E. Как видно, работает довольно хорошо. Завал фронтов вполне логичен, емкость цепей и щупа ненулевая.
Помимо меандра прибор умеет выдавать ШИМ сигнал, функция прячется в разделе 10-bit PWM. Снимать сигнал необходимо с ножек TP1:TP3.
Скважность задается вращением энкодера. Каждое кратковременное нажатие так же прибавляет 1%. Диапазон значений 0
99% Значения на дисплее вполне соответствует реальности. Частота ШИМ около 7.8 КГц., амплитуда 5В.
— Режим rotary encoder выдает импульсы, имитирующие вращение энкодера. не особенно интересный режим.
— А вот режим C+ESR@TP1:3 гораздо интереснее. Служит для измерения емкости и ESR в реальном времени без каких-либо нажатий кнопок. Название намекает, что подключаться следует к выводам TP1:3. Режим полезен, когда надо провести много измерений подряд. Однако показания немного отличаются от тех, что сделаны в режиме Transistor. Этот же конденсатор показывал емкость в 98.72 мкФ с ESR 0.96. Минимальная емкость для данного режима 1 мкФ. Меньшую он просто не показывает.
— Нажатие на пункт Selftest переводит тестер в режим калибровки. Процедура стандартная, потребуется замкнуть 3 измерительных вывода между собой и следовать дальнейшим указаниям.
— Режим Contrast служит для настройки контрастности дисплея.
— Ну а режим Show data показывает версию прошивки, калибровочные коэффициенты и всю графику, которая содержится в памяти МК.
Замеры потребляемого тока показали, что прибор довольно прожорлив. Средний ток составил 22.5 мА. В режиме Transistor ток кратковременно поднимается до 25 мА. Самым прожорливым оказался режим rotery encoder с током 27.4 мА. Учитывая питание тестера от «Кроны», которая обладает невысокой емкостью, следует задуматься о сетевом БП. Либо организовать питание от литиевых АКБ (китайцы продают версию прибора с питанием от АКБ формата 18650). Прибор сохраняет работоспособность в диапазоне напряжений 5.5
Ну что, время подводить итоги
P.S. Если нужны еще какие-то тесты данного прибора, отписывайтесь в комментариях. Думаю, смогу их провести.
mikroPascal for AVR. Урок 7. Аппаратный ШИМ
Практически в каждом своем проекте, вне зависимости от его сложности и предназначения, радиолюбители используют ШИМ. Ниже информация для тех, кто еще не встречался с такой аббревиатурой. Если же вы уже знаете что это такое, то смело можете пропускать следующий абзац.

Рис 1.1. Пример ШИМ.
В микроконтроллерах AVR ШИМ организован аппаратно. Забегая вперед, скажу, что при желании его можно сделать и программно, использовав прерывания. Но это тема следующего урока.
Подведем промежуточные итоги: мы знаем что в МК фирмы Atmel есть аппаратный ШИМ (зачастую не один, а несколько), а так же знаем, что собственно он собой представляет. Но как им управлять?
Оказывается все довольно просто. Для управления ШИМом в mikroPascal есть специальные процедуры, с помощью которых можно инициализировать ШИМ, запустить/остановить и задать длительность импульсов. Далее, предлагаю вашему вниманию простой пример, в котором мы просто запустим ШИМ с заданной длительностью импульса и частотой.
Теперь немного о самих функциях инициализации.
Для PWM2 отличий мало:
Отсутствует только выбор таймера. Что касается выбора параметров, то для этого нужно открыть help. Там все неплохо расписано, хоть и на английском (в статье я это приводить не буду, уж больно много места это займет).
Теперь можно посмотреть, что получилось в итоге. Для этого запускаем Proteus, выбираем МК.. ну и так далее. Вот результат:
Но согласитесь, довольно редко требуется чтобы скважность ШИМ была неизменной. Ведь практически всегда нужно изменять яркость светодиода и т.д. во время выполнения программы. Так что немного дополним первый пример.
Но можно еще немного усложнить программу. Например, добавим выключение ШИМа через 3с после старта.
Этот кусочек кода вставьте перед бесконечным циклом. И вот результат:
Использование библиотек, конечно удобно. Но в любом случае, необходимо уметь работать с регистрами напрямую, что бы не зависеть от других разработчиков (которые как раз и пишут эти библиотеки).
Так как мы используем в качестве «наглядного пособия» микроконтроллер ATmega8, то у ШИМ тут относятся следующие регистры: OCR1AL, OCR1AH, OCR1BL, OCR1BH, OCR2, TCCR1A, TCCR1B, TCCR2. Регистры OCRx служат для записи значения, до которого будет считать таймер, и соответственно это определяют длительность импульса на выходе. Регистры TCCRx служат для настройки режимов ШИМ, настройки таймеров и их предделителей.
В прикрепленном файле TCCR.rar (скачать в конце статьи) привожу «расшифровку» вышеупомянутых регистров
Зададим такие же параметры ШИМ как и в первом примере.
Начнем с TCCR2. Для этого нам нужно:
Должно получиться так: 01101010 (нулевой бит справа).
Далее конфигурируем регистры TCCR1A и TCCR1B.
Ниже представлен полный код:
Как уже упоминалось, для изменения длительности импульсов на выходе достаточно просто записать другое число в регистры OCRx. Не забывайте, регистры OCR1AH и OCR1AL представляют собой «половинки» одного 16-ти битного регистра. Можно сразу «закрепить» знания, дописав немного кода:
Объявите переменную i (byte) и вставьте код в бесконечный цикл. После запуска симуляции в Proteus, можно наблюдать такую картину:
На этой ноте я заканчиваю. Надеюсь, что вы нашли в этой статье что-то полезное для себя. Спасибо за внимание!





















