Перейти к содержанию
    

Фазометр

Доброе время суток уважаемые форумчане! В программирование я новичок,так что сильно не "пинайте" по возможности! :rolleyes: Есть проект на атмега 128,основную часть которого я осилю сам(внешние прерывания,SPI),а вот вторая часть проекта на данном этапе мне не по зубам,кому не трудно очень прошу помочь с написанием кода,сильно нуждаюсь в Вашей отзывчивости! Суть в следующем-есть два меандра с постоянной частотой от 6 до 15 кГц (выборочно),вот с этих сигналов и нужно будет вычесть фазовый сдвиг от -90° до +90°,индикацией будут служить 15 светодиодов подключенных к 30 портам атмеги 128(мультиплексию не предлагать) 30 портов из-за того,что светодиоды двухцветные с общим катодом,то есть отклонение фазы от 0 до -90° показывает бегущий огонек например зеленого цвета,от 0 до +90° -красного цвета,если 0 то соответственно ничего не горит. Прилагаю схему,к которой и будет подключатся девайс,и комментарий человека,который долгое время "копался" в этой теме-"Фазу измерять надо от -90 до +90 градусов.

Если в аналоговом тракте МД есть синхронные детекторы, то с их выходов X и Y снимаем напряжение при помощи АЦП, усредняем и обрабатываем. Опорной точки нет как таковой (всё уже сделано в СД), мы просто измеряем VDI и длину вектора (амплитуду сигнала) непрерывно в каждый момент времени.

Если прибор с прямой обработкой сигнала, то опорный сигнал - это фаза TX в точке 0 и в точке +90 градусов."

image.jpg

post-91357-1461003690_thumb.png

post-91357-1461003891_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть схема,на стрелочном индикаторе,вместо него можно подключить АЦП,но предел измерений будет в интервале от 0 до +90°,как таким же самым методом можно провести измерение отрицательного диапазона от 0 до -90°?

2a5wsox.jpg

 

Molnia2.jpg

post-91357-1461560538_thumb.jpg

post-91357-1461560555_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял Вашу задачу, то:

1. Имеется два сигнала прямоугольной формы и частоты 6 - 15кГц

2. Нужно измерить фазовый сдвиг между ними.

 

Для решения это задачи я вообще не вижу необходимости в аналоговой обработке.

Можно так:

1. Преобразуете сигналы к логическим уровням.

2. Подаете сигналы на входы одного из таймеров ATMega.

3. По фронту одного из сигналов сбрасываете таймер, по фронту второго, фиксируете время сдвига.

Если есть на этом контроллере аппаратная возможность, то делаете через Capture. Если нет, можно программно, даже через прерывания. Всё равно точность будет не хуже, чем в аналоговом виде.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

a с примером кода сможете мне помочь? Очень нужна помощь!

С кодом помочь не могу, таких задач не было. Я уже много лет не занимался мегами. Сейчас посмотрел в документации на её таймера, убогое зрелище.

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

Я предлагаю Вам такой вариант:

1. Запустить таймер на максимальной частоте.

2. Сигналы подать на ноги, где можно настроить внешние прерывания по изменению уровня.

3. По прерываниям фиксировать в переменные код счётчика таймера.

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

а по коду это в Вашей компетенции, Вы же написали, что осилите сами работу с внешними прерываниями. Это ни что иное как внешнее прерывание первый сигнал подаёте на INT0 запускаете таймер(счетчик) второй сигнал запускаете на T0 фиксируете значение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...