Часы с кукушкой

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Leopoll пишет:

Не могу понять как правильно полностью включать и выключать дисплей ( именно полностью, чтобы не сажать батарейку). Чтобы его отключить, надо установить LOW на 5V, CLK, DIO. Чтобы включить 5V подаю обратно, но команда Display.PrintTime() включает его на долю секунды и он снова гаснет. Как включить правильно?

А кто инициализировать после включения будет?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

DetSimen пишет:

Кто хочет, может мня даже с 52х летием проздравить. :-)  

Лично я хочу.

Поздравляю!

Расти большой (но, желательно, не вширь).

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

Leopoll
Offline
Зарегистрирован: 16.06.2016

andriano пишет:
А кто инициализировать после включения будет?

Сам об этом думал. В предыдущей библиотеке инициализировать нужно было только один раз в setup. Потом достаточно было команды вывода после отключения/включения. В библиотеке уважаемого юбиляра DetSimen вообще команды инициализации не нашел, как не искал. 

Правильно ли я написал обработку PCINT? 

setup{
// разрешение прерываний с портaD (PCINT[23:16])

  PCICR  |= (1<<PCIE2) | (0<<PCIE1) | (0<<PCIE0);
// маскирование всех ног, кроме PD3 и PD4 

  PCMSK2 |=  (1<<PCINT20) | (1<<PCINT19);
}
......

ISR(PCINT2_vect){ 
  isButton = true;
}
 

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Спасиба всем. :) 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Leopoll пишет:

Сам об этом думал. В предыдущей библиотеке инициализировать нужно было только один раз в setup. Потом достаточно было команды вывода после отключения/включения. В библиотеке уважаемого юбиляра DetSimen вообще команды инициализации не нашел, как не искал.

У меня её и нет. Я сторонник того, что инициализироваться устройство должно само, без этих всех бегинов и инитов. :) 

Но, на всякий случай добавил Init() в биб-ку, перекачай.  Я, наерна,  сёдня с Тинькой поэкспериментирую и добавлю к TM1637 функции Sleep() и WakeUp().  Посмотрим. 

25.12.2020 Добавлены 3 метода
void Init(void);  который при нормальной работе вызывать никогда не надо
Если устройство любит глубоко спать, то вот 2 метода ему в помощь
void Sleep(void);  // гасит экран, переводит ноги на вход без паттяшки
void Wakeup(void); // будит экран, восстанавливая на нем то, что перед сном было.
Leopoll
Offline
Зарегистрирован: 16.06.2016

DetSimen пишет:

5.12.2020 Добавлены 3 метода

Init() вроде работает как надо. Только перед выключением ноги не на вход перевожу, а устанавливаю низкий уровень. 
Sleep Wakeup  в работе еще не проверял, но их использование увеличивает скетч на 1мб! 
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Leopoll пишет:

Sleep Wakeup  в работе еще не проверял, но их использование увеличивает скетч на 1мб! 

Прям таки на мегабайт?  Шо ж я туда запхал-то? 

Leopoll
Offline
Зарегистрирован: 16.06.2016

Прошу помощи с организацией питания соленоида.

Соленоид 5в 800мА. Решил его питать от 4х АА (щелкает довольно бодро),а МК (ATmega8A-PU) от двух из них. Так как от 6В питать его будет неправильно. Для включения соленоида думал сделать силовой ключ на KП505A (я так сделал питание ТМ1637, чтоб отрубать его полностью), но на нем идут потери мощности. Если на затвор подавать те же 6В уже бьет значительно слабее, а если нужные мне 3В, то вообще еле-еле. Подтяжку затвора увеличил до 68кОм, не помогло. Реле типа SRD-05VDC мне по размерам великовато. Какие варианты? 

b707
Offline
Зарегистрирован: 26.05.2017

Уточните, что значит "подтяжку затвора увеличил до 68кОм, не помогло" ?  Подтяжку к чему? И зачем увеличил?

А вообще не особо удачный мосфет для ключа, сопротивление во включенном режиме порядка Ома - это дофига.

 

Leopoll
Offline
Зарегистрирован: 16.06.2016

