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

Экономичный таймер питания от 9-15 В


Александр Д.

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

На некоторых схемах между А1 и GND ставят резистор на 1 мОм. Я поставил и таймер стал работать как надо, НО!!! сигнал перестал приниматься станцией((((

Убираю резистор и все возвращается на круги своя((

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

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

59 минут назад, Gomerchik сказал:

и таймер стал работать как надо, НО!!! сигнал перестал приниматься станцией((((

Видимо не все так просто...

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

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

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

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

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

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

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

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

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

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

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

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

В 19.04.2024 в 20:41, skripach сказал:

Запитывай датчик BME  и " передатчик" от 5v ,а не от 3,3v arduino.

@Gomerchik@skripach в чем то действительно прав - запитайте  датчик BME от 5 вольт, а то у него уровни не согласованы с ардуиной.

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

все гениальное просто. чем проще тем надежнее.

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

@Gomerchik загрузите в ардуину такой вариант  скетча и напишите как себя будет вести система таймер - ардуино

если все нормально раскомментируйте то что после 

void loop() {}

и снова проверьте

после раскомментируйте то что перед 

void setup()

снова проверьте

и если норма, раскомментируйте оставшееся и проверьте.

дальше будут варианты...

Спойлер

# define DONE_PIN         15

/*
  #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

  */
  pinMode(LED_BUILTIN, OUTPUT);
  for (int i = 0; i < 10; i++)
  { digitalWrite(LED_BUILTIN, HIGH);
    delay(220);
    digitalWrite(LED_BUILTIN, LOW);
    delay(220);
  }


  //Команда на отключение питания
  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;
  }

*/

 

 

все гениальное просто. чем проще тем надежнее.

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

В 18.04.2024 в 22:04, Gomerchik сказал:

Что не так в работе таймера?

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

почитал я даташит

https://www.ti.com/lit/ds/symlink/tpl5110.pdf?ts=1713878163100&ref_url=https%3A%2F%2Fwww.ti.com%2Fproduct%2FTPL5110

на 100% не уверен, что правильно понял, но похоже что вам нужно просто увеличить время периода между включениями МК

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

перевод  

основное в 7.3.1

Спойлер

7.1 Обзор
TPL5110 — это таймер с функцией стробирования мощности. Он идеально подходит для использования в приложениях с циклическим питанием и обеспечивает
выбираемое время от 100 мс до 7200 с.
После настройки в режиме таймера (EN/ONE_SHOT= HIGH) TPL5110 периодически отправляет сигнал DRV на
MOSFET для включения микроконтроллера. Если микроконтроллер отвечает сигналом DONE в течение запрограммированного интервала времени (tDRV),
TPL5110 отключает микроконтроллер, в противном случае TPL5110 удерживает микроконтроллер во включенном состоянии в течение времени, равного tDRV.
TPL5110 также может работать в одноразовом режиме (EN/ONE_SHOT= LOW). В этом режиме передается сигнал DRV.
выключается только один раз при включении питания TPL5110, чтобы включить микроконтроллер. Если микроконтроллер отвечает сигналом DONE в течение
через запрограммированный интервал времени (tDRV) TPL5110 выключает микроконтроллер, в противном случае TPL5110 оставляет микроконтроллер в
в состоянии на время, равное tDRV.
7.3 Описание функции
TPL5110 реализует функцию периодического стробирования мощности или однократного стробирования мощности в соответствии с
EN/ONE_SHOT напряжение. Функция ручного включения питания MOSFET реализуется путем кратковременного вытягивания
Вывод DELAY/M_DRV на VDD.
7.3.1 ДРВ
Затвор МОП-транзистора подключен к выводу DRV. Когда DRV=LOW, MOSFET включается. Импульс
генерируемый на DRV, равен периоду выбранного временного интервала минус 50 мс. В случае DONE оно короче
сигнал, полученный от микроконтроллера. Если сигнал DONE не получен в течение запрограммированного интервала времени (минус 50
мс), сигнал DRV будет высоким в течение последних 50 мс интервала времени, необходимого для выключения МОП-транзистора перед следующим
цикл начинается.
Значение по умолчанию (после измерения сопротивления) ВЫСОКОЕ. Сигнал отправляется с TPL5110, когда
начинается запрограммированный временной интервал. Когда DRV НИЗКИЙ, сигнал ручного включения питания игнорируется.
7.3.2 ГОТОВО
Вывод DONE управляется микроконтроллером и сигнализирует о том, что микроконтроллер работает правильно. TPL5110 распознает действительный
Сигнал DONE как переход от низкого к высокому уровню. Если в течение интервала времени получены два или более сигнала DONE, только
обрабатывается первый сигнал DONE. Минимальная длительность импульса сигнала DONE составляет 100 нс. Когда TPL5110
получает сигнал DONE, он устанавливает ВЫСОКИЙ логический уровень DRV.

 

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

все гениальное просто. чем проще тем надежнее.

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

Спасибо v1ct0r.

Попробовал поиграться по Вашему со скетчем - не помогло( запитывать от 5в датчик тоже.

Пересобрал на макетке схему и теперь с подключенным BME280 и передатчиком таймер работает нормально несколько циклов, но потом все равно переходит на постоянную подачу питания(( Да и станция не ловит сигнал(

Что касательно последнего -  время подачи питания с таймера обусловлено протоколом работы погодных датчиков: датчики передают показания с интервалом 39, 41 и 43 секунды на 1-ом, 2-ом и 3-ем канале соответственно.

Совсем запутался(

Waiting for BMEsensor...

Found BME280 sensor! Success.

Temperature = 27.7C

Humidity = 26.2%

Pressure = 745.9mmHg

Battery voltage = 1DC

528ms

 

 

 

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

17 часов назад, Gomerchik сказал:

Попробовал поиграться по Вашему со скетчем - не помогло

что полностью закомментировнный скетч, только с мигающим светодиодом на 13 пине, не выключает питание?

если так, то измерьте напряжение, которое приходит с А1 на DONE

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

все гениальное просто. чем проще тем надежнее.

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

Доковырялся с макеткой так, что все перестало работать( И посмотрев внимательнее обнаружил, что в рабочем варианте у меня используется TPL5111 (ZFVX), а на макетке TPL5110 (ZALX). Китайцы видать напутали со сборкой положили и то и то.

В одной статейке написано 

TPL5110 — таймер для управления внешним ключом питания, в качестве которого используется МОП-транзистор

TPL5111 — таймер для управления внешним ключом питания, в качестве которого используется LDO-стабилизатор с функцией разрешения

Что используется в качестве этого "LDO стабилизатора" пока не разобрался( Теперь только после праздников.

пысы  Не получается блин просто))))))

 

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

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

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

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

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

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

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

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

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

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

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

    • Актуальная потребность) Тоже развлекался подобным способом, только с немного другим ибп. Хотел перевести его на железофосфат, но он до конца не заряжал батарею. Блок зарядки у него не калибровался, и по моему с микроконтроллером. В итоге оставил свинец. Когда то он тянул серверную на 4х батарейках по 200а/ч. Серверную он вытянул за ночь, а вот из за отсутствия охлаждегия все пошло в разнос. В итоге все закончилось полной заменой силовой комплектухи и устранением лишних отверстий в плате. Но картошку хватило сварить и даже немного поработать, зимой на железофосфате 4 часа отапливал тепловентилятором балкон)). Дешевле чем из розетки днем)) А для ленивых( ну или если в лом или нет достойного донора) можно взять инвертор от SVC он довольно не дорогой и мощный, при этом может работать с авто батарейками, зарядный ток до 10А. Я на нем гоняю насосы котла и кондиционер в шкафу, иногда еще станок.  
    • @Александр2, это у тебя в голове что-то с чем-то вступает в противоречие.  Я знаю, что ты ярый поклонник Ланзара. Поэтому пояснение для тебя того, почему симметричная на бумаге/на экране монитора схема, и спаянная на реальной плате с реальными комплектующими в отличии от неё за редким исключением вместо 0 на выходе зачастую имеет сдвиг напряжения величиной в +/- километр, думается мне излишняя трата времени.    
    • Верно подмечено. Вот их-то, КТ602ВМ и BD139 в ТО-126 в 1969-ом как раз-таки и не было. Не только у J. L. Hood-а, их вообще ещё не существовало. К тому же КТ602БМ  в корпусе КТ-27-2 (как и BD139 в TO-126) и КТ602А в корпусе КТЮ-3-9 - это совсем не близнецы-братья. Технология изготовления совершенно разная, а она при работе транзисторов динамическом режиме, как в случае с JLH-69, играет далеко не последнюю роль. Просто юноша в силу своего быстрого и раннего развития об этом ничего не знает. 
    • Садится разбираться в алгоритме работы и на микроконтроллере делать замену.  Попробуйте прогреть микросхему на зажигалке, когда-то читал о таком способе восстановления процессора от телевизора. Шансов мало, но вам нечего терять, а потом в панельку.
    • Я хочу попробовать разные способы победить эти шумы. Для начала собрать фильтр для блока питания. Корпус с блютуз антенной я пробовал убрать, ничего не изменилось, если фильтр для блока питания тоже не поможет, значит дело в самом усилителе. В Aiyima A3001, который выдает шум гораздо тише, на выходе стоят электролитические конденсаторы и фильтры, можно попробовать сделать также и на Aiyima A09, может таким образом удастся снизить шумы. Если нет, то буду искать еще варианты. Кроме шумов еще надо разобраться с щелчками в колонки при включении и выключении Brzhifi. Aiyima A09 выдает щелчок только при выключении сетевого фильтра, и слабый. А вот Brzhifi щелкает так, что аж диффузоры в колонках двигаются. Схема питания у них отличается, Brzhifi остается в режиме ожидания и питание не отключается, я хочу переделать его так, чтобы оно отключалось, как на Aiyima A09. Может там что сдохло. а может он так спроектирован. Либо что то делать с контроллером питания, либо найти в схеме где можно врезать выключатель и впихнуть его.
    • @CrazyDog34RU Понять, что изначально были неправы, и питание в вашей проблеме не виновато, например?
    • Неожиданный вопрос... При измерениях в любой точке вот этой части схемы "масса" осциллографа вот тут: При измерениях вот в этой части схемы - вот тут: У этой части схемы - вот в этой точке: Подключать "массу" к одной части схемы, а смотреть точки в другой - нельзя. Все эти три "общие" точки - совершенно разные точки. Между ними может быть вполне ощутимое напряжение. Вот тут это хорошо видно:
×
×
  • Создать...