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

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


Александр Д.

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

Доброго всем дня, коллеги!
Надо раз в 1-2 часа включить некое устройство (подать импульс, 100mS вполне хватит - дальше самоподхват питания и всё такое), отключусь сам :)
Питание -9-15в (по факту планирую АКБ 12в).
ОЧЕНЬ важно иметь минимальное потребление и работа при минус 20с.

Для низковольных решений (2-5v) я применяю TPL5110.
может существует готовое решение в виде микросхемы для бОльшего напряжения питания?

Как второе решение: применить 555, а именно CMOS версию - там ток потребления весьма мал. Сделать из неё мультивибратор с периодом в пару часов вполне реально.

Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.

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

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

 таймер на отключение на 2 часа

https://radiostorage.net/uploads/Image/schemes/misc/shema-rk17-45-58.png

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

Аккумуляторы INR21700 от EVE Energy со стандартной и увеличенной емкостью

В Компэл представлены аккумуляторы 21700 с емкостями 4000 мА⋅ч и 5000 мА⋅ч (INR21700-40P и INR21700-50E, соответственно). Аккумуляторы INR21700-50E характеризуются повышенной емкостью и предназначены для  устройств с длительным сроком службы. Для приложений, где требуется экстремальный ток разряда до 30 или 50 А, подойдет аккумулятор INR21700-40P. Аккумуляторы INR21700 предназначены для  электротранспорта, а также для промышленных и бытовых приложений. Подробнее>>

 

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

да, тоже как вариант - даже лучше, чем на 555
Спасибо!

Авторы ТЗ, с которыми я работаю, не имеют права жаловаться на дороги, ЖКХ, бюрократию и правительство.

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

  • 6 месяцев спустя...

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

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

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

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

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

 

Scheme.jpeg

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

Помехоподавляющие пленочные конденсаторы Hongfa для бытовых и промышленных сетей

Компания Hongfa - один из лидеров азиатского рынка пленочных конденсаторов с полным циклом производства. Она выпускает пять серий помехоподавляющих конденсаторов этого типа как для бытовой, так и для трехфазной промышленной сети, а также для автомобильного применения. Продукция компании по ассортименту, параметрам и количеству серий конденсаторов ЭМП не уступает другим крупным производителям этого сегмента и может легко заменить ассортимент ушедших из РФ брендов. Подробнее>>

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

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

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

Логично предположить, что с таймером все в порядке. А вот согнал DONE стоит проверить, возможно где то в программе он ломается при работе с датчиком.

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

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

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

одна команда, после передачи...

а до этой команды что делает программа?

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

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

16 минут назад, skripach сказал:

ft232

1. и где вы ее увидели в схеме?

2. даже если так, то что с того?

в программе не выполняется условие для выполнения команды 

"digitalWrite(DONE_PIN, HIGH);"

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

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

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

1 час назад, Gomerchik сказал:

Да код вроде понятный, одна команда, после передачи...

А физически вы его проверяли? Замерами на собранной железке.

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

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

12 минут назад, v1ct0r сказал:

где вы ее увидели в схеме?

Тут нет схемы самой Ардуино(но есть второе напряжение 3,3в , схема ниже)

 

15 минут назад, v1ct0r сказал:

даже если так, то что с того?

Не вывозит!!!

arduino-nano_schematic.png

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

#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 час назад, Gomerchik сказал:

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

удивительно, что она вообще иногда выключается

у вас команда на выключение стоит в сетапе, который отрабатывается один раз при запуске программы и все, а программа все время "крутится" в  void loop(), который у вас пустой.

объясните каким образом по вашему должна выполнятся команда

digitalWrite(DONE_PIN, HIGH);

поместите ее в void loop()  

я думаю после этого все наладится

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

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

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

Спасибо за совет.

Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору).

В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция). 

Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает. 

Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(

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

12 часов назад, v1ct0r сказал:

digitalWrite(DONE_PIN, HIGH);

поместите ее в void loop()  

Не надо его перемещать никуда. Явно проблема в коде. Где-то зацикливается и просто не доходит до конца.

Лог с временем выполнения перед командой отключения приходит?

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

В 27.09.2023 в 09:00, Александр Д. сказал:

ланирую АКБ 12в).
ОЧЕНЬ важно иметь минимальное потребление и работа при минус 20с.

Что-то не вяжется аккумулятор и отрицательные температуры.

А чем не нравится КР512ПС10?

  • Ток потребления менее 1мА.
  • Можно сформировать хоть одиночный импульс, хоть непрерывную генерацию.
  • Длительность периода от нескольких миллисекунд до нескольких месяцев.
  • Плавное аналоговое регулирование длительности.
  • Копеечная стоимость.

Широко применялся в промышленных реле времени лет 10…30 назад. Можно взять промышленное реле времени и перестроить его на нужный диапазон просто перепаяв не более 5 перемычек.

https://www.110volt.ru/rele_vremeni/vl64

p0099.png

vl64b.jpg

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

7 минут назад, korsaj сказал:

ток потребления 35 нА.

При токах потребления менее 1 мА не критично.
Все равно ток саморазряда аккумулятора в десятки раз выше.
Если с питанием совсем уж беда, то я бы вообще сходил в фикспрайс и купил несколько ночных светящихся цветков с солнечной батареей и ионистором.

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

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

мА не критично.
Все равно ток саморазряда аккумулятора в десятки раз выше.

Вы наверно про кислотный АКБ? У литиевых куда меньше, и ток 1 мА очень критичен для автономных систем.

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

Чутка промазали. Вы то не Александру Д отвечаете. Начало тут  https://forum.cxem.net/index.php?/topic/264086-экономичный-таймер-питания-от-9-15-в/&do=findComment&comment=3943324

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

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

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

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

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

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

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

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

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

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

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

    • Ну вот! Походу, и на одном из левшиных гвоздиков выбиты Ваши пасортные данные, насмотря на пальцы-сосиски. Тут главно на дело рук своих смотреть вооружённым взглядом..., и можно будет увидеть "- ... пять звёздочек". С уважением, Сергей  
    • В китайском блоке питания? Обычно и заявленная мощность под вопросом.
    • Все подобные ЛБП, кроме выставленных параметров (напряжение и ток), характеризуются еще режимом работы: "CV" и "CC". Постоянное напряжение и постоянный ток соответственно. Эти режимы взаимно исключают друг друга. И всё происходит по закону дедушки Ома. Выставили напряжение 5 В, ток ограничения 2 А. Пока сопротивление нагрузки > 2,5 Ом источник находится в режиме постоянного напряжения (CV), и да, можно сказать, стабилизатор тока не работает. Подключили резистор 1 Ом, ток в цепи будет 2 А, как и был выставлен. Режим постоянного тока (СС). Но заметьте, напряжение при этом будет 2 В, а не 5 В как было установлено изначально. Получаем не работающий стабилизатор напряжения в этот момент времени.
    • Предположим подключена клавиатура 5х5. Инициализация пинов проведена. Необходимо поочередно устанавливать 1 на пинах с out0 по out4 и каждый раз считывать с in0 - in4 информацию. Данные действия проще проводить циклом.
    • Повышаешь выходное напряжение, снижается выходной ток, мощность то выходная остаётся прежней. Запас по мощности наверное есть, но какой и долго ли он проработает, вопрос.
    • Шоб нет - так-и да. Есть у меня лично и "мелкоскоп илекстрисский". Не часто но его пользую.
    • Тогда в магазин за втулочками.  Идти в магазин ради одной использованой втулочки нет смысла. (Тут подойдёт и пишущий узел от стержня (когда пистонов не было в продаже и в помине, у всего класса собирал пустые стержни...)) Как нет смысла допиливать  полсотни строительных  наконечников под требуемое количество втулок. Как там в киноклассике (кф Особенности национальной охоты) : " - Жить захочешь (Жизнь заставит), не так раскорячишься!!" Ох-хо-хо!!? Это Вы ещё под микроскопом с электроникой не работали!! Левша со своими гвоздиками для блошиных подковок может нервно курить в сторонке, потому как на шляпках евойных гвоздиков будут выбиты  фамилия и инициалы какого нибудь радиолюбителя. С уважением, Сергей
×
×
  • Создать...