РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ


    • Страница 2 из 6
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • »
    Архив - только для чтения
    Драйвер для кемпингового фонаря на ATTiny13A
    Вт, 25.06.2019, 07:57 | Сообщение # 11        
    34kilowatt
    аватар
      Постов: 75   ОК 
    Схему переделал, подтянул кнопку к минусу внешним резистором, при нажатии замыкается на + питания.

    Еще, вопрос: нужно ли сбрасывать флаг прерывания? Хотя само прерывание отключаю в обработчике.
    Вот код:
    Файлы: 4876557.jpg (128.1 Kb)
    Вт, 25.06.2019, 08:21 | Сообщение # 12        
    nolpofaze
    аватар
      Постов: 442   Друзья 
    Цитата 34kilowatt ()
    Схему переделал, подтянул кнопку к минусу внешним резистором
    а какая крайняя необходимость была в этом?

    Цитата 34kilowatt ()
    Еще, вопрос: нужно ли сбрасывать флаг прерывания?
    флаг должен автоматически сбрасываться, при возврате из обработчика прерывания.
    Вт, 25.06.2019, 08:43 | Сообщение # 13        
    34kilowatt
    аватар
      Постов: 75   ОК 
    Чтобы батарею на кушал внутренний резистор. При переходе в спящий режим, на сколько я понял, состояния портов остаются неизменными, если был высокий уровень, то он так и останется после перехода в спячку, был подтянут резистор, то он так и останется подтянутым.
    А так получается, что кратковременно замыкаем на + питания при нажатии. И выключенном состоянии к АКБ подключен только МК (делитель хочу подключать через полевик при включении).
    Вт, 25.06.2019, 09:44 | Сообщение # 14        
    nolpofaze
    аватар
      Постов: 442   Друзья 
    34kilowatt, батарею будет кушать, если будет течь ток через этот резистор (ну не считая, конечно, мизера в доли микроампера), т.е. в момент замыкания кнопки, так что, немедленный разряд батареи, через подтягивающий резистор, Вам не грозил.
    В последнем варианте, программа заработала?
    Вт, 25.06.2019, 10:58 | Сообщение # 15        
    34kilowatt
    аватар
      Постов: 75   ОК 
    В принципе да, но в любом случае с железным резистором, думаю, надежнее будет. Также транзистор, который этот резистор подключает к + питания, все равно, но что-то ест. Хотя, если использовать железный, то тоже самое будет (короче шило на мыло).
    Схема все равно не заработала, как хотел. Железки сейчас нет, но в протеусе сейчас повторяет работу в железе.
    Добавил паузы для отладки - получилось, что постоянно уходит в сон и сразу выходит из него, хотя состояние порта 4 изменяться не должно. И так по кругу. Нажатие, судя по всему просто не успевает обработать (там есть задержка в 10мс).
    Вт, 25.06.2019, 11:30 | Сообщение # 16        
    nolpofaze
    аватар
      Постов: 442   Друзья 
    34kilowatt, а как у вас настроен MCUCR, по отношению к внешним прерываниям??? Надо бы даташит глянуть, в отношении ISCxx битов... А там у Вас 00, получаем прерывание, если на инте земля.
    Бардак, в общем smile
    Вт, 25.06.2019, 12:07 | Сообщение # 17        
    msmmmm
    аватар
      Постов: 891   Друзья 
    34kilowatt, определись какое прерывание использовать будешь - PCINT или INT0. А то зачем-то включил INT0 (РВ1), и определил PCINT4 (РВ4).
    Цитата 34kilowatt ()
    с железным резистором, думаю, надежнее будет
    И чем может оказаться ненадежным внутренний резистор 40кОм при 5В питания?
    Цитата 34kilowatt ()
    подтянул кнопку к минусу
    Что в лоб, что по лбу. Подтягивающий резистор подключается к затвору мосфета и в статике не потребляет ничего. Как по мне - кнопка на общий лучше, хотя и не принципиально.
    По поводу делителя для АЦП - на кой там внешний мосфет, если такой же уже встроен в порт?
    Флаги, которые могут вызвать пробуждение, должны быть сброшены перед глобальным включением прерываний.
    Вт, 25.06.2019, 12:18 | Сообщение # 18        
    34kilowatt
    аватар
      Постов: 75   ОК 
    Ну да он у меня при выключении отключается и через резистор и обратно включенный диод там теоретически может быть ноль. Установил бит ISC01, теперь из сна не выходит... На кнопку на 4м порту не реагирует (правда пока только в протеусе).
    P.S. Пока сообщение написал уже поста ответов появилось.
    По поводу INT0 и PCINT нашел каком-то примере, потому и так написал...
    В любом случае спасибо за помощь!
    Вт, 25.06.2019, 12:26 | Сообщение # 19        
    msmmmm
    аватар
      Постов: 891   Друзья 
    И еще, зачем писать конструкции типа:
    MCUCR |= (1 << SM1); // power-down mode
    MCUCR &= ~(1 << SM0); // power-down mode
    MCUCR |= (1 << SE); // режим сна включен
    Если все это легко заменяется на:

    MCUCR = 1 << SE|1 << SM1; и все
    Вт, 25.06.2019, 12:29 | Сообщение # 20        
    nolpofaze
    аватар
      Постов: 442   Друзья 
    Из даташита: Когда PCIE включен (установлен в 1), то любое изменение на PCINT5...0 вызовут прерывание по вектору PCI, не по вектору INT0, как у Вас.

    Добавлено (25.06.2019, 13:32)
    ---------------------------------------------
    Короче, надо убрать бардак, добавить порядок biggrin
    • Страница 2 из 6
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • »
    Поиск:

    Внимание! Форум переехал на Tehnodium.ru



    © 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA