Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/20: Рейтинг темы: голосов - 20, средняя оценка - 4.60
fohry1
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 3
1

Атмега32 Компаратор

22.03.2013, 15:07. Просмотров 3593. Ответов 5
Метки нет (Все метки)

необходимо регулироват температуры воды исползуя терморезистор,нагревател и атмега 32.
но не могу написат код.

сначала вода холодная. датчик тоже холодно. датчик температуры(терморезистор) находится внутри воды.
у холодного датчика сопротивление менше. при этом на инвертируюшим входе атмега32 напряжение падает.на выходе компаратора напряжение повышает.на одном из выводов атмега32 напряжение возрастает.нагревател нагревает.
при повышении температуры воды все процессы протекает в обратном направлениии.
вот так.
нужен простейший код для атмега32 для этой цели.
спасибо.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2013, 15:07
Ответы с готовыми решениями:

компаратор Atmega8535
Здравствуйте!Казалось бы простая такая штука компаратор,но при попытке настройки и симуляции в...

Компаратор и АЦП
В одном из проектов пробовал сделать программу, которая работала бы с АЦП и компараторам...

Не работает аналоговый компаратор?
Привет Всем! Кто скажет,правильный ли код: LDI TEMP,0b00000111 OUT DDRD,TEMP ;PD0,PD1,PD2 -...

Аналоговый компаратор - вопрос
Доброго дня! Заранее извиняюсь за нубский вопрос. Поймал глюк при использовании компаратора -...

Аналоговый компаратор в ATtiny2313
Добрый вечер, прошу помощи, никак не могу разобраться, почему не работает аналоговый компаратор на...

5
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
22.03.2013, 15:48 2
Компаратор Вам не подойдёт, ADC в чистом виде иначе нормальный гистерезис не зададите.
Кстати , по случаю стоял тут у пирамид инков , всё никак не мог понять , что они там нацарапали. Благодаря Ваше артефактному листочку понял - нагреватель для аквариума. Ещё края чуть-чуть обжечь (там сколы), дырку посредине (гад какой-то гвоздём) и один в один.
0
stritsh
0 / 0 / 0
Регистрация: 28.12.2012
Сообщений: 161
22.03.2013, 17:22 3
Цитата Сообщение от fohry1
необходимо регулироват температуры воды исползуя терморезистор,нагревател и атмега 32.
но не могу написат код.

сначала вода холодная. датчик тоже холодно. датчик температуры(терморезистор) находится внутри воды.
у холодного датчика сопротивление менше. при этом на инвертируюшим входе атмега32 напряжение падает.на выходе компаратора напряжение повышает.на одном из выводов атмега32 напряжение возрастает.нагревател нагревает.
при повышении температуры воды все процессы протекает в обратном направлениии.
вот так.
нужен простейший код для атмега32 для этой цели.
спасибо.
Возьмите ds18b20, схем подключения и примеров кода в интернете хватает. Будет не сложнее чем терморезистор+АЦП ИМХО.
0
fohry1
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 3
23.03.2013, 11:06 4
YTYOUT
Компаратор Вам не подойдёт, ADC в чистом виде иначе нормальный гистерезис не зададите.
ошибочное утверждение,я не согласен. какой гистерезис?
исползуя компаратор можно получат хороший гистерезис.почему вы думаете что нормальный гистерезис невозможно?
ешё раз говорю что это ошибочное утверждение
0
fohry1
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 3
23.03.2013, 11:15 5
stritsh
Будет не сложнее чем терморезистор+АЦП ИМХО.
не буду использоват ацп, буду исползоват толко компаратор.

Возьмите ds18b20, схем подключения и примеров кода в интернете хватает.
да.
ну вот уже сам нашел код для атмега32. проверял.рабочий.вот он

#include <avr\io.h>
#include <avr\interrupt.h>
#define AINpin PA3
#define LED PD0
void Init(){
DDRA&=~(1<<AINpin);//as input--в качестве входного
PORTA&=~(1<<AINpin);//no Pull-up--не подтягиваний
DDRD|=(1<<LED); //Led pin as output--Led контактный качестве выходных
PORTD|=(1<<LED);//Initally LED is OFF--установить индикатор OFF
SFIOR|=(1<<ACME);//enable multiplixir--включить мультиплексор
ADCSRA&=~(1<<ADIM);//make sure ADC is OFF--убедитесь, что АЦП OFF
ADMUX|=(0<<MUX2)|(1<<MUX1)|(1<<MUX0); //select ADC3 as negative AIN--выбираем ADC3 как отрицательные AIN
ACSR|=
(0<<ACD)| //Comparator ON--Компаратор ПО
(1<<ACBG)| //Connect 1.23V reference to AIN0--Подключиться 1,23 ссылкой на AIN0
(1<<ACIE)| //Comparator Ymtirrupt enable--Компаратор разрешения прерывания
(0<<ACIC)| //input capture disabtid--захвата входа отключены
(0<<ACIS1)| //set interrupt on output toggle--прерывание набора на выход переключения
(0<<ACIS0);
sei();//enable global interrupts--разрешить глобальные прерывания
}
// Ymtirrupt homdler for ANA_COMP_vect--Обработчик прерывания для ANA_COMP_vect
//
ISR(ANA_COMP_vect) {
if bit_is_clear(ACSR, ACO)
PORTD&=~(1<<LED);//LED is ON--индикатор ON
else PORTD|=(1<<LED);//LED is OFF--индикатор OFF
}
// ***********************************************************
// Main program
//
int main(void) {
Init();
while(1) { // Infymite loop; interrupts do the rest--Бесконечный цикл; прерывания все остальное
}
}

нашел код и таким образом сам ответил на свой вопрос.
0
YTYOUT
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
23.03.2013, 11:44 6
ошибочное утверждение,я не согласен.
Ну-ну
какой гистерезис?
http://ru.wikipedia.org/wiki/%D0%93%D0% ... 0%B8%D1%81
0
23.03.2013, 11:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 11:44

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

PIC18F46k22. Компаратор.
Всем доброго времени суток! Использую PIC18F26k22. Нужно задействовать компаратор и,...

Компаратор в микроконтроллере PIC18F25K22 (MPLAB C18) - Микроконтроллеры
Добрый день. В данный момент у меня на руках плата с контроллером PIC18F25K22 и проект от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru