Свежие обсуждения
Микроконтроллеры

AVR начинающим - вопросы и ответы

1 46 68

birua: ну, мы поняли - где очепятка

Спасибо, исправил.

birua: DWD: работать на низкой частоте
можно, если задержки на
DWD: два-три импульса на выходах
впишутся под эту частоту

Впишутся. Ожидание входных импульсов может длиться от минут до часов... Ну, не чаще десятка-другого секунд. А следуют импульсы, как уже сказал, с частотой 1Гц.

Я как-то на PIC написал прогу типа бегущих огней, так там частота "мигания" портов была до 16Гц. И, самое главное, PIC работал на частоте 32КГц и потреблял несчастные мкА...

birua: ...тут надо только одно для себя понять - как из него выходить...

Не знаю.
Если тут ни кто не подскажет, пойду на поклон к автору.
Если и он откажет, то буду сам писать прогу, только для PIC и на асме. Там у меня хоть двойной опыт есть...

Просто устройство уже собрано и установлено в машину, по этому хотелось бы сначала решить проблему именно с ним, а не проектировать и собирать всё с нуля.

 

колобок: Сигналки к примеру жрут до ~20ма по паспорту

Саморазряд + сигналки + ещё что-то... = приличный ток, из-за которого зимой можно и машину не завести...
Где-то здесь уже обсуждали этот вопрос.

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

Это устройство можно собрать на обычной 561-й логике - потребление будет вообще на уровне утечек. Но по предварительной оценке корпусов много будет. А сейчас уже устройство на МК считается экономически оправданым при замене им всего 5-6 корпусов жёсткой логики.

 

DWD: Что же делать?
Сухари сушить !

Вы бы схему привели или пояснили что-там " на каком-то входе появится логический ноль"
Если этот вход INT0 , то все очень поправимо. По этому прерыванию МК проснется из полного дауна.(И кажись по pin change тоже.)
Кроме того, 13 может работать от внутреннего 128 КГц (Может вру)
Не вру !
"The 128 kHz internal Oscillator is a low power Oscillator providing a clock of 128 kHz.
The frequency is nominal at 3V and 25°C. This clock may be select as the system clock
by programming the CKSEL Fuses to “11”."

 

DWD: решить проблему именно с ним
план без существенного перелопачивания

шаг1 - ставите компилятор как у автора, открываете в нём файл-исходник, нажимаете собрать/сгенерировать/иликактам и получаете такой же бин/хекс файл-прошивку, что у Вас уже есть

шаг2 - меняете биты в инициализации выбора/делителя тактирования так, чтобы частота (а с ней и ток) упали ровно в два раза - тогда, правда - и выходные импульcы могут удлиниться, но лиха беда начало - компилируем/заливаем/проверяем/меряем

шаг3 - корректируем алгоритм выдачи, скорее всего - задержки в нем

шаг4 - меняем ещё биты инициализации в регистрах генератора/делителя и переходим на сниженную в разы частоту да микротоки, а пропорционально подстраивать алгоритм - уже научились, должны

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

 

Alexey: Вы бы схему привели или пояснили что-там...

Удлинитель сигналов поворота

Из приведенной схемы я использую только МК с прошивкой. Вся остальная обвязка моя и другая (например, вместо реле используются N-канальные полевики).

Alexey: Кроме того, 13 может работать от внутреннего 128 КГц

Это понятно. Но не ясно, как поведёт себя прога - ведь она может использовать какие-то временные задержки.

 

birua: план без существенного перелопачивания...

Спасибо, понятно.

Для меня это будет и сложно и долго - придётся изучать как сам МК, так и среду разработки прог для него.

Видимо придётся просить автора...

 

DWD: и сложно и долго

сделайте хотя бы первый шаг! оцените путь! - ведь это потребует всего пары-тройки часов драгоценного да и программа там небось - на один экран зато сколько познавательного, нового и впечатлительного, а уж самоутверждение повторением прошивки - результат достойный похвалы себя

P.S.

DWD: Из приведенной схемы я использую только МК с прошивкой ... Но не ясно, как поведёт себя прога - ведь она может использовать какие-то временные задержки

специально напрягся и посмотрел - так вот, в выложенном исходнике таковых, имо - НЕТ НИКАКИХ! ну - почти всё внешнесинхронизируемое и частота МК вроде как бы - до лампочки, т.ч. - хоть бери бинарник, дизассемблируй / заменяй инициализацию для замедления / ассемблируй или прямо байты крекай, коли крут шей да радуйся

но системный подход Си-компиляции см.выше - приветствуется, ясно дело

 

birua: сделайте хотя бы первый шаг!

Зачем? Результат первого шага я и так имею.

birua: ...частота МК вроде как бы - до лампочки...

То есть, если просто задать ему частоту 128КГц, как говорил Alexey, то логика работы не изменится?

 

смотрите вперёд, а не под ноги: не шагнув первый, не сделать и второй и вообще - никуда не дойти есть повод, цель - святая, затраты - малы

изменение опорной или деление частоты делителем чуть-чуть меняет логику, но там это - не принципиально, имо

даже если я что-то где-то проглядел, алгоритм таков, что всего разок так шагнув - Вы всё-равно окажетесь на пол-пути к успеху, а скорее - ближе: прямо перед победной финишной чертой!

 

DWD: логика работы не изменится?
Очень может быть (используется WDT , может помешать или нет ) . Потребление будет 100мкА. Стоит попробовать.