Яндекс.Метрика
Поиск радиодеталей
                                                   Светодиолная гирлянда.
 
В сети интернета есть много статей где описывается как помигать светодиодом на основе простейшего контроллера и небольшой программки к нему.
Сегодня мы будем делать почти то же самое но по взрослому. Будем мигать сразу аж восьмью светодиодами, используя за основу микросхему памяти, последовательный еепром 27с512 или 27с256 и им подобные.
Почему именно эту микросхему? Во первых это почти классика электронного жанра. Даная серия отлично работает на низкой частоте. Она довольно распространена. Ее можно достать из старого ПК где она используется в качестве БИОС. Так же такие микросхемы стоят в старых игровых приставках, кассовых аппаратах, электронных весах, старых автомобилях и прочих раритетах электроники . То есть микросхема не дефицит и её не нужно выписывать почтой из соседнего города.
  Второй важный момент в том что написать программу для этого устройства очень просто. Не нужно знать ни каких языков программирования,
и прочих премудростей и тонкостей в работе с программами. Если вы ещё не написали своей программы то это не беда, можно взять БУ микросхему 27с512 с любым записанным содержимым и она будет работать. Правда переключения светодиодов будут не по плану, но всё же будут. Это хорошо так как сразу можно проверить устройство в работе. Ну и самое главное это практический урок по работе с параллельной епром.
Прежде чем приступить к описанию схемы, расскажу тем кто не знает что из себя представляет микросхема памяти 27с512.
Я думаю что у многих радиолюбителей эти микросхемы пылятся в ожидании своего часа. Час пробил!
Radiopara.ru
И так, внутри микросхемы расположены ячейки памяти, таких ячеек в микросхеме около 70 тысяч , мы используем половину из возможного. В нашем случае они будут по очереди переключатся от одной к другой,  в каждой ячейке прописано число от 0 до 255. Одно такое число появляется по команде на 8 выходах микросхемы в виде обычного двоичного сигнала примерно такого вида: 11010110 . Ноль это выключено а единица включено,  0 - светодиод погашен, 1 - горит.
. Проще говоря мы поочерёдно будем задавать состояние на 8 выходах микросхемы к которым подключены 8 светодиодов.
 Что нам нужно из железа: Светодиоды, микросхема таймер NE555 или любой аналог, что бы на ее базе сделать генератор импульсов 5-10 герц.
Как альтернативу возможно использовать генератор на микросхемах отечественной и зарубежной стандартной логики 155, 174, 555, 74HC, CD400.
Микросхема двоичный счётчик CD4020 что бы переключать кодом ячейки в 27с512. Тут как замена может быть любой аналогичный двоичный счетчик с  переключением по входному импульсу типа К561ИЕ16 или 74HC4040(CD4040). Сама память 27с512, можно взять и 27с256 с чуть меньшим объёмом памяти так как в реалии мы всё равно не используем полную ёмкость микросхемы. Микросхема токовых ключей ULN2803 для развязки,  мы не можем напрямую зацепить светодиоды к 27с512 и за слабого выходного тока этой микросхемы. ULN2803 применяются в стиральных машинах, автосигнализациях и другой технике. Возможно использовать распространённую на старых материнских платах 74F244(74HC244). Выходной ток этой микросхемы правда по меньше чем у 2803 но нам хватит. Для токового ограничения последовательно на каждый светодиод нам понадобятся 8 резисторов по 100 Ом. Это для светодиодов с током в 30 миллиампер Я нашел две резисторные сборки 4 резистора по 74 Ома стояли на старой материнке и добавил один общий резистор на 30 Ом.
Питается весь девайс от 5 вольт, в качестве источника питания я применил адаптер зарядки от старого телефона Самсунг. Устройство потребляет около 100 мА
Собрано устройство на макетной плате, соединения выполнены проводами от компьютерного шлейфа.
Вот и готовое устройство:
Radiopara.ru
Radiopara.ru
Схема данного устройства:
Radiopara.ru
  Защита от помех и емкостные развязки по питанию не нужны, схема низкочастотная. Единственное неиспользуемые входы А11-А15 на 27С512 нужно заземлить как на схеме, иначе микросхема будет фонить. Резистором RV1 устанавливается частота переключений.
  Не забываем подать питание 5 вольт на микросхемы U2, U3 На схеме не обозначено. Токовые ключи 2803 берут только минус питания на 9 ногу. 27с512 - плюс 28 нога, минус 14нога. Счетчик 4020 - плюс 16 нога, минус 8 нога.
  Ещё один вариант схемы на других элементах, применены 74LS04; 74HC4040; 27C265; 74HC244. Схему можно комбинировать в любых вариациях. Допустим взять основу из первой схемы и добавить выходную микросхему 74HC244 из второй.
  Внимание: микросхемы 27с512 и 27с256 в обоих схемах полностью взвимозаменяемы без изменения монтажа. Работают в схемах как новые электростираемые микросхемы так и старые микросхемы с окошком для УФ стирателя.
Radiopara.ru
  Питание микросхем 5 вольт: 74LS04 минус 7 нога плюс 14 нога. 74HC4040 плюс 16 нога минус 8 нога. 27c265 плюс 28 нога минус 14 нога.
74HC244 плюс 20 нога минус 10 нога.
  Со схемой разобрались переходим к программированию:
Нам понадобится таблица перевода двоичного кода в десятичный, и любой hex редактор что бы создать  программный код.
И ещё нужно немного терпения, так как всё это делается не так быстро как бы хотелось.
Вот собственно схема перевода двоичного кода в шестнадцатеричный, с которой будем работать:
  Что это такое? Что бы не морочить вам голову объясню по простому: У нас на принципиальной схеме находятся четыре светодиода вверху и четыре внизу.
С лева в колонках схемы перевода чисел  у нас состояние светодиодов, а с права то что мы будем писать в HEX таблицу самой программы. Допустим у нас все верхние светодиоды погашены 0000 пишем  0, а нижние светодиоды горят только по краям 1001 пишем 9. И того у нас получился код 09. Открываем файл программы для 27с512 в HEX редакторе и прописываем наш код 09 по адресу 000000, то есть в верхний левый угол
Далее таким же образом пишем следующий код правее потом ещё и ещё, то что у нас получится должно выглядеть примерно так:
  Первая цифра  в клеточке состояние верхних светодиодов, вторая состояние нижних. Микросхема по очереди с лева на право будет выдавать то что прописано в клетках HEX таблицы на свои выходы, и зажигать нам светодиоды в соответствующих записям комбинациях .
  Как задать изменение скорости? Очень просто, если хотим удлинить время свечения одной из комбинаций то повторяем тот же код в следующих клетках HEX таблицы.
В приведённой таблице дан пример двух скоростей переключения.
Левый верхний угол: FF FF - Все светодиоды горят, время продлено на одну ячейку
99 99 - горят угловые светодиоды. 66 66 - горят светодиоды в центре.
 Далее повтор комбинации. 99 99 66 66, затем гашение всех светодиодов код 00
Потом:10 20 40 80….. - бегущая точка, время свечения сократилось до одной ячейки.
  Что бы вам не искать долго файл для открытия в HEX Редакторе, Наберите в поисковике «прошивка 27с512». Ищите файл в формате HEX и открывайте его в HEX редакторе.
  Когда вы прописали все 30000 клеточек ( на самом деле это очень долго, по этому пишите сколько сможете а потом делайте повтор кода и заполняйте так всю таблицу), вам нужно сохранить вашу работу в файле то же в формате HEX.
  Далее нужно все это дело влить программатором в микросхему памяти 27с512.
Если у вас нет такого программатора это поправимо, одевайте шорты, завязывайте на шею пионерский галстук, берёте микросхему,  файл прошивки и выдвигайтесь в соседнюю контору по ремонту кассовых аппаратов или другой электронной техники. Даже на авторемонте сегодня есть подобные программаторы.
  Особо талантливые могут записать микросхему 27С512 на стареньком ПК в сокете БИОС.
В интернет есть подробные инструкции к этому делу.
Удачного конструирования.