Подключение микроконтроллера к телевизору

Обновлено: 06.05.2024

Если вас интересует подключение микроконтроллера (здесь и далее МК), а также подключения к нему кнопки, питания, или светодиода. Или вы хотите знать что делать с выводами AREF или AGND, что представляет собой AVCC. И собственно понять как все таки подключить микроконтроллер то данная статья сможет вам слегка приоткрыть занавес в изучении мира микроконтроллеров.

Все нижеописанное относится к AVR контроллерам, но в случае с PIC все процедуры схожи, из-за единства принципов.

Питание микроконтроллера

В своей работе МК использует электроэнергию. Поэтому для того, чтобы правильно выполнить подключение микроконтроллера, требуется напряжения от 1.8 до 5 В. Любой МК AVR работает с напряжением от 5 Вольт. Поэтому примем это напряжение как эталон от него и будем отталкиваться. Оно имеет обозначение VCC.

Нулевой вывод — это GND. Если рассматривать блок питания ПК, то провод черного цвета является здесь GND (к тому же, провод Земли как правило черный), провод красного цвета — это +5, станет VCC.

Если вы в качестве питания для микроконтроллера планируете использовать батарейки, то минус батареек обозначим как GND, а их плюс, как VCC.

При этом важно, чтобы напряжение от батарей сохранялось в нужных лимитах для конкретной модели МК. Эти данные указаны в datasheet (документации) на микроконтроллер.

Такой вопрос как подключение микроконтроллера должен учитывать то, что существуют низковольтные модели (как 2313V), их нижний уровень напряжения будет значительно занижена. Также важны частоты. Здесь показано то, как наибольшая частота может зависеть от напряжения. Очевидно, что при низком уровне, предельные частоты будут ниже. При том низковольтные модели вдвое медленней высоковольтных. Но их можно разогнать, как и любой процессор.

Все, что требуется AVR контроллерам для функционирования, это питание. На входы VCC необходимо подавать 5 В. (или же другое значение в зависимости от модели), а входы GND необходимо заземлить.

МК может иметь и ни один вход VCC, а несколько, это же относится и к GND входам (в особенности если они помещены в квадратный корпус TQFP, где питалово на виду). Важно, чтобы питание кристалла было равномерным со всех сторон, для избежания перегрева внутренних питательных цепей.

Иначе может возникнуть ситуация типа следующей: допустим, вы осуществили подключение питалова лишь с одной из сторон чипа. С другой стороны решили установить на каждую портовую линию светодиод, и затем все их сразу и зажгли.

Реакция устройства будет такова: внутренняя шина питания, не поняв заданного параметра электричества, исчезла, а процессор, казалось бы не имея на то никаких причин, вдруг сгорел.

Поэтому очень важно производить правильное подключение всех выводов GND и VCC. Необходимо соединить их требуемым образом и подать нужное питание.

AVCC и AGND — это питание аналогоцифрового преобразователя и аналоговая земля. АЦП измеряет напряжение, подавать на него питание лучше при помощи фильтров, чтобы избежать пагубного влияния помех в электроцепи.

Поэтому в схемах земля бывает аналоговой и цифровой (соединение их должно присутствовать только в 1 точке). Напряжение на AVCC нужно подавать при помощи дроссельного фильтра.

Если не требуется применение АЦП и отсутствует необходимость в точных расчетах измерений, то на AVCC просто подайте 5 вт, равно как и на AGND и VCC, посадите на землю, как и все остальное. Но подключать их нужно!

Простое подключение микроконтроллера AVR

Все это нужно, чтобы контроллер мог заработать. VСС провод до программатора указан пунктирной линией, ибо является опциональным. При наличии внешнего источника питания, в нем необходимости нет. Но все-таки лучше сначала питать общею систему (МК и программатор) от единого источника, так как это даст возможность с успехом опробовать прошивку.

Следует использовать внешние навесные элементы.

Как видишь, добавился дроссель в цепь питания AVCC, а также конденсаторы. Хорошим тоном является ставить керамический конденсатор на сотню нФ между VCC и GND у каждой микросхемы (а если у микрухи много входов питания и земель, то между каждым питанием и каждой землей) как можно ближе к выводам питания — он сгладит краткие импульсные помехи в шине питания вызванные работой цифровых схем. Конденсатор на 47 мкФ в цепи питания сгладит более глубокие броски напряжения. Конденсатор между AVCC и GND дополнительно успокоит питание на АЦП.

Схема сброса

Резистор на RESET. AVR имеет собственную схему сброса, сигнал RESET оснащен резистором на 100 кОм к VCC. Но это не надежно! Лучше подтянуть RST до питания при помощи резистора 10 кОм.
Еще одна схема сброса

Ее преимущество в том, что когда схема включается, конденсатор находится в разряженном состоянии и напряжение на RST почти нулевое, микроконтроллер не начинает свою работу, ибо ему выдается непрерывный сброс. Но вскоре конденсатор получит заряд через резистор и напряжение на RST составит лог1, и МК будет запущен.

Задержка равняется T=R*C ( в примере: 1 сек.). Она требуется, чтобы МК не начал работать раньше остальных устройств.

Тактовый сигнал и его источник

Тактовый генератор является центром МК. По всем импульсам происходят различные операции в контроллере — данные ходят по шинам и регистрам, выводы портов переключаются, и т.д. При большей скорости тактовой частоты, МК будет быстрее выполнять свою работу и использовать большее количество энергии.

Задают импульсы при помощи встроенного в МК тактового генератора, или внешнего. Быстрота внутреннего генератора может зависеть от настроек МК и обвязки.

  • внутренний (имеющий внутреннюю задающую цепочку RC).
  • Обвязка не нужна. Выводы XTAL2 и XTAL1 нет необходимости подключать, но их можно оставить в качестве портов ввода вывода (при возможности). Выбирается 1 из 4 (по умолчанию) значений внутренней частоты.
  • внутренний(имеющий внешнюю задающую RC цепь).Нужен внешний для мк резистор и конденсатор. Можно менять в процессе тактовую частоту, изменяя значение резистора.
  • внутренний (имеющий внешний задающий кварц).С внешней стороны устанавливается кварцевый резонатор и 2 конденсатора. При низкочастотном кварце (до 1 МГц) конденсатор не потребуется.
  • внешний. Другое устройство подает на вход МК прямоугольный сигнал, задающий такты.

Плюсы различных схем

При наличии внутренней цепи RC мы может получить экономию места на плате, не потребуются дополнительные элементы, но не будет максимальной частоты, плюс она будет зависеть от температуры.

Внешний кварц является точным, нужны дополнительные элементы. Возможен максимальный уровень производительности МК.

Методы тактования МК можно посмотреть в даташите в System Clock and Clock Options, при этом важна конфигурация фьюз битов. Фьюз биты лучше не трогать, если пока вы не являетесь спецом в настройках.

Как подключить кнопку или светодиод к микроконтроллеру

Если говорить о взаимодействии с внешней средой, то в качестве самостоятельного устройства микроконтроллер не представляет особого интереса — просто что-то там внутри сам с собой тикает. А если вы решите отобразить его действия, то уже станет интереснее.

Светодиод или кнопку можно подключить используя ряд нехитрых операций:

Для кнопки необходимо выбрать ножку I/O, и произвести ее подключение при помощи кнопки на землю. Конфигурация самого вывода будет представлять собой DDRxy=0 PORTxy=1 (вход с подтяжкой).

При этом, если кнопка не находится в нажатом положении, при помощи подтягивающего резистора, вход будет иметь большое напряжение, а из бит PINху при чтении мы получим 1. При нажатой кнопке, вход будет на земле, а напряжение на этом входе упадет до нулевого, из PINxy будет прочитываться 0. По нулевым позициям в битах PINх регистра нам становится известно о нажатом состоянии кнопки.

Пунктиром выделен еще один подтягивающий резистор. Хотя внутри AVR возможно подключение к порту подтяжки, она будет ненадежной: 100 кОм. Поэтому она может быть просто придавлена к земле при помощи наводки или помехи, что даст ложное срабатывание. Для хорошей схемы необходима внешняя подтяжка на 10 кОм.

Способы подключения светодиода к порту

Всего существуют 2 схемы:

В первом случае диод зажигается при выдаче в порт логический ноль: уровень низкий (близок к нулю). При втором способе, чтобы диод зажегся, следует выдать в порт логическую единицу: уровень высокий, приравненный к значению VCC.

Для AVR подходит любой их этих способов, но старые модели МК тянули вниз лучше, поэтому Порт-Питание более популярен. Настройка вывода порта на выход для светодиода (DDRxy=1), при этом, зависимо от параметра в PORTxy ножка будет иметь либо низкое либо высокое напряжение.

Производить подключение светодиода следует через резистор. Так как уровень прямого сопротивления светодиода небольшой. И при отсутствии лимитов проходящего сквозь него тока, он может сгореть, а также прожечь вывод МК. Для нормальной работы светодиода достаточно примерно 3…15 мА.

Подключение жидкокристаллического дисплея к микроконтроллеру ATmega32: внешний вид схемы

Для того, чтобы обеспечить хорошую коммуникацию между миром машин и миром людей, необходим жидкокристаллический дисплей. Как правило, он является важным компонентом различных встраиваемых систем. Все дисплеи, большие они или маленькие, функционируют согласно следующим основным принципам. Рассмотрим дисплеи 16x1 и 16x2. Дисплей 16x1 позволяет отобразить 16 символов в одной строке. Дисплей 16x2 позволяет отображать 32 символа – 16 символов на первой строке и 16 символов на второй. Для того чтобы научиться работать с дисплеем необходимо понять, что каждый символ занимает на дисплее 5x10=50 пикселов. То есть чтобы отобразить один символ на экране дисплея, все эти пикселы должны работать одновременно. Но эти проблемы нас не будут волновать поскольку в составе дисплея, который мы будем использовать, присутствует контроллер HD44780, который берет всю работу по контролю этих пикселов на себя.

Необходимые компоненты

Аппаратное обеспечение

  1. Микроконтроллер ATmega32 (семейство AVR).
  2. Программатор AVR-ISP (купить на AliExpress), USBASP (купить на AliExpress) или другой подобный.
  3. JHD_162ALCD (жидкокристаллический дисплей 16x2) (купить на AliExpress).
  4. Конденсатор 10 мкФ.
  5. Источник питания с напряжением 5 Вольт.

Программное обеспечение

  1. Atmel Studio версии 6.1 (или выше).
  2. Progisp или flash magic (необязательно).

Работа схемы

Схема устройства приведена на следующем рисунке.

На схеме показано, что порты микроконтроллера AVR ATmega32 подсоединены к портам данных жидкокристаллического дисплея (ЖК). При этом необходимо помнить о том, что необходимо деактивировать интерфейс JTAG в PORTC ATmega32 при помощи изменения фьюзов (fuse bytes) чтобы иметь возможность использовать порты PORTC в качестве обычных портов ввода/вывода. У ЖК дисплея 16x2 всего 16 контактов если в нем присутствует черный цвет. Если же черного цвета нет, то у ЖК дисплея будет 14 контактов. 2 контакта, отвечающих за черный цвет, можно проигнорировать. Таким образом, среди оставшихся 14 контактов имеем 8 контактов данных (7-14 или D0-D7), 2 контакта для подачи питающего напряжения (1&2 или VSS&VDD или gnd&+5v), 3-й контакт для контроля контраста (насколько "жирно" будут выглядеть символы на экране), 3 контакта контроля (RS&RW&E).

На представленной схеме использовано только 2 контакта контроля, что обеспечивает дополнительную гибкость схеме. Контакт контраста и контакт READ/WRITE используются редко, поэтому в нашем случае они могут быть просто замкнуты на землю, что гарантирует ЖК дисплею максимальный контраст и переключает его в режим чтения (READ). Нам необходимо всего лишь управлять контактами ENABLE и RS чтобы передавать на дисплей символы и данные.

Необходимые соединения между микроконтроллером ATmega32 и 16x2 ЖК дисплеем следующие:
PIN1 или VSS – земля (ground)
PIN2 или VDD или VCC – питание +5 В
PIN3 или VEE - земля (обеспечивает максимальный контраст символов)
PIN4 или RS (Register Selection) - PD6 микроконтроллера
PIN5 или RW (Read/Write) - земля (переводит ЖК дисплей в режим чтения)
PIN6 или E (Enable) - PD5 микроконтроллера
PIN7 или D0 - PA0 микроконтроллера
PIN8 или D1 - PA1
PIN9 или D2 - PA2
PIN10 или D3 - PA3
PIN11 или D4 - PA4
PIN12 или D5 - PA5
PIN13 или D6 - PA6
PIN14 или D7 - PA7

Таким образом, мы соединили 10 контактов ЖК дисплея с микроконтроллером, из которых 8 контактов используются для передачи данных, а 2 контакта – для управления.

Принципы управления жидкокристаллическим дисплеем

Итак, мы определились с тем, что будем использовать 10 контактов ЖК дисплея: 8 контактов для передачи данных и 2 контакта для управления.

2 контакта управления будут использоваться следующим образом:

1. Контакт RS (Register selection – выбор регистра) будет использоваться для того, чтобы сообщить ЖК дисплею о том будем ли мы пересылать ему данные или команду.

В представленной таблице (верхней) значение порта данных ЖК дисплея (D7-D0), равное "0b0010 1000" (двоичный код) или "0x28" (шестнадцатеричный код) указывает на то, что ЖК дисплей должен отобразить на своем экране символ "(". В таблице 2 (нижней) то же самое значение "0x28" указывает ЖК дисплею что он должен переключиться в режим: 4 бита, 2 строки, 5х7 точек. Таким образом, одно и то же значение порта данных (D7-D0) может использоваться для двух целей – и выбор одной из этих целей осуществляется с помощью регистра выбора RS. Если на контакте RS низкое напряжение – это свидетельствует ЖК дисплею о том, что мы будем передавать команду. Если на контакте RS высокое напряжение, то ЖК дисплей понимает что мы будем передавать данные. Соответственно, ЖК дисплей конфигурирует свой порт данных в зависимости от состояния регистра (контакта) RS.

2. Контакт E (Enable - доступен) устанавливает готовность порта данных к приему информации. Если напряжение на этом контакте изменяется с высокого на низкое – это свидетельствует о том, что ЖК дисплей принял данные и отображает на экране соответствующий результат. Таким образом, на этот контакт подается высокое напряжение перед началом передачи данных и низкое напряжение когда процесс передачи данных завершен.

Объяснение работы программы

После того как вы соединили аппаратные компоненты схемы между собой, запустили программу Atmel studio и начали в ней новый проект для написания программы, сейчас самое время открыть окно программирования и начать написание программы. Программа должны делать следующие вещи.

Сначала мы сообщаем микроконтроллеру ATmega32 какие порты ЖК дисплея мы собираемся использовать для передачи данных и команд управления. Затем мы сообщаем микроконтроллеру когда мы будем посылать данные ЖК дисплею устанавливая соответствующие значения контактов RS и E дисплея.

Короткое объяснение принципов работы программы:

  1. На контакт E подается высокое напряжение (сообщаем ЖК дисплею что он будет принимать данные), а на контакт RS подается низкое напряжение (сообщаем ЖК дисплею о том, что будет передаваться команда).
  2. Передаем значение 0x01 на порт данных – команда очистки экрана.
  3. На контакт E подается высокое напряжение (сообщаем ЖК дисплею что он будет принимать данные), на контакт RS также подается высокое напряжение (сообщаем ЖК дисплею о том, что будут передаваться данные).
  4. Передаем строку символов – по одному символу, один за другим.
  5. На контакт E подается низкое напряжение – сообщаем ЖК дисплею о том, что мы закончили передачу данных.
  6. После этой последней команды ЖК дисплей заканчивает процессы связи (передачи/приема данных), обрабатывает полученные данные и высвечивает полученную строку символов на экране.

