Сайт:: Паятель - Анализатор спектра на ATmega8 + LCD
Понедельник, 05.12.2016, 19:38
Вы вошли как Гость | Группа "Гости"
Главное меню
Мини-чат
Календарь

«  Декабрь 2016  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031
Внимание))))

Реклама
Статистика

Рейтинг@Mail.ru
WOlist.ru - каталог качественных сайтов Рунета Рейтинг Сайтов YandeG
Rambler's Top100 Союз образовательных сайтов


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Анализатор спектра на ATmega8 + LCD

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

В этой статье описывается, как можно легко сделать с минимального количества деталей и пары прямых (желательно) рук весьма полезный девайс.

И так, это схема:

Обратите внимание что входной сигнал должен быть от 0 до 5В (с амплитудой не более 2.5В). Если ваш сигнал превышает данные значения вы должны пропустить его через резистивный делитель напряжения. Проверьте сигнал с помощью осциллографа на входе микроконтроллера не обрезается ли он – это очень важно. Если сигнал обрезается, то анализатор будет ужасно вычислять спектр.

Переменными резисторами R13 и R12 вы можете изменять входной сигнал по напряжению. Далее сигнал делиться на: высокочастотный (900hz – бесконечность) пропускается на микроконтроллер и низкочастотный (0 – 900hz) отсекается фильтром Чебышева.

Если вы используете дисплей 16*2 необходимо прошить микроконтроллер программой “16*2 program”. В программе в первых строчках, есть параметр “CZULOSC” – им вы можете калибровать чувствительность. Впишите туда число от 15 до 40 и проверьте как это работает. Соберите файл в компиляторе BASCOM и прошейте ваш atmega8. PCB’s – файлы EAGLE , необходимо использовать версию 4.11. Вы должны установить fusebits в atmega, как “внешний кварц высокой частоты” (CKOPT=0, все остальные=1). 

Также вы можете экспериментировать с более высокочастотным кварцем. В проекте используется кварц 16MHz, но я однажды поставил 27MHz, и спектр отображался намного быстрее. В этом случае Вы должны изменить строку “$crystal = 16000000 ″, необходимо указать там верную частоту. Но если ваш жидкокристаллический дисплей работает медленно, этим вы ничего не сможете изменить. Я проверял с 16*2 и 24*2 дисплеями. Дисплеи 16*2 были намного медленнее чем 24*2. Это – немного абсурдно, потому что с большим LCD (24*2) программа имеет больше команд для вычисления спектра, но в конфигурации 24*2 спектр отображался намного быстрее чем 16*2.

Дисплей ДОЛЖЕН быть на основе чипа HD44780 – другие могут работать некорректно.

Данная схема корректно работает с микроконтроллером ATmega8L.
Если у вас работает только 8 первых столбцов на дисплее то проблема решается изменением строк в исходных текстах

Sample_h:
Config Adc = Single , Prescaler = 2 , Reference = Avcc

на строки

Sample_h:
Config Adc = Single , Prescaler = 4 , Reference = Avcc


Номиналы всех резисторов и конденсаторов должны точно соответствовать указанным на схеме, иначе отображаемый спектр не будет соответствовать действительности.
Рекомендуется использовать дисплей с негативным типом подсветки – выглядит намного красивее J.

Прошивки можно скачать тут.

Вопросы, как всегда на ФОРУМ


Мини-Профиль
Понедельник
05.12.2016
19:38


Новости сайта -RSS
Наш опрос
Вы бот?
Всего ответов: 2362
Поиск

Друзья сайта
Новости техники



За материалы, размещённые пользователями на сайте Паятель администрация ответственности не несёт!