Тёмный
No video :(

Power-saving mode of AVR microcontrollers. Sleep modes on the example of ATtiny13 

Neoalternator
Подписаться 4,9 тыс.
Просмотров 4,6 тыс.
50% 1

Опубликовано:

 

29 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 47   
@rosaviakosmos
@rosaviakosmos 2 года назад
Спасибо! Бомбическое видео, все очень понятно, готов поставить пиво
@neoalternator
@neoalternator 2 года назад
А вот и первый доход с Ютуба))))
@user-co4vk4dr3w
@user-co4vk4dr3w 2 года назад
Это лучщее видео на данную тему, что я видел. А искал я долго :)
@quasar3885
@quasar3885 2 года назад
Спасибо вам.. Долго ждал этого видел.. Спасибо что вы еще показываете это в IDE...
@neoalternator
@neoalternator 2 года назад
Язык функций мне самому ближе, но язык регистров ближе микроконтроллеру. Вот и стараюсь "и нашим и вашим" ))
@vtech8716
@vtech8716 2 года назад
Спасибо хороший человек за внятное объяснение. Удачи
@neoalternator
@neoalternator 2 года назад
Спасибо за отзыв!
@stasstas268
@stasstas268 Год назад
супер. спасибо большое
@Ruth_Asada
@Ruth_Asada 2 года назад
Спасибо за работу. Как раз хотел сделать аварийную мигалку с большим сроком службы.
@neoalternator
@neoalternator 2 года назад
Спасибо за отзыв и успехов в проекте!
@user-wq4sd6tr6x
@user-wq4sd6tr6x 2 года назад
Очень полезная тема, спасибо! Это как раз то, что мне нужно для разработки устройства с миниатюрным источником питания. А если ставить устройство на ☀️, то знание этой темы позволяет сильно сэкономить на размерах солнечной панели и заряжаемого ею аккумулятора.
@neoalternator
@neoalternator 2 года назад
Или, например, от элемента Пельтье. Достаточно будет небольшого градиента температур для работы мк и дозарядки аккумулятора.
@user-wq4sd6tr6x
@user-wq4sd6tr6x 2 года назад
@@neoalternator Микроконтроллеры AVR - потрясная вещь! Оказывается, их придумали, разработали всю линейку (каких только нет! вот и с радиопередатчиком, я смотрю, есть) в США в конце 90-х - начале 2000-х. Всё продумано, всё прекрасно, возможности широки и безграничны. Нет ничего умнее на свете! Думаю, за Attiny американцам можно всё простить и дружить с ними.
@neoalternator
@neoalternator 2 года назад
@@user-wq4sd6tr6x Согласен! Считаю, что их большой плюс - очень понятная и доступная для освоения документация. Возможно благодаря этому много пользовательских библиотек к этим мк и проектов на их основе.
@worldmanagerpeacemaker
@worldmanagerpeacemaker 2 года назад
@@neoalternator Получается что на 1 секунду на каждую 1 минуту может просыпаться , чтобы сделать замер показателей и отправить данные на базу (центр управления) так чтобы таблетку хватило на 1 год !??? Правильно ли я подсчитал ?
@worldmanagerpeacemaker
@worldmanagerpeacemaker 2 года назад
@@user-wq4sd6tr6x А за смартфон можно и памятник амеиканцам поставить в центре красной площади !
@worldmanagerpeacemaker
@worldmanagerpeacemaker 2 года назад
Эх надо бы поставить памятник на красной площади, тюркскому учёному Аль-Хорезми который разработал АЛГОРИТМ , сидели бы сейчас в каменном веке ! 😂
@user-ce4lc9rs3n
@user-ce4lc9rs3n 2 года назад
Как всегда отличное познавательное видео!. Ещё, может я прослушал, но не услышал, что использовать ватчдог не по прямому назначению (а именно - reset зависшей программы) можно только в Attiny13. (хотя может и в других малютках можно, поправьте если что...)
@neoalternator
@neoalternator 2 года назад
Спасибо за отзыв! У большинства работает и на прерывание. У Т10, Т13, Т25/45/85 точно работает и на прерывание и на ресет. Всегда можно уточнить в даташите в таблице Watchdog Timer Configuration
@IgorShuvalov_Ronin
@IgorShuvalov_Ronin 10 месяцев назад
Подскажите, а сам "переход" в режим энергосбережения накладный? Если у меня, скажем задача каждые 100мс изменять параметры свечения RGB светодиода. Будет ли смысл погружаться в режим энергосбережения между этими действиями? При какой частоте необходимости просыпаться смысл в "засыпании" отпадёт?
@liosha2007
@liosha2007 2 года назад
Спасибо, очень интересно. Возник такой вопрос, при каком времени простоя есть смысл усыплять мк? В плане расхода энергии. Если простой 10? А если секунда? Пол секунды? Есть ли дополнительные расходы энергии на усыпление/пробуждение? Спасибо
@neoalternator
@neoalternator 2 года назад
Даже на полсекунды имеет смысл усыплять, при автономном питании. Энергия на засыпание и пробуждение не тратится.
@user-ss1tr9up1y
@user-ss1tr9up1y Год назад
Подскажите пожалуйста как можно сделать режим сна atmega328p в программе Flprog.
@VasyaPupkinus
@VasyaPupkinus Год назад
Привет. Видать у тебя мультиметр не могЁт измерять малые токи ну или просто врёт. В режиме ПоверДаун тинька должна кушать меньше 1 микроампера а с включённым ВачДогом примерно 5 микроампер. А для наших мигалочек это очень важно знать )))
@user-bs4jn3ms8h
@user-bs4jn3ms8h 2 года назад
Спасибо! Ждал этого видео. Но увидел не все, что хотел. В комментариях к видео о WDT, я спрашивал о пробуждении от внешних прерываний PCINT. Именно о них, так как пинов с такой возможностью у МК больше, чем с INT (например когда нужно пробуждаться от нескольких источников команд). Значит спрошу здесь ))). При работе с пинами внешних прерываний PCINT команда "attachInterrupt" тоже работает? Ею можно назначить любой из пинов PCINT для выполнения функции по внешнему прерыванию? Читал, что вроде эта команда работает только с пинами прерываний INT. Буду благодарен за ответ. Если неправ - поправьте.
@neoalternator
@neoalternator 2 года назад
Это тема тянет на отдельное видео. Постараюсь его опубликовать на ближайших выходных. Ардуиновская attachInterrupt может работать только с INT0, INT1 и т.д. Активировать и работать с PCINT нужно через регистры и отслеживание вектора прерывания. В общем тема хорошая, интересная, так что скоро будет по ней видео!
@user-bs4jn3ms8h
@user-bs4jn3ms8h 2 года назад
@@neoalternator Спасибо, значит я не ошибся с "attachInterrupt". Опять придется ждать с нетерпением))). Насколько я смог разобраться с регистрами по даташиту (в моем случае Attiny 44), то для моих задач нужно: MCUCR |= (1
@user-bs4jn3ms8h
@user-bs4jn3ms8h 2 года назад
@@neoalternator Сегодня пробовал поиграться. Загнать в сон получилось. Выйти из сна тоже, но обратно в сон не уходит. По сути, образно, нужно чтобы после нажатия на кнопку МК проснулся, светодиод светился некоторое время, потом погас и МК уснул. Аналогично и с другими парами кнопка- светодиод. Код с задержкой на millis пробовал в обычном режиме - всё работает. После нажатия на кнопку светодиод светится заданное время. После того как задержка по millis проходит - светодиод гаснет. А вот с прерываниями он засвечивается и не гаснет. Видимо где-то нарушен порядок команд. Придется видимо ждать вашего видео ))).
@user-ce4lc9rs3n
@user-ce4lc9rs3n 2 года назад
Конкретно в Attiny13 есть два вида прерывания от пин. Сложное только на 6-й ноге INT0addrs (есть выбор какой "полярности" импульс запустит). Простое PCI0addrs на любой ноге (включая и 6ногу) - по любому изменению на ноге (с "0" на "1" и обратно). Пишу на ASM, проверяю в Proteus. К примеру, для проверки работы прерывания от любой ноги, вставляю в обработчик команду "inc R31" и вижу число "2" в регистре. Это потому что тактовая кнопка в одну сторону +1 и в обратную +1. Т.е. два раза срабатывает прерывание за одно нажатие (дребезг "протез" не учитывает). Ардуино плохо подходит для изучения таких маленьких (но удаленьких!) микроконтроллеров. Лучше найти хорошую старую книжку...
@neoalternator
@neoalternator 2 года назад
Millis криво работает, если используется прерывания. По сути, на время работы прерывания основной таймер останавливается. И видимо (мое предположение) функция millis зависает. Лучше использовать прерывание по переполнению таймера TIM0_OVF. Оно как раз позволяет установить периодичность включения/измерения чего-либо, пока микроконтроллер бодрствует.
@vtech8716
@vtech8716 2 года назад
У меня очень странно ведёт себя tiny13, Ваши примеры программ работают только при использовании языка С так сказать, а вот примеры с применением ардуиновских функций не работают от слова вообще, версия среды 1.8.13
@neoalternator
@neoalternator 2 года назад
У меня тоже 1.8.13. Возможно библиотека Тини13 устарела?
@worldmanagerpeacemaker
@worldmanagerpeacemaker 2 года назад
Получается что на 1 секунду на каждую 1 минуту может просыпаться , чтобы сделать замер показателей и отправить данные на базу (центр управления) так чтобы таблетку хватило на 1 год !??? Правильно ли я подсчитал ?
@neoalternator
@neoalternator 2 года назад
Просыпаться он будет максимум каждые 8 секунд. Если нужно действие выполнять раз в минуту, то 7 раз будет просыпаться вхолостую, а на 8 раз, выполнять какое-то действие. На год таблетки должно хватить. В теории, даже дольше.
@RomaRingo
@RomaRingo 2 года назад
Здравствуйте. Сделайте пожалуйста скетч для ТИНИ13 со спящим энергосберегающим режимом. Тактовая кнопка чтобы разбудить жмем 2 сек, чтобы выключать также. 5 режимов ШИМ 5%, 25%,50%,75%,100% частота 500 гц. переключение режимов тойже кнопкой , нажимать на 1 сек. Частота тини13 думаю 2-4Mhz.
@neoalternator
@neoalternator 2 года назад
Здравствуйте! Я не пишу скетчи на заказ. И шим, и работа с кнопкой, и про энергосбережение есть в моих видео. Всё сложить придется самостоятельно.
@vtech8716
@vtech8716 2 года назад
Возможно я невнимательно слушал, скажите пожалуйста что делать если продолжительность сна должна быть более 8 секунд?
@neoalternator
@neoalternator 2 года назад
Либо будить по внешнему таймеру. Т.е. что-то снаружи считает время и когда нужно создает внешнее прерывание. Либо просыпаться по watchdog раз в 8 секунд, добавлять некой переменной единицу и снова засыпать. Это мизер с т.з. энергозатрат. И когда эта переменная станет например 5, выполнять какое-то действие и сбрасывать ее. Таким образом, выполняться задача будет раз в 40 секунд (8*5).
Далее
I Took a LUNCHBAR OFF A Poster 🤯 #shorts
00:17
Просмотров 10 млн
Handmade digital thermometer on ATtiny13
11:29
Просмотров 6 тыс.
Attiny13 регулятор мощности 220в
30:43