Например TDA7294

Форум РадиоКот • Просмотр темы - Преобразователь Шим в Шим
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 07:09:47

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


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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 10:24:06 
Первый раз сказал Мяу!

Зарегистрирован: Вс окт 01, 2017 08:40:23
Сообщений: 30
Рейтинг сообщения: 0
Подскажите как преобразовать сигнал шим генерируемый источником, частотой 100 Гц в шим ~30 кГц, с инвертирующим пропорциональным изменением % заполнения т.е. на входе 10% заполнения - на выходе 90%, на вход 40% на выходе 60%, на входе 70% на выходе 30% и т.д.
Хочу попробовать реализовать это на базе attiny13, но в инете есть куча примеров по генерации шима, но не могу найти как обрабатывается шим на входе в МК


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 10:32:47 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
На входной шим RC-фильтр, с него на АЦП контроллера, ну а потом по результату АЦП уже ШИМить на выход.
Собственно, 100 Гц ШИМ, как мне кажется, с приемлемой точностью можно измерить и по прерываниям Pin Change Interrupt...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 12:18:24 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
но не могу найти как обрабатывается шим на входе в МК


Поищите примеры использования возможности аппаратного захвата значения таймера (timer input capture) для измерения коэффициента заполнения входного сигнала.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 12:23:17 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
YS писал(а):
возможности аппаратного захвата значения таймера
отсутствуют как класс
karaseg писал(а):
на базе attiny13

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 12:35:53 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
И опять ни слова о требованиях. Одно только поверхностное объяснение хотелки, в двух словах.
Где максимальное отклонение входной частоты от 100 Гц ? Где необходимая точность и разрешение измерения скважности ? Где максимальное время реакции на изменение этой скважности ? Где всё, Карл ???


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 13:40:14 
Друг Кота
Аватар пользователя

Карма: 74
Рейтинг сообщений: 1244
Зарегистрирован: Вс мар 29, 2009 22:09:05
Сообщений: 7517
Рейтинг сообщения: 0
Цитата:
отсутствуют как класс


Обалдеть, а ведь в ATtiny13 и правда нет input capture... :shock:

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 13:52:20 
Первый раз сказал Мяу!

Зарегистрирован: Вс окт 01, 2017 08:40:23
Сообщений: 30
Рейтинг сообщения: 0
Меня интересовало направление копания, без конкретизации схемных решений. Частота подразумевается стабильная, получаемая с другого МК, время реакции изменения выходного сигнала относительно входного не имеет принципиального значения, пусть будет +5 секунд край, разрешение так же не сильно важно, пусть будет нарастать % заполнения десятками от 0 до 100 на частоте 30 кГц


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 14:13:37 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ну значит подойдёт вариант, предложенный ARV'ом - RC-цепь и подаём на АЦП.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 15:17:35 
Первый раз сказал Мяу!

Зарегистрирован: Вс окт 01, 2017 08:40:23
Сообщений: 30
Рейтинг сообщения: 0
либо ATTINY2313 использовать, вроде бы у этого МК есть, необходимый для этого вывод ICP


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 15:22:25 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4219
Откуда: Ижевск
Рейтинг сообщения: 0
Можно так. Частота работы 4,8 МГц. Настроить Т0 на Fast PWM 7, OCR0A=160-1, разрешить прерывание от OCR0A, по которому наращивать счетчик длительности ШИМ частоты 100Гц. Дискрет отсчета 33,(3)мкс, т.е. каждые 3 отсчета будут давать длительность 100мкс или 1% PWM 100Гц. По таблице значение счетчика преобразовать в значения PWM 30кГц и загнать его в OCR0B.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Пн окт 23, 2017 15:24:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
либо ATTINY2313 использовать, вроде бы у этого МК есть, необходимый для этого вывод ICP

с достаточной для ваших нужд (судя по описанию) точностью измерять ШИМ можно и 13-й тинькой просто обрабатывая прерывание PCINT и считая таймером время

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Вт окт 24, 2017 13:54:27 
Прорезались зубы
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Сб янв 14, 2012 22:53:50
Сообщений: 225
Рейтинг сообщения: 0
Делал эмулятор егр на Тиньке-13. Для измерения скважности использовал счетчик между двумя прерываниями (верх — низ, или наоборот), фронт определял по логическому состоянию пина сразу после прерывания. Дальше считаем % и по нему генерим наш ШИМ. Ничего особо сложного, еще 30% свободного флеша в Тиньке осталось.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Преобразователь Шим в Шим
СообщениеДобавлено: Сб авг 06, 2022 23:46:10 
Первый раз сказал Мяу!

Зарегистрирован: Вс окт 01, 2017 08:40:23
Сообщений: 30
Рейтинг сообщения: 4
Хоть и спустя долгий период опишу что получилось... :) может кому пригодится
В итоге всё сделал через вывод ICP на МК ATTINY2313

В этом режиме, по изменению логического уровня на ножке ICP (по фронту или по спаду), делается копия данных из регистра счетчика TCNT в регистр ICR1.
А затем вызывается прерывание (TIMER1_CAPT_vect), если произошел "захват", по установленному условию (фронт/спад), в прерывании подпрограммой обрабатываются значения счетчика. Зная значения счетчика между двумя фронтами, можно высчитать частоту сигнала, и затем зная значение счетчика между двумя фронтами и между фронтом и спадом можно высчитать % заполнения. В подпрограмме прерывания, можно перенастраивать "режим захвата", с фронта на спад, тем самым манипулировать значением того что пытаемся получить, частоту или заполнение (два фронта или фронт и спад соответственно).

Код:
// Настройка режима счетчика TCCR1B
/*
Bit 7 – ICNC1: Input Capture Noise Canceler. Установка этого бита в лог. 1 активирует входной подавитель шума,
при этом будет фильтроваться входной сигнал Input Capture Pin (ICP1). Функция фильтрации требует 4 последовательных
одинаковых значений, поступивших на вывод ICP1, чтобы было зарегистрировано изменение уровня сигнала. Таким образом,
захват входных импульсов (Input Capture) будет задержан на 4 такта генератора микроконтроллера, когда возможность фильтрации разрешена.
---
Bit 6 – ICES1: Input Capture Edge Select. Этот бит выбирает тип среза (фронт или спад) на входе ICP1, который вызовет событие захвата импульса.
Когда в ICES1 записан лог. 0, то спад (отрицательный срез) вызовет срабатывание триггера, и когда в ICES1 записан лог. 1, срабатывание
триггера вызовет уже фронт (положительный срез) сигнала.
---
Bit 4:3 - WGM13 : WGM12: Выбор режима timer1. These bits are used for mode selection like Normal mode, PWM mode, CTC mode, etc.
here we will select normal mode, so set these bits to zero.


Когда срабатывает триггер захвата события по входу в соответствии с установкой ICES1, значение счетчика (TCNT1, регистры TCNT1H и TCNT1L) копируется
в регистр захвата Input Capture Register (ICR1). Событие также вызовет установку флага Input Capture Flag (ICF1), и это может использоваться
для срабатывания прерывания Input Capture Interrupt, если оно разрешено.
---
Bit 2:0 – CS12:10: Clock Select. Эти 3 бита задают источник тактового сигнала для счетчика.
===============
CS12    CS11    CS10    Описание
===============
0    0    0    Источник тактов не задан (таймер/счетчик остановлен).
0    0    1    clkI/O (без делителя частоты)
0    1    0    clkI/O / 8 (с выхода делителя)
0    1    1    clkI/O / 64 (с выхода делителя)
1    0    0    clkI/O / 256 (с выхода делителя)
1    0    1    clkI/O / 1024 (с выхода делителя)
1    1    0    Внешний тактовый сигнал, поданный на вход T1. Тактирование происходит по срезу (спаду) уровня сигнала.
1    1    1    Внешний тактовый сигнал, поданный на вход T1. Тактирование происходит по фронту (нарастанию) уровня сигнала.
*/


Код:
// Настраиваем счетчик на фронт (бит 6 счетчика TCCR1B в 1), режим Normal (Table 46. Waveform Generation Mode Bit Description из даташита на 2313)
   TCCR1A = 0b00000000;
   TCCR1B = 0b01000100;

затем при срабатывании захвата сигнала на ICP, срабатывает прерывание, в котором уже делается, что нужно:

ISR (TIMER1_CAPT_vect)
{
    t = ICR1;
...
}



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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 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