Главная Мой профиль Регистрация Выход Вход
Приветствую Вас Гость | RSS
Четверг
25.04.2024
01:34
САЙТ РАДИОЛЮБИТЕЛЕЙ
Меню сайта
Категории раздела
AVR [2]
PIC [0]
Другое [0]
Наш опрос
Оцените мой сайт
Всего ответов: 107
ВХОД
Главная » Статьи » Микроконтроллеры » AVR

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

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

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

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

Обратите внимание что входной сигнал должен быть от 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.

Прошивка

Категория: AVR | Добавил: 4ester (20.11.2009)
Просмотров: 6286 | Рейтинг: 3.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
ЧАСЫ
Войти
Друзья сайта
РадиоКОТ - популярно об электронике. Авторские схемы, новые разработки. Обучение по электронике, микроконтроллерам, ПЛИС. Форум
Статистика

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

 Copyright MyCorp © 2024
Сайт управляется системой uCoz