Подтяжку к земле. Было 10К. Ну да ладно, как раз и думал что мосфет не подходящий. Посоветуете что? Очень важно, чтобы потери мощности были близки к нулю. 

b707
Offline
Зарегистрирован: 26.05.2017

любой логик-левел мосфет с сопротивлением включенного режима 30-50 mOhm

Leopoll
Offline
Зарегистрирован: 16.06.2016

Уточню. 

IRLB8743PBF (0.0032 ом при 40a, 10в)  подойдет?

А если IRFB7437PBF (0.002 ом при 100a, 10в) или  IRFB7430PBF (0.0013 ом при 100a, 10в) будет заметна разница с первым?

b707
Offline
Зарегистрирован: 26.05.2017

слишком велики... зачем вам такие монстры...

Они огромные и емкость затвора у  них соответвующие. Вы не написали, как вы собрались их использовать, но если для ШИМ - вы такие мосфеты без драйвера просто не раскачаете. Да и стоят...

Для небольших токов тут кто-то советовал АО3400. Они в Чипе есть, 11 рублей стоят. Правда они в корпусе СОТ23, для некоторых это минус, тех кто мелкие СМД паять не любят

Leopoll
Offline
Зарегистрирован: 16.06.2016

Ну да, СМД не хотел, поэтому в поиске их сразу исключил. А в корпусе хотя бы ТО-92 похоже ничего нет. ШИМа нет, я ж писал, реле только по размерам не подходит. Здесь важны только потери мощности, стучит итак не очень сильно, а если батарейки подсядут и подавно. 

Green
Offline
Зарегистрирован: 01.10.2015

ТО-252 на материнских платах самое то, на мой взгляд.

Leopoll
Offline
Зарегистрирован: 16.06.2016

Попробовал АО3400. Явно лучше. Но все равно меньше мощности, чем напрямую. Правда, все это на макетной плате, и, похоже, даже дюпонтовские перемычки уже дают некоторые потери. Может на распаяной плате будет и ничего. 

А есть еще способы? Может твердотельное реле?

П.С. Пробовал еще IRF540Z, но тот еще от 6В более менее срабатывает, а от 3В никак вообще. Это потому что порог у него 2-4В?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Конденсатор 0,47мкф в паралель катушке не пробовали?

Leopoll
Offline
Зарегистрирован: 16.06.2016

0.47 под рукой не было, поставил 0.33 Походу стало даже хуже. А чем должно было помочь?

Leopoll
Offline
Зарегистрирован: 16.06.2016

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

Итак, есть АТMega88, которая через AO3400 управляет соленоидом 5в 800мА. Соответственно, Мега может работать от 1.8-4.5В. 

Соленоид питается от 4АА, Мега питается от двух из этих же АА. При подаче сигнала на соленоид происходит перезагрузка Меги. Соленоид даже не успевает сработать. ( Так что дело не в диоде параллельно нагрузке, который таки стоит.) Если соленоид питать от отдельного источника, все работает. Тестер падения напряжения на Меге не видит (может очень быстро происходит?). BOD отключено. 

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

Пока вижу только вариант запитать Мегу от таблетки на 3В, она должна влезть. 

Но может можно еще как решить?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Питай мегу не на прямую "от 2АА из 4АА", а через диод и конденсатор.

Kakmyc
Offline
Зарегистрирован: 15.01.2018
Leopoll
Offline
Зарегистрирован: 16.06.2016

Kakmyc пишет:
Питай мегу не на прямую "от 2АА из 4АА", а через диод и конденсатор.

Конденсаторы стоят. Диод добавлю.

Leopoll
Offline
Зарегистрирован: 16.06.2016

С диодом стало "чуть лучше". Теперь соленоид успевает хотя бы дернуться до того как Мега перезагрузится.

Еще что-то можно сделать?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Leopoll пишет:

С диодом стало "чуть лучше". Теперь соленоид успевает хотя бы дернуться до того как Мега перезагрузится.

Еще что-то можно сделать?

Увеличить ёмкость конденсатора

Leopoll
Offline
Зарегистрирован: 16.06.2016

Kakmyc пишет:

 Увеличить ёмкость конденсатора

Сейчас электролит 47мкф и  керамика 100нф. Сколько пробовать увеличить?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Раз в 100 минимум увеличить электролит

Leopoll
Offline
Зарегистрирован: 16.06.2016

Kakmyc пишет:
Раз в 100 минимум увеличить электролит

Надеюсь, что не больше. В 100 раз это итак почти с батарейку.

Leopoll
Offline
Зарегистрирован: 16.06.2016

Ок. 4700 хватило. Работает. Спасибо.

Leopoll
Offline
Зарегистрирован: 16.06.2016

А можно с помощью конденсаторов сделать, чтобы импульс на соленоид был несколько мощнее? Соленоид включается примерно на 50-100 мс раз в секунду. 

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Leopoll пишет:

А можно с помощью конденсаторов сделать, чтобы импульс на соленоид был несколько мощнее? Соленоид включается примерно на 50-100 мс раз в секунду. 

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

Можно, но далеко не факт, что при этом:

1. Удастся сэкономить на батарейках.

2. Конденсаторы будут вменяемой емкости. (скорее всего, значение 4700 придется увеличить в 10-100 раз)

Leopoll
Offline
Зарегистрирован: 16.06.2016

А можно схему подключения конденсатора для этого случая? Хоть бы попробовал.

Green
Offline
Зарегистрирован: 01.10.2015

Leopoll пишет:

А можно с помощью конденсаторов сделать, чтобы импульс на соленоид был несколько мощнее? Соленоид включается примерно на 50-100 мс раз в секунду. 

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


А сфига там дольше? Конденсатор что не заряжается от батареек разве?
Ставьте нормальные батарейки - дюрасел или подобные, для фотоаппаратов.

Leopoll
Offline
Зарегистрирован: 16.06.2016

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Leopoll пишет:

А можно схему подключения конденсатора для этого случая? Хоть бы попробовал.

Схема - элементарная: конденсатор подключается параллельно батарейке. Только емкость его должна быть порядка 0.1Ф или больше. См. ионистор.

Leopoll
Offline
Зарегистрирован: 16.06.2016

andriano пишет:

 См. ионистор.

В принципе реально. 0.22Ф 130руб. 10х5мм. Потом попробую.

Тут другой вопрос возник. Может конденсатор 4700 мкф влиять на энергоэффективность?

На макетке Мега в спящем режиме потребляла 0.5мкА. Сейчас потребление готовой сборки при уходе в спящий режим МК 500мкА и в течении нескольких минут (!) падает до 20мкА. Других принципиальных изменений кроме конденсатора вроде не было. Если проблема не в конденсаторе, нарисую полную схему.

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Конденсатор вполне может приводить к ухудшению энергоэффективности. За все приходится платить.

Leopoll
Offline
Зарегистрирован: 16.06.2016

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Думаю, что от размера здесь мало что зависит. Тут надо смотреть емкость и ток утечки.

Ну а насчет смысла - решать автору разработки, что для него имеет смысл, а что - нет.

Green
Offline
Зарегистрирован: 01.10.2015

Скажем так. Это не тот случай, когда от размера что то зависит.)

Leopoll
Offline
Зарегистрирован: 16.06.2016

Ну, размер имелся ввиду ёмкости, чем меньше ёмкость, тем теоретически меньше ток утечки?
А если добавить ионистор на 0.1ф, совсем плохо будет с энергоэффективностью видимо.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Мне кажется, что человеку, который путает емкость с размером, еще рано задумываться об энергоэффективности.

Гриша
Offline
Зарегистрирован: 27.04.2014

 у меня ионисторы в оборудовании очень даже подыхают от тока короткого замыкания или если с них снимать ток больше 0,1А и вообще ионисторы какие-то нежные и еще дорогие...

самое оптимальное изучить особенности линеек тех же:
https://www.nichicon.ru/catalog/ (ничики)

http://www.jamicon.ru/capacitors/radial.html (джамики)

https://www.tdk-electronics.tdk.com/  (эпкосы)