Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Если кто с таким сталкивается хочу поделиться опытом...

Отправлено UraGun 02 февраля 2007 г. 12:14


закончил вот шестифазный вольтметр среднеквадратичных значений переменного (сетевого) напряжения 6*(0...275)VAC. Месяц переделывал софт, как всегда наиболее оптимальным (и наиболее надёжным) оказалось самое простое решение. Задач стояло на сомом деле несколько. Нужно было мерить напряжения, отслеживать последовательность чередования фаз на каждом из двух вводов и совпадение фаз у двух вводов. Сеть с глухозаземленной нейтралью. Сначала бодался с отслеживанием нуля, начала полупериода, и т.д. Всё вроде бы получилось, но работало весьма неустойчиво (Mega128). То и дело были какие-либо сбои, помехи и т.д. После месяца тыков программа была переписана заново с нуля за пол часа по новой идеологии :)
АЦП работает в режиме циклических вычислений с прерыванием по окончанию вычисления. Первым делом вычисляется количество вызовов прерывания АЦП за полный период сети. А потом тупо делаются "фотоснимки" на каждой из шести фаз на это количество срабатываний АЦП. в моем случае, к примеру, за период сети происходит 192 измерения. т.е. в каком бы месте синусоиды мы не начали бы измерения, закончим мы их в той же точке, а значит для среднеквадратичного усреднения нужные данные будут получены как раз в нужном объёме. Дальше все просто, по табличке суммируем квадраты значений, делим в конце на количество ненулевых, берем корень. Гарантировано отсутствие сбоев и т.д., так как нет ветвлений. Для отслеживания чередования фаз, запоминаем время появления максимального значения на каждой из фаз, потом находим разности, по этим разностям легко определить верная ли последовательность или нет.
Гуру DSP возможно меня засмеют :) но данный алгоритм при 96 измерениях на полупериод показал точность не хуже 0,36% что для моей задачки выше крыше. И работать может начиная от Меги8...
В общем пардон за нескромность, но я счастлив :)

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

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

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru