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

Частотомер на ATtiny2313

Добавлено: Сб ноя 15, 2008 01:43:37
ValkaVales
Доброго времени суток всем!

Очень нужен совет!!

Я новичок в использовании МК, и начать решил с частотомера на ATtiny2313 по этой схеме:
http://www.cqham.ru/trx81_02.htm

Собрал все, кроме LMX2306 (мне нужен диапазон только до 4.5 Мгц).
Также исключил VT1, R4 и все, что перед ними. А также ненужной оказалась цепочка D1 - C8.

Вход - через конденсатор 0.1мк на вход транзистора VT2.
Вывод PD2 микроконтроллера заземлен. Выходы PD0, PD1, PB3 - висят в воздухе.

Индикатор - WH1602A (пробовал также с BC1602H).

Запрограммировал МК через COM-порт, используя UniProf: http://avr.nikolaew.org/progr.htm

_______Проблема:________
ЖКИ ничего не показывает =((( Если выкручиваю резистор RP1 вправо, то все знакополя становятся темными.
В чем может причина?? Как вообще узнать, что МК работает?

Думал, это я ЖКИ спалил, когда паял. Купил сегодня новый (BC1602H). Оччень аккуратно и предельно осторожно его припаял - результат тот же.

Пробовал два разных ATtiny2313. Прошиваются нормально, но нет видимых признаков работы.
И ошибок в схеме нет - уже миллион раз проверил..

Помогите, народ!!

Добавлено: Сб ноя 15, 2008 01:48:59
ValkaVales
Читаю сейчас форум в поисках решения и нахожу постоянные упоминания про какие-то fuse bits. Объясните, пожалуйста, что это есть?
Что нужно было в них записать? (у меня большое подозрение, что я их вообще не прошил, и проблема именно в этом)

Извините, если мои вопросы кажутся черезчур ламерскими! Это все-таки мой первый опыт работы с МК. И так хочется заставить его работать! И совсем не понятно, где может быть косяк =\

Добавлено: Сб ноя 15, 2008 08:14:49
delay

Добавлено: Сб ноя 15, 2008 10:13:14
DIM4
Я могу ошибатся, но тинька вроде по умолчанию настроена на работу от внутреннего генератора а вам нужно настроить на внешний кварц

Добавлено: Сб ноя 15, 2008 10:34:53
IfoR
Ну, да. По стандарту они настроены на частоту 1 Мгц от внутренего генератора. Надо переставлять CKSEL,CKOPT и SUT биты. Даташита на него нету, поэтому говорить небуду как. )

Добавлено: Сб ноя 15, 2008 10:51:17
IfoR
CKSEL3..0: 1110
SUT1..0: 00

Вроде бы так...

P.S. Только при программировании незабуть проинвентировать значения, т.е. будет
CKSEL3 = 0
CKSEL2 = 0
CKSEL1 = 0
CKSEL0 = 1
SUT1 = 1
SUT0 = 1

Добавлено: Сб ноя 15, 2008 15:55:42
delay
Даташит на Tiny2313 на русском
http://electronix.ru/forum/index.php?ac ... t&id=18927

Получилось!!

Добавлено: Сб ноя 15, 2008 23:46:18
ValkaVales
Спасибо большое всем за советы и помощь!
Поштудировал спецификацию на МК (правда, на англ, чтобы надежней) и сегодня наконец получилось достучаться до ЖКИ!!!!
Действительно, загвоздка была с фюзами.

Правда, вместо частотомера сделал подарок жене на ДР (у нее 19-го, уже совсем скоро). На экран выводятся поздравительные надписи, сообщения и просто эмоции :) Все это дело в динамике. Получилось очень даже приятно :)

Теперь надо еще корпус замутить.
Удивлю ее утром 19-го...

И еще раз - всем большое спасибо! Следующей моей МК-конструкцией будет все-таки частотомер!! О чем я обязательно отпишу в этой теме. :)

Добавлено: Вс дек 21, 2008 03:55:15
ValkaVales
Собрал мультиметр по схеме:
http://radioded.ru/index.php?option=com ... &Itemid=39

Прошивка - немного модифицированная (под мой кварц) исходная.

Работает!! :)

Прошивал с помощью USB Sable Prog. Спасибо moLCHec-у!

Добавлено: Вс дек 21, 2008 04:13:13
Паятель
ValkaVales писал(а):Прошивка - немного модифицированная !

А увидеть её можно? :)

Добавлено: Вс дек 21, 2008 13:20:24
ValkaVales
Паятель писал(а):
ValkaVales писал(а):Прошивка - немного модифицированная !

А увидеть её можно? :)

Можно, конечно :)

Но "модификация" программы заключалась лишь в изменении тактовой частоты и связанным с этой частотой значения переменной Cnt.

А также у меня другие порты на входы LCD E и Rs.

Работа с ЖКД (LCD)

Добавлено: Пн дек 22, 2008 14:53:26
ValkaVales
На BasCom-е далеко не уедешь. Для простых тестовых программок он годится, но не для хорошо оптимизированных по времени многофункциональных программ.

Поэтому начал переписывать прошивку частотомера на Си.
Использую AVR Studio 4.14, компилятор AVR gcc.

Как первый этап, сделал свою мини-библиотеку для работы с жидко-кристаллическим дисплеем (LCD) и простой пример работы с ней.
В этом примере на экран выводятся две строки, которые хранятся в EEPROM (для экономии основной памяти).

Если есть какие-то вопросы, замечания по коду или пожелания - пишите! :)

Добавлено: Пн дек 22, 2008 14:56:25
Igor_67
На BasCom-е далеко не уедешь.


Ты просто не умеешь его готовить!!! :))) :))) :)))

Добавлено: Пн дек 22, 2008 14:59:49
ValkaVales
Код расчитан на ATtiny2313 с частотой кварца 11,052 МГц. Но может быть легко модифицирован под любой другой микроконтроллер AVR и любой кварц. Только, если частота кварца будет выше, не забудьте немного увеличить задержки LCD_DELAY.

Добавлено: Пн дек 22, 2008 15:01:53
ValkaVales
Igor_67 писал(а):Ты просто не умеешь его готовить!!! :))) :))) :)))

Может быть :)
Но мне, как прирожденному сишнику, гораздо приятней осознавать, что я могу сам влиять на все процессы на уровне записи в порты ;)

Добавлено: Пн дек 22, 2008 15:58:14
Igor_67
На Васике то ж самое, поверь!

Добавлено: Пн дек 22, 2008 18:30:01
ValkaVales
Окей, не буду наезжать на BasCom. Скажу лишь, что Си мне ближе :)

Частотомер на ATtiny2313, прошивка под gcc

Добавлено: Ср дек 24, 2008 01:12:49
ValkaVales
Наконец-то разобрался с прерываниями и таймерами/счетчиками на Си! :)
Выкладываю результат - прошивку частотомера, аналогичного выложенной выше, но на gcc :)

Впечатления от применения Си - только положительные!!
Заметно улучшилась точность измерений! (Проверялось сравнительно точным мультиметром). И это - при одинаковых используемых таймере и счетчике и одинаковых константах времени.

В этой версии добавлен подсчет всего количества импульсов, которые поступили на 9-ю ногу микросхемы. Это число выводится во второй строчке ЖКД.

А также период измерения частоты уменьшен с одной секунды до 1/4 секунды. Как по мне, так гораздо удобней следить за частотой :)

Добавлено: Ср дек 24, 2008 01:13:56
ValkaVales
Сама прошивка частотомера:

Добавлено: Ср дек 24, 2008 01:25:53
Igor_67
То что считает за 250 ms - это хорошо, но почему ты счмтаешь, что это точнее? И, кстати, если ты юзал схему, ту, что приводил в постах выше, то какие ты ставил fuses в ATtiny???