Например TDA7294

Форум РадиоКот • Просмотр темы - Прерываение от аналогового компаратора
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 14:57:32

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 14:25:43 
Встал на лапы

Зарегистрирован: Ср ноя 05, 2014 19:04:31
Сообщений: 114
Рейтинг сообщения: 0
Доброго времени суток, уважаемые форумчане!

Столкнулся с проблемой прерывания от аналогового компаратора AVR.

Использую в устройстве микроконтроллер 324P. Настраиваю компаратор так:

// Настраиваем порт B на вход
DDRB = 0x00;
PORTB = 0xF3; //0 в PB2, PB3

//Инициализация аналогового компаратора

// Влючаем компаратор, подключаем внутреннее опорное напряжение, включаем прерывание, прерывание по любому фронту
ACSR = (0<<ACD) | (1<<ACBG) | (0<<ACO) | (1<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

ADCSRB = (0<<ACME);
ACSR = (1<<ACI) ;
// Digital input buffer on AIN0: On
// Digital input buffer on AIN1: On
DIDR1=(1<<AIN0D) | (1<<AIN1D);

//Функция обработки прерывания
interrupt [ANA_COMP] void ana_comp_isr(void)
{
if ( (ACSR & 32) != 0)
{
AnComp = 1;
}
else
{
AnComp = 0;
}
}

Делаю все поп даташиту, но почему то прерывание не срабатывает.. Подскажите кто знает в какую сторону копать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 14:47:18 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Код:
ACSR = (0<<ACD) | (1<<ACBG) | (0<<ACO) | (1<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

ADCSRB = (0<<ACME);
ACSR |= (1<<ACI) ;
//ACSR = (1<<ACI) ;
А так?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 15:06:42 
Встал на лапы

Зарегистрирован: Ср ноя 05, 2014 19:04:31
Сообщений: 114
Рейтинг сообщения: 0
Код:
ACSR = (0<<ACD) | (1<<ACBG) | (0<<ACO) | (1<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

ADCSRB = (0<<ACME);
ACSR |= (1<<ACI) ;
//ACSR = (1<<ACI) ;
А так?


ничего не изменилось


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 16:15:24 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Код:
ACSR |= (1<<ACI) ;
Это строка лишняя.
Схему подключения компаратора приведите, и, что бы десять раз не спрашивать, укажите значение опорного напряжения.
Это у вас весь код? Не вижу разрешения на обработку прерывания.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 18:15:37 
Мучитель микросхем

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн авг 12, 2013 19:07:47
Сообщений: 494
Откуда: башкирия мелеуз
Рейтинг сообщения: 0
Доброго времени суток, уважаемые форумчане!

Столкнулся с проблемой прерывания от аналогового компаратора AVR.

Использую в устройстве микроконтроллер 324P. Настраиваю компаратор так:

// Настраиваем порт B на вход
DDRB = 0x00;
PORTB = 0xF3; //0 в PB2, PB3

//Инициализация аналогового компаратора

// Влючаем компаратор, подключаем внутреннее опорное напряжение, включаем прерывание, прерывание по любому фронту
ACSR = (0<<ACD) | (1<<ACBG) | (0<<ACO) | (1<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

ADCSRB = (0<<ACME);
ACSR = (1<<ACI) ;
// Digital input buffer on AIN0: On
// Digital input buffer on AIN1: On
DIDR1=(1<<AIN0D) | (1<<AIN1D);

//Функция обработки прерывания
interrupt [ANA_COMP] void ana_comp_isr(void)
{
if ( (ACSR & 32) != 0)
{
AnComp = 1;
}
else
{
AnComp = 0;
}
}

Делаю все поп даташиту, но почему то прерывание не срабатывает.. Подскажите кто знает в какую сторону копать?

ВОТ ТЫ ВАЛЕНОК...324P...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 18:45:29 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
pavel1979 писал(а):
ВОТ ТЫ ВАЛЕНОК...324P...
А что не так с 324Р?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Пн фев 12, 2018 20:00:29 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
DarkWolf писал(а):
но почему то прерывание не срабатывает..
Как Вы это определили и что именно имеется ввиду под "несрабатыванием"?

Что с глобальным разрешением прерываний?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 00:55:05 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Код:
ACSR |= (1<<ACI) ;
Это строка лишняя.
Сброс флага для устранения предистории лишним не бывает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 08:02:59 
Встал на лапы

Зарегистрирован: Ср ноя 05, 2014 19:04:31
Сообщений: 114
Рейтинг сообщения: 0
Код:
ACSR |= (1<<ACI) ;
Это строка лишняя.
Схему подключения компаратора приведите, и, что бы десять раз не спрашивать, укажите значение опорного напряжения.
Это у вас весь код? Не вижу разрешения на обработку прерывания.


Разрешение на прерывание от компаратора здесь (1<<ACIE), Опорное напряжение внутреннее 1,22 подключаю здесь (1<<ACBG)

Глобальные прерывания разрешаю после инициализации.

"Не работает прерывание"
Проверял следующим образом: так как настроено на любое изменение фронта, то в функции обработки прерывания
Код:
interrupt [ANA_COMP] void ana_comp_isr(void)
{   
    if ( (ACSR & 32) != 0)
        {   
            AnComp = 1; 
        }
        else
        {
            AnComp = 0; 
        }
}


пробывал выводить на экран символ для проверки. Ничего не происходило.

Добавлено after 14 minutes 44 seconds:
Вот схема компаратора.


Вложения:
IMG_20180213_085540.jpg [243.66 KiB]
Скачиваний: 577
Комментарий к файлу: Схема
IMG_20180213_085540.jpg [243.66 KiB]
Скачиваний: 532
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 08:09:41 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
if ( (ACSR & 32) != 0) От этого условия в прерывании то что ждете? Импульс очень короткий и переменной длины и могут быть разные результаты?

Поставте такое же условие в основной цикл и выводите этот бит на какой-нибудь порт. Проверите работает у Вас компаратор или нет , затем дальше думайте.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 08:51:38 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
DarkWolf писал(а):
пробывал выводить на экран символ для проверки. Ничего не происходило.
Выведите на экран значение регистров ACSR и SREG.
Там где у вас R27 R28 +9В, надеюсь при подаче +9В у вас должно происходит прерывание, а так же при снятии +9В, или у вас +9В постоянно подается?


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 09:27:03 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6619
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
бывает (я сталкивался) у авр если питание на компаратор идет от внутреннего опорника - надо BOD фьюзы настраивать иначе опорник не включается

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 10:00:36 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Цитата:
12.7.1. Voltage Reference Enable Signals and Start-up Time
The reference is on during the following situations:
1. When the BOD is enabled (by programming the BODLEVEL [2:0] Fuses).
2. When the bandgap reference is connected to the Analog Comparator (by setting the ACBG bit in
ACSR (ACSR.ACBG)).
3. When the ADC is enabled.
После включения Bandgap reference нужно выдержать start-up time порядка 100мкс...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 12:02:46 
Встал на лапы

Зарегистрирован: Ср ноя 05, 2014 19:04:31
Сообщений: 114
Рейтинг сообщения: 0
DarkWolf писал(а):
пробывал выводить на экран символ для проверки. Ничего не происходило.
Выведите на экран значение регистров ACSR и SREG.
Там где у вас R27 R28 +9В, надеюсь при подаче +9В у вас должно происходит прерывание, а так же при снятии +9В, или у вас +9В постоянно подается?


Значение регистра ACSR = 0x48 значение регистра SREG = 0x80

+9В питание постоянное от батарейки. С помощью компаратора отслеживаю разряд батарейки.

Добавлено after 1 minute 15 seconds:
бывает (я сталкивался) у авр если питание на компаратор идет от внутреннего опорника - надо BOD фьюзы настраивать иначе опорник не включается


после настройки компаратора делаю задержку 100 us, ничего не помогло..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 12:09:44 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
DarkWolf писал(а):
Значение регистра ACSR = 0x48 значение регистра SREG = 0x80
+9В питание постоянное от батарейки. С помощью компаратора отслеживаю разряд батарейки.
При поданном напряжении +9В значение регистра ACSR = 0x48,
при убранном напряжении +9В значение ACSR = 0x68.
Проверьте еще раз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 12:28:14 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
На самой лапе напряжение измеряли? Может сопля какая где на плате.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 12:51:13 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
А какие номиналы резисторов R27 R28?


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Прерываение от аналогового компаратора
СообщениеДобавлено: Вт фев 13, 2018 13:17:04 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6619
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
бывает (я сталкивался) у авр если питание на компаратор идет от внутреннего опорника - надо BOD фьюзы настраивать иначе опорник не включается
после настройки компаратора делаю задержку 100 us, ничего не помогло..
а BOD Level какой поставили? (хрен с ними, с задержками :) )

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


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

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y