Перейти к содержанию

Стерео Индикатор Уровня Сигнала На Pic16F88


Yanshun

Рекомендуемые сообщения

Добрый вечер форумчане.

Предлагаю Вашему вниманию двухканальный (стереофонический) индикатор уровня с детектором пиков от Ondřej Slovák. Этот индикатор разработан на микроконтроллере PIC16F88 с четырьмя режимами индикации. Более подробно можно ознакомится тут (http://vprl.ru/publ/...ovnja/15-1-0-38).

Я прошивал микроконтроллер с помощью прогромматора К-150 в программе DIY-150, данное устройство после прошивки микроконтроллера заработало сразу, все режимы индикации работают отлично. По цене вышло в 3-раза дешевле чем на LM 3916 на такое количество светодиодов.

Отображение уровней и пиков в индикаторе, происходит на двух светодиодных шкалах (линейках) по 16 светодиодов в каждой, 2 х16. Режимы, в которых может работать индикатор, изображены ниже в таблице. Их можно комбинировать и объединять установкой или снятием перемычек (джамперов). Резистором R1 изменяется чувствительность индикатора, меняется напряжение на выводе 2 микроконтроллера, причём чем меньше напряжение на выводе 2, тем выше чувствительность индикатора. Оптимальное напряжение на выводе в пределах 200-250 мВ.

Если ставить светодиоды на ток 20 мА, то резисторы R1-R8 необходимо заменить на резисторы по 120 Ом.

Шкала индикатора работает в двух режимах отображения, это в линейной и логарифмической (ниже на рисунке). Линейная шкала зашита программно в коде программы, а вот значения логарифмической шкалы можно поменять по своему усмотрению, или даже сделать обратно-логарифмической. Эти данные "зашиты" в EEPROM и их можно менять.

Как менять самому значения данных EEPROM, рассмотрим ниже.

На рисунке №3 приведён "снимок" кодов EEPROM.

В верхней части таблицы, строчки обведённые красным цветом - это значения (логарифмические) "зажигания" каждого светодиода (16 значений), которые соответствуют значению логарифмической шкалы, на рисунке №2. Это шестнадцатеричные значения вертикальной шкалы (от 2-х до 248). Можете построить свою шкалу, например обратно-логарифмическую, и внести свои значения в эти ячейки.

Далее ниже разберём по частям;

03 - Первое значение - это время свечения светодиодов, по умолчанию установлено 12 мс (1 = 4,096 мс, то есть 03 = (4,096*3)= 12,228 мс)

08 - Это время свечения последнего светодиода, по умолчанию 33 мс.

08 - Это темп спадания пиков, по умолчанию установлено 33 мс.

7А - Это время послесвечения пиков, по умолчанию установлено 500 мс.(7А = 122* 4,096)

64 - Это коррекция яркости свечения светодиодов. Для светодиодов с током свечения 2 ма - значение 64, для светодиодов с током свечения 20 ма - устанавливается 08.

post-173710-0-01604600-1431272930.jpg

post-173710-0-52000400-1431272973.jpg

post-173710-0-76934300-1431272973.jpg

post-173710-0-88608800-1431272989_thumb.jpg

post-173710-0-75637600-1431273043_thumb.jpg

Стерео Индикатор Уровня Сигнала На Pic16F88 - Схема, Прошивка, ПП в Lay6.rar

post-173710-0-65075800-1431273796_thumb.jpg

post-173710-0-02862800-1431273797_thumb.jpg

post-173710-0-42242400-1431273797_thumb.jpg

post-173710-0-75422800-1431273797_thumb.jpg

post-173710-0-12185900-1431273798_thumb.jpg

post-173710-0-51660500-1431273798_thumb.jpg

post-173710-0-85494900-1431273798_thumb.jpg

post-173710-0-97988700-1431274403_thumb.jpg

post-173710-0-30234700-1431274449_thumb.jpg

Корпорация Mars

Ссылка на комментарий
Поделиться на другие сайты

А если "зависнет" МК и засветит все светодиоды? :crazy:

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для чего подобное дублирование на форуме уже существующей в сети статьи ?

+1

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Доброе утро.

Спасибо за проявленый интерес и разумную критику.

Большенство хороших статей, выложеных в сети, не имеют форумов и обсудить что-то нет возможности, так-же приходится проходить регистрацию, чтобы скачать файлы. На данном сайте можно скачивать и писать сообщения не регистрируясь.

Так-же я "нарисовал" печатную плату, а выложить ее на первоисточник, невозможно.

У не которых новичков, к которым принадлежу и я, могут появится не которые вопросы, а спросить не укого, а тут все это можно решить.

Если администрация посчитает в ненужности данной темы, она легко ее удалит.

Корпорация Mars

Ссылка на комментарий
Поделиться на другие сайты

Даташит на МК (нагрузочная способность выводов МК) + закон Ома в помощь!

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

И я про то-же. 5/330=0.015А. Ток вывода 20мА. Ток на порт - 100мА, т.е максимум по ~12.5 мА на все выводы одновременно, но это без учёта падения напряжения на светодиодах. И что, МК прямо умрёт сразу?

Ссылка на комментарий
Поделиться на другие сайты

shindbad, посчитай еще раз: например, берем порт RA2, к нему подключены 8 светодиодов. Если МК зависнет и загорятся все 8 светодиодов, то какой ток будет через RA2 ???

Изменено пользователем Vovka

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

...какой ток будет через RA2 ???

Мля, согласен, проглядел, извиняюсь. Для такой коммутации нужно внешний ключ ставить и светодиоды по-другому подключать.

Изменено пользователем shindbad
Ссылка на комментарий
Поделиться на другие сайты

Ток вывода 20мА.

Это не просто максимально допустимый ток, такой ток будет даже при КЗ выхода на общий - порт является генератором тока. Этим частенько пользуются, лепя светодиод напрямую к порту. Та что не сгорит, даже в случае зависания. :)

