Режим сна с выходом по сторожевому таймеру

Тема в разделе "Arduino & Shields", создана пользователем vlad_s1995, 17 июн 2017.

  1. vlad_s1995

    vlad_s1995 Нуб

    Всем привет, только начинаю программировать на ардуино, нужно сделать такую систему: МК погружается в сон на n-ное количество часов для экономии аккумулятора, после чего должна выводиться из сна с помощью сторожевого таймера и выполнять движение сервоприводов, после чего снова уходить в сон. С сервоприводами проблем нету, подключил оба через монтажную плату к МК, а с режимом сна не выходит, кто может помочь?
    Либо что-то нужно менять аппаратно?
    Плата Arduino\Genuino Uno

    Сервы Micro Servo SG90
     
  2. rkit

    rkit Гуру

    Сервы нужно включать через ключи, на этом вы сэкономите гораздо больше энергии, чем на сне контроллера.
    По поводу сна - показывайте код.
     
  3. NikitOS

    NikitOS Король шутов Администратор

    Код в студию
     
  4. vlad_s1995

    vlad_s1995 Нуб

    где можно почитать про то, как правильно сделать аппаратно ключи к сервам? (функция detach в коде эту проблему не решает?)
    вот код, честно скажу, смотрел пример, но он для другой платы, не нашел ничего по поводу сна для платы uno
    Есть желание разобраться, но не знаю, с какого конца к этому подойти
     

    Вложения:

    Последнее редактирование: 18 июн 2017
  5. rkit

    rkit Гуру

    Ключи это транзисторы. Берете полевой транзистор и подключаете по схеме нижнего плеча. Но там дикое количество нюансов, и чтобы всерьез что-то делать нужно учиться несколько месяцев. Лучше купите готовый модуль.
    Программировать сон копипастой не получится. Я еще не видел в природе правильного примера. Читаете даташит на atmega328, и по нему отключаете всю периферию, кроме вашего таймера. Сразу после сна включаете обратно. Функциям, типа power_disable_all(), доверять не советую - выключает не все, в результате жрет раз в 150 больше положенного.
    Но тоже, чтобы читать даташит, нужно более-менее понимать программирование на низком уровне.
     
  6. vlad_s1995

    vlad_s1995 Нуб

    спасибо за ответы, буду пытаться разобраться