| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Помогите с АЦП атмеги 16
06.05.2011, 14:33
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
akzamit,
читаете то, что нравится, по диагонали? 
прочтите сначала, внимательно, с чувством, с толком, с расстановкой
miwutka,
вач-дог не включен?
синхронным нужно делать процесс (программу) и проблем не будет
|
|
|
|
06.05.2011, 14:44
|
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Сообщение от miwutka
|
|
и постоянно какойто сброс мк происходит... Из-за чего это может быть???
|
eeprom unsigned int ADC3,ADC0=0,ADC1=0,ADC2=0;
interrupt [ADC_INT] void adc_isr(void) // ADC interrupt service routine
{
. . .
adc_data[input_index]=ADCW;
ADC0=adc_data[0];
ADC1=adc_data[1];
ADC2=adc_data[2];
. . .
}
Вы на самом деле пишете в еепром в прерывании, или мне это только кажется  ?
Последний раз редактировалось =GM=; 06.05.2011 в 15:01.
|
|
|
|
10.05.2011, 16:28
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Блин точно писал в еепром в прерывании  ща все замечательно  Знал что так нельзя... И зачем вач-дог для этого?  теперь непойму как измерять переменку на ацп, подключенную напрямую... пока ниче не получаеться  подскижите плиз...
|
|
|
|
10.05.2011, 16:54
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Ребят кто может подскажите как заьить в мк правильно измерение среднеквадратического напряжения? Формула есть, корень считаем, проблема с периодом... Непойму как его обозначить. Измерять буду 1мс каждую. Что в периоде писать...? Кто такое делал помогите.
|
|
|
|
10.05.2011, 17:16
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Сообщение от miwutka
|
|
Что в периоде писать...
|
Количество выборок кратное периоду входного сигнала. Можно 2-3-4 и т.д. периода.
Если у Вас дискретизация 1 килосэмпл, а частота 50Гц - 20-40-60-80 подойдет. Ну и сумма квадратов для всех этих выборок должна быть соответственно.
|
|
|
|
10.05.2011, 22:35
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
исправил еепром и все стало супер. Последний вопрос бумаю  надо умножить ацп значение на 0.707. Получаеться абра-кодабра.
вот текст.
unsigned int x,y;
y=x*0.707;
x при измерении ч показывает 319 (правильно) при перемножении переменной на число фигня получаеться. Помогите.... плиз...
|
|
|
|
11.05.2011, 09:44
|
|
|
Прописка
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Сообщение от miwutka
|
исправил еепром и все стало супер. Последний вопрос бумаю надо умножить ацп значение на 0.707. Получаеться абра-кодабра.
вот текст.
unsigned int x,y;
y=x*0.707;
x при измерении ч показывает 319 (правильно) при перемножении переменной на число фигня получаеться. Помогите.... плиз...
|
Никакой ошибки в записи выражения нет. Ищите ошибку в другом месте.
|
|
|
|
11.05.2011, 10:09
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
y должен быть float или double. Вы пытаетесь целочисленной переменной присвоить дробное значение.
|
|
|
|
11.05.2011, 10:37
|
|
|
Прописка
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Сообщение от _guardianangel
|
|
y должен быть float или double. Вы пытаетесь целочисленной переменной присвоить дробное значение.
|
И что в этом страшного? Вместо 319 * 0,707 = 225,533 TC получит 225. Но не абракадабру.
|
|
|
|
11.05.2011, 11:08
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Помогите с АЦП атмеги 16
Сообщение от oleg_harp
|
|
И что в этом страшного? Вместо 319 * 0,707 = 225,533 TC получит 225. Но не абракадабру.
|
Вы представление чисел почитаете хотя бы здесь http://ru.wikipedia.org/wiki/Числа_с_плавающей_запятой. Для того что бы получить 225 Вам надо написать так y = abs(x * 0.707).
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:26.
|
|