atmega328 c тактовой частотой 32кГц

Тема в разделе "Arduino & Shields", создана пользователем Unikolai, 11 дек 2017.

  1. Unikolai

    Unikolai Гик

    Подскажите, можно ли как-то заставить работать этот микроконтроллер на 32 килогерцах без внешнего генератора?
     
  2. rkit

    rkit Гуру

    Может. Включаете встроенный генератор на 128кГц и делитель на 4
     
  3. Unikolai

    Unikolai Гик

    CLKPR=1<<CLKPCE; CLKPR&=B11110000;
    как понимаю так делитель устанавливается, а как перейти на встроенный генератор 128 кгц?
     
  4. rkit

    rkit Гуру

    фьюзами
     
  5. Unikolai

    Unikolai Гик

    если вбить в поиск даташита по этому мк 128, то он ничего не найдет
     
  6. akl

    akl Гуру

    вот этот конструктор бутлодера http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik
    говорит что
    low_fuses=0x63
    high_fuses=0xde
    extended_fuses=0x5
    будет частота 32К
    но чет я не понимаю каким образом - по идее там делитель на 8 и внутренний осциллятор 128, а значит должно быть 16К.
    вот еще калькулятор http://homes-smart.ru/fusecalc/?prog=avrstudio&part=ATmega328P
     
  7. rkit

    rkit Гуру

    Не надо ничего искать. Надо прочитать от корки до корки раздел о тактовой частоте.
     
    Arduiner001 нравится это.
  8. Unikolai

    Unikolai Гик

    а программно никак сделать это нельзя?
     
  9. akl

    akl Гуру

    нет, только фьюзами. а зачем вообще это надо? потребление снижать чтоб? можно же в спячку впадать и таким образом экономить.
     
  10. Unikolai

    Unikolai Гик

    мне в активном редиме нужно уменьшить затраты
     
  11. Tomasina

    Tomasina Сушитель лампочек Модератор

    Можно, но побочным эффектом вылезет некорректная работа (замедление) функции millis().

    Кусок из старого проекта:
    Код (C++):
      if(powerSaveMode)// если режим энергосбережения, то все медленнее в 256 раз
    // на 16 МГц потребление 25 мА, на 62,5 кГц - 12 мА. Встроенный светодиод и АЦП не отключены.
      {
        //ADCSRA&=~(1<<ADEN);  // отключаем АЦП, экономия 0,5 мА // перестает работать вольметр
        //ACSR|=1<<ACD;        // отключаем компаратор  // при активации потребление возрастает на 2,5 мА
        // ADCSRA = 0;         // отключаем АЦП  // при активации потребление возрастает на 2,4 мА
        // переводим МК на пониженную частоту работы 62.5 кГц
        CLKPR = 1<<CLKPCE;
        CLKPR = 8;
      }
    Рекомендую ознакомиться:
    https://student-proger.ru/2013/10/energopotreblenie-arduino/
    http://arduino.ru/forum/apparatnye-voprosy/rezhim-energosberezheniya#comment-216304
    http://inet-deal.mpa.ru/articles/arduino-003.html
     
    Последнее редактирование: 11 дек 2017
    akl и CYITEP_BAC9I нравится это.
  12. Unikolai

    Unikolai Гик

    интересно...читаю...только вот вопрос..уже 2-ой мк летит и как я понял из-за понимжения частоты..
    CLKPR = 1<<CLKPCE;
    CLKPR = 8; делал точно так же с прошитым загрузчиком на 1 мгц..и теперь не прошивается...хотя залиты скетч работает
    и еще такой вопрос...а разве "CLKPR = 8;" вот это из 16 мгц делает 62кгц?
     
  13. rkit

    rkit Гуру

    Может вы будете его прошивать на частоте, которую он сможет обработать с такими настройками? Где-нибудь в районе 1кГц, или и того меньше.
     
  14. Unikolai

    Unikolai Гик

    нет...я прошиваю его нанкой...через spi, что делать то теперь с этим..
    у меня конечно еще 9 этих мег и одна почти готовая плата...но мне не хочется выкидывать эту и паять новую...
     
  15. rkit

    rkit Гуру

    Ну и какая разница. Частоту SPI убавьте, и все оживет. А иначе вы с таким низкочастотным контроллером работать не сможете.
     
  16. Unikolai

    Unikolai Гик

    upload_2017-12-11_23-6-26.png вот это значение менять надо? на какое значение?
     
  17. Unikolai

    Unikolai Гик

    upload_2017-12-11_23-10-2.png судя по всему не сможет он уже подстроиться под частоту процессора...на 3кГц у меня сейчас все работает...
     
  18. Unikolai

    Unikolai Гик

    минус еще дин мк....на 8 мегагерцах делитьль 256 и пам пам..скетчи вновь не грузятся
     
  19. akl

    akl Гуру

    там еще много что может перестать работать на такой частоте. Не лучше ли просто уходить в спящий режим, через какие-то промежутки просыпаься, быстро делать что нужно и обратно засыпать?
     
  20. AlexU

    AlexU Гуру

    Вот интересно, что такого Вы делаете с МК и чем шьёте, что они перестают работать? В своих экспериментах снижал частоту МК до единиц Герц и ни чего, после сброса частота тактирования возвращалась к начальному виду. При этом шил через SPI-программатор.