roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Re: МикроКонтроллеры начинающим - общие вопросы

loid » 31 июл 2008, 13:19

ну может быть. а что теперь делать? параллельный прграммер собирать? есть рабочая такаяже мега, с помощью неё можно реанимировать нерабочую микруху?

Re: МикроКонтроллеры начинающим - общие вопросы

Myp » 31 июл 2008, 13:37

нет

Re: МикроКонтроллеры начинающим - общие вопросы

Master » 31 июл 2008, 22:07

У Меги16 JTAG на порту С висит.
Ты либо отключил ISP программирование, тогда тока параллельный программатор нада, либо, выставил работу от внешнего кварца, тогда просто приделай кварц и всего дилов.

Re: МикроКонтроллеры начинающим - общие вопросы

loid » 01 авг 2008, 05:12

Кварц на месте. Видимо отключено ISP.
Как программировать параллельным программатором? Через какой софт? Или можно так же через CodeVisionAVR, только наверно настройки поправить надо.

Re: МикроКонтроллеры начинающим - общие вопросы

EdGull » 01 авг 2008, 06:19

попробуй для начала в место кварца кварцевый генератор подключить

Re: МикроКонтроллеры начинающим - общие вопросы

loid » 01 авг 2008, 10:22

от этого он будет виден в программе?

Re: МикроКонтроллеры начинающим - общие вопросы

EdGull » 01 авг 2008, 11:35

если срубил ему сигнал такования фьюзами, то да.

Re: МикроКонтроллеры начинающим - общие вопросы

Doniak » 01 авг 2008, 13:48

Вапрос к 123avr вот http://www.123avr.com/z09b.htm читая эту задачу курса зделал сваю схемку, ращитывал на вашем калькуляторе. Поидее ОУ должен уменьшать напряжение 1-10В в 5-1В но почемуто она некоректно работает в чём может быть проблема? (даже без входнова сигнала она выдаёт на выходе 3,46 В
12.GIF

Re: МикроКонтроллеры начинающим - общие вопросы

loid » 01 авг 2008, 13:56

В том то и дело, не знаю что с фьюзами произошло, но есть предположение что они прошились все :) Т.к. их не считывал и МК. Но галочку при прошитии не ставил. Видимо что то в программе тупануло.
А что делать если отключился режим ISP?

Re: МикроКонтроллеры начинающим - общие вопросы

EdGull » 01 авг 2008, 14:34

вот подруби генератор и узнашь

Re: МикроКонтроллеры начинающим - общие вопросы

avr123.nm.ru » 01 авг 2008, 22:33

Doniak писал(а): ОУ должен уменьшать напряжение 1-10В в 5-1В


т.е. КУ должен быть - 4/9 = - R1/R2 у вас резисоры не такие.

Doniak писал(а): без входнова сигнала она выдаёт на выходе 3,46 В


Наверно питание ОУ у вас 5 вольт. Надо более 7 вольт чтоб 5 выдавал. Это не ОУ у которого R2R выход .

Re: МикроКонтроллеры начинающим - общие вопросы

Doniak » 02 авг 2008, 00:11

avr123.nm.ru писал(а):
Наверно питание ОУ у вас 5 вольт. Надо более 7 вольт чтоб 5 выдавал. Это не ОУ у которого R2R выход .

тоисть то что сейчяс на выходи ОУ это нормально, так и должно быть?

т.е. КУ должен быть - 4/9 = - R1/R2 у вас резисоры не такие.


значит если изменю их на 4кОм и 9кОм соответствено на V+ дам 5В (питание тоже 5В) тогда на выходе будит 2,78-6,78В (если на вход подать 10-1В), что в жилезе будит приблизительно 1-5В ?

Re: МикроКонтроллеры начинающим - общие вопросы

avr123.nm.ru » 02 авг 2008, 11:35

Doniak писал(а):
avr123.nm.ru писал(а):Наверно питание ОУ у вас 5 вольт. Надо более 7 вольт чтоб 5 выдавал. Это не ОУ у которого R2R выход .

тоисть то что сейчяс на выходи ОУ это нормально, так и должно быть ?

Не нормально, но ваш ОУ не может выход сделать ближе чем 1.5 вольта к напряжению питания.

Даташит СМОТРИТЕ !

Re: МикроКонтроллеры начинающим - общие вопросы

Pavel.d.a » 03 авг 2008, 22:57

Здравствуйте. У меня не получается. Подскажите пожалуйста. Делаю контроль разряда аккумулятора на ATmega8. На АVCC подаю 5 вольт. Алгоритм такой - если напряжение меньше 9 вольт нужно зажечь светодиод (PORTВ.0=1), на делителе 9 вольт соответствует 2.88 вольт. Если обработку делать в прерывании (при непрерывном преобразовании) то работат:
float voltage;
unsigned char adc_data;

interrupt [ADC_INT] void adc_isr(void)
{
adc_data=ADCH;
voltage = (5.0f*adc_data)/1024.0f;
if(voltage < 2.88f)
PORTB.0=1;
}
void main(void)
{
ADMUX=0x00;
ADCSRA=0b11101101;
#asm("sei")
while (1)
}
если выношу из прерывания то светодиод горит всегда даже если напряжение 12в а не 9в
float voltage;
unsigned char adc_data;

interrupt [ADC_INT] void adc_isr(void)
{
adc_data=ADCH;
}
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
ACSR=0x80;
SFIOR=0x00;

ADMUX=0x00;
ADCSRA=0x8D;
ADCSRA|=0x40;
#asm("sei")
while (1)
{
ADCSRA|=0x40;
voltage = (5.0f*adc_data)/256.0f;
if(voltage < 2.88f)
PORTB.0=1;
};
}
что неправильно?

Re: МикроКонтроллеры начинающим - общие вопросы

rig » 04 авг 2008, 06:35

так поможет?
Код: Выделить всёРазвернуть
if(voltage < 2.88f)      PORTB.0=1; // U<9 зажигаем
else PORTB.0=0;     // U>9 тушим


Rambler\'s Top100 Mail.ru counter