Страница 1 из 1

спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 19:43:47
xkp
всем мяу. у меня несколько вопросов.
1. будет ли данная схема работать? в плане того что регистрами я ни разу не пользовался. вот спросил, можно ли так?
2. какая оптимальная частота сдвига на регистры?

НЕ ПРЕДЛОГАЙТЕ ВЗЯТЬ ДРУГОЙ МК. просто 13 тинек у меня полно. вот собираю всякую котоВасию.

принцип действия:
-запихиваем нужное значение в регистры + что бы, например, был открыт Q1
-открываем Q7
-ждем маленько
-закрываем Q7
-запихиваем нужное значение в регистры + что бы был открыт Q2
-открываем Q7
-ждем маленько
-закрываем Q7
и т.д.

примерная схема во вложении
tiny13_74hc164_din-ind.JPG
(89.01 КБ) 883 скачивания

Re: спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 19:57:30
Dr. Alex
Почему-бы и нет :) , должна работать.... А вот на счёт оптимальной частоты, то это лучше всего проверить на макетке, что-бы меньше всего мерцание было заметно.

Re: спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 20:01:11
Мастер Ломастер
ладно, другой МК предлагать не буду :) а вопрос задам: если не серкет, что вы собрались выводить на свои 6 столбиков-шкал? откуда и как будет получаться соответствующая информация?

Re: спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 20:22:40
xkp
информация будет браться с АЦП. для начала попробую просто что бы весь столбик под уровень звука "прыгал". потом хочу разделить программно на частотные составляющие X1<300<X2<1000<X3<6000<X4<10000<X5<16000<X6. Х1...Х6 - столбики. 300...16000 частота в Гц. только вот пока не знаю хватит ли памяти МК и хватит ли его быстродействия.

кстати ни кто не вкурсе до скольки мГц можно разогнать 13 тиньку? слышал что 32 меги гонят до 50мГц, а вот про 13тиньки не слышал.
вот что пишут в магазине где брал их ATtiny13A-PU 1K Flash, 64 RAM, 64 EE, 1.8 - 5.5 V, 20 MHz, ADC 4 x 10 bit

алгоритм на разложение по частотам и столбикам:
-PB4/ADC0 - входной сигнал, АЦП, уровень звука, значение_АЦП минус $37 (отсекаем нижние значения, шумы) если больше 0 то делим на 10 -> высота столбика.

-PB0/INT0 - входной сигнал, вычисление частоты, считаем кол-во импулььсов внешнего прерывания за N-время (думаю это 0.003сек) -> на какой столбик выводить.

схема видоизменилась.
tiny13_74hc164_din-ind.JPG
(91.92 КБ) 395 скачиваний

Re: спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 20:52:48
pyzhman
Q7 убрать. Потому как управлять можно и нужно Q1..Q6. А по поводу спектра - памяти не хватит.

Re: спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 20:58:06
xkp
как убрать Q7 ? ведь во время сдвигов будут гореть случайные светодиоды столбиков. ОН стоит для того что бы все погасить, потом сдвинуть регистры, потом зажечь. может вы имеете ввиду то что во время сдвига не хватит времени на загорание светодиода? тут пока сказать не могу. надо испытывать.

Re: спектроаналайзер на tiny13

Добавлено: Ср фев 29, 2012 22:40:21
pyzhman
А погасить U3 вкупе с Q1..Q6 не судьба? Это раз. А два - время сдвига настолько мало, что не заметно будет. Нет, если, конечно, задаться целью и двигать ме-е-е-е-е-едленно, то увидим.

Re: спектроаналайзер на tiny13

Добавлено: Чт мар 01, 2012 02:16:40
eufs
В тини13 все, что вы задумали точно не влезет, поэтому нет смысла городить такое количество линеек.
Соберите несколько одно-двух канальных устройств. Отличаться будут настройками фильтра. При этом отпадет необходимость в динамической индикации.
ЗЫ.На схеме нет ограничения тока светодиодов. Не понятно, что сгорожено на транзисторе на входе.
Регистры сдвига лучше всего применить 74НС595, они с защелкой на выходе. А для статической индикации лучше поставить STP16CP05.

Re: спектроаналайзер на tiny13

Добавлено: Чт мар 01, 2012 07:01:52
xkp
ограничение по току забыл нарисовать, я в протеусе редко рисую это дело, вечером поправлю. на транзисторе сгорожен ключик, так как сигнал будет слабый, то МК может половину не принимать как лог 1, поэтому поставил транзистор. регистры тоже менять не буду, так как эти у меня валяются толпой так же как и тиньки13

Re: спектроаналайзер на tiny13

Добавлено: Чт мар 01, 2012 08:29:53
Engineer_Keen
Линеек можно городить сколько угодно, а вот фильтры придется делать внешними (по количеству линеек) и подключать к АЦП через мультиплексор, потому что как уже выше заметили у 13-й тиньки на это не хватит ни флеша ни ОЗУ... Ну или действительно собрать несколько устройств с малым числом каналов, раз у вас куча тинек и регистров. В случае, если будет по одному каналу, то можно и без регистров обойтись - к 4 выводам можно подключить 12 светодиодов, что для одной линейки спектроанализатора вполне достаточно.

Re: спектроаналайзер на tiny13

Добавлено: Чт мар 01, 2012 09:10:30
xkp
без регистров к 4 выводам 12 светодиодов это как?
111.JPG
(26.16 КБ) 454 скачивания
примернор так?

Re: спектроаналайзер на tiny13

Добавлено: Чт мар 01, 2012 10:21:35
Engineer_Keen
Да так. Ну и токоограничивающие резисторы с учетом динамической индикации на каждую ногу МК надо поставить.

Re: спектроаналайзер на tiny13

Добавлено: Чт мар 01, 2012 17:58:12
xkp
ну вот одна тинька13 + 12 светодиодов. все это завязано на АЦП.
эффект перемещающаяся от уровня АЦП точка.
tiny13_spektr.rar
(31.91 КБ) 255 скачиваний
proteus+hex

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

Re: спектроаналайзер на tiny13

Добавлено: Пт мар 02, 2012 23:48:34
coredumped
БПФ в тини13? - это круто. Особенно учитывая объем памяти. Индикация, конечно, работать будет, а вот математику куда девать?

Re: спектроаналайзер на tiny13

Добавлено: Сб мар 03, 2012 10:15:53
xkp
повесил индикацию на прерывание.
алгоритм работы:
-ждем пока пройдет четыре прерывания.
-опрашиваем АЦП
-если уровень АЦП меньше $14 (20) то гасим все >> в начало
-если уровень АЦП, например, равен #B3 (179), делим на $14 (20), получаем $8 (8) с остатком, остаток нас не интересует.
-идем в начало, где ждем четыре прерывания.

тепреь нам надо использовать полученное число, а именно зажечь нижние 8 светодиодов.
работа прерываний:
-первое прерывание, зажигаем нижние 3 светодиода
-второе прерывание, зажигаем следующие 3 светодиода
-третье прерывание, зажигаем следующие 2 светодиода (т.к. у нас полученое число 8 )
-четвертое прерывание, верхние светодиоды не зажигаем
222.rar
(592 байт) 213 скачиваний
в протеусе у меня это дело тормозит. а вот в реале очень даже ничего смотрится.
память МК заполнена на 44,3%


PS. почему то нижний светодиод при отсутствии сигнала (или КЗ на массу) светится в пол накала. не знаю почему.

Re: спектроаналайзер на tiny13

Добавлено: Сб мар 03, 2012 21:34:40
eufs
Делитесь исходниками а не НЕХ-ами, а то я порадоваться за вас не смогу. Дизассемблировать не тянет чего-то.

Re: спектроаналайзер на tiny13

Добавлено: Сб мар 03, 2012 22:20:56
xkp
222.asm
(5.81 КБ) 260 скачиваний
коментариев нет

Re: спектроаналайзер на tiny13

Добавлено: Пн мар 05, 2012 20:34:48
xkp
оптимизировал программу практически в 2 раза. завтра выложу.

PS не в тему. у кого нито есть примеры разложения на частотные составляющие? не именно на 13тини, а вообще, на АВР.

Re: спектроаналайзер на tiny13

Добавлено: Вт мар 27, 2012 20:16:31
ATtiny13
а на Си исходников нет? :roll:

Re: спектроаналайзер на tiny13

Добавлено: Вт мар 27, 2012 20:26:24
xkp
к сожалению на Си я не пишу