Генератор сигналов произвольной формы на микроконтроллере AVR
Библиографическое описание:
Литовченко, А. А. Генератор сигналов произвольной формы на микроконтроллере AVR / А. А. Литовченко, Ю. А. Ерусалимский. — Текст : непосредственный // Молодой ученый. — 2016. — № 21 (125). — С. 173-177. — URL: https://moluch.ru/archive/125/34400/ (дата обращения: 31.01.2021).
В статье описаны этапы разработки и исследования генератора сигналов произвольной формы для исследовательских целей на МК типа AVR. Проведена разработка принципиальной схемы генератора и программного обеспечения для его работы, изготовлен макет генератора и проведены его экспериментальные исследования.
Ключевые слова: AVR, генерация сигнала
На настоящий момент сложно обнаружить какое-либо оборудование без использования микроконтроллеров (МК), являющихся вычислительной микросхемой, управляющей электронными устройствами.
Разработка структурной схемы
Сигнал формируется микроконтроллером путём выполнения алгоритма, записанного в его ПЗУ. На выходе МК выдаёт двоичный код, который необходимо преобразовать в напряжение. Для выполнения данной задачи применяется цифро-аналоговый преобразователь (ЦАП) с последующим использованием фильтра нижних частот (ФНЧ) для подавления ступенек на сигнале. Из-за большой частоты, амплитуда сигнала очень маленькая, поэтому для усиления сигнала применяется усилитель. Для выбора формы сигнала, который будет генерировать МК, используется блок управления, так же, как и индикация выбора сигнала для визуализации выбранной формы сигнала.
Структурная схема генератора сигналов изображена на рисунке 1.Рис. 1. Структурная схема генератора сигналов
Выбор элементов принципиальной схемы
Главной частью генератора является МК ATMEGA328P-MU в корпусе MLF-32. Микроконтроллер уже распаян на платформе Arduino, что существенно упрощает монтаж и наладку МК и позволяет уделить больше внимания разработке самого генератора.
Основные параметры МК ATMEGA328P-MU описаны в таблице 1.
Таблица 1
Основные параметры МК ATMEGA328P-MU
ЦПУ: Ядро | AVR |
ЦПУ:F, МГц | от 0 до 20 |
Память:Flash, КБайт | 32 |
Память:RAM, КБайт | 2 |
Память:EEPROM, КБайт | 1 |
I/O (макс. ), шт. | 23 |
Таймеры:8-бит, шт. | 2 |
Таймеры:16-бит, шт. | 1 |
Таймеры:Каналов ШИМ, шт. | 6 |
Таймеры:RTC | Да |
Интерфейсы:UART, шт. | 1 |
Интерфейсы:SPI, шт. | 1 |
Интерфейсы:I2C, шт. | 1 |
Аналоговые входы:Разрядов АЦП, бит | 10 |
Аналоговые входы:Каналов АЦП, шт. | 8 |
Аналоговые входы:Быстродействие АЦП, kSPS | 76.9 |
Аналоговые входы:Аналоговый компаратор, шт. | 2 |
VCC, В | от 1. 8 до 5.5 |
ICC, мА | 40 |
TA, °C | от -40 до 85 |
Блок управления состоит из четырёх клавиш выбора и трёх потенциометров. Для выбора сигнала используется соответствующая кнопка. Потенциометры предназначены для регулирования частоты, скважности (ШИМ) и управления усилением, при этом регулировать ШИМ возможно только при генерации прямоугольного сигнала.
Индикация выбора состоит из четырёх светодиодов, причём под каждой кнопкой выбора находится светодиод, сообщающий о выборе генерируемого сигнала.
Цифро-аналоговый преобразователь обеспечивает перевод цифровых данных в соответствующую аналоговую форму. В схеме используется ЦАП взвешивающего типа (делитель Кельвина). Определенному биту двоичного кода ставится в соответствие резистор или источник тока, который подключается в общую точку суммирования.
Принципиальная электрическая схема генератора представлена на рисунке 2.
Рис. 2. Электрическая схема генератора
Разработка программного обеспечения
Для выполнения инструкций, определяющих, как и в каком порядке работать компонентам, подключённым к микроконтроллеру, реализована программа для данного микроконтроллера на языке программирования Arduino. Окно среды разработки с фрагментом программы показано на рисунке 3.Рис. 3. Окно среды разработки Arduino
Исследование генератора
Созданный генератор формирует сигналы прямоугольной, пилообразной, синусоидальной и треугольной формы (рисунки 4–7).
Рис. 4. Сигнал прямоугольной формы
Рис. 5. Сигнал пилообразной формы
Рис. 6. Сигнал синусоидальной формы
Рис. 7. Сигнал треугольной формы
Литература:
- Кравченко А. В. 10 практических устройств AVR-микроконтроллерах. — Книга 2. — СПб.: МК-Экспресс, 2009. — 320 с.
- Соммер У. Программирование микроконтроллерных плат Arduino/Freeduino. — СПб.: БХВ-Петербург, 2012. — 256 с.
- Arduino IDE — установка, настройка и интерфейс. Проверка соединения с платой Arduino // Программирование микроконтроллеров AVR, Atmega, Arduino и др. URL: http://progmk.ru/ (дата обращения: 14.09.2016).
- ATmega328P Overview // Atmel Corporation — Microcontrollers, 32-bit, and touch solutions. URL: http://www.atmel.com/devices/ATMEGA328P.aspx (дата обращения: 02.09.2016).
- From Arduino to a Microcontroller on a Breadboard // Arduino. URL: https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard (дата обращения: 02.09.2016).
Основные термины (генерируются автоматически): AVR, ICC, VCC, блок управления, двоичный код, основной параметр МК, программное обеспечение, структурная схема генератора сигналов, треугольная форма, цифро-аналоговый преобразователь.
Формирователь синусоидального сигнала – Радиодед
Иногда в руки попадают электромоторы переменного тока, однофазные или трехфазные.
Кроме того, случается что они рассчитаны на частоту более 50Гц. Что с ними делать? Выбросить жалко! Почему бы не изготовить мощный источник регулируемого переменного напряжения. Для начала остановимся на однофазном источнике, без всяких «наворотов».Берем микроконтроллер AVR ATtiny13 и делаем, схема очень проста!
В микроконтроллере ATtiny13 всего один 8-ми разрядный таймер, но зато он имеет два выхода ШИМ, а это – то, что нам надо. Но как быть с регулировкой частоты синусоиды? И тут стоит вспомнить, что частота внутреннего тактового генератора микроконтроллера может изменяться в очень широких пределах, примерно в четыре раза, путем изменения содержимого регистра OSCCAL (проверено на опыте).
Схема представлена на рисунке:Кроме контроллера на ней присутствуют еще регулятор частоты и буферные каскады (БК) для управления (например) высоковольтными МОП транзисторами. Вход 2 АЦП контроллера (порт РВ4) используем для измерения напряжения на движке потенциометра, его величина и определяет частоту синусоидального сигнала на выходе.
Программа тоже довольно простая. Синусоида «рисуется» благодаря использованию ШИМа, отрицательная волна – канал А (порт РВ0), положительная– канал В (порт РВ1).
Вычисляем на Excel табличку синуса из 24 значений, для половины периода и программа записывает поочередно эти величины в регистры таймера ATtiny13: положительные полпериода – в регистр OCR0B, отрицательные полпериода – в регистр OCR0A. Дополнительно к этому происходит небольшая перенастройка таймера при переходе от одной фазы колебания к другой. Обновление содержимого вышеуказанных регистров происходит по переполнению счетного регистра TCNT0.
Измеренное АЦП напряжение используется для корректировки содержимого регистра OSCCAL. Обновление OSCCAL осуществляется по прерыванию АЦП. Он регулирует тактовую частоту контроллера и соответственно частоту «рисуемой» синусоиды.
Собираем схему, прошиваем программу, подаем питание – имеем на выходе такую картину:
Желтым цветом нарисована положительная фаза, синим – отрицательная.
По каналу В можно не делать противофазного сигнала, особенно если планируется опторазвязка с силовыми цепями. Но, в некоторых случаях, такое решение желательно.
В следующей статье попробуем реализовать 3-х фазную синусоиду, для трехфазного двигателя.
Автор: Юрий, [email protected]
Просмотров всего: 1 795, сегодня: 6
Генератор сигналов для проверки VGA/SVGA мониторов
В данной статье рассмотрена конструкция генератора для тестирования VGA мониторов, который пригодится как для ремонта, так и для испытания и прогонки после ремонта мониторов.Схема собственно вот
Данная схема предназначена для формирования сигналов горизонтальной и вертикальной синхронизации в различных режимах разрешения. Может применятся для технического обслуживания и ремонта VGA/SVGA мониторов, мультимедийных видео-проекторов.
Режимы работы генератора представлены в таблице
Тут N — это показания на индикаторе.
Основа генератора — микроконтроллер PIC16F84. Все функции реализованы программно. Выводы порта «B» микроконтроллера DD1 (RB2, RB3) используются для подключения кнопок переключения режимов генератора. На выводах RB4 — RB7 формируется сигнал индикации выбранного режима в двоичном формате. Выводы RB0 и RB1 запрограммированы как выходы сигналов синхронизации. Вывод порта RA3 используется для подключения звукового излучателя.На выводах RA0 — RA2 формируются сигналы R/G/B.На элементах R1, C4 выполнен узел внешнего сброса микроконтроллера при включении питания. Переключатели S1-S3 не устанавливались, заменил на перемычки. Кнопками SB1,SB2 выбирается режим работы генератора. Микросхема 74HC164 используется для вывода на семисегментный индикатор. Подбором резисторов R12-R18 можно регулировать яркость индикатора. В эту схему желательно добавить транзисторные ключи( на все выходные сигналы. Опыт показывает, что не у всех мониторов входы H-sync, V-sync TTL. Питать генератор нужно от напряжения 6-7В, это необходимо для формирования определенных уровней выходных сигналов. При нажатии кнопок выбора выходного сигнала, пикает пьезоизлучатель.
Была разработана печатная плата
Все детальки собраны. Разъем для подключения мониторов был выпаян с какой-то древней видеокарты.
Все собрано
И проверено
А вот видео работы генератора
Вот прошивка контроллера
Вот файл печатной платы
Генератор получился очень удобным в работе и компактным.
Генератор импульсов на Attiny 13a (с настройками) 📹
В одном из моих проектов, мне надо было время от времени нажимать на кнопку, тем самым инициировать импульсы на вход устройства. Вначале я понажимал кнопки вручную, но понял, что такая стратегия в наш век и с моими возможностями ну совсем не по мне! Поэтому было решено сделать по-быстрому генератор импульсов, от которого и можно будет брать управляющий сигнал. Сделал я его правда не очень быстро, все из-за своей лени и из-за того, что у меня не было тумблеров, микротумблеров. Пришлось сгонять в магазин. Но все же у меня кое-что получилось, что я и хочу представить вашему вниманию.
Генератор с настройками на микроконтроллере Аттини 13а схема
Собственно сразу было принято решение, что генератор будет на микроконтроллере, по донной простой причине. Это очень компактно, удобно в плане настройки перенастройки, не прожорливо по питанию, да и в целом весьма функционально по возможностям. В закромах были Тиньки 13а купленные на Али по доллару за штуку, с ними и было решено работать.
Дабы расширить настройки генератора, то есть сделать не просто мигалку, а настраиваемую мигалку, с неким диапазоном, как раз и были куплены и внедрены в схему микротумблеры. Через них задаются условия логической 1 или 0 на соответствующих ножках микроконтроллера, и исходя из этих условиях на выходе генерируется своя частота. Взгляните на схему.
Схема нарисована на листочке бумаги и отсканена, но мне кажется туту все понятно. Так вот, на схеме есть табличка. Табличка с обозначением физических ножек и их программным значением. Эти пины можно сопоставить как раз по таблице. То есть при программировании микроконтроллера, надо учитывать, что то, что в программе, не совсем соответствует физическим выводам микросхемы. Чтобы как раз перевести одно в другое и была сделана эта табличка.
Ну, LM7805 понятно, что стабилизирует напряжение и защищает микроконтроллер от скачков. Конденсатор – простейший фильтр по питанию. Резистор 10 кОм стоит, дабы через него обеспечивать логический 0, а 20 Ом чуть ограничивает ток и напряжение для логической 1. Светодиод установлен исключительно для визуального наблюдения за выходным сигналом, что бы была хоть какая-то индикация и возможность контролировать процесс.
Теперь остается обратиться к программной части, то есть посмотреть, что у нас залито в контроллер.
Скетч для генератора импульсов на Attiny 13a (среда Arduino)
Так как на настоящий момент мной освоена только среда Arduino, в которой я пишу скетчи и заливаю через одноименную плату все в Аттиньку, то и скетч в этой же среде. Описывать сам скетч, особого смысла нет. Как я уже и сказал, есть критерии формирования условий из 3 тумблеров и подачи сигналов на 3 ножки. Контроллер смотрит на критерии и на выходе выдает определенную частоту. Скетч залит для Аттиньки на частоте работы 128 KHz. Осталось сказать, что может скетч не идеален, а также не использовано свойства ШИМ для Аттини, когда частоту можно было бы задавать через analogwrite (ножка, уровень ШИМ). Но в принципе меня на данном этапе все устраивает.
По итого, получился простенький генератор с 7 настройками, где одни из них это режим покоя, – отсутствия чего-либо на выходе вообще.
Применение генератора частоты в жизни
Такое генератор частоты можно применять не только для генерации импульсов, но и для механических поделок. Как-то было дело, мне задавали вопрос о возможности сделать зимнюю удочку с вибрацией, при этом такой, чтобы ее можно было регулировать. Этот генератор очень кстати будет к такому проекту. Останется лишь сформировать импульс с высоким током, через транзистор и найти механическое устройство, приводящее в движение удочку, вибрирующее.
Теперь в видео о том же самом.
Всё о микроконтроллерах AVR
Микроконтроллер — микросхема, предназначенная для управления электронными устройствами.
AVR – это название популярного семейства микроконтроллеров, которое выпускает компания Atmel. Кроме АВР под этим брендом выпускаются микроконтроллеры и других архитектур, например, ARM и i8051.
Какими бывают AVR микроконтроллеры?
Существует три вида микроконтроллеров:
- AVR 8-bit.
- AVR 32-bit.
- AVR xMega
Самым популярным уже более десятка лет является именно 8-битное семейство микроконтроллеров. Многие радиолюбители начинали изучать микроконтроллеры с него. Почти все они познавали мир программируемых контроллеров делая свои простые поделки, вроде светодиодных мигалок, термометров, часов, а также простой автоматики, типа управления освещением и нагревательными приборами.
Микроконтроллеры AVR 8-bit в свою очередь делятся на два популярных семейства:
- Attiny – из названия видно, что младшее (tiny – юный, молодой, младший), в основном имеют от 8 пинов и более. Объём их памяти и функционал обычно скромнее, чем в следующем;
- Atmega – более продвинутые микроконтроллеры, имеют большее количество памяти, выводов и различных функциональных узлов;
Самым мощным подсемейством микроконтроллеров является xMega – эти микроконтроллеры выпускаются в корпусах с огромным количеством пинов, от 44 до 100. Столько необходимо для проектов с большим количеством датчиков и исполнительных механизмов. Кроме того, увеличенный объем памяти и скорость работы позволяют получить высокое быстродействие.
Расшифровка: Пин (англ. pin – иголка, булавка) – это вывод микроконтроллера или как говорят в народе – ножка. Отсюда же слово «распиновка» – т.е. информация о назначении каждой из ножек.
Для чего нужны и на что способны микроконтроллеры?
Микроконтроллеры применяются почти везде! Практически каждое устройство в 21 веке работает на микроконтроллере: измерительные приборы, инструменты, бытовая техника, часы, игрушки, музыкальные шкатулки и открытки, а также многое другое; одно лишь перечисление займет несколько страниц текста.
Разработчик может использовать аналоговый сигнал подовая его на вход микроконтроллера и манипулировать с данными о его значении. Эту работу выполняет аналогово-цифровой преобразователь (АЦП). Данная функция позволяет общаться пользователю с микроконтроллером, а также воспринимать различные параметры окружающего мира с помощью датчиков.
В распространенных AVR-микроконтроллерах, например, Atmega328, который на 2017 году является сердцем многих плат Arduino, но о них позже. Используется 8 канальный АЦП, с разрядностью 10 бит. Это значит вы сможете считать значение с 8 аналоговых датчиков. А к цифровым выводам подключаются цифровые датчики, что может быть очевидным. Однако цифровой сигнал может являться только 1 (единицей) или 0 (нулем), в то время как аналоговый может принимать бесконечное множество значений.
Пояснение:
Разрядность – это величина, которая характеризует качество, точность и чувствительность аналогового входа. Звучит не совсем понятно. Немного практики: 10 битный АЦП, записать аналоговую информацию с порта в 10 битах памяти, иначе говоря плавно изменяющийся цифровой сигнал микроконтроллером распознается как числовое значение от 0 до 1024.
12 битный АЦП видит тот же сигнал, но с более высокой точностью – в виде от 0 до 4096, а это значит, что измеренные значения входного сигнала будут в 4 раза точнее. Чтобы понять откуда взялись 1024 и 4096, просто возведите 2 в степени равную разрядности АЦП (2 в степени 10, для 10 разрядного и т.д.)
Чтобы управлять мощностью нагрузки к вашему распоряжению есть ШИМ-каналы, их можно задействовать, например, для регулировки яркости, температуры, или оборотов двигателя. В том же 328 контроллере их 6.
В общем структура AVR микроконтроллера изображена на схеме:
Все узлы подписаны, но всё же некоторые названия могут быть не столь очевидными. Давайте рассмотрим их обозначения.
- АЛУ – арифметико-логическое устройство. Нужно для выполнения вычислении.
- Регистры общего назначения (РОН) – регистры которые могут принимать данные и хранить их в то время пока микроконтроллер подключен к питанию, после перезагрузки стираются. Служат как временные ячейки для операций с данными.
- Прерывания – что-то вроде события которое возникает по внутренним или внешним воздействиям на микроконтроллер – переполнение таймера, внешнее прерывание с пина МК и т.д.
- JTAG – интерфейс для внутрисхемного программирования без снятия микроконтроллера с платы.
- Flash, ОЗУ, EEPROM – виды памяти – программ, временных рабочих данных, долгосрочного хранения независимая от подачи питания к микроконтроллеру соответственно порядку в названиях.
- Таймеры и счетчики – важнейшие узлы в микроконтроллере, в некоторых моделях их количество может быть до десятка. Нужны для того, чтобы отчитывать количество тактов, соответственно временные отрезки, а счетчики увеличивают свое значение по какому-либо из событий. Их работа и её режим зависят от программы, однако выполняются эти действия аппаратно, т.е. параллельно основному тексту программы, могут вызвать прерывание (по переполнению таймера, как вариант) на любом этапе выполнения кода, на любой его строке.
- A/D (Analog/Digital) – АЦП, его назначение мы уже описали ранее.
- WatchDogTime (Сторожевой таймер) – независимый от микроконтроллера и даже его тактового генератора RC-генератор, который отсчитывает определенный промежуток времени и формирует сигнал сброса МК, если тот работал, и пробуждения – если тот был в режиме сна (энергосбережния). Его работу можно запретить, установив бит WDTE в 0.
Выходы микроконтроллера довольно слабые, имеется в виду то, что ток через них обычно до 20-40 миллиампер, чего хватит для розжига светодиода и LED-индикаторов. Для более мощной нагрузки – необходимы усилители тока или напряжения, например, те же транзисторы.
Что нужно чтобы начать изучение микроконтроллеров?
Для начала нужно приобрести сам микроконтроллер. В роли первого микроконтроллера может быть любой Attiny2313, Attiny85, Atmega328 и другие. Лучше выбирать ту модель, которая описана в уроках, по которым вы будете заниматься.
Следующее что Вам нужно – программатор. Он нужен для загрузки прошивки в память МК, самым дешевым и популярным считается USBASP.
Немногим дороже, но не менее распространенный программатор AVRISP MKII, который можно сделать своими руками – из обычной платы Arduino
Другой вариант – прошивать их через USB-UART переходник, который обычно делается на одном из преобразователей: FT232RL, Ch440, PL2303 и CP2102.
В некоторых случаях для такого преобразователя используют микроконтроллеры AVR с аппаратной поддержкой USB, таких моделей не слишком много. Вот некоторые:
- ATmega8U2;
- ATmega16U2;
- ATmega32U2.
Одно лишь «но» – в память микроконтроллера предварительно нужно загрузить UART бутлоадер. Разумеется, для этого все равно нужен программатор для AVR-микроконтроллеров.
Интересно: Bootloader – это обычная программа для микроконтроллера, только с необычной задачей – после его запуска (подключения к питания) он ожидает какое-то время, что в него могут загрузить прошивку. Преимуществом такого метода – можно прошить любым USB-UART переходником, а они очень дешевы. Недостаток – долго загружается прошивка.
Для работы UART (RS-232) интерфейса в микроконтроллерах AVR выделен целый регистр UDR (UART data register). UCSRA (настройки битов приемопередатчика RX, TX), UCSRB и UCSRС – набор регистров отвечающие за настройки интерфейса в целом.
В чем можно писать программы?
Кроме программатора для написания и загрузки программы нужно IDE – среда для разработки. Можно конечно же писать код в блокноте, пропускать через компиляторы и т.д. Зачем это нужно, когда есть отличные готовые варианты. Пожалуй, один из наиболее сильных – это IAR, однако он платный.
Официальным IDE от Atmel является AVR Studio, которая на 6 версии была переименована в Atmel studio. Она поддерживает все микроконтроллеры AVR (8, 32, xMega), автоматически определяет команды и помогает ввести, подсвечивает правильный синтаксис и многое другое. С её же помощью можно прошивать МК.
Наиболее распространённым является – C AVR, поэтому найдите самоучитель по нему, есть масса русскоязычных вариантов, а один из них – Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих».
Самый простой способ изучить AVR
Купите или сделайте своими руками плату Arduino. Проект ардуино разработан специально для учебных целей. Он насчитывает десятки плат различных формами и количеством контактов. Самое главное в ардуино – это то что вы покупаете не просто микроконтроллера, а полноценную отладочную плату, распаянную на качественной текстолитовой печатной плате, покрытой маской и смонтированными SMD компонентами.
Самые распространенные – это Arduino Nano и Arduino UNO, они по сути своей идентичны, разве что «Нано» меньше примерно в 3 раза чем «Уно».
Несколько фактов:
- Ардуино может программироваться стандартным языком – «C AVR»;
- своим собственным – wiring;
- стандартная среда для разработки – Arduino IDE;
- для соединения с компьютером достаточно лишь подключить USB шнур к гнезду micro-USB на плате ардуино нано, установить драйвера (скорее всего это произойдет автоматически, кроме случаев, когда преобразователь на Ch440, у меня на Win 8.1 драйвера не стали, пришлось скачивать, но это не заняло много времени.) после чего можно заливать ваши «скетчи»;
- «Скетчи» – это название программ для ардуино.
Выводы
Микроконтроллеры станут отличным подспорьем в вашей радиолюбительской практике, что позволит вам открыть для себя мир цифровой электроники, конструировать свои измерительные приборы и средства бытовой автоматики.
Ранее ЭлектроВести писали, что в аэропорту «Борисполь» запустили первое электрозарядное устройство на два паркоместа. Об этом сообщил на своей странице в Facebook заместитель гендиректора аэропорта Георгий Зубко.
По материалам: electrik.info.
Все своими руками Тактовый генератор для PIC контроллеров
Опубликовал admin | Дата 8 октября, 2019Внешний тактовый генератор для PIC контроллеров
В данной статье рассматривается схема внешнего кварцевого генератора для синхронизации работы контроллеров семейства PIC. Основой генератора является микросхема жесткой логики ЛА3 серии К1533 или ее зарубежных аналогов 74АС00, 74AS00 и т.д. Схема генератора показана на рисунке 1.
Вариантов схем генераторов на микросхемах данного типа много. Два варианта схем внешнего тактового генератора представлены в документации микроконтроллера PIC16F628A.
Для моих нужд необходим генератор с двумя выходами, один для контроля частоты тактового генератора, другой – непосредственного для тактирования PIC (будущий термостат), поэтому я анализировал схему на рисунке 1. Вы можете собрать генератор по любой другой схеме, имеющей подстройку частоты. В схеме на рисунке 1 частоту можно изменять, подбирая емкость конденсатора С1. При макетировании и настройке схемы оказалось, что лучшие результаты подстройки частоты генератора получаются, если конденсатор С1 заменить перемычкой, а последовательно кварцу поставить триммер 6÷25пФ, для кварца 4 мГц. С китайским кварцем на 4мГц свободно получалась 4000000Гц. Данная схема была опробована с кварцами на частоты – 4, 8, 10, 12, 16, 20 и даже на 22,5Мгц. На всех частотах контроллер с пробной программой нормально работал.
Для чего нужен такой генератор? Для того, что бы сделать частотомер с параметрами близкими к профессиональным приборам, точные часы, измерители параметров импульсов и т.д. Для этого и необходим термостатированный кварцевый генератор.
В Сети много схем различных частотомеров реализованных на микроконтроллерах с различными тактирующими частотами. Но не во всех публикациях выложены исходные файлы, где можно было бы в битах конфигурации изменить тактирование контроллера с внутреннего генератора на внешний. Да, и радиолюбителям не знакомым с программированием это сделать будет порой проблематично. Такая проблема была и у меня, когда я и понятия не имел, что такое это программирование, хотя она решается очень просто. Я буду приводить примеры из документов на микроконтроллер PIC16F628A, т.к. они переведены на русский язык. И так. Микроконтроллеры PIC16F62X могут работать в одном из восьми режимов тактового генератора. Нам интересен режим с внешним тактом.
Но в файле P16F628A.INC бит конфигурации внешнего тактового генератора обозначен по-другому, как _EXTCLK_OSC.
Теперь, поменяв в битах конфигурации _XT_OSC на _EXTCLK_OSC, вы смело можете вместо внутреннего генератора использовать внешний, подав его сигнал на вывод OSC1, это вывод 16 для контроллера P16F628A, или, например вывод 9, для PIC1687X. Но есть еще один способ внешнего тактирования. В документации есть строки:
Подчеркнутые красным… . Это говорит о том, что можно не менять конфигурацию внутреннего тактового генератора контроллера в исходном файле программы, а подавать внешние тактирующие импульсы при отключенном кварце непосредственно на микроконтроллер. Но в этом случае такт подается не на вывод OSC1, а на OSC2. Это вывод 15 применительно к PIC16F628A. Все эксперименты я проводил с этим контроллером. Осталось за малым, разработать или приобрести готовый термостатированный генератор на соответствующую частоту. Информации на эту тему можно найти в Интернете много. Вот, например, публикация в журнале «Радио» за 1981 год номер 9, стр. 66. Николай Тюлиев, «Термостатированный кварцевый генератор». Журнал Радио 2005 г. № 10 — Страница 43 И. Нечаев «Малогабаритный термостат». Но не забывайте, что для высокостабильного генератора c высокими электрическими параметрами нужен и соответствующего качества кварц. Все компоненты, входящие в состав схемы, лучше заранее про термоциклировать. У нас на производстве существовала входная приемка. В нее ведомее была и стадия входного термоциклирования. Осуществлялось шесть циклов по два часа +60°С и -60°С. Кстати, вовремя данной процедуры некий процент некачественных деталей отсеивался сразу. Ну, в домашних условиях жесткость этих условий можно и снизить. Для тепла можно использовать духовку, а для мороза – морозильную камеру. Генераторы, собранные из таких компонентов, намного быстрее входят в режим стабильности показаний. К профессиональному генератору должно быть профессиональное отношение. Вообще я уже лет двадцать, как храню все радиодетали в герметичной таре (пластиковые пищевые контейнеры) сперва на балконе, а теперь на чердаке дома, можно сказать на улице. У меня получилось природное термоциклирование, от холодрыги до жарищи. Следующая статья будет посвящена такому генератору с термостатом на микроконтроллере PIC12F675 и датчике температуры DS18B20 – «Генератор кварцевый термостатированный».
Удачи. К.В.Ю.
Скачать “Тактовый генератор для PIC контроллеров” Внешний-тактовый-генератор-для-PIC-контроллеров.rar – Загружено 133 раза – 172 КБ
Обсудить эту статью на – форуме “Радиоэлектроника, вопросы и ответы”.
Просмотров:551
Генератор испытательных телевизионных сигналов своими руками. Генератор ТВ сигнала на микроконтроллере – Телевизионная техника
Приветствую всех!Уважаемые посетители сайта, хочу предложить Вам схему и печатную плату ГТИС (генератора телевизионных испытательных сигналов),который я сделал год назад по просьбе товарища.Была поставлена задача разработать печатную плату,которая должна
вмещаться в корпус “Ranitsa RP-201”.(часы – радиоприемник).Т.к. я в свое
время уже собирал универсальный генератор испытательных телевизионных сигналов (версия 2.0 “Радиолюбитель” 1999г. №5 стр.5. Авторы:Chirkov & Larionov)
решил за базовый вариант использовать схему версии 3 (м/c CXA1645M-кодер PAL,
TDA8505 – кодер SECAM)
В качестве генератора – формирователя синхросигнала и сигналов испытательных изображений решил попробовать два варианта:
1.генератор тестовых сигналов -автор: Marcelo Maggi
2.малогабаритный генератор телевизионных сигналов.Автор: Александр Мусатов
(выбор необходимого испытательного сигнала осуществляется двумя клавишами)
Проверил на макетке оба варианта,остановился на втором.
Благодаря разработкам Ю.Чиркова,В.Ларионова,А.Мусатова и появился предлагаемый
генератор.Большое спасибо за их труд!
Файл печатной платы в формате Sprint Layout 3.0 и принципиальные схемы
в формате SPlan .
Самой лучшей программой для мелкосерийного “радиолюбительского” производства
печатных плат является русифицированная Sprint Layout 3.0.Нравится мне эта
программа за возможность разводки по рисунку.Сосканированные рисунки плат из
журналов и другой литературы могут быть использованы для восстановления дорожек
платы или переразводки элементов. Для этого необходимо сканировать изображение
(или использовать любой графический файл,переведя в файл *.BMP),оно будет
показано как фоновое на плате.
Программа SPlan 5.0 представляет из себя редактор принципиальных схем, она
поддерживает макросы, как встроеные,так и пользователя.Скачать программы можно
с сайта–
И если даже, вы уже работали с этими программами, рекомендуется прочитать
все разделы руссифицированых файлов помощи до конца, не исключено что вы найдете
неизвестные ранее возможности программ. С этого сайта можно скачать Sprint Layout
4.0 (русская версия)
Используя программу Sprint Layout 3.0,Вы можете изменять мой вариант разводки
печатных плат.(например,у Вас другой силовой трасформатор,диодный мостик,
корпус)
Схема и печатная плата пока так сказать для затравки.(изменен каскад на
тр-ах V5 и V6).В последующем будут выложены файлы (и доработка)
1.Генератор полного цветового телевизионного сигнала на двух микросхемах
Статья из ж. ” РЭТ ” №5 2003 г. автор:М.Медведев (формат DJVU)
2.Video pattern generator -автор: Marcelo Maggi
3.Зарубежные интегральные видеокодеры
Статья из ж. ” Радиоаматор ” №1-3 2002 г.автор:С.М.Рюмик (формат DJVU)
4.Даташиты на м/c TDA8505,CXA1645M в формате DJVU (я преобразовал из PDF –
меньше во много раз занимают места).
Таймер формирует временные интервалы заданной длительности, Счетчик 1 считает эти импульсы, и при необходимости меняет временные интервалы, генерируемые таймером. Счетчик 2 отсчитывает нужное количество импульсов и, досчитав да заданного значения, останавливает таймер.
Алгоритм работы устройства
Таймер Т1 формирует временные интервалы заданной длительности, по окончанию интервала он формирует прерывание, в котором его значения обновляется. Таким образом, можно сформировать любую последовательность импульсов с любыми параметрами (период, длительность, скважность).
Подпрограмма прерывания начинается с проверки – не последний ли это импульс, если последний,таймер останавливается. Если не последний, производится проверка, это имульс или пауза между импульсми (длительность импульса – 2500 мкс, длительность паузы – 7500 мкс), таким образом, поочередно формируются временные интервалы импульса и паузы.
Описание режима CTC
Режим сброса таймера при совпадении (СТС)
Рис. 1. Блок-схема T0
В режиме СТС (WGM01, WGM00 = 0b10) регистр OCR0 используется для задания разрешающей способности счетчика. Если задан режим CTC и значение счетчика (TCNT0) совпадает со значением регистра OCR0, то счетчик обнуляется (TCNT0=0). Таким образом, OCR0А задает вершину счета счетчика, а, следовательно, и его разрешающую способность. В данном режиме обеспечивается более широкий диапазон регулировки частоты генерируемых прямоугольных импульсов.
В режиме сброса таймера при совпадении (WGMn3-0 = 0b0100 или 0b1100) пределы счета таймера задаются регистром OCR0A. В режиме СТС происходит сброс счетчика (TCNT0), если его значение совпадает со значением регистра OCR0A. В данном режиме обеспечивается возможность регулировки частоты генерируемых прямоугольных импульсов. Временная диаграмма работы таймера врежиме СТС показана на рисунке 1. Счетчик (TCNTn) инкрементирует свое состояние до тех пор, пока не возникнет совпадение со значением OCR0A , а затем счетчик (TCNT0) сбрасывается.
Рис. 2 Временные диаграммы режима СТС
Помимо сброса при этом может генерироваться прерывание с помощью флагов OCF0A, соответствующим используемым регистрам для задания верхнего предела счета. Если прерывание разрешено, то процедура обработки прерывания может использоваться для обновления верхнего предела счета.
Для генерации сигнала в режиме CTC выход OC0A может использоваться для изменения логического уровня при каждом совпадении, для чего необходимо задать режим переключения (COM0A1, COMA0 = 0b01). Значение OC0A будет присутствовать на выводе порта, только если для данного вывода задано выходное направление. Максимальная частота генерируемого сигнала равна fOC0 = fclk_I/O/2, если OCRnA = 0x0000. Для других значений OCRn частоту генерируемого сигнала можно определить по формуле:
где переменная N задает коэффициент предделителя (1, 8, 32, 64, 128, 256 или 1024).
Программа
Include”m16def.inc”
rjmp RESET ; ResetHandler
reti; IRQ0 Handler
reti;;rjmp EXT_INT1 ;IRQ1 Handler
reti;reti;jmp ;TIM2_COMP; Timer2 Compare Handler
reti;;reti;jmp ;TIM2_OVF; Timer2 Overflow Handler
reti; ;reti;jmp;TIM1_CAPT ; Timer1 Capture Handler
jmp TIM1_COMPA ; Timer1CompareA Handler
reti;reti;jmp;TIM1_COMPB ; Timer1 CompareB Handler
reti;reti;jmp ;TIM1_OVF; Timer1 Overflow Handler
reti;;reti;jmp ;TIM0_OVF; Timer0 Overflow Handler
reti;;reti;jmp ;SPI_STC; SPI Transfer Complete Handler
reti;;reti;jmp;USART_RXC ; USART RX Complete Handler
reti;;reti;jmp;USART_UDRE ; UDR Empty Handler
reti;reti;jmp ;USART_TXC; USART TX Complete Handler
reti;reti;jmp ;ADC ; ADCConversion Complete Handler
reti;reti;jmp ;EE_RDY ;EEPROM Ready Handler
reti;reti;jmp ;ANA_COMP; Analog Comparator Handler
reti;reti;jmp ;TWSI ;Two-wire Serial Interface Handler
reti;reti;jmp ;EXT_INT2; IRQ2 Handler
reti; Timer0 CompareHandler
reti;reti;jmp SPM_RDY ;Store Program Memory Ready Handler
ldi r16,high(2500)
ldi r16,low(2500)
ldir16,(1
ldir16,(1
ldir16,(1
ldi r16,high(RAMEND)
ldi r16,low(RAMEND)
out SPL,r16 ;èíèöèàëèçàöèÿ ñòåêà
sei ;ðàçðåøåíèå ïðåðûâàíèé
main: ;îñíîâíîé öèêë
ldi r16,high(2500)
ldi r16,low(2500)
ldi r16,high(7500)
ldi r16,low(7500)
После запуска микроконтроллера происходит процедура инициализации (RESET), в этой подпрограмме последовательно:
Настраиваются порты ввода-вывода (порт D настраивается на вывод)
Настраивается работа таймера Т1:
Загружаетсячисло (2500) в регистр сравнения
Вывод OC1A настраивается на «переворачивание» уровня при совпадениисчетного регистра и регистра сравнения (OCR1A)
Задается режим работы (сброс по совпадению) и источник тактового сигнала (без предделителя, от системного тактового сигнала)
Разрешается работа прерывания по совпадению Т1
Инициализируется стек (настраивается вершина стека)
Разрешаются прерывания.
На этом инициализация контроллера завершена. Далее счетчик команд «уходит» в основной цикл.
При возникновении прерывания, запускается подпрограмма обработки прерывания TIM1_COMPA, она начинается с увеличения количества прерываний (задана последовательность из восьми импульсов, а это 16 «переворачиваний уровня»), число прерывания сравнивается с 16, и, если равно, запускается подпрограмма out_pulse. В ней останавливается таймер (обнулением управляющих регистров микроконтроллера). Если же число прерываний меньше 16, программа продолжается далее. Производится проверка флага breq pulse, и, если он установлен, запускается подпрограмма pulse, в которой обновляется регистр сравнения (загружается число 7500), и флаг сбрасывается. Таким образом, по наличию флага, поочередно загружаются числа 2500 и 7500, и на выводе OC1A формируется последовательность со скважностью 4 (по заданию).
Результаты моделирования схемы в программе PROTEUS
Генератор видеосигнала на микроконтроллере
Источник: http://pic16f84. narod.ru
Для генерации видеосигнала достаточно всего одной микросхемы и двух резисторов – т.е. можно сделать буквально карманный генератор видеосигнала размером с брелок. Такой прибор пригодится телемастеру. Его можно использовать при сведении кинескопа, регулировке чистоты цвета и линейности. Генератор подключается к видеовходу телевизора, обычно это разъем типа “тюльпан” или “SCART”.
Прибор генерирует шесть полей:
– текстовое поле из 17 строк;
– сетка 8×6;
– сетка 12×9;
– мелкое шахматное поле 8×6;
– крупное шахматное поле 2×2;
– белое поле.Переключение между полями осуществляется кратковременным (длительностью менее 1с) нажатием кнопки S2. Удержание этой кнопки в нажатом состоянии более длительное время (дольше 1 с) приводит к выключению генератора (микроконтроллер переходит в состояние “SLEEP”). Включение генератора производится нажатием кнопки S1. О состоянии прибора (включен/выключен) сигнализирует светодиод.
Технические характеристики устройства:
– тактовая частота – 12 МГц;
– напряжение питания 3 – 5 В;
– ток потребления в рабочем режиме:
– при напряжении питания 3В – около 5мА;
– при напряжении питания 5В – около 12мА;
– частота кадров – 50 Гц;
– число строк в кадре – 625Вся работа по формированию видеосигнала выполняется программой, зашитой в микроконтроллере. Два резистора вместе с сопротивлением видеовхода телевизора обеспечивают необходимые уровни напряжения видеосигнала:
– 0 В – синхроуровень;
– 0,3 В – уровень черного;
– 0,7 В – уровень серого;
– 1 В – уровень белогоРис. 1. Принципиальная схема генератора
Для формирования видеосигнала используется нулевой бит PORTA и целиком весь PORTB (этот порт работает в сдвиговом режиме). Несмотря на то, что сигнал снимается только с его нулевого бита, программа использует его весь. Поэтому все биты PORTB настроены как выходы. Первый бит PORTA используется для индикации состояния генератора. Когда прибор включен, – светодиод горит. Когда прибор выключен, – светодиод погашен. Третий бит PORTA используется для переключения режимов работы генератора и его выключения. Кратковременное нажатие кнопки S2 позволяет перейти от одного поля генератора к другому. При удержании этой кнопки в нажатом состоянии дольше 1 с. прибор выключается (микроконтроллер переходит в состояние “SLEEP”). Чтобы включить генератор необходимо выполнить сброс. Это осуществляется нажатием кнопки S1. Напряжение питания прибора можно выбрать в пределах 3 – 5 В. При этом соответственно должны быть подобраны номиналы резисторов.
3В – R5=456Ом и R6=228Ом
3,5В – R5=571Ом и R6=285Ом
4В – R5=684Ом и R6=342Ом
4,5В – R5=802Ом и R6=401Ом
5В – R5=900Ом и R6=450Ом
Здесь указаны расчетные значения. Реально можно ставить резисторы из стандартного ряда, например для 5В – 910Ом и 470Ом, а для 3В – 470Ом и 240Ом.
Сколько я занимаюсь электроникой, всегда хотел заиметь генератор сигналов различной формы. Недавно мне понадобилось получить синусоидальный сигнал с помощью цифровых методов, и я решил что сделаю себе хороший генератор! В итоге я сделал простой, но функциональный генератор сигналов который может генерировать: меандр, треугольник, синус, шум и пилообразный сигналы. Максимально генерируемая частота – 60kHz (килогерц). Пока что в настоящей прошивке, частоту можно устанавливать только при генерации меандра, для остальных сигналов можно устанавливать лишь задержку в микросекундах. Основой устройства является AVR микроконтроллер ATtiny2313, сигнал генерируется с помощью 8 битного цифро-аналогового преобразователя (ЦАП), данные о частоте, сигнале или задержки отображаются на ЖК индикаторе 8×2. Вот собственно принципиальная схема:
Для сборки понадобятся детали:
1. Микроконтроллер Attiny2313 – 1шт.
2. ЖК индикатор WH0802 или с HD44780 совместимом – 1шт.
3. Микросхема LM324 – 1шт.
4. Тактовые кнопки без фиксации – 3шт.
5. Резистор 10 кОм – 1шт.
6. Резистор 300 Ом – 1шт.
7. Резистор 2 кОм – 8шт.
8. Резистор 1 кОм – 9шт.
ЦАП собран на резисторах и подключён напрямую к порту B микроконтроллера, сигнал после ЦАПа усиливается с помощью операционного усилителя LM324. ЖК индикатор я применил WH0802 c совместимом контроллером, данный ЖКИ имеет 2 строки по 8 знакомест каждая. Существенно применение любого ЖК индикатора с совместимом контроллером с HD44780. Микроконтроллер применить Attiny2313 можно с любыми буквенными индексами, в любых корпусах. Кнопки можно применить любые тактовые, без фиксации. Кнопкой “Выбор” выбирается тип генерируемого сигнала. Кнопками “Плюс” и “Минус” устанавливается частота или задержка. При включении устройства оно сразу начинает генерировать сигнал, по умолчанию это меандр. Напряжение питания: 5 вольт. Вот осциллограммы генерируемых генератором сигналов:
Я собрал свой генератор сигналов в пластмассовом корпусе ZIV, вот что получилось:
Первые испытания вместе с самодельным осциллографом:
Схему я собрал на печатной плате сделанной с помощью , рисунок печатной платы в можно найти в файлах к статье. На плате я использовал детали в SMD корпусах, исключение лишь составляет микросхема LM324, она использована в DIP корпусе. Прошивку для устройства я писал в среде BASCOM-AVR исходник прилагается. Также прилагается проект устройства в программе . Кстати, после прошивки не забудьте установить следующие фьюз биты (для программы SinaProg):
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATtiny2313 | 1 | В блокнот | ||
U2 | Операционный усилитель | LM324 | 1 | В блокнот | ||
R1-R8 | Резистор | 2 кОм | 8 | В блокнот | ||
R9-R16, R18 | Резистор | 1 кОм | 9 | В блокнот | ||
R17 | Резистор | 10 кОм | 1 | В блокнот | ||
R19 | Резистор | 300 Ом | 1 | В блокнот | ||
BTN1-BTN3 | Кнопка | Без фиксации | 3 |
Dendy – генератор испытательных телевизионных сигналов. Новая версия
Самодельный картридж для видеоприставки “Dendy” , превращающий ее в генератор испытательных телевизионных сигналов (ГИТС), заинтересовал наших читателей. Благодаря их отзывам, автору конструкции и программы С. Рюмику из г. Чернигова был присужден поощрительный приз конкурса “Лучшая публикация 2001 г.”.Сегодня мы представляем ГИТС-2 – усовершенствованный вариант картриджа.
По сравнению с первой версией предлагаемого прибора область его применения не изменилась – настройка и регулировка цветных (работающих в системе PAL) и черно-белых телевизоров, оценка качества кинескопа при покупке телевизора, формирование испытательных таблиц для кабельного телевидения. Однако число испытательных изображений, создаваемых ГИТС-2, увеличено с 81 до 466 (с учетом всех цветовых вариантов), а звуковых тест-сигналов – с двух до четырех. По некоторым характеристикам ГИТС-2 превосходит известные генераторы “Электроника ГИС 02Т” и “Ласпи ТТ-03”.
Так как все функции генератора испытательных сигналов реализованы программным образом, при доработке необходимо было изменить только программу. Аппаратная часть прибора – собственно плата картриджа с панелями для двух микросхем РПЗУ могла бы оставаться точно такой, как в исходном варианте. Тем не менее и она подверглась небольшому усовершенствованию, позволяющему работать даже с частично неисправными приставками “Dendy”.
Схема платы ГИТС-2, приведенная на рис. 1, отличается от первоначальной дополнительной перемычкой ХТ3, служащей для переключения экранных страниц видеопроцессора “Dendy”.
(нажмите для увеличения)
Если в вашей приставке одна из видеостраниц неисправна (на изображении видны лишние линии или квадраты), можно перейти на другую, переставив перемычку и нажав кнопку SELECT джойстика. В положении “1” работает первая, в положении “2” – вторая страница видеопамяти.
Рисунки печатных проводников и расположение элементов на плате картриджа показаны на рис. 2.
(нажмите для увеличения)
Форма платы выбрана исходя из удобства ее установки в стандартный для “Dendy” корпус картриджа. Более узкую и без боковых вырезов плату не удастся в нем зафиксировать. Поэтому не стоит экономить материал, уменьшая ширину платы.
Корпус берут от пришедшего в негодность игрового картриджа. Иногда приходится его немного доработать, например, укоротить имеющиеся внутри пластмассовые штыри.
При разработке программы ГИТС-2 автор стремился реализовать максимальное число тестов, заняв в ПЗУ не более 2 Кбайт. В частности, изображение испытательной таблицы хранится упакованным по оригинальному алгоритму. Коэффициент сжатия – 50,2 % (с 960 до 482 байт). При этом подпрограмма-распаковщик данных заняла всего 57 байт. Для хранения тех же данных, упакованных методом ZIP, потребовалось бы всего 435 байт, но длина их распаковщика во много раз больше.
Коды, которые необходимо занести в РПЗУ DS1 и DS2 информационной емкостью по 2 Кбайт (микросхемы КР573РФ5 или их аналоги), приведены соответственно в табл. 1 и 2.
(нажмите для увеличения)
(нажмите для увеличения)
Свойства ГИТС-2 (как и ГИТС первой версии) не зависят от типа и емкости примененных микросхем РПЗУ, поэтому последние можно комбинировать на плате в различных сочетаниях, не забывая лишь установить в нужные положения перемычки ХТ1 и ХТ2. Если заменять микросхемы в процессе эксплуатации картриджа не планируется, можно соединить соответствующие контактные площадки на плате обычными проводами вместо перемычек-джамперов.
На новой плате (при перемычке ХТЗ в положении “2”) будут работать и микросхемы, запрограммированные в соответствии с . Но применять их нужно в комплекте: обе “новые” или обе “старые”. Естественно, в последнем случае ГИТС будет обладать лишь свойствами, о которых было рассказано в первоисточнике.
Если имеется готовая плата старого варианта ГИТС, чтобы воспользоваться всеми описанными ниже тестами, достаточно установить в ее панели микросхемы РПЗУ, запрограммированные по-новому.
Желающим внести в программу свои дополнения и улучшения, поможет , где подробно рассказано о методике разработки программ для “Dendy”
ОПИСАНИЕ ТЕСТОВ
После установки картриджа ГИТС-2 в “Dendy” и подачи питания на экране телевизора должна появиться испытательная таблица (верхний рисунок на 1-й стр. обложки) и прозвучать трель. Если изображение отсутствует, но звук имеется, попробуйте переставить перемычку ХТЗ на плате картриджа в другое положение, нажмите кнопку SELECT джойстика. Эта операция позволяет перейти с возможно неисправной видеостраницы на исправную. Если нет и звука, вероятно, отказали некоторые из используемых программой ячеек основного ОЗУ игровой приставки и дальнейшая работа невозможна.
Из-за особенностей видеосистемы “Dendy” сформировать на экране телевизора точные квадраты затруднительно (не удается уложиться в заданный объем ПЗУ). Поэтому во всех тестовых изображениях они выглядят прямоугольниками с соотношением сторон 4:5. Однако центральная окружность испытательной таблицы имеет правильную форму, что дает возможность оценить геометрические искажения растра и отрегулировать его размеры. Кроме того, таблица позволяет отцентрировать и сфокусировать изображения по пяти реперным знакам в центре и по углам экрана, проверить четкость по горизонтали и вертикали (200. ..250 линий по мелкой сетке). Имеются участки с шахматным полем, цветовой гаммой, диагональными линиями. При нажатии кнопок ВВЕРХ, ВНИЗ любого из джойстиков изображение инвертируется (второй сверху рисунок на 1-й стр. обложки), в центре, вверху и внизу экрана появляются надписи мелким шрифтом.
К следующим 11-ти испытательным изображениям переходят с помощью кнопок ВЛЕВО и ВПРАВО. Каждое имеет по четыре варианта, переключаемых кнопками ВВЕРХ и ВНИЗ. Варианты, в свою очередь, имеют от двух до 24-х разновидностей: кнопкой А изменяют цвет изображения, кнопкой В инвертируют его или включают/выключают наложенную на основное изображение мелкую сетку. Кнопкой START переключают звуковые тест-сигналы. Переход от одного теста к другому сопровождается звуком “бип”, а начало нового цикла их смены – трелью.
Вертикальные цветные полосы (рис. 3, а) – восемь полос одинаковой ширины в следующем порядке (слева направо): белая, желтая, голубая, зеленая, пурпурная, красная, синяя, черная. Позволяют проверить правильность матрицирования, настроить контуры коррекции предыскажений, оценить цветовую насыщенность в смежных строках. Оттенки формируемых цветов зависят от особенностей видеопроцессоров “Dendy” разных моделей и могут немного различаться. Варианты: замена основных цветов дополнительными, отключение цвета (серая шкала, третий сверху рисунок на 1-й стр. обложки). Разновидности: буква С на синей полосе для удобства ее идентификации.
Горизонтальные цветные полосы (рис. 3, б, в) – восемь полос, аналогичных вертикальным, но самая нижняя – вдвое меньшей высоты.
Равномерное серое поле. Позволяет проверить и отрегулировать статический баланс белого, чистоту цвета. Варианты: четыре градации яркости. Разновидности: циклическая с периодом 2 с инверсия изображения, что позволяет проверять качество стабилизации размера изображения и устойчивость синхронизации кадровой и строчной разверток. При нажатии и удержании кнопки В частота “мигания” увеличивается вчетверо.
Равномерное красное поле. Служит для проверки чистоты цвета, выявления дефектов маски кинескопа (на изображении не должно быть белых точек). Варианты: четыре градации насыщенности. Разновидности: “мигание” с периодом 1 или 2 с.
Равномерное зеленое поле аналогично красному.
Равномерное синее поле аналогично красному.
Шахматное поле из черно-белых прямоугольников (16 столбцов, 15 строк) позволяет оценить линейность разверток, геометрические искажения растра, проверить отсутствие цветных окантовок. Варианты: инверсия изображения, увеличенные вдвое размеры прямоугольников (нижний рисунок на 1-й стр. обложки). Разновидности: наложенная на изображение мелкая сетка, замена белого одним из 12-ти возможных цветов (рис. 3, г).
Монохромные полосы (“матроска”, рис. 3, д) служат для оценки линейности развертки и равномерности окраски протяженных участков экрана. Варианты: вертикальные или горизонтальные полосы, увеличенная вдвое ширина полос, инверсия изображения. Разновидности: наложенная на изображение мелкая сетка, замена белого одним из 12-ти возможных цветов (рис. 3, е).
Точечное поле (рис. 3, ж). Белые точки (15×16) на черном фоне с маркером в центре служат для проверки фокусировки и астигматизма электронного луча по всей площади экрана, а также статического и динамического сведения лучей основных цветов. Варианты: уменьшенный вдвое или увеличенный вдвое и вчетверо шаг точек (можно выбрать оптимальный в зависимости от размера экрана телевизора). Разновидности: инверсия изображения, замена белого одним из 12-ти возможных цветов (рис. 3, з).
Сетчатое поле из 15х 16 тонких белых линий на черном фоне служит для регулировки сведения красного, зеленого и синего лучей, проверки фокусировки. Варианты: уменьшенный вдвое или увеличенный вдвое и вчетверо шаг сетки. Разновидности: инверсия изображения, замена белого одним из 12-ти возможных цветов (рис. 3, и, к).
Звуковые тест-сигналы служат для проверки канала звука телевизора. Предусмотрены следующие сигналы, переключаемые циклически кнопкой START: прямоугольные импульсы скважностью 2 (“меандр”) частотой 500 Гц, пилообразные импульсы частотой 6600 Гц, прямоугольные импульсы скважностью 4 частотой 6600 Гц, “сирена” – “меандр” линейно изменяющейся частоты (от 27 до 12500 Гц в течение 9 с).
Генератор сигналов произвольной формы на микроконтроллере AVR
Библиографическое описание:
Литовченко, А. А. Генератор сигналов произвольной формы на микроконтроллере AVR / А. А. Литовченко, Ю. А. Ерусалимский. – Текст: непосредственный // Молодой ученый. – 2016. – № 21 (125). – С. 173-177. – URL: https://moluch.ru/archive/125/34400/ (дата обращения: 31.01.2021).
Взаимодействие с другими людьмиВ статье разработки этапы разработки и исследования сигналов произвольной формы для исследовательских целей на МК типа AVR.Проведена разработка принципиальной схемы генератора и программного обеспечения для его работы, изготовлен макет генератора и его экспериментальные исследования.
Ключевые слова: AVR, генерация сигнала
На настоящий момент существует система использования микроконтроллеров (МК), являющихся вычислительной микросхемой, управляющей электронными устройствами. Как известно, типовой МК выполнен на одном кристалле и содержит процессор, периферийные устройства, ОЗУ (оперативное запоминающее устройство) и / или ПЗУ (постоянное запоминающее устройство), в зависимости от применяемого назначения. Другими словами, микроконтроллер можно представить в виде миникомпьютера, способного решать несложные вычислительные задачи.
Разработка структурной схемы
Сигнал формируется микроконтроллером путём выполнения алгоритма, записанного в его ПЗУ. На выходе МК выдаёт двоичный код, который необходимо преобразовать в напряжение. Для выполнения данной задачи применяемый цифро-аналоговый преобразователь (ЦАП) с последующим использованием фильтра нижних частот (ФНЧ) для подавления ступенек на сигнале.Из-за большой частоты, амплитуда сигнала очень маленькая, поэтому для усиления сигнала используется усилитель. Для выбора формы сигнала, который будет генерировать МК, используется блок управления, так же, как и индикация выбора сигнала для визуализации выбранной формы сигнала. Схема генератора сигналов изображена Структурная схема 1.
Рис. 1. Структурная схема генератора сигналов
Выбор элементов принципиальной схемы
Главной частью генератора является МК ATMEGA328P-MU в корпусе MLF-32. Микроконтроллер уже распаян на платформе Arduino, упрощает монтаж и наладку МК и позволяет уделить больше внимания разработке самого генератора.
Основные параметры МК ATMEGA328P-MU результаты в таблице 1.
Таблица 1
Основные параметры МК ATMEGA328P-MU
ЦПУ: Ядро | AVR |
ЦПУ: F, МГц | от 0 до 20 |
Память: Flash, КБайт | 32 |
Память: RAM, КБайт | 2 |
Память: EEPROM, КБайт | 1 |
Ввод / вывод (макс.), шт. | 23 |
Таймеры: 8-бит, шт. | 2 |
Таймеры: 16-бит, шт. | 1 |
Таймеры: Каналов ШИМ, шт. | 6 |
Таймеры: RTC | Да |
Интерфейсы: UART, шт. | 1 |
Интерфейсы: SPI, шт. | 1 |
Интерфейсы: I 2 C, шт. | 1 |
Аналоговые входы: Разрядов АЦП, бит | 10 |
Аналоговые входы: Каналов АЦП, шт. | 8 |
Аналоговые входы: Быстродействие АЦП, кСПС | 76.9 |
Аналоговые входы: Аналоговый компаратор, шт. | 2 |
В CC , В | от 1. 8 до 5.5 |
I CC , мА | 40 |
Т А , ° С | от -40 до 85 |
Блок управления состоит из четырёх клавиш выбора и трёх потенциометров.Для выбора сигнала используется соответствующая кнопка. Потенциометры предназначены для регулирования частоты, скважности (ШИМ) и управления усилением, при этом регулировать ШИМ возможно только при генерации прямоугольного сигнала.
Индикация выбора состоит из четырёх светодиодов, причём под каждой кнопкой выбора светодиод, сообщающий о выборе генерируемого сигнала.
Цифро-аналоговый преобразователь обеспечивает перевод цифровых данных в соответствующую аналоговую форму.В схеме используется ЦАП взвешивающего типа (делитель Кельвина). Определенному биту двоичного кода ставится в соответствие резистор или источник тока, который подключается к общей точке суммирования.
Принципиальная электрическая схема генератора представлена на рисунке 2.
Рис. 2. Электрическая схема генератора
Разработка программного обеспечения
Для выполнения инструкций, определяющих, как и в каком порядке работать компонентам, подключенным к микроконтроллеру, реализована программа для данного микроконтроллера на языке программирования Arduino.Окно среды разработки фрагментом программы показано на рисунке 3.
Рис. 3. Окно среды разработки Arduino.
Исследование генератора
Созданный генератор формирует сигнал прямоугольной, пилообразной, синусоидальной и треугольной формы (рисунки 4–7).
Рис. 4. Сигнал прямоугольной формы
Рис. 5. Сигнал пилообразной формы
Рис.6. Сигнал синусоидальной формы
Рис. 7. Сигнал треугольной формы
Литература:
- Кравченко А. В. 10 практических устройств AVR-микроконтроллеров. – Книга 2. – СПб .: МК-Экспресс, 2009. – 320 с.
- Соммер У. Программирование микроконтроллерных плат Arduino / Freeduino. – СПб .: БХВ-Петербург, 2012. – 256 с.
- Arduino IDE – установка, настройка и интерфейс. Проверка соединения с платой Arduino // Программирование микроконтроллеров AVR, Atmega, Arduino и др.URL: http://progmk.ru/ (дата обращения: 14.09.2016).
- Обзор ATmega328P // Atmel Corporation – микроконтроллеры, 32-битные и сенсорные решения. URL: http://www.atmel.com/devices/ATMEGA328P.aspx (дата обращения: 02.09.2016).
- От Arduino к микроконтроллеру на макетной плате // Arduino. URL: https://www.arduino.cc/Tutorial/ArduinoToBreadboard (дата обращения: 02.09.2016).
Основные термины (генерируются автоматически) : AVR, ICC, VCC, блок управления, двоичный код, параметр МК, программное обеспечение, структурная схема генератора сигналов, треугольная форма, цифро-аналоговый преобразователь.
Формирователь синусоидального сигнала – Радиодед
Иногда в руки попадают электромоторы переменного тока, однофазные или трехфазные. Кроме того, случается, что они рассчитаны на частоту более 50Гц. Что с ними делать? Выбросить жалко! Почему бы не изготовить мощный источник регулируемого переменного напряжения. Для начала остановимся на однофазном источнике, безких «наворотов».
Берем микроконтроллер AVR ATtiny13 и делаем, схема очень проста!
В микроконтроллере ATtiny13 всего один 8-ми разрядный таймер, но зато он имеет два выхода ШИМ, а это – то, что нам надо.Но как быть с регулировкой частоты синусоиды? И тут стоит вспомнить, что частота внутреннего тактового генератора микроконтроллера может изменяться в очень широких пределах, примерно в четыре раза, путем изменения содержимого регистра OSCCAL (проверено на опыте).
Схема на рисунке:Кроме контроллера на ней присутствуют еще регулятор частоты и буферные каскады (БК) для управления (например) высоковольтными МОП транзисторами. Вход 2 АЦП контроллера (порт РВ4) используется для измерения напряжения на движке потенциометра, его величина и определяет частоту синусоидального сигнала на выходе.БК никаких улучшений не имеют.
Программа тоже довольно простая. Синусоида «рисуется» благодаря использованию ШИМа, отрицательная волна – канал А (порт РВ0), положительная– канал В (РВ1).
Вычисляем в Excel табличку синуса из 24 значений, для половины периода и программа записывает поочередно эти величины в регистры таймера ATtiny13: положительные полпериода – в регистр OCR0B, отрицательные полпериода – в регистр OCR0A. Дополнительно к этому происходит небольшая перенастройка таймера при переходе от одной фазы колебания к другому.Обновление содержимого вышеуказанных регистров происходит по переполнению счетного регистра TCNT0.
Измерение АЦП напряжение используется для корректировки содержимого регистра OSCCAL. Обновление OSCCAL осуществляется по прерыванию АЦП. Он регулирует тактовую частоту и соответственно частоту «рисуемой» синусоиды.
Собираем схему, прошиваем программу, подаем питание – получаем на выходе такую картину:
Желтым цветом нарисована положительная фаза, синим – отрицательная.
По каналу В можно не делать противофазного сигнала, особенно если планируется опторазвязка с силовыми цепями. Но, в некоторых случаях, такое решение желательно.
В следующей статье попробуем реализовать 3-фазную синусоиду, для трехфазного двигателя.
Автор: Юрий, [email protected]
Просмотров всего: 1795, сегодня: 6
Генератор сигналов для проверки VGA / SVGA мониторов
В данной статье рассмотрена конструкция генератора для тестирования VGA мониторов, который пригодится как для ремонта, так и для испытаний и прогонки после ремонта мониторов.Занимаясь ремонтом мониторов, столкнулся с определенным неудобством. Дело в том, что при ремонте часто приходится подключать ремонтируемый монитор к компьютеру для проверки или измерения либо параметров или режимов для регулировки. Но часто бывает, что на рабочем месте компьютер отсутствует слишком далеко и приходится тоскать монитор туда, суда. Вот после таких тасканий я купил 5-ти метровый VGA кабель. Но тут тоже было неудобство. Во-первых, штатный монитор на отключенном компьютере, а иногда надо подбежать и скачать даташитик на какую-нибудь микросхемку, которая стоит в мониторе.И тут снова передергивание кабелей, переподключение монитора, короче тоже неудобно. Тут стал думать, вот бы такой генератор бы заиметь, например как использовать при ремонте телевизоров, типа «Телетеста». Купить такой было негде да и не очень хотелось. И тут решил собрать сам. Вооружившись «гуглом» стал искать, но похожего ничего не находилось. И тут как то общаясь на форуме monitor.espec.ws, мне один из участников форума выслал схему и прошивку для контроллера генератора для тестирования мониторов.Схема была собрана, опробована и показала себя очень даже хорошо, а главное очень удобно.
Схема собственно вот
Данная схема для сигналов горизонтальной и вертикальной линии в различных режимах разрешения. Может применятся для технического обслуживания и ремонта мониторов VGA / SVGA, мультимедийных видео-проекторов.
Режимы работы генератора представлены в таблице
Тут N – это показания на индикаторе.
Основа генератора – микроконтроллер PIC16F84.Все функции реализованы программно. Выводы порта «B» микроконтроллера DD1 (RB2, RB3) используются для подключения кнопок переключения режимов генератора. На выводах RB4 – RB7 формируется сигнал индикации выбранного режима в двоичном формате. Выводы RB0 и RB1 запрограммированы как выходы сигналов синхронизации. Вывод RA3 используется для подключения звукового порта излучателя. Вывод RA0 – RA2 формирует сигналы R / G / B. На элементах R1, C4 выполнен узел внешнего сброса микроконтроллера при включении питания.Переключатели S1-S3 не установлены, заменили на перемычки. Кнопками SB1, SB2 выбирается режим работы генератора. Микросхема 74HC164 используется для вывода на семисегментный индикатор. Подбором резисторов R12-R18 можно регулировать яркость индикатора. В эту схему желательно добавить транзисторные ключи (на все выходные сигналы. Опыт показывает, что не у всех мониторов входы H-синхронизация, V-синхронизация TTL. Установить генератор нужно от напряжения 6-7В, это необходимо для формирования уровней выходных сигналов.При нажатии кнопок выбора выходного сигнала, пикает пьезоизлучатель.
Была установлена печатная плата
Все детальки собраны. Разъем для подключения мониторов был выпаян с какой-то древней видеокарты.
Все собрано
И проверено
А вот видео работы генератора
Вот прошивка контроллера
Вот файл печатной платы
Генератор компактно зарегистрировался в работе и получным.
Генератор импульсов на Attiny 13a (с настройками) 📹
В одном из моих проектов входное устройство.Вначале я понажимал кнопки вручную, но понял, что такая стратегия в наш век и с моими возможностями ну совсем не по мне! Поэтому было решено сделать по-быстрому генератор импульсов, от которого и можно будет брать управляющий сигнал. Сделал я его правда не очень быстро, все из-за своей лени и из-за того, что у меня не было тумблеров, микротумблеров. Пришлось сгонять в магазин. Но все же у меня кое-что получилось, что я и хочу представить вашему вниманию.
Генератор с настройками на микроконтроллере Аттини 13а схема
Собственно сразу было принято решение, что генератор будет на микроконтроллере, по донной простой причине.Это очень компактно, удобно в плане перенастройки, не прожорливо по питанию, да и в целом функционально по возможностям. В закромах были Тиньки 13а купленные на Али по доллару за штуку, с ними и было решено работать.
Дабы расширить настройки генератора, чтобы есть сделать не просто мигалку, настраиваемую мигалку, с неким диапазоном, как раз и были куплены и внедрены в схему микротумблеры. Через них задаются условия логической 1 или 0 на соответствующих ножках микроконтроллера, исходя из этих условий на выходе создается своя частота.Взгляните на схему.
Схема нарисована на листочке бумаги и отсканена, но мне кажется туту все понятно. Так вот, по схеме есть табличка. Табличка с обозначением физических ножек и их программным значением. Эти пины можно сопоставить как раз по таблице. То есть при программировании микроконтроллера, надо учитывать, что в программе, не совсем соответствует физическим интегам микросхемы. Чтобы как раз перевести одно в другое и была сделана эта табличка.
Ну, LM7805 понятно, что стабилизирует напряжение и защищает микроконтроллер от скачков.Конденсатор – простейший фильтр по питанию. Резистор 10 кОм стоит, через него проходит логический 0, а 20 Ом чуть ограничивает ток и напряжение для логической 1. Светодиод установлен исключительно для визуального наблюдения за выходным сигналом, что бы была хоть какая-то индикация и возможность контролировать процесс.
Теперь обратиться к программной части, то есть посмотреть, что у нас залито в контроллер.
Скетч для генератора импульсов на Attiny 13a (среда Arduino)
Так как на настоящий момент мной освоена среда Arduino, в которой я пишу скетчи и заливаю через одноименную плату в Аттиньку, то и скетч в же среде. Описывать сам скетч, особого смысла нет. Как я уже и сказал, есть условия формирования условий из 3 тумблеров и подачи сигналов на 3 ножки. Контроллер смотрит на выдает определенную частоту. Скетч залит для Аттиньки на частотной работе 128 КГц. Осталось сказать, что может скетч не идеален, а также использовать свойства ШИМ для Аттини, когда частоту можно было бы задавать через analogwrite (ножка, уровень ШИМ). В принципе на данном этапе все устраивает.
По итого, получился простенький генератор с 7 настройками, где одни из них это режим покоя, – отсутствия чего-либо на выходе вообще.
Применение частоты генератора в жизни
Такой генератор частоты можно применять не только для генерации импульсов, но и для механических поделок. Как-то было дело, мне задавали вопрос о возможности сделать зимнюю удочку с вибрацией, при этом такой, чтобы ее можно было регулировать. Этот генератор очень кстати будет к такому проекту. Останется сформировать импульс с высоким током, через транзистор и найти механическое устройство, приводящее в движение удочку, вибрирующее.
Теперь в видео о том же самом.
Все своими руками Генератор кварцевый термостатированный
Опубликовал админ | Дата 28 октября, 2019Кварцевый генератор на 4 мГц с термостатированием
В статье схема генератора высокой скорости на микросхеме жесткой логики К1533ЛА3. Поддержание температуры внутри термостата на необходимом уровне выполняется микроконтроллером PIC12F675 с записанной в него программой.В качестве датчика температуры в схеме используется цифровой датчик DS18B20. Схема устройства приведена на рисунке 1.
Эта статья является продолжением статьи «Тактовый генератор для PIC-контроллеров».
Питается схема стабилизированным напряжением 12 вольт, микросхема стабилизатора напряжения на 12В на схеме не провод. Собственно генератор реализован на двух элементах 2И-НЕ DD1.1 и DD1.2 Кварцевый двигатель 4мГц включен в цепь положительной обратной связи, идущей с выходом 6 DD1.2 на входы 1 и 2 элемента DD1.1. Для точной подстройки последовательности с кварцем включен триммер С1. Резисторы R1 и R2 выводят элементы микросхемы DD1.1 и DD1.2 из ключевого режима работы в линейный. Элемент DD1.4 микросхемы DD1 является буферным, предотвращает влияние входа GP5 микроконтроллера DD2 на работу задающего генератора. Элемент DD1.3 – так же является буферным каскадом, предотвращающим влияние измерительного прибора при контроле частоты генератора. Микросхема К1433ЛА3, как и микроконтроллер с датчиком температуры DS18B20, питаются стабилизированным напряжением +5 вольт, снимаемым с выводом 1 микросхемы стабилизатора DA2 LM78L05.Резистор R4 является подтягивающим для входа данных микроконтроллера GP0.
В качестве нагревательных элементов в схеме термостата используются резисторы R5, R6, R7 и R8. Это резисторы МЛТ – 0,5, при использовании таких резисторов в качестве нагревательных элементов с них удаляется лакокрасочное покрытие. Я обычно для этих целей использую средство для снятия старой краски. Внешний вид устройства показан на фото ниже.
Общая мощность нагревателя равна Р = U² / R = 144 / 107,5 ≈ 1,3Вт.В программу микроконтроллера величина температуры термостатирования равная + 40,0⁰ С. Гистерезис поддержания температуры равенству 0,1 градуса. Таким образом, при + 40,0⁰С нагреватели отключаются, а при + 49,9⁰С – включаются. Если вам нужна другая температура, то ее значение можно поменять, записав в соответствующие регистры нужную вам роль. Например, 40,0⁰ в представленном номере 400. В шестнадцатеричном коде это число выглядит, как 0 × 0190. Для его записи потребуется два регистра, в старшем запишется 0 × 01, а в младшем – 0 × 90.Ниже показан скриншот окна программы К-150, где записано это число.
Если нужно, чтобы термостат поддерживал температуру, например, пятьдесят градусов, то – 50,0⁰ – для программы – 500, в шестнадцатеричный коде это число выглядит, как 0х01F4. Значит, старший разряд мы не трогаем, а меняем число только в младшем разряде. Меняем 90 на F4. В программе IC-Prog все будет то же самое.
Для тех, кто понимает в программировании, в архиве будет исходный текст программы.Файл Hex так же находится в папке проекта.
Все элементы схемы распаиваются на печатной плате, которая помещена в металлический корпус от старого ТВ тюнера какого-то телевизора.
Хотя я обычно для таких целей делаю корпуса из луженой жести. И гнется хорошо и паяется не плохо. В крышке корпуса предусмотрены два отверстия, одно для отвертки, над конденсатором С1 и второе для светодиода, хотя можно обойтись и без светодиода и без лишнего отверстия. Работа термостата прекрасно контролируется миллиамперметром.Готовое устройство помешается в коробку, сделанную из пенопласта. Я на этом и остановился, хотя для полноты и законченности необходим еще один корпус. Блокировочный конденсатор С2 находится под корпусом микросхемы DD1. Не забудьте его запаять первым, я забыл, и пришлось искать для него другое место. Для эксперимента пока пойдет и так. В общем, кварцевый термостатированный генератор есть, теперь на его основе надо будет сделать генератор эталонной частоты для поверки частотомеров и прочих приборов, в которых критерием является время.Но про это позже.
Успехов и удачи. К.В.Ю.
Скачать файлы проекта
Скачать «Генератор-кварцевый-термостатированный» Генератор-кварцевый-термостатированный.rar – использовать 246 раз – 282 КБ
Обсудить эту статью на форуме “Радиоэлектроника, вопросы и ответы”.
Просмотров: 529
ПРИБОР ДЛЯ ПРОВЕРКИ LСD ТЕЛЕВИЗОРОВ И МОНИТОРОВ
Различные испытательные генераторы прошлого поколения, предназначенные для телевизоров с кинескопами, уже не подходят для современных ЖК-панелей, поэтому данный проект посвящен тестированию современных светодиодных ТВ, мониторов VGA и их динамиков.Приборная часть Награждение качества работы дисплея, генерируя несколько горизонтальных цветных полос и обычный звуковой сигнал (для НЧ части).
Схема цифрового телетестера
При разработке стояла задача уместить весь AV тестер в небольшую коробочку, вместе с батарейкой. Её можно подключить при ремонте к стандартному VGA-монитору с разрешением от 800х600 и наблюдать отображение цветов (красный, зеленый и синий), также испытатель может подать на аудиовыход звук для тестирования динамиков.В схеме предусмотрен регулятор, чтобы отрегулировать высоту тона выше и ниже.
Список деталей
- ПИК 16F84A
- 2x 47 мкФ
- 2x 0,1 мкФ
- 2x 15пФ
- 0,01 мкФ
- 20 МГц
- 7805 + 5v стабилизатор
- 555 микросхема
- 10к резистор
- 100к подстроечный
- Разъем VGA (DB-15)
- Audio Jack разъём
деталей, используемых в данном случае, являются пассивными компонентами, такими как резисторы и конденсаторы.Активные компоненты опишем более подробно.
- МК PIC16F84A . Для создания нужного сигнала для выхода VGA нам понадобится микроконтроллер. Он будет работать через специальное программное обеспечение, для отображения полос красного, зеленого и синего цвета на любом ЖК-экране.
- 555 Таймер . Таймер с помощью одновибратора выходной сигнал от + 0в до + 5В. Регулятор на 100к улучшит частоту таймера.
- 20 МГц Кварц .Очень важно, чтоб вы использовали точный кварцевый генератор частоты. В дисплее VGA сигналы запуска отлично как раз на этой частоте.
- 7805 стабилизатор . Такая конструкция позволит использовать источник питания + 5В для всех активных частей, но так как тут будем использовать + 9В батарею для питания тестера, до 7805 снизит напряжение до нужного уровня.
3 блока испытателя
Блок питания . Это стандартная схема, что использует 7805 регулятор тока для снижения + 9В входного напряжения батарейки до уровня + 5В. Есть тут фильтрующие конденсаторы на входных и выходных контактах 7805. Они позволяют сохранить стабильный уровень напряжения и снизить количество помех.
Видео тестер . Нужен для вывода VGA сигналов. Контроллер PIC делает это автоматически при включении. Второй набор соединений 6-контактного коннектора может быть использован для программирования и отладки микроконтроллера, при необходимости. Вот прошивка.
Аудио тестер .Эта последняя часть схемы формирует звуковой сигнал. Таймер 555 настроен так, что он будет выводить тона от 70 Гц до 14000 Гц, а подстроечный резистор нужен для плавной подстройки частоты. На выходе достаточно сильный сигнал, предназначенный сразу для подачи на динамики, так что если вы захотите им проверить слабосигнальные каскады усилителя телевизора – поставьте делитель напряжения.
В таблице выше показаны все числа задержек и сигналов вывода данных и время необходимое для получения сигнала 800х600 VGA для работы. Наиболее важными параметрами импульсных сигналов. Эти два сигнала сообщат дисплею, когда начинать выводить данные на строку и когда все линии отображены. То есть они формируют Hsync и Vsync на экране.
А если ваш дисплей не имеет входа VGA (это актуально для самых новых моделей) – просто купите специальный переходник на HDMI или DVI.
Всё о микроконтроллерах AVR
Микроконтроллер – микросхема, предназначенная для управления электронными устройствами.
AVR – это название популярного семейства микроконтроллеров, которое выпускает компания Atmel . Кроме АВР под этим брендом выпускаются микроконтроллеры и другие архитектурные проекты, например, ARM и i8051.
Какими бывают микроконтроллеры AVR?
Существует три вида микроконтроллеров:
- AVR 8-битный.
- AVR 32-бит.
- AVR xMega
Самым популярным уже более десятка лет является именно 8-битное семейство микроконтроллеров. Многие радиолюбители начинали изучать микроконтроллеры с него. Почти все они познавали программируемые устройства управления простыми поделками, вроде светодиодных мигалок, термометров, часов, а также простые автоматики, типа управления освещением и нагревательными приборами.
Микроконтроллеры AVR 8-bit в свою очередь делятся на два популярных семейства:
- Attiny – из названия видно, что младшее (крошечный – юный, молодой, младший), в основном имеют от 8 пинов и более.Объём их памяти и функционал обычно скромнее, чем в следующем;
- Atmega – более продвинутые микроконтроллеры, имеют большее количество памяти, выводов и различных функциональных узлов;
Самым мощным подсемейством микроконтроллеров является xMega – эти микроконтроллеры выпускаются в корпусах с огромным количеством пинов, от 44 до 100. Столько необходимо для проектов с большим количеством датчиков и исполнительных механизмов. Кроме того, увеличенный объем памяти и скорость работы позволяют получить высокое быстродействие.
Расшифровка: Пин (англ. Pin – иголка, булавка) – это вывод микроконтроллера или как говорят в народе – ножка. Отсюда же слово «распиновка» – т.е. информация о назначении каждой из ножек.
Для чего нужны и на что способны микроконтроллеры?
Микроконтроллеры почти везде! Практически каждое устройство в 21 веке работает на микроконтроллере: измерительные приборы, инструменты, бытовая техника, часы, игрушки, музыкальные шкатулки и открытки, а также многое другое; одно лишь перечисление займет несколько страниц текста.
Разработчик может использовать аналоговый сигнал, подовая его на вход микроконтроллера и манипулировать данными о его значении. Эту работу аналогово-цифровой преобразователь (АЦП). Данная функция позволяет общаться пользователю с микроконтроллером, а также воспринимать параметры окружающего мира с помощью датчиков.
В распространенных AVR-микроконтроллеров, например, Atmega328, который на 2017 году является сердцем многих плат Arduino, но о них позже. Используется 8 канальный АЦП, с разрядностью 10 бит. Это значит вы сможете считать значение с 8 аналоговых датчиков. А кым цифровым выводам подключаются цифровые датчики, что может быть очевидным. Однако цифровой сигнал может являться только 1 (единицей) или 0 (нулем), в то время как аналоговый может принимать бесконечное множество значений.
Пояснение:
Разрядность – это величина, которая соответствует качество, точность и чувствительность аналогового входа.Звучит не совсем понятно. Немного практики: 10 битный АЦП, записать аналоговую информацию с порта в 10 битах памяти, иначе говоря плавно изменяющийся цифровой микроконтроллером сигнал распознается как числовое значение от 0 до 1024.
12 битный АЦП видит тот сигнал, но с более высокой точностью в виде от 0 до 4096, а это значит, что измеренные значения входного сигнала будут в 4 раза точнее. Чтобы понять, откуда взялись 1024 и 4096, просто возвести 2 в степени равной разрядности АЦП (2 в степени 10, для 10 разрядного и т. д.)
Чтобы управлять мощностью нагрузки к вашему распоряжению есть ШИМ-каналы, их можно задействовать, например, для регулировки яркости, температуры или оборотов двигателя. В том же 328 контроллере их 6.
В общей структуре AVR микроконтроллера изображена по схеме:
Все узлы подписаны, но всё же некоторые названия могут быть не столь очевидными. Давайте рассмотрим их обозначения.
- АЛУ – арифметико-логическое устройство.Нужно для выполнения вычислении.
- Регистры общего назначения (РОН) – регистры, которые могут принимать данные и хранить их в то время пока микроконтроллер подключен к питанию, после перезагрузки стираются. Служат как временные ячейки для операций с данными.
- Прерывания – что-то вроде события возникает по внутренним или внешним воздействиям на микроконтроллер – переполнение таймера, внешнее прерывание с пина МК и т.д.
- JTAG – интерфейс для внутрисхемного программирования без снятия микроконтроллера с платы.
- Flash, ОЗУ, EEPROM – виды памяти – программных, временных рабочих данных, долгосрочного хранения независимая от подачи питания к микроконтроллеру соответственно порядку в названиях.
- Таймеры и счетчики – важнейшие узлы в микроконтроллере, в некоторых моделях их количество может быть до десятка. Нужны для того, чтобы отчитывать количество тактов, соответственно временные отрезки, а счетчики увеличивают свое значение по какому-либо из событий. Их работа и её режим зависят от программы, однако выполняются эти действия аппаратно, т.е. параллельному тексту программы, может вызвать прерывание (по переполнению таймера) на любом этапе выполнения кода, на любой его строке.
- A / D (аналоговый / цифровой) – АЦП, его назначение мы уже описали ранее.
- WatchDogTime (Сторожевой таймер) – независимый от микроконтроллера и даже его тактового генератора RC-генератор, который отсчитывает интервал времени и формирует сигнал сброса МК, если тот работал, и пробуждения – если тот был в режиме сна (энергосбережния). Его работу можно запретить, установив бит WDTE в 0.
Выходы микроконтроллера довольно слабые, имеются в виду, что ток через них обычно до 20-40 миллиампер, чего хватит для розжига светодиода и светодиодных индикаторов. Для более мощной нагрузки – необходимы усилители тока или напряжения, например, те же транзисторы.
Что нужно начать изучение микроконтроллеров?
Для начала нужно приобрести сам микроконтроллер. В роли первого микроконтроллера может быть любой Attiny2313, Attiny85, Atmega328 и другие.Лучше выбирать ту модель, которая описана в уроках, по которому вы будете заниматься.
Следующее что Вам нужно – программатор . Он нужен для загрузки прошивки в память МК, самым дешевым и популярным считается USBASP .
Немногим дороже, но не распространенный программатор AVRISP MKII , который можно сделать своими руками – из обычной платы Arduino
Другой вариант – прошивать их через USB-UART переходник, который обычно делается на одном из преобразователей: FT232RL, Ch440, PL2303 и CP2102.
В некоторых случаях такого преобразователя используют микроконтроллеры AVR с аппаратной поддержкой USB, таких моделей не слишком много. Вот некоторые:
- ATmega8U2;
- ATmega16U2;
- ATmega32U2.
Одно лишь «но» – в память микроконтроллера первоначальное нужно загрузить UART бутлоадер. Разумеется, для этого все равно нужен программатор для AVR-микроконтроллеров.
Интересно: загрузчик – это обычная программа для микроконтроллера, только с необычной проверкой – после его запуска (подключения к питанию) он ожидает какое-то время, что в него может загрузить прошивку.Осуществить такой метод – можно прошить любым переходником USB-UART, а они очень дешевы. Недостаток – долго загружается прошивка.
Для работы UART (RS-232) интерфейс в микроконтроллерах AVR выделен целый регистр UDR (регистр данных UART) . UCSRA (настройки битов приемопередатчика RX, TX), UCSRB и UCSRС – набор регистров отвечающих за настройки интерфейса в целом.
В чем можно писать программы?
Кроме программатора для написания и загрузки программы нужно IDE – среда для разработки.Можно конечно же писать код в блокноте, пропускать через компиляторы и т.д. Зачем это нужно, когда есть отличные готовые варианты. Пожалуй, один из наиболее сильных – это IAR, однако он платный.
Официальным IDE от Atmel является AVR Studio, которая на 6 версии была переименована в Atmel studio. Она поддерживает все микроконтроллеры AVR (8, 32, xMega), автоматически определяет и помогает, подсвечивает правильный синтаксис и многое другое. С её же помощью можно прошивать МК.
Наиболее распространённым – C AVR, поэтому найдите самоучитель по нему, есть масса русскоязычных вариантов, а один из них – Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих ».
Самый простой способ изучить AVR
Купите или сделайте своими руками Arduino. Проект ардуино разработан специально для учебных целей. Он насчитывает десятки плат различных формами и контактов контактов. Самое главное в ардуино – это то, что вы хотите не просто микроконтроллера, полноценную отладочную плату, распаянную на качественную текстолитовую печатную плате, покрытой маской и смонтированными SMD компонентами.
Самые распространенные – это Arduino Nano и Arduino UNO, они по сути своей идентичности, разве что «Нано» меньше примерно в 3 раза чем «Уно».
Несколько фактов:
- Ардуино может программироваться стандартным языком – «C AVR»;
- своим собственным – электромонтаж;
- стандартная среда для разработки – Arduino IDE;
- для соединения с достаточно лишь подключить USB-шнур к гнезду micro-USB на плате ардуино нано, установить драйвер (скорее всего это автоматически, кроме случаев, когда преобразователь на Ch440, у меня на Win 8).1 драйвера не стали, пришлось скачивать, но это не заняло много времени.) После чего можно заливать ваши «скетчи»;
- «Скетчи» – это название программ для ардуино.
Выводы
Микроконтроллеры станут отличным подспорьем в вашей радиолюбительской практике, что позволит вам открыть для себя мир цифровой электроники, конструировать свои измерительные приборы и средства бытовой автоматики.
Ранее ЭлектроВести писали, что в аэропорту «Борисполь» запустили первое электрозарядное устройство на два паркоместа.Об этом сообщил на своей странице в Facebook заместитель гендиректора аэропорта Георгий Зубко.
По материалам: electrik.info.
.