ПС. Это справедливо только для вытекающего тока. Втекающий (когда на вых.порта "0") не допустит превышения максимального значения - сгорит.

Изменено пользователем КЭС
Ссылка на комментарий
Поделиться на другие сайты

...Это справедливо только для вытекающего тока. Втекающий (когда на вых.порта "0") не допустит превышения максимального значения - сгорит.

Может автор конструкции посчитал так-же, но, IMHO, это уже экстремальное конструирование. :) Лично я никогда не задумывался о том, что порт может быть стабилизатором тока, но сам я такие вещи не практикую. :)

Изменено пользователем shindbad
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Хм. Для подобных поделок есть специализированные аналоговые микросхемы. Да хотя бы LM3916, LM3915. При такой же самой цене микросхемы получаем готовое решение в одном корпусе без обвязки в виде резисторов к каждому led-у и транзисторов.

А так, по поводу именно этой поделки - схема крайне безграмотная. Из категории "как не надо делать"

Изменено пользователем ProstoNaprosto
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Зря Вы так...

Схема довольно проста и работает отлично.При использовании SMD компонентов вообще проблем нет.

Лично я доволен,показывает очень красиво.Хотелось бы исходник,но не нашел...

А столетний хлам в виде "LM3916, LM3915" - конечно,очень грамотно и делать надо только так!

Ссылка на комментарий
Поделиться на другие сайты

...При использовании SMD компонентов вообще проблем нет.

А при чём здесь корпусировка элементов? Речь вообще-то шла про никчёмную схемотехнику, а не про "красиво-некрасиво". И убеждён, что и исходник там такой-же корявый, так-что, IMHO, к лучшему, что автор его не предоставил.

Изменено пользователем shindbad
Ссылка на комментарий
Поделиться на другие сайты

А почему к лучшему? Обсудили бы как не надо писать... Корабельникова бы вспомнили :D

На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

А столетний хлам в виде "LM3916, LM3915" - конечно,очень грамотно и делать надо только так!

Тогда давайте на STM32 Cortex M4 делать! Ибо PIC16F88 - хлам еще тот!

Ну и так, какбы между прочим, показомер на ПЫКе показывает "в попугаях", то есть, что угодно и как угодно, только не то, что есть на деле.

Схема - крайне безграмотная и абсолютно туфтовая. И даже не стоит ее защищать - туфта и есть туфта. Да, что-то показывает, что-то мигает. Но что и как.... полная хня. Если кто хоть немного знаком с даташитами, тот меня поймет. А остальным - и объяснять бесполезно. Только буквы потратишь.

Ссылка на комментарий
Поделиться на другие сайты

Добрый вечер форумчане.

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

Я никого не заставляю собирать схему, кому будет достаточно и этого функционала, тот ее собирет.

При знакомстве с микроконтроллерами Вы сразу брались за создание и сборки управления АЭС.

Если Вы уверены в своих силах и возможностях, и Вам нужен действительно хороший Индикатор уровня сигнала, (Анализатор), не проблема - вот Вам такая игрушка (yadi.sk/d/8C9PcuAYhac5b).

Видео демонстрации работы данного устройства:

1.

2.

3.

4.

В архиве: Схема Pdf, печатная плата, Smd и Dip (Варианты) в Pdf, прошивки на разное количество светодиодов или газоразрядных лампах и документация.

Спектроанализатор.rar

Корпорация Mars

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...
  • 1 год спустя...

@GruVital Добрый день.

Какая гениальная идея с размещением стабилизатора питания, возьму себе на заметку.

Видосик на горизонте виднеется?

Корпорация Mars

Ссылка на комментарий
Поделиться на другие сайты

@Yanshun приветствую. Как микроконтроллер приедет, так сразу. В нашем магазине не оказалось МК. Победу в областной центр, там есть в наличии. ;)

II.24. Ссылки в подписи запрещены

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
    • В былые годы запрещалось размещать на форуме бессмысленные темы. Видать, с тех пор правила существенно изменились.
    • скачай новый архив. там есть важные изменения в комповой программе, по сравнению с той, что я отправлял в личке. исправлены недоделки и добавлены проверки на некорректные действия.
    • Здесь все индивидуально, точного ответа нет. Тип фоторезиста, качество фотошаблона, расстояние и время засветки, длина волны св.диодов, "полоскание" в химии ... Надо все пробовать самому, ручками, опыт придет со временем, ничего сложного там нет. На форуме есть ветка, почитайте.
×
×
  • Создать...