реклама на сайте
подробности

 
 
> tiny 24 глюк АЦП
ventel
сообщение Dec 17 2014, 22:19
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 5-12-06
Из: Харьков
Пользователь №: 23 153



Народ, помогите найти косяк! уже неделю парюсь...
суть проблемы - на тиньке юзаются 2 канала АЦП, раздельно - работают без проблем, как только включаю их работу по очереди, нормально работаь не хотят, получается какая то завязка друг от друга... оба канала пока на потенциометрах

CODE
clr r20; инициализация АЦП
ldi r20,(1<<ADEN)|(0<<ADSC)|(0<<ADATE)|(0<<ADIE)|(0<<ADPS2)|(1<<ADPS1)|(0<<ADPS0)
out adcsra,r20;

clr r20;
ldi r20,(0<<BIN)|(0<<ACME)|(1<<ADLAR)|(0<<ADTS2)|(0<<ADTS1)|(0<<ADTS0)
out adcsrb,r20;

clr r20;
ldi r20,(0<<REFS1)|(0<<REFS0);
out admux,r20;

test_adc: ;проверка напряжения

clr r20;
ldi r20,(0<<REFS1)|(0<<REFS0)|(0<<MUX5)|(0<<MUX4)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(1<<MUX0);
out admux,r20; АЦП для напряжения

ldi r18,0x50;
ps1:
dec r18;
cpi r18,0x00;
brne ps1;

st_adc_u:
sbi adcsra,adsc; запуск АЦП
cadc_1:
ldi R16,adcsra;
sbis adcsra,ADIF; если преобразование закончено, то пропустить след команду
rjmp cadc_1;

in r16,ADCH;
cpi r16,0x3C;0xAA;0xC7; напряжение меньше 12,6B
brlo pt1; если меньше перейти
in r16,ADCH;
cpi r16,0xAA;0xDA;напряжение больше 13,6B
brsh pt01;
rjmp test_adc1;

pt01:
sbi porta,0;
sbi porta,6;

rjmp test_adc1;
pt1:
cbi porta,6;
cbi porta,0;

rjmp test_adc;

;-----------------------------------------
test_adc1: ;проверка температуры

; cbi porta,3;
clr r20;
ldi r20,(0<<REFS1)|(0<<REFS0)|(0<<MUX5)|(0<<MUX4)|(0<<MUX3)|(0<<MUX2)|(1<<MUX1)|(0<<MUX0);
out admux,r20; АЦП для температуры

ldi r18,0x50;
ps2:
dec r18;
cpi r18,0x00;
brne ps2;

st_adc_t:
sbi adcsra,adsc; запуск АЦП
cadc_2:
ldi R16,adcsra;
sbis adcsra,ADIF; если преобразование закончено, то пропустить след команду
rjmp cadc_2;

cbi adcsra,adsc; стоп АЦП

in r16,ADCH;
cpi r16,0x09;0x41; 0x41; Температура больше 75 градусов
brlo pt2; если меньше перейти
in r16,ADCH;
cpi r16,0x2F;0xAA;0x68;
brsh pt02;
rjmp test_adc;

pt02:
sbi porta,5;
sbi porta,4;
rjmp test_adc;

pt2:
cbi porta,5;
cbi porta,4;
rjmp test_adc;

фрагмент схемы, может тут косяк?

еще забыл - кварц - 4МГц, делитель частоты на 8 (FUSE - CKDIV8), и делитель для АЦП - 4, т.е. к теореме Котельникова по частоте выборок притензий нет...
такое ощущение что внутренний конденсатор не разряжается... sad.gif

Сообщение отредактировал IgorKossak - Dec 19 2014, 23:32
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016