Перейти к содержанию

Включение И Выключение При Подаче И Потере Напряжения Через Attiny13


geo_li

Рекомендуемые сообщения

Как обычно, не закидывайте тапками новичков.

Идея такая.

Есть некое устройство, которое должно быть включено при подаче напряжения и выключено при потере напряжения.

Для включения и выключения после подачи или потери напряжения нужно коротко нажать кнопку.

Для нажатия использую реле, на которое должен подаваться сигнал с attiny13.

В приложении набросок схемы, вместо светодиода должно быть именно то реле.

post-190975-0-98643700-1431427794.jpg

При включении программа имитирует нажатие кнопки.

При выключении конденсатор по идее должен поддержать в рабочем состоянии attiny13 еще пару секунд.

За это время на ее входе пропадет сигнал и она должна выполнить имитацию нажатия кнопки для выключения.

Ниже код программы.

$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 32
$swstack = 8
$framesize = 16

Config Pinb.3 = Input									
Config Portb.0 = Output								

Waitms 50
If Pinb.3 = 1 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If

Do
If Pinb.3 = 0 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If
Loop
End

А теперь вопрос. Это реально?

В моих экспериментах пока на протеусе с программой ничего не выходило.

Может кто подскажет, где ошибка или другой способ реализации этой идеи.

Заранее ОЧЕЕНЬ большое спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

В бэйсике ничего не понимаю, но вам бы между вайт50 и луп зациклится.

И еще момент. Напряжение пропало. А реле нужно включить. Реле, как известно, довольно мощная нагрузка. Пропавшее напряжение осилит его включить?

Изменено пользователем солар

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Ниже код программы.

$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 32
$swstack = 8
$framesize = 16

Config Pinb.3 = Input									
Config Portb.0 = Output								

Waitms 50
If Pinb.3 = 1 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If

Do
If Pinb.3 = 0 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If
Loop
End

А теперь вопрос. Это реально?

При Вашем подходе к реализации - нереально :)

Большие задержки нельзя вводить , если опрос программный (без прерывания).

Это:

Waitms 50

я так понимаю задержка в 50мс. ?

Это категорически нельзя делать.

Надо переделать как то так:

If Pinb.3 = 0 Then
Waitms 50		 // сюда вводим антидребезг
If Pinb.3 = 0 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If
End If

Программа должна постоянно молотить по кругу , опрашивая вход. Как только словит изменение лог. уровня - вводится задержка 50мс. (и то она большая) потом снова опрос входа .

Так еще куда не шло .

ПС: бейсик вообще не знаю :)

По коду ясна суть .

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

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

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

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Здесь находится инициализация программы, т.е ее начало. При включении схемы оно запускается один раз. Оно не зациклено.
Правильно, при инициализации пауза на дребезг. Потом проверка на присутствие сигнала и запуск реле первый раз (включение устройства)
Waitms 50															
If Pinb.3 = 1 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If
А тут пошел цикл с ожиданием потери сигнала. Как только сигнал теряется, происходит повторный запуск реле для выключения устройства.
Do
If Pinb.3 = 0 Then
Set Portb.0
Waitms 1000
Reset Portb.0
End If
Loop
End

В роли реле выступает PRME15005. Не думаю, что оно много есть.

Но идея с конденсатором реальна? Схема жизнеспособна?

Или отказаться от этого и копать в направлении прерываний и засыпания чипа при независимом питании?

Как я уже писал, я только начал изучать электронику, потому возможно и идеи еще бредовые :)

Изменено пользователем geo_li
Ссылка на комментарий
Поделиться на другие сайты

как по мне то этот код на не нать... достаточно при пропадании питания отправить МК на принудительный ресет, и импульс на реле давать на моменте инициализациии , а в вечном цикле проверять пин питания... или нет?

Ссылка на комментарий
Поделиться на другие сайты

IMXO, думаю что лучше отслеживать все таки пропадание питания , и на ресет не отправлять мк. А ёмкость поставить 4700 и более мкФ.

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Есть некое устройство, которое должно быть включено при подаче напряжения и выключено при потере напряжения.

А просто одного реле разве не достаточно для этой задачи - напряжение подали , реле включило ваше устройство , напряжение пропало , реле отключило устройство ?

Ссылка на комментарий
Поделиться на другие сайты

Спасибо всем за отклик и за поддержку.

После долгих изысканий пришел к такому решению.

post-190975-0-98452600-1431463027_thumb.gif

и следующий код

$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 32
$swstack = 8
$framesize = 16
Config Pinb.3 = Input
Config Portb.0 = Output
Dim Sor As Bit
Sor = 0
Waitms 100
Do
If Pinb.3 = 0 Then
If Sor = 0 Then
Portb.0 = 1
Waitms 300
Portb.0 = 0
Sor = 1
End If
End If

If Pinb.3 = 1 Then
If Sor = 1 Then
Portb.0 = 1
Waitms 200
Portb.0 = 0
Sor = 0
End If
End If

Loop
End

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

Не понимаю как, но работает.

По конденсатору, думал брать не более 1000 uF, реле маломощьное, ест мало, а затягивать выключение тоже не хочется т.к. возможно повторное включение через короткое время.

Теперь, зачем все это.

Ответ для DmitryS и Геннадия

Я уже кажется поднимал этот вопрос, но теперь подошел к нему с другой стороны.

Итак, нужно, чтобы при включении света в туалете так же включалась музыка :) Нужна бюджетная идея. Валяются активные колонки и старый MP3 плеер. При включении света колонки включаются одновременно, а вот с плеером сложней. Питание на него можно подать, но он же не включится. Нужно его включить. К тому же, если его отключать от питания, то при следующем включении он начинает с первой композиции. Если же его запитать от батарейки, то при следующем включении он начинает с следующей композиции.

Если после выключения света его не выключить, то он тупо будет садить батарейки играя по кругу. Поэтому и нужно включить и выключить его. К тому же нужно подобрать время "нажатия" для включения и выключения. Так что по мне, так attiny самый быстрый и бюджетный вариант.

Сейчас времени нет попробовать идею на практике. Только на следующей неделе будет время. Но как сделаю, отпишусь.

Может у кого то еще будут идеи и замечания. Пишите. Буду признателен.

Ссылка на комментарий
Поделиться на другие сайты

...при включении света в туалете так же включалась музыка...

В туалет заходят по-кряхтеть, а не музыку слушать (разве что музыка достойна туалета). :) Но если у Вас под музыку лучше получается... , то высказанный мной вариант вполне подходит под Ваше решение. Два импульса - один при включении, второй - при выключении.

Ссылка на комментарий
Поделиться на другие сайты

вот как раз наоборот, надоест слушать записанное мп3. по радио хоть анекдот какой расскажут. ))

я лет 15 назад положил под потолок sony walkman кассетный (если кто помнит такие) и до сих пор вещает. заглушку от вентиляции поставил, чтобы перестраивать частоту да и всё, каждый месяц переключаюсь на другую волну и ничего не напрягает, разнообразие.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...