Страница 2 из 2

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:25:48
DIMA040891
Пробывал, нет невыводит(( Выводил, после настройки портов.

Кстати МК ток жрёт 8...10 mA, это немного??

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:26:41
DIMA040891
Пробывал, нет невыводит(( Выводил, после настройки портов.

Кстати МК ток жрёт 8...10 mA, это немного??

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:38:13
GP1
DIMA040891 писал(а):Пробывал, нет невыводит(( Выводил, после настройки портов.

Кстати МК ток жрёт 8...10 mA, это немного??
Чего пробывал?

на какой частоте работает мк? смотри в ДШ кокой ток должен быть при этом.

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:39:00
avruser
Всмысле, после настройки портов.

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:44:24
DIMA040891
Вот так теперь это выглядит:

.
.
. ldi Temp,low(RamEnd) ;установка указателя стека
out SPL,Temp
ldi Temp,high(RamEnd)
out SPH,Temp

ldi Temp,0b11111110
out DDRC,Temp

ldi Temp,0b00101000
out PORTC,Temp

ldi Temp,0b11100000
out ADMUX,Temp; выбор канала, а так же выравнивание влево(бит 5),+(биты 6 и 7)
; включение опорного напряжения внутреннего источника
.
.
.
.

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:46:15
Pooher
Код полностью мы увидим?

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 20:49:30
DIMA040891
.INCLUDE "m8def.inc"

.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R20
.def Temp5=R21
.def Temp6=R22
.def Temp7=R23
.def Temp8=R24
.def Temp9=R25

.dseg

Digit: .byte 4
RAM: .byte 10


.cseg
.org 0


rjmp Reset
rjmp EXT_INT0
rjmp EXT_INT1
rjmp TIM2_COMP
rjmp TIM2_OVF
rjmp TIM1_CAPT
rjmp TIM1_COMPA
rjmp TIM1_COMPB
rjmp TIM1_OVF
rjmp TIM0_OVF
rjmp SPI_STC
rjmp USART_RXC
rjmp USART_UDRE
rjmp USART_TXC

rjmp EE_RDY
rjmp ANA_COMP
rjmp TWSI
rjmp SPM_RDY



;Reset:
EXT_INT0:
EXT_INT1:
TIM2_COMP:
TIM2_OVF:
TIM1_CAPT:
TIM1_COMPA:
TIM1_COMPB:
TIM1_OVF:
TIM0_OVF:
SPI_STC:
USART_RXC:
USART_UDRE:
USART_TXC:

EE_RDY:
ANA_COMP:
TWSI:
SPM_RDY:

reti






ldi Temp,low(RamEnd) ;установка указателя стека
out SPL,Temp
ldi Temp,high(RamEnd)
out SPH,Temp

ldi Temp,0b11111110
out DDRC,Temp

ldi Temp,0b00101000
out PORTC,Temp

ldi Temp,0b11100000
out ADMUX,Temp; выбор канала, а так же выравнивание влево(бит 5),+(биты 6 и 7)
; включение опорного напряжения внутреннего источника

ldi Temp,0b10000101
out ADCSR,Temp; старший бит вкл АЦП, младшие - предделитель

reset: sbi ADCSR,ADSC ; уст бит "старт преобразования"

WaitADC:

sbis ADCSR,ADIF
rjmp WaitADC
; тут отсчет готов...
in Temp1,ADCH ; ст байт

out PORTC,Temp1

ldi Temp3,0x06
ldi Temp2,0x1A
ldi Temp1,0x80


Delay: subi Temp1,1;ждём 0,5С
sbci Temp2,0
sbci Temp3,0
brcc Delay

rjmp reset

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 21:07:08
GP1
:shock: ну и как по-твоему это должно работать?
если при старте программа уходит на зацикливание, без всякой настройки портов и перефирии...
посмотри где у тебя стоит метка Reset

и все-таки включи ADIE

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 21:10:48
Pooher
Мда... Две страницы исписали, чуть не подрались, а тут...

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 22:08:51
DIMA040891
Мне очень и очень :oops: :oops: :oops: стыдно)) Большое спасибо, так я бы наверное долго головой об стенку бился))))
Осталось 2 вопросика:
1. Можно ли в недиферинциальном режиме АЦП задействовать внутренний усилитель x10???? Если можно то как????
2. Все ракроме старшего разряда светодиодов моргают, это возможно из-зи плохого источника питания????

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 22:42:43
GP1
Ну начнем с того что у М8 нет усилителя, если один светодиод отличается по яркости - ИП здесь ни при чем.
Смотри настройки портов, подключение пул-ап резисторов, подключенную периферию и т.п.

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 22:53:00
DIMA040891
Нет, дела не в разной яркости, а в том что значение постоянно меняется, горят то 2 то 3, 4 светодиода (хотя переменный ризистор в этот момент я нетрогую), ИП у меня очень слабенький, напряжение на клемах питания изменятся примерно на 0,3В при загорании разного количества светодиодов. Возможно это может спровоцировать ошибки при измернии напряжения???? :roll:

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 22:59:06
Pooher
Плохое питание - это "смерть" точности измерения. Плюсом к тому, Ваше программное решение не способно обеспечить высокую точность хотябы из за того, что АЦП рекомендуется использовать в режиме ADC Noise Reduction Mode.

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 23:01:07
GP1
Просадка на 0.3В - это примерно 15 ед.АЦП, при таком способе преобразования, а это 3-4 мл.разряда в результате, поэтому вполне возможно мигание светодиодов в хаотичном порядке :))) , пардон беспорядке.

зы: ну ADC Noise Reduction Mode нужно "включать" при полном (10 разрядном) преобразовании, а при 8-и разрядах этот режим не обязателен.

Re: ATmega8 и АЦП

Добавлено: Чт мар 18, 2010 23:22:54
Pooher
Ну почему же? Ведь мы считываем младшие разряды.

Re: ATmega8 и АЦП

Добавлено: Пт мар 19, 2010 00:00:20
DIMA040891
Ну вобщем испльзование хорошего ИП, LC фильтроф питания, а также конденсатора для AREF совместно с режимом ADC Noise Reduction Mode даст точность 8-9 разрядов?? так примерно??

Re: ATmega8 и АЦП

Добавлено: Пт мар 19, 2010 10:31:40
GP1
+ питание на аналоговую часть через LC-фильтр

Re: ATmega8 и АЦП

Добавлено: Пт мар 19, 2010 12:13:59
DIMA040891
Ну вродн всё! Все большое спасибо, за уделённое время))))!!!!