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

Вежливая подсветка на AtTiny25


-=FISHER=-

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

Всех приветствую!

 

Проверьте пожалуйста схему, по моей задумке она должна работать следующим образом: изначально напряжение +12В присутствует на BAT+ и BAT- . Контроллер при этом выключен, так как закрыт мосфет Q2. Светодиоды, подключенные на LED- тоже не светят, потому что закрыт мосфет Q1. Как только на контакте CONTROL- появляется "земля" (до этого момента данный контакт висит в воздухе, по сути это разомкнутый концевик двери авто), на МК поступает напряжение, он включается, и первым делом открывает мосфет Q2 тем самым подавая резервную "землю" (это нужно чтобы когда контакт CONTROL- опять повиснет в воздухе МК держал Q2 открытым некоторое время, плавно погасил светодиоды и затем выключил сам себя закрыв Q2). Делитель напряжения R4 R5 нужен чтобы следить за напряжением бортсети и при превышении определенного уровня МК гасил бы светодиоды и затем выключал сам себя.

Скрытый текст

1905109839_.jpg.60eb8b8489b6333378145894063a7987.jpg

P.S. Схему я собрал, однако МК у меня сразу же включается и светодиоды тоже загораются сразу, хотя при инициализации МК порты PB0 и PB1 настроены на выход и установлены в 0.

Изменено пользователем -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

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

А ноль то (gnd МК) у Вас "висит в воздухе", тю-ю... даже не в воздухе, а имеет потенциал +ВАТТ - BZV55 (почти +7В). Относительно чего, тогда Вы хотите получить ноль на затворах полевиков?

Научитесь наконец-то использовать спящий режим в МК и выбросьте все "замыкалки питания".

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

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

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

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

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

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

Только что, Геннадий сказал:

Научитесь наконец-то использовать спящий режим в МК и выбросьте все "замыкалки питания".

Я умею и даже применял его, но противников спящего режима гораздо больше чем "замыкалок". Или вы считаете что в этой схеме можно нормально настроить POWER_DOWN таким образом что потребление у ВСЕЙ схемы в спящем режиме будет несколько мкА ? Или что-то нужно поменять?

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

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

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

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

Стабилизатор!

R4/R5 зачем Вам? Только она кушает 1мА, при чем всегда (согласно схеме).

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

20 минут назад, Геннадий сказал:

R4/R5 зачем Вам?

Чтобы контролировать напряжение бортовой сети и когда оно выше 13В (машина заведена) подсветка тухла мгновенно.

 

21 минуту назад, Геннадий сказал:

Стабилизатор!

Объясните пожалуйста.

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

Какой потенциал на входе "Control -" ?. Если штатный автомобильный концевик для плафона, там может и 12В оказаться, догадайся, что произойдёт?

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

Только что, ivani-2a сказал:

12В оказаться, догадайся, что произойдёт?

Конечно 12 и даже 14, а что произойдет?

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

5 hours ago, -=FISHER=- said:

МК у меня сразу же включается и светодиоды тоже

Землю МК привязать к общему проводу навечно, используйте p-канальный МОСФЕТ в питании МК, как Вы уже делали недавно. Вход PB4 защищаем диодом.

 

cxem_switch3.jpg

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

20 минут назад, Yurkin2015 сказал:

как Вы уже делали недавно.

Но при таком включении МК будет включаться сразу после потери сигнала CONTROL-?

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

2 minutes ago, -=FISHER=- said:

после потери

Сигнал CONTROL- притягивает затвор р-канального IRLML6402 к земле и тот открывается, питание поступает на МК. После старта контроллер через транзистор Q2 дублирует сигнал CONTROL- и удерживает питание открытым сколько надо. Сигнал CONTROL- теперь уже можно отпускать, питание всё равно будет поступать на МК.

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

9 минут назад, Yurkin2015 сказал:

сигнал CONTROL- и удерживает питание открытым сколько надо.

Ах да точно понял, но как вы считаете лучше таким образом контролировать питание или же спящим режимом?

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

52 minutes ago, -=FISHER=- said:

или же спящим режимом?

В спящем режиме через пару месяцев программа может зависнуть, и МК перестанет реагировать на открывание двери. Придётся скидывать клемму аккумулятора, чтобы обесточить МК и перезапустить его.

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

И потом, если тактировать этот МК от внутреннего генератора 128кГц, то его собственный ток потребления будет всего 0.15мА. Так что спящий или неспящий режим - ток потребления одинаково микроскопический. Основное потребление будет у резисторов обвязки и стабилитрона в питании, которое никакой спящий режим не убавит.

Поэтому надо коммутировать питание однозначно.

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

Лучше таким, как представили "вкл по сигналу CONTROL-". Я бы только в представленной схеме заменил Q2 на BC817 (либо аналог), полевик там излишен. И сменил номинал резистора между затвором Q3 и анодом D2 c 10к на 2-3к.

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

3 минуты назад, Yurkin2015 сказал:

В спящем режиме через пару месяцев программа может зависнуть, и МК перестанет реагировать на открывание двери. Придётся скидывать клемму аккумулятора, чтобы обесточить МК и перезапустить его.

Звучит убедительно, спасибо!

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

4 minutes ago, ivani-2a said:

c 10к на 2-3к

Максимальное напряжение затвор-исток у Q3 равно 12В. Поэтому в схеме оба два резистора по 10к делят напряжение на затворе пополам до безопасного уровня. 

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

 @Yurkin2015 без обид, а зачем вообще там полевик Q3? Вполне дешевого биполяра хватает, например BC807. В этом случае, замена резистора очень даже оправдана.

Я вот только не пойму, зачем там нужен контроль питающего напряжения? Ведь по сути - это таймер с диммером.

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

1 час назад, ivani-2a сказал:

Я вот только не пойму, зачем там нужен контроль питающего напряжения?

Чтобы резко гасить свет после того как машина заведется, а не ехать ~5 секунд при горящем свете в салоне.

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

1 hour ago, Yurkin2015 said:

В спящем режиме через пару месяцев программа может зависнуть... Придётся скидывать клемму аккумулятора...

Вы это серьезно? :blink:

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

Здравствуйте @Yurkin2015 !

Я сегодня снял плафон с машины и оказалось что в нем с завода была предусмотрена некоторая схема для задержки выключения. Однако до меня она не дожила, сейчас задержки нет, свет тухнет сразу же как только закрываю дверь. Но! Выяснилось что эта схема оформлена в виде отдельного модуля и впаяна в плату. А так же на плату плафона уже подведен сигнал от зажигания (IGN).

 87fff78cf98aed0bd386f9159ddc2dbc.jpg.jpg.8f605b211d626bf390ace043acf0eea8.jpg

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

699562100_1.jpg.28091d4b100b295c1236e1ddf80ef8de.jpg

 

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

Будет.

Сигнал KEY только не завёл на плату. Он по идеи, включат плафон когда ключ вставлен, а мотор ещё не заведён. Но это, как я понимаю уже не принципиально.

 

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

1 час назад, ivani-2a сказал:

Он по идеи, включат плафон когда ключ вставлен, а мотор ещё не заведён. Но это, как я понимаю уже не принципиально.

Вы так думаете? Кажется немного странный алгоритм? Я вот не нашел в интернете для чего может использоваться этот провод. Машина Chevrolet Lacetti седан 2007

Изменено пользователем -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

16 hours ago, -=FISHER=- said:

при таком подключении будет ли

При более внимательном разглядывании схемы, одна засада тут обнаружилсь. Для включения лампочек в плафоне используется биполярный транзистор Q1, установленный на плате. В оригинальной схеме ему в базу заливался ток 15мА для достаточного коллекторного тока включения лампочек. Чтобы сохранить такой ток, нужно уменьшить базовое сопротивление раза в 3, т.к. раньше база управлялась +12В, теперь с МК пойдёт только +5В.

Но это ещё только половина беды. А где МК возьмёт 15мА току, если у него из питания только макс 7мА можно забрать? 

Тут либо понадеяться, что можно оставить 820 Ом резистор в базе, и маленького тока от +5В всё равно хватит для включения лампочек. Может у транзистора большой запас по усилению тока остался.

Либо убрать стабилитрон из питания и поставить нормальный 7805 стабилизатор, тогда МК сможет обеспечить Q1 током 15мА.

Или в конце концов вернуться к полевому транзистору для включения лампочек, ему как раз никакого тока для включения не надо.

 

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

1 минуту назад, Yurkin2015 сказал:

для достаточного коллекторного тока включения лампочек.

У меня будет стоять светодиодная плата с расчетным потреблением 0,5 А. Всё равно не достаточно будет да?...

Мы все учились по-немногу, чему-нибудь и как-нибудь...

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Релюхи не причём. При неисправности релюх симптомы были бы другие. И ИБП даже не клацает когда переходит в  "аварию".   Да. Аккум новый. Более того - 2 новых пробовал. И без АКБ тоже. Не влияет. Да мелкие особо не вздуваются ж. Хотя С21 под подозрением..   Спасибо. Буду иметь ввиду.
    • #include <Wire.h> #include <Oregon_TM.h> #include <BME280I2C.h> //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Скетч для устройства, передающего данные датчика BME280 в формате Oregon Scientific THGN132N //Принципиальная схема прилагается. //Для работы необходима библиотека https://github.com/finitespace/BME280/ //Устройство работает от 3-ех пальчиковых батареек, для экономии электричества заливать скетч нужно через ISP //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Также возможна передача данных в формате - THP (температура, влажность, давление, напряжение батареи) //Пример с приёмником поддерживает расшифоовку THP //////////////////////////////////////////////////////////////////////////////////////////////////////////// # define THGN_SEND 1 // Передавать ли данные в формате THGN132 # define THP_SEND 0 // Передавать ли данные в формате THP # define DEVICE_LOG 1 //Писать ли лог В Serial # define DONE_PIN 15 // вывод сигнала об окончании работы на таймер # define BME_WAIT 10 // Сколько мс ожидать датчик BME # define BATTERY_THR 3.5 // Порог напряжения для выставляения флага разряда батарейки (THGN) ///////////////////////////////////////////////////////////////////////////////////////////////// //Ниблы датчика THP //Во всех полях младшие ниблы идут вперёд!!! // 1-2 - тип (55) // 3 - канал (0-7) // 4-6 - (температура от -100С) * 10. Т.е. +25.1С = 1251 = 4E3h // 7-9 - Влажность *10 Т.е. 25.1% = 251 = 0FBh // 10-12 - (давление от 500ммртст) * 10. Т.е. 765мм = 2650 = A5Ah // 13-15 - данные с АЦП (A0) // 16-17 - CheckSUM // 18-19 - CRC8 (poly 0x07 start 0x00) ///////////////////////////////////////////////////////////////////////////////////////////////// Oregon_TM transmitter(4); BME280I2C bme; bool bme_present = false; float bme_temp(NAN), bme_hum(NAN), bme_pres(NAN); ///////////////////////////////////////////////////////////////////////////////////////////////// void setup() { digitalWrite(DONE_PIN, LOW); pinMode(DONE_PIN, OUTPUT); #ifdef DEVICE_LOG Serial.begin(115200); Serial.println("Waiting for BMEsensor..."); #endif //Обмен данными с BME////////////////////////////////// Wire.begin(); while(!bme.begin()) { if (millis() > BME_WAIT) break; } if (!bme.begin()) { #ifdef DEVICE_LOG Serial.println("No BME sensor found"); #endif bme_present = false; } else { switch(bme.chipModel()) { case BME280::ChipModel_BME280: bme_present = true; bme.read(bme_pres, bme_temp, bme_hum); #ifdef DEVICE_LOG Serial.println("Found BME280 sensor! Success."); Serial.print("Temperature = "); Serial.print(bme_temp, 1); Serial.println("C"); Serial.print("Humidity = "); Serial.print(bme_hum, 1); Serial.println("%"); Serial.print("Pressure = "); Serial.print(bme_pres * 0.75, 1); Serial.println("mmHg"); #endif break; default: #ifdef DEVICE_LOG Serial.println("Found UNKNOWN sensor! Error!"); #endif bme_present = false; } } //Напряжения батареи/////////////////////////////////////////// word battvotage = (word)(((float)(1.1 * 16368) / Vbg()) * 100); #ifdef DEVICE_LOG Serial.print("Battery voltage = "); Serial.println(battvotage,HEX); #endif //Подготовка и отправка данных THGN////////////////////////////////////// transmitter.protocol == 2; if (THGN_SEND) { transmitter.setType(THGN132); transmitter.setChannel(3); transmitter.setBatteryFlag(battvotage < BATTERY_THR); if (bme_present) { if (bme_hum > 98) bme_hum = 98; if (bme_hum < 2) bme_hum = 2; if (bme_temp > 70) bme_temp = 70; if (bme_temp < -50) bme_temp = -50; transmitter.setTemperature(bme_temp); transmitter.setHumidity(bme_hum); transmitter.setComfort(bme_temp, bme_hum); } else { transmitter.setTemperature(-49.9); transmitter.setHumidity(2); transmitter.setComfort(-49.9, 2); } transmitter.SendPacket(); } // Если отправляются оба формата пакетов, межу ними надо выдержать паузу if (THP_SEND && THGN_SEND) delay(100); //Подготовка и отправка данных THP////////////////////////////////////// if (THP_SEND) { transmitter.setType(THP); transmitter.setChannelTHP(1); transmitter.setBatteryTHP( battvotage); if (bme_present) { transmitter.setTemperatureTHP(bme_temp); transmitter.setHumidityTHP(bme_hum); transmitter.setPressureTHP(bme_pres * 0.75); // перевод Pa в mmHg } else { transmitter.setErrorTHP(); } transmitter.SendPacket(); } #ifdef DEVICE_LOG Serial.println(); Serial.print(millis()); Serial.println("ms"); Serial.println(); #endif //Команда на отключение питания digitalWrite(DONE_PIN, HIGH); } ///////////////////////////////////////////////////////////////////////////////////////////////// void loop(){} ///////////////////////////////////////////////////////////////////////////////////////////////// int Vbg() { ADMUX = (1<<REFS0)|(0<<REFS1)|(1<<MUX3)|(1<<MUX2)|(1<<MUX1)|(0<<MUX0); long buffersamp=0; for (int n=0x0; n<=0xff; n++ ) { ADCSRA = 0xc7; while (bit_is_set(ADCSRA,ADSC)); buffersamp += ADC; } buffersamp >>=4; //16368 full scale 14bit ADCSRA &= ~(1 << ADEN); // отключаем АЦП return buffersamp; } Вот код программы. Пробовал по разному и от 5в запитывал и всю систему от 3,3 в. Причем голая ардуинка с таймером работает в нормальном режиме некоторое время, но потом все равно слетает и начинает питать мк постоянно( Причем это происходит всегда через разный промежуток времени.
    • На фото может быть название , характеристики и т.д. И по этому фото я смогу выбрать такой же в инете.. самому мне не собрать..
    • А что даст фотка? Тот же щуп, только чуть крупнее и с проводами питания.
    • Для меня наверное лучше купить готовый.. цель повысить чувствительность до 1 mV.. Наверное на Авто стоит покупать , мне бы фотку какую нить..такого активного щупа..))
    • Так на схемах обозначается подключение к сети 220 В.
×
×
  • Создать...