В представленном сценарии работы программы мы передаем поочередно символы на ЖК дисплей – один за другим. Символы передаются на ЖК дсиплей в ASCII коде (American standard Code for Information Interchange - Американский стандартный код обмена информацией).

На следующем рисунке представлена таблица ASCII кодов. К примеру, чтобы ЖК дисплей отобразил символ “@” мы должны передать ему в шестнадцатеричном коде код “64”. Если мы передадим на ЖК дисплей значение ‘0x62’, то он отобразит на экране символ ‘>’. Таким образом, передавая необходимые ASCII коды на ЖК дисплей, мы заставим отображать его те символы, которые нам нужны.

Подключаем терминал к телевизору. Смотрим логи Ремонт техники, Ремонт электроники, Длиннопост

На плате нам нужно найти разъем UART, полное название - UART SERVICE CONNECTOR. На нем 3 контакта - TX , RX и GND. К нему подключаем коннектор. Универсального кабеля нет, поэтому коннектор я сделал сам.

Подключаем терминал к телевизору. Смотрим логи Ремонт техники, Ремонт электроники, Длиннопост

Берём любой преобразователь USB to UART. Я использую самый дешевый программатор CH341A. Джампер ставим в позицию 2-3, и соединяем соответственно RX, TX и GND.

Подключаем терминал к телевизору. Смотрим логи Ремонт техники, Ремонт электроники, Длиннопост

Подключаем в USB. В диспетчере устройств должен появиться новый COM-порт. Открываем любую терминальную программу , в настройках программы выбираем COM порт вашего преобразователя и выставляем скорость 115200, выбираем место сохранения лога , далее нажимаем коннект в программе. Подключаем питание и нажимаем кнопку включения. В терминале побежал код загрузки.

Подключаем терминал к телевизору. Смотрим логи Ремонт техники, Ремонт электроники, Длиннопост

Ищем ошибку. Она возникает при обращении процессора к шине цифрового тюнера.

[dtv_app_mtk]> [RHXTV] c_rpc_reg_xtvapi_op_hndlrs[ 30.640817] [Vendor_Demod][Silabs]:

Подключаем терминал к телевизору. Смотрим логи Ремонт техники, Ремонт электроники, Длиннопост

@m7mark А вот можно как для инженера - как из этой информации "[dtv_app_mtk]> [RHXTV] c_rpc_reg_xtvapi_op_hndlrs[ 30.640817] [Vendor_Demod][Silabs]:

а это не повод еепромку заменить?

Ты знал, ты знал. Тут работы пару раз ткнуть паяльником)))))


Кумир У-001 и комплектация "с хранения"

Пришёл в работу Кумир 91 года. С симптомом: фон в одном канале.

Кумир У-001 и комплектация

Кумир У-001 и комплектация

Кумир У-001 и комплектация

Кумир У-001 и комплектация

Перемычка вместо заглушки

Кумир У-001 и комплектация

Хозяин сам заменил конденсаторы по питанию "новыми", с хранения, с 5 приёмкой, тоже 90го года. Они хорошие, так же, как и старые:

Кумир У-001 и комплектация

Шум остался. И усилитель к нам приехал.
Меняем оставшиеся конденсаторы на новые)

Кумир У-001 и комплектация

Вот, кстати, список, если кому нужен. Ценники там примерные

Кумир У-001 и комплектация

Вот и посылочка с красного магазина)))

Кумир У-001 и комплектация

После замены фон пропал. Но нет одного канала на ЗС. И светодиоды не горят при перегрузке. При приёмке мы вход ЗС не проверяли. Настраиваем индикацию перегрузки с помощью подстроечных резисторов, также напряжения 0 проверяем и ток покоя. Они в норме.
На плате фонокорректора сдох операционник К553УД1В. На входе есть синус, на выходе - нет.
В красном магазине под заказ. Идём в маленький магазинчик местный. Там продавец говорит, что есть оригинальные, рижские, с хранения. По 20₽. Вообще, по его словам, что А, что В, всё одно и то же)))

