roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 06:24

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Работа с АЦП
СообщениеДобавлено: 21 июл 2008, 13:52 
Не в сети
Аватара пользователя

Зарегистрирован: 20 янв 2008, 04:28
Сообщения: 43
Помогите пожалуйста научится работать с АЦП (ПРОГРАММНО!)... Начал заниматся МК я совсем недвно, тут передо мной стала задача:
Нужно замерять напряжение от 0 до +5(питание). Результат нужно складывать в любую переменную...
...и каково время переобразования, т.к. задача состоит в следующем: нужно регулировать скорость нарастания яркости светодиода(цыкл+ШИМ), подключенным ко входу АЦП переменным резистором, между +5 и 0. время(значение снятое с АЦП) должно быть в пределах от 1мс и выше...
Пишу в Код вижн АВР под мегу8

Зарание спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 21 июл 2008, 14:28 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
для начала лучше взять верхний предел в 2.56 вольта. настроив внутреннее опорное напряжение, повесив на ногу AREF кондер нан этак 100 и туда же зацепившись 1 из выводов переменника...

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

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 21 июл 2008, 18:24 
Не в сети
Аватара пользователя

Зарегистрирован: 20 янв 2008, 04:28
Сообщения: 43
Все таки хотелось бы от +5
Именно в программировании и вся проблема... на сях...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 21 июл 2008, 18:37 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
на васике для минибота в вике есть пример замера акб
времени на разрабоку минуты полторы уйдет
но Си это конечно намного круче... :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 21 июл 2008, 19:04 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июн 2008, 08:48
Сообщения: 63
Откуда: Новосибирск
прог. языки: С++, Asm, PHP
а в чем собственно говоря проблема?


Код:
int     adc_complete;
int     adc_result;
               
interrupt [ADC_INT] void adc_isr() {
        adc_result = ADCW;
        adc_complete = TRUE;       
}

void main() {
         .....
        ADCSRA = 0b10001011;
        ADMUX = 0b00000000;
       
        // Global enable interrupts
        #asm("sei")     
}


замеры делать так:
Код:
        adc_complete = FALSE;
        // запускаем АЦП
        ADCSRA |= 0x40;               
        // ждем завершения
        while(!adc_complete);

в adc_result будет результат

Не забываем тег CODE!
<Digit>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 21 июл 2008, 19:35 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
и с ацп время снять невыйдет, просто сразу данные с ацп кидать в таймер для ШИМ...

и все-таки лучше от 2.56... думаю ясно почему..

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 22 июл 2008, 01:48 
Не в сети
Аватара пользователя

Зарегистрирован: 20 янв 2008, 04:28
Сообщения: 43
Спасибо, сейчас буду пробывать..
2,56 ясно почему... а вот где именно указивается порт с которого будет сниматся переобразование?

Добавлено спустя 3 часа 45 минут 33 секунды:
Код:
#define ADC_VREF_TYPE 0x60   
int     adc_result, aa;
               
interrupt [ADC_INT] void adc_isr()
{
        delay_ms(20);
        adc_result = ADCW;   
        ADCSRA|=0x40;
}
void main(void)
{
       
// ADC initialization
// ADC Clock frequency: 31,250 kHz
// ADC Voltage Reference: AVCC pin
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x8E;
SFIOR&=0xEF;

          while(1)
          {
                ADCSRA|=0x40; 
                aa=ADCH;
                delay_ms(20);
          }
}





Я правильно понял??? значение записыватся в аа? И где именно указивается с каким портом будет работать АЦП?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 22 июл 2008, 11:04 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
ADMUX... смотреть даташит ....

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 23 июл 2008, 01:34 
Не в сети
Аватара пользователя

Зарегистрирован: 20 янв 2008, 04:28
Сообщения: 43
Всем спасибо, все работает!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 06 янв 2009, 12:14 
Не в сети
Аватара пользователя

Зарегистрирован: 21 сен 2006, 22:42
Сообщения: 76
Откуда: М.О.
А не поделитесь или не подскажите где схему такого плана можно найти. А то не очень понятен момент с тем как переменный резистор меняет напряжение(он же вроде как ток должен менять). И повторюсь очень интеррисует аппаратное решение этого вопроса, а то уже пару дней ищу пока ничего стоющего не нашел.

_________________
vivere militare est


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 06 янв 2009, 13:27 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
Вот вам аппаратное решение :oops:


Вложения:
Untitled-1.gif
Untitled-1.gif [ 12.24 КиБ | Просмотров: 1361 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 06 янв 2009, 13:55 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Freeman писал(а):
Помогите пожалуйста научится работать с АЦП (ПРОГРАММНО!)... Начал заниматся МК я совсем недвно

Задача-упражнение 9 и 11 - http://avr123.nm.ru/06.htm

D'Ark Trouyan писал(а):
не очень понятен момент с тем как переменный резистор меняет напряжение

Основы электроники - КРУПНЫМИ КРАСНЫМИ БУКВАМИ - на страничке http://avr123.nm.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 06 янв 2009, 15:19 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
D'Ark Trouyan писал(а):
А не поделитесь или не подскажите где схему такого плана можно найти. А то не очень понятен момент с тем как переменный резистор меняет напряжение(он же вроде как ток должен менять). И повторюсь очень интеррисует аппаратное решение этого вопроса, а то уже пару дней ищу пока ничего стоющего не нашел.

Вот так понятно?


Вложения:
Резистор.JPG
Резистор.JPG [ 42.32 КиБ | Просмотров: 1340 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа с АЦП
СообщениеДобавлено: 07 янв 2009, 13:22 
Не в сети
Аватара пользователя

Зарегистрирован: 21 сен 2006, 22:42
Сообщения: 76
Откуда: М.О.
хех вполне !!! Спасибо)))

_________________
vivere militare est


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO