|
AVR и фазовращатель |
|
|
|
 |
Ответов
|
Apr 4 2006, 11:50
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(kanzler @ Mar 31 2006, 12:11)  Уважаемы, господа! Прошу вашей помощи. Есть меандр с частотным диапазоном 1-2 кГц. Нужно фращать фазу от 0 до 180 или 360 градусов с шагом 1-5 градусов. Поделитесь опытом или подскажите где есть исходники для AVR, если кто делал такую штуку. Я реализовал такую шутку но только на ПЛИС которая работает только с одной частотой. Задача разбивается на 2 1. Определение частоты входного сигнала 2. Формирование задержки.
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Apr 5 2006, 05:35
|

Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 27-02-06
Из: Екатеринбург
Пользователь №: 14 728

|
Цитата(bzx @ Apr 4 2006, 17:50)  Задача разбивается на 2 1. Определение частоты входного сигнала 2. Формирование задержки. Огромное спасибо всем кто отвечает. Есть но ... 1. Я уже писал частота изменяется в диапазоне от 1 до 2 кГц с шагом 1 Гц. Тут проблем нет, так как эти частоты генерирует сам процессор. 2. вот тут и возникает вопрос как реализовать задержку в таком диапазоне частот чтобы не пропадали полупериоды меандра. Для одно фиксированной частоты это реализовать не сложно (уже есть такое решение и прекрасно работает) на основе счётчика который и определяет задержку. Всё упирается в пункт 2.
|
|
|
|
|
Apr 5 2006, 06:12
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(kanzler @ Apr 5 2006, 09:35)  1. Я уже писал частота изменяется в диапазоне от 1 до 2 кГц с шагом 1 Гц. Тут проблем нет, так как эти частоты генерирует сам процессор. Вот чудак-человек! А сразу нельзя было сказать, что твоя частота формируется самим контроллером. Я же в пункте 1. предполагал, что частота подаётся извне. Это всё значительно упрощает. Цитата 2. вот тут и возникает вопрос как реализовать задержку в таком диапазоне частот чтобы не пропадали полупериоды меандра. Для одно фиксированной частоты это реализовать не сложно (уже есть такое решение и прекрасно работает) на основе счётчика который и определяет задержку. Всё упирается в пункт 2. Насколько я понимаю, то что предложил &-rey тебе должно подойти. Если же ты говоришь, что это тебе не подходит, то значит, что то ты чего то не договариваешь в задаче. Я подозреваю, что есть желание, что бы задержка (сдвиг фаз, в прочем это одно и тоже) была не фиксированная, а изменялась во времени. Тогда требуется ещё и скорость изменения фазы и направление изменения. Поясни.
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Apr 5 2006, 09:27
|

Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 27-02-06
Из: Екатеринбург
Пользователь №: 14 728

|
Цитата(bzx @ Apr 5 2006, 12:12)  Вот чудак-человек! А сразу нельзя было сказать, что твоя частота формируется самим контроллером. Я же в пункте 1. предполагал, что частота подаётся извне. Это всё значительно упрощает. Насколько я понимаю, то что предложил &-rey тебе должно подойти. Если же ты говоришь, что это тебе не подходит, то значит, что то ты чего то не договариваешь в задаче. Я подозреваю, что есть желание, что бы задержка (сдвиг фаз, в прочем это одно и тоже) была не фиксированная, а изменялась во времени. Тогда требуется ещё и скорость изменения фазы и направление изменения. Поясни. Народ, не ужели задача так и не понята вами. Есть меандр, частота его выбирается в момент настройки прибора и дальше в работе остаётся неизменной, этот меандр генерит микроконтроллер. Частота выбирается из диапазона 1-2кГц. Далее эта частота возбуждает катушку индуктивности. С катушки снимается ток и снятый сигнал является так же меандром, он приходит на микроконтроллер. Вот этот самый меандр что приходит с катушки нужно сдвигать по фазе в обоих направлениях от 0 до 180 градусов. Шаг сдвига от 1 до 5 градусов(если смущает диапазон шага тогда пусть будет шаг 1 градус) меняем значение сдвига не во времени, например поменяли угол и смотрим что происходит. Сдвинутый по фазе меандр уже идёт на синхронный детектор который так же находиться в микроконтроллере. Не знаю ещё как объяснить. Может тогда структурную схему выложить? Цитата(Валентиныч @ Apr 5 2006, 15:21)  А мне показалось, что фаза должна изменяться дискретно, с шагом 1-5 град. О каком "вращении" может идти речь?! Я с самого начала обратил внимание на отсутствие закона изменения фазы.  Хорошо, может где то я и ошибся назвав это фазовращением. Сдвиг фазы будет правильно. Но устройство которое сдвигает фазу как называется - сдвигатель фазы?
|
|
|
|
|
Apr 6 2006, 03:41
|
Профессионал
   
Группа: Свой
Сообщений: 553
Регистрация: 17-02-05
Из: Свердловская обл.
Пользователь №: 2 712

|
Цитата(kanzler @ Apr 5 2006, 15:27)  Хорошо, может где то я и ошибся назвав это фазовращением. Сдвиг фазы будет правильно. Но устройство которое сдвигает фазу как называется - сдвигатель фазы? Принципиальной ошибки разумеется нет. Скорее - терминологическая, которая и не позволила сразу понять вашу задачу. Под "фазовращением" обычно подразумевают процесс непрерывного изменения фазы во времени, обычно по какому-то определенному закону. В данном случае речь идет именно о фазовых (или временнЫх) задержках (именно сдвигах!), что сильно упрощает задачу. А устройство скорее будет называться - линия задержки.  Но, к сожалению, это не позволит менять фазу в обе стороны от реперной. Только в минус... Но - на любое значение, хоть на 3600 град (10 периодов). Формулу, по которой вычисляется фазовая задержка, я написал выше. Надеюсь, что переложить ее на программный код труда не составит? Встречные вопросы: интересно, а как вы собираетесь реализовать генерацию меандра с заданной точностью (1 Гц) в этом диапазоне? И какая, все таки, дискретность изменения фазы вам нужна - 1 или 5 град.?
Сообщение отредактировал Валентиныч - Apr 6 2006, 03:49
--------------------
Закономерность: Чем больше узнаю, тем меньше знаю... Любые мнения, даже ошибочные, имеют право на существование. Чем лучше узнаю людей, тем больше нравятся собаки...
|
|
|
|
|
Apr 6 2006, 06:23
|

Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 27-02-06
Из: Екатеринбург
Пользователь №: 14 728

|
Цитата(Валентиныч @ Apr 6 2006, 09:41)  Принципиальной ошибки разумеется нет. Скорее - терминологическая, которая и не позволила сразу понять вашу задачу. Под "фазовращением" обычно подразумевают процесс непрерывного изменения фазы во времени, обычно по какому-то определенному закону. В данном случае речь идет именно о фазовых (или временнЫх) задержках (именно сдвигах!), что сильно упрощает задачу. А устройство скорее будет называться - линия задержки.  Но, к сожалению, это не позволит менять фазу в обе стороны от реперной. Только в минус... Но - на любое значение, хоть на 3600 град (10 периодов). Формулу, по которой вычисляется фазовая задержка, я написал выше. Надеюсь, что переложить ее на программный код труда не составит? Встречные вопросы: интересно, а как вы собираетесь реализовать генерацию меандра с заданной точностью (1 Гц) в этом диапазоне? И какая, все таки, дискретность изменения фазы вам нужна - 1 или 5 град.? Я не собираюсь ... я уже реализовал такую генерацию. Всё просто - таймер микроконтроллера это умеет делать без всяких проблем. Дискретность нужна точная, то есть 1 градус, но я понимаю что возможно такой точности не добиться и поэтому задача упрощается до точности 5 градусов Цитата(&-rey @ Apr 6 2006, 12:10)  ну вот, опять я запутался. А зачем сдвигать фазу для того чтобы подать её на детектор в том же контроллере ? а может просто к результату детектора добавить данную фазу ? Если все таки нужно один из сигналов сдвинуть по фазе, или, что тоже самое, ввести задержку то можно наверное так: Этот сигнал заводим на внешнее INT0 и настраиваем прерывание по изменению. в обработчике INT0 перезапускаем таймер1 а фазу записывем в OCR1A регистр. когда прерывание по OCR1A произойдет меняем состояние выходного сигнала ноги на обратный. (а еще лучьше сразу аппаратно настроить режим перключения спец. ноги OCRA)
проблема состоит только в синхронизации входной частоты но это тоже можно сделать либо при старте процессора, либо в его софте когда вы подаете частоту на катушку.
PS: Это все только идеи которые нужно проверять ... Сдвиг фазы нужен для того чтобы было возможно обнаружить металлический предмет из определённого металла. Это связано стеорией ... и думаю вы меня поймёте. На данный момент так и реализованна работа синхронного детектора, по прерыванию INT2 микроконтроллера и работает синхронный детектор. Теперь осталось реализовать сдвиг фазы меандра. Мысль, изложенная вами, очень даже привлекательна. Вы правы её надо проверить.
Сообщение отредактировал kanzler - Apr 6 2006, 06:29
|
|
|
|
Сообщений в этой теме
kanzler AVR и фазовращатель Mar 31 2006, 08:11 &-rey Цитата(kanzler @ Mar 31 2006, 11:11) Уваж... Mar 31 2006, 08:26 Валентиныч Цитата(kanzler @ Mar 31 2006, 14:11) Есть... Apr 1 2006, 10:09 kanzler Цитата(Валентиныч @ Apr 1 2006, 16:09) Не... Apr 3 2006, 03:58 Валентиныч Все таки, поставьте задачу конкретнее - начиная со... Apr 3 2006, 12:09 kanzler Меандр формируется аппаратно-программным способом ... Apr 4 2006, 05:37 &-rey to kanzler
Судя по постам проблема еще не решена ?... Apr 4 2006, 06:44  kanzler Цитата(&-rey @ Apr 4 2006, 12:44... Apr 4 2006, 07:36   &-rey Цитата(kanzler @ Apr 4 2006, 10:36) К Сож... Apr 4 2006, 07:41    kanzler Цитата(&-rey @ Apr 4 2006, 13:41... Apr 4 2006, 09:12     &-rey Цитата(kanzler @ Apr 4 2006, 12:12) Цитат... Apr 4 2006, 10:17   &-rey а мне показалось, что имеллось ввиду что частоты м... Apr 5 2006, 06:43    Валентиныч Цитата(&-rey @ Apr 5 2006, 12:43... Apr 5 2006, 09:21     &-rey Насколько понимаю кристалл у нас mega128, что не м... Apr 10 2006, 10:27      kanzler Цитата(&-rey @ Apr 10 2006, 16:2... Apr 11 2006, 04:26      kanzler Огромное спасибо всем кто старался помочь в данном... Apr 7 2006, 04:27       &-rey В симуляторе прошелся, вроде работает.
для примера... Apr 7 2006, 06:06        kanzler Цитата(&-rey @ Apr 7 2006, 12:06... Apr 7 2006, 07:00         &-rey Цитата(kanzler @ Apr 7 2006, 10:00) Вот т... Apr 7 2006, 07:34    &-rey Цитата(kanzler @ Apr 5 2006, 12:27) Сдвин... Apr 6 2006, 06:10 Валентиныч Для задержки сигнала, который УЖЕ имеется в камне ... Apr 7 2006, 12:55 kanzler Цитата(Валентиныч @ Apr 7 2006, 18:55) Дл... Apr 10 2006, 04:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|