Кумир У-001 и комплектация

Заценили маркировку относительно 1 ноги?)))
Это вам не новодел.
Главное, что работает. Сам усилитель заиграл. Выдал 35 Вт без искажений и скоро папа за ним придёт)

Кумир У-001 и комплектация

Забыл совсем, заглушечку-то сделали)))


ТО Электроника ЭП-017

Здравствуйте. Принесли нам этот аппарат на обслуживание)

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

Гудит трансформатор, не работает плавное перемещение вправо. Кто-то в комментах накаркал)))
Покупаем голову с иглой, конденсаторы и ждём

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

Не ждём, а разбираем)

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

Делаем виброизоляцию проигрывателя

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

3 мм автомобильной виброизоляции добавят веса.
С перемещением вправо всё просто, меняем микрик)

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

Делаем автовозврат после окончания пластинки)

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

Сопливим плату для проверки

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео

Бах не зашёл, честно.

ТО Электроника ЭП-017 Ремонт техники, Ремонт электроники, Виниловый проигрыватель, Электроника, Рязань, Длиннопост, Видео


Электроника и Амфитон)

Давайте отвлечёмся от ремонтов и посмотрим, как крутится диск.
Вчера мы закончили Амфитон, скоро и проигрыватель будет готов. Осталось отрегулировать автовозврат) А пока посмотрим на них вместе. Понастальгируем)))

Видео дольше 3 минут, поэтому через Ютуб


Амфитон 002 Пикабушника

Здравствуйте. Приехал к нам из столицы этот усилитель

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Вот такой. Не играл, только похрипывал немного.
Начинаем с конденсаторов, вот список, если кто займётся

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Пока едут конденсаторы разбираем. Бока и верх поедут на покраску

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Вот он, выходные транзисторы в пластике)
Пришли конденсаторы, делаем заготовку для фильтра по питанию

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Одновременно с этим отдаём на чистку переднюю панель и крутилки с кнопками

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Когда собрали усилитель, он показал свою работу на 1 кГц на нагрузку. Хотели уже отдавать, но при подключении к колонкам один канал похрипывал. Были искажения.
Посмотрели, нет одной полуволны. Увидели на плате ляп из припоя. Мы в это место не лазили, может, кто до нас посадил.

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Прям капнули на дорожку.
Плюшку убрали, канал не заработал.
Без нагрузки хорошо, под нагрузкой плохо.

Амфитон 002 Пикабушника Ремонт техники, Ремонт электроники, Усилитель звука, Амфитон, Сделано в СССР, Рязань, Длиннопост

Грешили на выходные, замена не помогла. Нашли пробитые ВТ10 и ВТ12.
Заменили. Включили. Синус появился, правда кривой. Через минуту из ВТ12 пошел дымок.
Транзистор остался цел, но h21э с 40 упал до 3))). Под замену его снова)
Получается, что он работает вместо выходного 819го))) раз под нагрузкой весь ток шарашит через него. Стали выяснять почему. Искали долго. Дошли до того, что выпаивали и проверяли каждый резистор и конденсатор в плате по отдельности. Ни к чему не пришли. Стали сличать монтаж платы с рабочей.
Помните блямбу, которая коротила 2 дорожки?))) а той плате она тоже есть))) коллектор 819го забыли развести и это, оказывается не шмат припоя упал с паяльника, а рацуха.
Усилитель проверен) сейчас на сборке) видео будет завтра в вк и инсте)
Спасибо, на этом пока всё



Нарисовал схему подключения. Для питания дисплея нужно напряжение 3,3V. Если запитывать микроконтроллер от 5V, то ставим резисторные делители и микросхему 78L33. В случае питания всей схемы от 3,3V резисторные делители не нужны. Вроде Atmega8A может работать от 3,3V при условие, что частота не выше 8 МГц. Лично я не пробовал. У меня все собрано на отладочной плате с питанием от 5V. Перед самим дисплеем ставить по питанию электролит большой емкости ни в коем случае не надо. В самом начале работы контроллер подает на дисплей команды инициализации. Для заряда конденсатора нужно время. Пока он зарядится и дисплей начнет работать пройдет некоторое время, и команды инициализации он не получит. Конечно это миллисекунды, но в даном случае эффект ощутим.

