Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 05.01.2011, 21:33  
shy_plumbum
Прохожий
 
Регистрация: 07.02.2009
Сообщений: 3
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
shy_plumbum на пути к лучшему
По умолчанию Частотомер на ATMEGA16

для начала хотя бы измерить длину импульса сигнала на входе... подключаю генератор к ICP1, конфигурирую два таймера - TCNT1 на захват (разбиение значения ICR1L на сотни, десятки, единицы) и TCNT0 на переполнение (соответственно, вывод на индикатор сотен, десятков и единиц). Симулирую в протеусе. вроде бы все просто, но несмотря на то, что прескалер TCNT0 1024, цифры на индикаторе мигают, и тем медленнее, чем выше частота. цифры абсолютно рандомные (в естественных рамках, конечно). В ICR1H всегда нули. при частотах в единицы килогерц симуляция еще с грехом пополам, а при повышении частот протеус говорит, что симуляция не проводится в режиме реалтайм из-за чрезмерной нагрузки на cpu
быть может, у кого-нибудь будут идеи?
Реклама:
shy_plumbum вне форума  
Непрочитано 05.01.2011, 22:19  
RY723
Заблокирован
 
Регистрация: 08.08.2007
Сообщений: 2,843
Сказал спасибо: 378
Сказали Спасибо 1,368 раз(а) в 746 сообщении(ях)
RY723 на пути к лучшему
По умолчанию Re: частотомер на ATMEGA16

Для начала необходимо определиться с целью. Состояние счётчиков МК это всего лишь частный случай. Какие задачи должен решать частотомер, куда и в каком виде выводить информацию. Вот это главное, а не состояние счётчиков.
RY723 вне форума  
Непрочитано 05.01.2011, 22:21  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: частотомер на ATMEGA16

а что мешает вместо онанизма со шпротеусом собрать авр житаг на меге16 и в аврстудии проводить программирование-прошивку-отладку на реальном объекте? или резина лучше мяса?
кстати, вот здесь есть на тине2313, даже живой
можно взять как инструкцию для покорения Эвереста
jump вне форума  
Непрочитано 05.01.2011, 22:29  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: частотомер на ATMEGA16

Нельзя отображать текущее состояние счета!!

Алгоритм:
Считаем - (Показываем) - ждем - считаем .....

-Отображение должно быть ТОЛЬКО в свободное время процессора.
Значит обновление экрана ставим в основной цикл вне прерываний. будет проц свободен - покажет что у нас там есть.
-Вначале считаем от фронта импульса и до фронта следующего, останавливаем таймер, потом обновляем экранный буфер принудительно. Вдруг частота большая и не успевает отработать основной цикл программы.
- После принудительного обновления буфера ЖДЕМ окончания вывода на экран а потом ждем перехода с 0 на 1 в измеряемом сигнале (тоесть ждем фронта и только фронтом запускаем таймер для точности).

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


А протеус..... Давно пора отказаться от протеуса при создании настолько простых вещей. протеус он для того чтобы избежать подводных камней с обвязкой МК.
Да и вообще лучше потратить пять минут на расчет входного контура чем рисовать и подбирать три часа значения в протеусе. Сколько уже раз сталкивался с тем что проще спаять чем мучать сим.
ЗЫ. А если уже реально тестануть аналоговый контур надо то Electronic Workbench частенько выручает так как в нем банально проще рисовать )))
__________________
Найди путь или проложи сам!
MasterMushi вне форума  
Сказали "Спасибо" MasterMushi
shy_plumbum (06.01.2011)
Непрочитано 08.01.2011, 17:45  
-Dreamer-
Частый гость
 
Регистрация: 22.03.2010
Адрес: Севастополь
Сообщений: 26
Сказал спасибо: 5
Сказали Спасибо 8 раз(а) в 5 сообщении(ях)
-Dreamer- на пути к лучшему
По умолчанию Re: частотомер на ATMEGA16

Цитата:
Отображение должно быть ТОЛЬКО в свободное время процессора.
Позвольте частично не согласится с этим.
Конечно - все зависит от решаемой задачи,
Но в некоторых случаях, например частотных детекторах
необходима регистрация в реальном времени, без останова и ожидания.
В этом случае использование прерываний является оптимальным решением
позволяющим создать некоторую многозадачность. Так, например
при динамической индикации с использованием таймера Т0 ничего
не мешает в это же время считать таймеру Т1, почему бы не
воспользоваться этой возможностью?
Другое дело, что вопрос связан с предполагаемой некорректной работой PROTEUS
Но вполне возможно, что причина кроется в некорректной работе самой программы проекта.
Так, например, непонятно, для чего выставлять предделитель Т0-1024?
Даже при тактовой 8мГц, частота обновления знака для 4-х разрядов ~ 7.5 Гц.
И разумеется, будут мерцания.
Для примера привожу аналогичный проект.
Как вы можете заметить, ничего не мигает.
На индикаторе отображается длительность периода в микросекундах.
Разумеется, способ измерения частоты методом измерения периода имеет свои
ограничения. В первую очередь этот способ малопригоден для измерения высокочастотных сигналов, т.к. с увеличение частоты значительно снижается точность измерения.
И отлично подходит для измерения низкочастотных сигналов
Есть ограничения и самого примера это около 6.5 кГц,(при 1мГц) связанный с началом пропуска периодов.
Несколько поднять этот порог можно увеличением частоты и оптимизацией программы.
Зато нижний порог - 100Гц можно снизить увеличением разрядности индикатора и увеличением разрядности счетчика программным путем.
Вложения:
Тип файла: rar PERIOD.rar (16.8 Кб, 144 просмотров)

Последний раз редактировалось -Dreamer-; 07.01.2012 в 15:23.
-Dreamer- вне форума  
Непрочитано 08.01.2011, 18:05  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: Частотомер на ATMEGA16

См. вложение.
Вложения:
Тип файла: zip freq_mega8_21.zip (50.2 Кб, 390 просмотров)
mironov вне форума  
Непрочитано 08.01.2011, 18:14  
mironov
Вид на жительство
 
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
mironov на пути к лучшему
По умолчанию Re: Частотомер на ATMEGA16

MasterMushi не надо ругать PROTEUS и писать "протеус он для того чтобы избежать подводных камней с обвязкой МК." В PROTEUS можно сделать с минимальной обвязкой и проверить правильность работы программы и МК. А всю обвязку только на макете. Как Вы например подберете добавочные резисторы для индикатора? У Вас что, точно такой как идеальная модель?
mironov вне форума  
Непрочитано 08.01.2011, 19:48  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: Частотомер на ATMEGA16

-Dreamer- схему в GIF или JPG прикрепите пожалуйста в том же вашем посту. У меня нет оркада.
gary2007 вне форума  
Непрочитано 08.01.2011, 21:12  
-Dreamer-
Частый гость
 
Регистрация: 22.03.2010
Адрес: Севастополь
Сообщений: 26
Сказал спасибо: 5
Сказали Спасибо 8 раз(а) в 5 сообщении(ях)
-Dreamer- на пути к лучшему
По умолчанию Re: Частотомер на ATMEGA16

Это небольшой пример в PROTEUS.
Миниатюры:
Нажмите на изображение для увеличения
Название: Period.gif
Просмотров: 296
Размер:	23.2 Кб
ID:	16599  

Последний раз редактировалось -Dreamer-; 08.01.2011 в 21:24.
-Dreamer- вне форума  
Сказали "Спасибо" -Dreamer-
gary2007 (08.01.2011)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
USB АЦП на ATmega16 переделать на ATmega8 98mildg1 Микроконтроллеры, АЦП, память и т.д 12 25.09.2010 20:29
ATMEGA16 на 16MHz не запускается oldrom Микроконтроллеры, АЦП, память и т.д 52 09.09.2010 23:01
Нужна помощь CDC-232 и atmega16 robin7341 Микроконтроллеры, АЦП, память и т.д 0 08.08.2010 00:13
Частотомер на микроконтроллере duron2 Микроконтроллеры, АЦП, память и т.д 19 26.05.2010 20:09


Часовой пояс GMT +4, время: 07:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot