простые интересные РАДИОСХЕМЫ сделанные своими руками

» СХЕМЫ
» ДАТАШИТЫ
Например: TDA1562
» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!





Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

  • Страница 2 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Модератор форума: Электродыч, Sam, ВIOS  
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Драйвер для кемпингового фонаря на ATTiny13A (Нужна помощь)
Драйвер для кемпингового фонаря на ATTiny13A
Вт, 25.06.2019, 08:57 | Сообщение # 11        
34kilowatt
аватар
  Постов: 73  Offline ОК 
Схему переделал, подтянул кнопку к минусу внешним резистором, при нажатии замыкается на + питания.

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

Цитата 34kilowatt ()
Еще, вопрос: нужно ли сбрасывать флаг прерывания?
флаг должен автоматически сбрасываться, при возврате из обработчика прерывания.


Отредактировал nolpofaze - Вт, 25.06.2019, 09:23
Вт, 25.06.2019, 09:43 | Сообщение # 13        
34kilowatt
аватар
  Постов: 73  Offline ОК 
Чтобы батарею на кушал внутренний резистор. При переходе в спящий режим, на сколько я понял, состояния портов остаются неизменными, если был высокий уровень, то он так и останется после перехода в спячку, был подтянут резистор, то он так и останется подтянутым.
А так получается, что кратковременно замыкаем на + питания при нажатии. И выключенном состоянии к АКБ подключен только МК (делитель хочу подключать через полевик при включении).


Отредактировал 34kilowatt - Вт, 25.06.2019, 09:52
Вт, 25.06.2019, 10:44 | Сообщение # 14        
nolpofaze
аватар
  Постов: 519  Offline Друзья 
34kilowatt, батарею будет кушать, если будет течь ток через этот резистор (ну не считая, конечно, мизера в доли микроампера), т.е. в момент замыкания кнопки, так что, немедленный разряд батареи, через подтягивающий резистор, Вам не грозил.
В последнем варианте, программа заработала?
Вт, 25.06.2019, 11:58 | Сообщение # 15        
34kilowatt
аватар
  Постов: 73  Offline ОК 
В принципе да, но в любом случае с железным резистором, думаю, надежнее будет. Также транзистор, который этот резистор подключает к + питания, все равно, но что-то ест. Хотя, если использовать железный, то тоже самое будет (короче шило на мыло).
Схема все равно не заработала, как хотел. Железки сейчас нет, но в протеусе сейчас повторяет работу в железе.
Добавил паузы для отладки - получилось, что постоянно уходит в сон и сразу выходит из него, хотя состояние порта 4 изменяться не должно. И так по кругу. Нажатие, судя по всему просто не успевает обработать (там есть задержка в 10мс).


Отредактировал 34kilowatt - Вт, 25.06.2019, 12:00
Вт, 25.06.2019, 12:30 | Сообщение # 16        
nolpofaze
аватар
  Постов: 519  Offline Друзья 
34kilowatt, а как у вас настроен MCUCR, по отношению к внешним прерываниям??? Надо бы даташит глянуть, в отношении ISCxx битов... А там у Вас 00, получаем прерывание, если на инте земля.
Бардак, в общем smile


Отредактировал nolpofaze - Вт, 25.06.2019, 13:03
Вт, 25.06.2019, 13:07 | Сообщение # 17        
msmmmm
аватар
  Постов: 1097  Offline Друзья 
34kilowatt, определись какое прерывание использовать будешь - PCINT или INT0. А то зачем-то включил INT0 (РВ1), и определил PCINT4 (РВ4).
Цитата 34kilowatt ()
с железным резистором, думаю, надежнее будет
И чем может оказаться ненадежным внутренний резистор 40кОм при 5В питания?
Цитата 34kilowatt ()
подтянул кнопку к минусу
Что в лоб, что по лбу. Подтягивающий резистор подключается к затвору мосфета и в статике не потребляет ничего. Как по мне - кнопка на общий лучше, хотя и не принципиально.
По поводу делителя для АЦП - на кой там внешний мосфет, если такой же уже встроен в порт?
Флаги, которые могут вызвать пробуждение, должны быть сброшены перед глобальным включением прерываний.


Отредактировал msmmmm - Вт, 25.06.2019, 13:08
Вт, 25.06.2019, 13:18 | Сообщение # 18        
34kilowatt
аватар
  Постов: 73  Offline ОК 
Ну да он у меня при выключении отключается и через резистор и обратно включенный диод там теоретически может быть ноль. Установил бит ISC01, теперь из сна не выходит... На кнопку на 4м порту не реагирует (правда пока только в протеусе).
P.S. Пока сообщение написал уже поста ответов появилось.
По поводу INT0 и PCINT нашел каком-то примере, потому и так написал...
В любом случае спасибо за помощь!


Отредактировал 34kilowatt - Вт, 25.06.2019, 13:24
Вт, 25.06.2019, 13:26 | Сообщение # 19        
msmmmm
аватар
  Постов: 1097  Offline Друзья 
И еще, зачем писать конструкции типа:
MCUCR |= (1 << SM1); // power-down mode
MCUCR &= ~(1 << SM0); // power-down mode
MCUCR |= (1 << SE); // режим сна включен
Если все это легко заменяется на:

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

Добавлено (25.06.2019, 13:32)
---------------------------------------------
Короче, надо убрать бардак, добавить порядок biggrin


Отредактировал nolpofaze - Вт, 25.06.2019, 13:32
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Драйвер для кемпингового фонаря на ATTiny13A (Нужна помощь)
  • Страница 2 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Проверенные Новички
Группа вконтакте Канал ютуб Группа в фэйсбук Моб. версия © 2010-2020, "Радиосхемы". Все права защищены. Почта