Схема распиновки дисплея нокиа

Схема распиновки дисплея

У дисплея Nokia 1202 9-ти битный SPI интерфейс. У выбранного нами микроконтроллера такой роскоши нет. По этому для связи с дисплеем мы используем не аппаратный, а программный SPI, так сказать "ногодрыг”. Как создавать новые проекты в CodeVision рассказывать не буду - думайте сами. Скажу только, что все выводы PORTB надо настроить на выход. В настройках проекта нужно поставить галочку на "Store Global Constants in FLASH Memory”. Данное действие нужно для того, чтоб массивы шрифтов и наших картинок хранились во флеше.



Итак, проект мы создали. Выбрали микроконтроллер, задали тактовую частоту, настроили проект. Что дальше? А дальше нужно добавить библиотеки для работы с дисплеем и библиотеки задержек. Распаковываем архив. Там есть два файла. Их нужно скопировать в определенные папки. Надеюсь CodeVision вы установили прямо на диск C:\. Если да, то файлы копируем по соответствующим путям:

C:\cvavreval\inc для файла 1100.inc, и
C:\cvavreval\lib для файла 1100.h .

назначение пинов микроконтроллера можно изменять

Еще хочу сказать, что назначение пинов микроконтроллера можно изменять в файле 1100.h. Тогда и схема подключения изменится. Начинаем кодить. Просто выведем какую-то надпись на дисплей основным шрифтом 5*8. В самом начале добавим библиотеки.

В самом низу до основного цикла while(1)<> делаем инициализацию дисплея и его очистку.

lcd_init(); // инициализация дисплея
lcd_clear(); // очистка дисплея

Нашу надпись поставим так же до основного цикла. Пусть сперва контролер выведет послание на дисплей, а после крутится в основном цикле. Пишем вот это:

print_string("Выводим надпись",5,0);
print_string("Какую сами хотим",0,1);
print_string("БУХАРЬ",10,2);

Думаю здесь все понятно. Первая цифра – координата по оси x на дисплее. Она может принимать значение от 0 до 96. Вторая – строка. Она от 0 до 7. В принципе там помещается 8 с половиной строк, но на пол строки мы читать не будем. Компилируем и прошиваем. Смотрим результат. Можно так же установить Proteus, и протестировать в нем. Контроллер можно настроить для работы от внутреннего генератора на частоту заданную в проекте с задержкой при старте 64 мсек. Добавляю архив с скомпилированным проектом. Частота 8 Мгц.

Но как уже писал в начале, в библиотеке есть еще и другие символы. Правда там нет букв, а только цифры. Теперь немного усложним задачу. Пусть надпись не будет инертной, а изменяется. Допустим считает от 0 до 9 с интервалом в 1 секунду. Когда дойдет до 9, после обнулится и снова наново. Возьмем цифры большие размером 24*32. Ну чтож приступим. Можно взять предыдущий проект и удалить три строки "print_string”. Сразу после добавления библиотек объявим некую глобальную переменную m.

Можно и просто написать:

В даном случае ей автоматически присвоится значение 0. В основном цикле пишем вот это:

char_24_32(m,35,2); //функция вывода символа 24*32
delay_ms(1000); // ждем 1 секунду
m++; // добавляем 1 к переменной m
if(m>9)m=0; // Условие. Если переменная m больше 9, то m равняется 0.

Снял небольшое видео работы программы

Форум по обсуждению материала ПОДКЛЮЧЕНИЕ ДИСПЛЕЯ К МИКРОКОНТРОЛЛЕРУ


Противопомеховые фильтры - параметры, свойства, выбор подходящей схемы и радиоэлементов.


Электромагнитное реле - теория и практика применения. Обозначение, виды, основные параметры и правила эксплуатации.


Пайка SMD компонентов 1206, 0805, MELF, SO8, SO14, SO28, TQFP32 в домашних условиях обычным паяльником.

Читайте также: