Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Форум разработчиков РЭА »
Atmel. АЦП. Отлавливание момента максимума сигнала на входе.

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   Atmel. АЦП. Отлавливание момента максимума сигнала на входе.
Ailer
unregistered
написано 10 Сентября 2007 19:39  ПравкаОтветитьIP

Доброго времени суток!
Случилась тут такая необходимость - отлавливать момент времени наступления максимума(можно-минимума) синусоиды на входе АЦП, и выполнять определённое действие. Попробовал реализовать на Atmega8, но хорошего получается мало(он у меня находит максимумы просто везде....).
Решал ли кто-нибудь подобные задачи? Можете поделится опытом?
Заранее спасибо

misyachniy
Member

Сообщений: 152
Откуда: Kyiv
Регистрация: Февраль 2002

написано 11 Сентября 2007 11:00ИнфоПравкаОтветитьIP

Фильтр на входе присутствует?

Ailer
unregistered
написано 11 Сентября 2007 13:18  ПравкаОтветитьIP

Нет, фильтра нету. Ко входу пока подключен просто понижающий трансформатор, воткнутый в розетку...

Весельчак У
Moderator

Сообщений: 9123
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 12 Сентября 2007 00:10ИнфоПравкаОтветитьIP

Фильтр не помешает.
Реализация довольно простая - сравнивать текущее значение с максимальным (предварительно назначить его =0).
Ежели текущее больше - присваивать максимальному его значение.
Как только текущее окажется меньше максимального, считать, что предыдущее было максимумом.

Правда получается задержка на время одного преобразования. И сигнал должен быть идеальным.

Dikoy
Member

Сообщений: 1151
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 18 Сентября 2007 23:07ИнфоПравкаОтветитьIP

Ailer
Во первых, АЦП заведи в 8 битный режим. Хороший ИОН поставь.
А алгоритм такой, как сказал Весельчак У:

a=0;
if(b>=a) {a=b;}
else {делаем что надо}

Где b - результат преобразования.

Но фишка в том, что малейшая помеха в доли вольта и этот алгоритм сбойнёт...

Посему можно фильтр скользящего среднего прицепить. Синусоида сменяется 50 раз в секунду, а АЦП жарит 15 тысяч раз в секунду. ФСС выборок на 100 приделать, ошибка по времени будет маленькой, а помехи задавит эффективно.

Добавление от 18 Сентября 2007 23:10:

Ну и проверку сделать, чтобы пару-тройку выборок наметилась тенденция спада.

А тебе для чего надо?

Весельчак У
Moderator

Сообщений: 9138
Откуда: Санктъ-Питербурхъ
Регистрация: Декабрь 2000

написано 19 Сентября 2007 20:35ИнфоПравкаОтветитьIP

Dikoy
Посему можно фильтр скользящего среднего прицепить.
При большой помехе тоже может сбойнуть.

Dikoy
Member

Сообщений: 1154
Откуда: Богота, Колумбия
Регистрация: Май 2003

написано 20 Сентября 2007 03:20ИнфоПравкаОтветитьIP

Ну при большой помехе всё сбоёнёт, а малую задавит.
+ поверку не строгую, а с некоторым гистерезисом, и всё ок будет.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика