AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
04.08.2013, 23:04
|
#21
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Сообщение от alvadep
|
Непонятно зачем кидать выборки в память, когда можно сразу суммировать квадраты.
|
Ну в данном случае возможно и лишнее, а если понадобится быстрее или например куча каналов .
Накидываем с ADC через DMA в буфер , обрабатываем перенося в другой буфер с которого выпинываем через DMA на LED дисплей.
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 04.08.2013 в 23:09.
|
|
|
|
04.08.2013, 23:15
|
#22
|
Прописка
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Разберитесь с этой функцией.
Она не предназначена для измерения переменки.
Здесь уже говорили о синхронизации и усредняющих методах.
В крайнем случае переделайте так, чтобы можно было найти максимальное значение выборки. А потом расчитывайте среднее.
static void FCD_ADC0_SampleADC()
{
#define MX_ADC_CHANNEL 0
#define MX_ADC_SAMP_TIME 40
#define MX_ADC_CONV_SP 3
#define MX_ADC_VREF_OPT (1 - 0)
char dda;
volatile char cnt;
dda = DDRA;
//turn selected ADC on
DDRA &= ~(1 ‹‹ MX_ADC_CHANNEL);
ADCSRA = (1 ‹‹ ADEN) | MX_ADC_CONV_SP;
ADMUX = (MX_ADC_VREF_OPT ‹‹ REFS0) | (1 ‹‹ ADLAR) | MX_ADC_CHANNEL;
//wait the acquisition time
cnt = 0;
while (cnt ‹ MX_ADC_SAMP_TIME) cnt++;
//begin conversion and wait until it has finished
ADCSRA |= (1 ‹‹ ADSC);
while(ADCSRA & (1 ‹‹ ADSC));
DDRA = dda;
#undef MX_ADC_CHANNEL
#undef MX_ADC_SAMP_TIME
#undef MX_ADC_CONV_SP
#undef MX_ADC_VREF_OPT
}
|
|
|
|
04.08.2013, 23:21
|
#23
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Сообщение от dosikus
|
Ну в данном случае возможно и лишнее, а если понадобится быстрее или например куча каналов .
|
Однозначно. Да и для кучи каналов не вижу разницы, кроме как в количестве сумматоров.
|
|
|
|
04.08.2013, 23:33
|
#24
|
Частый гость
Регистрация: 14.06.2013
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Спасибо всем за помощь, на форуме flowcode нашел пример
http://flowcode.info/index.php/forum...mit=6&start=36
завтра буду разбирать и попробую переделать на LCD
|
|
|
|
04.08.2013, 23:59
|
#25
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
__________________
Осторожно , злой кот
|
|
|
|
05.08.2013, 00:02
|
#26
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Сообщение от alvadep
|
Да и для кучи каналов не вижу разницы, кроме как в количестве сумматоров
|
Если три фазы, измеряется три тока и три напряжения, надо думать будем ли успевать возводить в квадраты и складывать между оцифровками (скорее будем) - через dma проще - сложил в память результаты, потом спокойно обрабатывай.
|
|
|
Сказали "Спасибо" oleg110592
|
|
|
05.08.2013, 00:13
|
#27
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Сообщение от oleg110592
|
Если три фазы, измеряется три тока и три напряжения, надо думать будем ли успевать возводить в квадраты и складывать между оцифровками
|
Не смешите. Даже тот МК, который заложил ТС, успеет возвести в квадрат (или перемножить 2 на 2 байта) и разложить (сложить) по кучкам еще и время останется между выборками АЦП.
|
|
|
|
05.08.2013, 00:24
|
#28
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Сообщение от alvadep
|
Не смешите. Даже тот МК, который заложил ТС, успеет возвести в квадрат (или перемножить 2 на 2 байта) и разложить (сложить) по кучкам еще и время останется между выборками АЦП.
|
Если функция девайса - показометр , может быть.
У меня еще много чего заложено , так что не обобщай .
Плюс то, что выборка происходит во время гашения дисплея .
__________________
Осторожно , злой кот
|
|
|
|
05.08.2013, 00:27
|
#29
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Не смешу - мы не знаем сколько времени будет умножать два 16 битных числа (ацп 10 бит), с 32 битным результатом программа на флоукоде.
|
|
|
|
05.08.2013, 09:03
|
#30
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Вольтметр сетевого напряжения
Я имел в виду, что ресурсов примененного МК вполне хватит для решения поставленной задачи. А то, как воспользуется программист этими ресурсами это уже совсем другой вопрос. И не будем разжигать холивар и в этой теме, надоело смотреть на срачь и грызню.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:18.
|
|