Например TDA7294

Форум РадиоКот • Просмотр темы - Таймеры/счётчики в AVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 25, 2024 15:33:26

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1322 ]     ... , , , 61, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн окт 17, 2022 09:50:42 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 298
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1226
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Ниже: TIMER1 - выход из RB1/OS1A, код только для одного случая из case, перепишите аналогично для остальных:
Код:
void Counter0_init()
{
  TCCR1B |= (1 << CS10) | (1 << CS12);
  TCCR1B &= ~(1 << CS11);

  TCCR1B &= ~(1 << WGM10);
  TCCR1B &= ~(1 << WGM11);
  TCCR1B |= (1 << WGM12);
  TCCR1B &= ~(1 << WGM13);

  TCCR1A &= ~(1 << COM1A1);
  TCCR1A |= (1 << COM1A0);
  DDRB |= (1 << PB1);
  OCR1A = 150;
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн окт 17, 2022 11:00:36 
Родился

Зарегистрирован: Вс окт 16, 2022 10:28:09
Сообщений: 18
Рейтинг сообщения: 0
Я не совсем понял Ваше сообщение. Эта запись - настройки регистров Т1 должны вызываться в case оператора switch (не понял только почему TCCR1A &= ~(1 << COM1A1);TCCR1A |= (1 << COM1A0) ведь это для счетчика 1А, а у меня 1В и выход соответственно РВ2) , но проблема в том что счетчик вообще не работает. Попробуйте запустить в протеусе.
Спасибо что помогаете новичку


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн окт 17, 2022 11:42:01 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 298
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1226
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
С кодом выше работает счетчик 1А к РВ1. Прежде чем написать свое сообщении, проверил (только case 2). За другими вариантами (счетчик 1B, к RB2) нет возможности проверять.


Вложения:
Untitled-1.jpg [109.12 KiB]
Скачиваний: 33


Последний раз редактировалось veso74 Пн окт 17, 2022 22:01:41, всего редактировалось 1 раз.
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн окт 17, 2022 12:41:15 
Родился

Зарегистрирован: Вс окт 16, 2022 10:28:09
Сообщений: 18
Рейтинг сообщения: 0
Может быть я запутался в datasheet Atmega 328 и в режиме СТС работает только счетчик 1А?


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн окт 17, 2022 15:30:22 
Это не хвост, это антенна

Карма: 15
Рейтинг сообщений: 177
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1326
Откуда: Тюмень
Рейтинг сообщения: 0
Работают оба при условии если значение OCRA будет больше значения OCRВ… при том что значение OCRВ будет влиять только на временной интервал начиная от наступления прерывания по OCRA… но временной период прерываний OCRВ будет зависеть только от значения OCRA… если же значение OCRA будет меньше значения OCRВ, то прерывание по OCRВ отработает единожды в самом начале старта программы и всё…
Витиевато наверное описал данную ситуацию работы, но надеюсь поймёте суть сказанного… :)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Ср окт 19, 2022 01:46:21 
Родился

Зарегистрирован: Вс окт 16, 2022 10:28:09
Сообщений: 18
Рейтинг сообщения: 0
ЗАДАЧУ РЕШИЛ
ВСЕМ СПАСИБО

Добавлено after 1 hour 52 minutes 33 seconds:
Счетчик и switch


Вложения:
switch.c [2.2 KiB]
Скачиваний: 37
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс окт 23, 2022 12:41:11 
Открыл глаза

Зарегистрирован: Пн окт 05, 2020 17:20:11
Сообщений: 43
Рейтинг сообщения: 0
Как переадресовать сигнал выхода таймера(например OC1A -PB1) на другой пин, например PB4 ATMEGA 328P. Просто печатка уже готова и получена, но пришлось изменить код.
Спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс окт 23, 2022 14:08:13 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 2
Напрямую, никак. Можно попробовать задействовать прерывания TIM1_COMPA, TIM1_COMPB, TIM1_OVF и внутри них управлять выходами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс окт 23, 2022 14:57:47 
Это не хвост, это антенна

Карма: 15
Рейтинг сообщений: 177
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1326
Откуда: Тюмень
Рейтинг сообщения: 1
Я бы задействовал прерывание Timer_1_Compare_Match_A, а в нём переключал бы пин РВ4. :)

ЗЫ. Вот тестовый вариант с использованием шильда ардуины… вместо РВ4 задействован вывод РВ5 (светодиод на шильде)… соответственно к выводу РВ1 тоже нужно подключить светодиод… тем самым можно увидеть параллельную работу данных выходов…
Вложение:
temp.hex [504 байт]
Скачиваний: 41


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн окт 24, 2022 09:02:41 
Открыл глаза

Зарегистрирован: Пн окт 05, 2020 17:20:11
Сообщений: 43
Рейтинг сообщения: 0
Cделал с помощью прерывания. Все работает, правда после, примерно, 40гц начинается рассинхронизация(отставание от первичного сигнала). Но мне достаточно 30гц, поэтому дальше я не экспериментировал с прерываниями.


Вложения:
код.txt [239 байт]
Скачиваний: 45
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт окт 28, 2022 21:44:15 
Это не хвост, это антенна
Аватар пользователя

Карма: 6
Рейтинг сообщений: 42
Зарегистрирован: Пт ноя 27, 2009 19:47:13
Сообщений: 1312
Откуда: Казань
Рейтинг сообщения: 0
Cделал с помощью прерывания. Все работает, правда после, примерно, 40гц начинается рассинхронизация(отставание от первичного сигнала). Но мне достаточно 30гц, поэтому дальше я не экспериментировал с прерываниями.

Используйте прерывания по сравнению и переполнению. Используйте ассемблерные вставки, тогда у вас в стек только адрес программы с момента вызова будет сохраняться. В прерывании по сравнению бит очищайте одной командой, cbi, в прерывании по переполнению бит устанавливайте, sbi. Так можно избежать проверок и, соответственно, запаздывания.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 14:12:00 
Собутыльник Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 756
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Сообщений: 2893
Откуда: приходит весна?
Рейтинг сообщения: 0
Кто-нибудь в курсе, сбрасываются ли у ATmega8 внешним ресэтом предделители частоты у таймеров и АЦП ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 14:54:23 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 3
Внешним сбросом сбрасывается. Для АЦП, например
Изображение


Вложения:
изображение_2022-11-05_160011211.png [12.08 KiB]
Скачиваний: 205
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 15:18:23 
Это не хвост, это антенна

Карма: 15
Рейтинг сообщений: 177
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1326
Откуда: Тюмень
Рейтинг сообщения: 0
Разве есть в этом разница? :dont_know: Ведь при старте программы вначале происходит вся настройка конфигурации элементов, а уже затем выполняется основной алгоритм программы… и если что-то там сбрасывается, то оно всё равно будет восстановлено… :) Или у кого-то делается иначе? :roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 15:33:52 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 2
Есть у m8 регистр MCUCSR, в принципе, позволяющий ветвление после внешнего сброса. Правда, у меня не было такой необходимости.
СпойлерИзображение


Вложения:
изображение_2022-11-05_163344076.png [84.09 KiB]
Скачиваний: 42
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 16:04:16 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 968
Рейтинг сообщения: 0
"Ветвление после внешнего сброса"? Это куда?, как говорила моя знакомая.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 18:18:02 
Собутыльник Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 756
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Сообщений: 2893
Откуда: приходит весна?
Рейтинг сообщения: 0
akl, спасибо! С АЦП понятно: после сброса регистр управления оказывается в дефолтном состоянии (нули в битах), что сбрасывает предделитель частоты:
СпойлерИзображение
Не совсем понятно, что означает вход START, запуск одиночного (или первого в серии) преобразования? Звучит логично, но комментариев к этому в даташите не нашёл.

А что, собственно, с таймерами? У их предделителя нет аппаратного сброса, только ручной? Содержимое ресэт выживает?

Добавлено after 43 minutes 3 seconds:
VNS, Смысл в том, чтобы и программа, и железо работало один-в-один после каждого ресэта, вне зависимости от того, в первый раз или в энный. Чтобы это реализовать, хочу в доскональности понять поведение чипа и компонентов на нём.


Вложения:
fig23-2_ADCpresc.png [3.3 KiB]
Скачиваний: 50
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 18:50:37 
Это не хвост, это антенна

Карма: 15
Рейтинг сообщений: 177
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1326
Откуда: Тюмень
Рейтинг сообщения: 1
чтобы и программа, и железо работало один-в-один после каждого ресэта, вне зависимости от того, в первый раз или в энный. Чтобы это реализовать, хочу в доскональности понять поведение чипа и компонентов на нём.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 18:58:10 
Собутыльник Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 756
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Сообщений: 2893
Откуда: приходит весна?
Рейтинг сообщения: 0
А ещё тут вопрос в какие моменты времени что происходит. Вот, например, АЦП: если на схеме START означает запуск преобразования, то моменты "тиканья" АЦП будут происходить с одним смещением от выключения RESET. А если это означает что-то другое, то время будет отсчитываться от момента включения АЦП (смещение относительно RESET будет зависеть от момента запуска первого преобразования). Можно, конечно, реализовать включение и запуск АЦП одной командой (благо, что всё это запрятано в один регистр и работает), но хотелось бы более полного знания, на случай, когда такое решение не подходит.

Добавлено after 2 minutes 33 seconds:
VNS, повторюсь ещё раз: хотелось бы знать, как работает предделитель таймеров, есть ли у него "железный" сброс? Буду очень благодарен ответу на этот вопрос.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 05, 2022 19:06:22 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2808
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18100
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
B@R5uk, тебе что, самому в лом сделать сброс предделителей сразу после подачи питания?

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1322 ]     ... , , , 61, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: BOB51 и гости: 28


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y