Преобразование шим в напряжение

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Родился
Сообщения: 17
Зарегистрирован: Ср май 05, 2021 00:34:11

Сообщение gogoer »

Здравствуйте.
Дано: шим сигнал в 1КГц, амплитуда которого может меняться от 0 до 12В, коэффициэнт заполнения может меняться от 10% до 90%.
Есть желание считывать амплитуду шим сигнала с помощью raspbery pi. Можно подключить источник сигнала к АЦП и выполнять сотни операций сэмплирования, чтобы поймать максимальное значение. Но возникла идея преобразовать шим сигнал в аналоговый и измерять его.
Амплитуда может меняться, ее нужно измерить. Коэффициент заполнения тоже может меняться, но его мы знаем.
Если я правильно понимаю, то в случае 12в и заполнении 50% с помощью фильтров можно получить 6в постоянного напряжения. При амплитуде 9в и коэффициенте заполнения 30%, мы получим 3в постоянного напряжения. Т.е. амплитуда будет считаться по формуле: выходное напряжение / коэффициент заполнения. Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.
Возможно ли реализовать такую идею или она глуповата?)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25583
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

АЦП по любому нужно задействовать, а значит гораздо проще синхронизировать АЦП с сигналом, измеряя сигнал в высоком уровне. То есть потребуется только компаратор в цепи синхронизации.
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

а у сигнала изменения амплитуды и коэфф. заполнения между собой жестко связаны или любые комбинации возможны?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 16953
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

[uquote="Martian",url="/forum/viewtopic.php?p=4332498#p4332498"]а у сигнала изменения амплитуды и коэфф. заполнения между собой жестко связаны или любые комбинации возможны?[/uquote]Судя по вот этому:
[uquote="gogoer",url="/forum/viewtopic.php?p=4332491#p4332491"]в случае 12в и заполнении 50% с помощью фильтров можно получить 6в постоянного напряжения. При амплитуде 9в и коэффициенте заполнения 30%, мы получим 3в постоянного напряжения.[/uquote]похоже, что оба этих параметра могут меняться независимо. Хотел бы я знать, что это за девайс такой, и как его разработчики планируют передавать информацию коэффициентом заполнения при нулевой амплитуде. Ну и, конечно, ТС должен будет, если послушаться Крама и поставить компаратор (даже с плавающим порогом), соображать, как ловить нулевой уровень, когда компаратор будет или молчать, или шуметь. Так-то достаточно просто найти максимум напряжения за время, несколько превышающее 1 мс. То есть, скажем, тупо каждые 50 мкс (для ШИМ от 10%) складывать отсчёты в кольцевой буфер длиной 25 ячеек и брать максимум.
Последний раз редактировалось mickbell Ср дек 07, 2022 09:06:04, всего редактировалось 1 раз.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 25583
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="mickbell",url="/forum/viewtopic.php?p=4332517#p4332517"]если послушаться Крама[/uquote]
Я пропустил по невнимательности исходный параметр напряжения "от нуля". От нуля синхронизировать не выйдет.
Но если есть данные о скважности, то они могут быть получены только от генератора этих импульсов. Не проще ли получить от генератора синхросигнал?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 16953
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

С точки зрения аппаратуры проще всего просто подать этот самый ШИМ на АЦП малинки, если он там есть (через делитель, разумеется) - И НА ЭТОМ ВСЁ. Программно - я уже сказал, как. Короче, возня со всем этим предстоит минимальная.
Единственное, что следует понимать - будет задержка получения текущего значения амплитуды на время примерно до миллисекунды. Если это критично, то будем дальше думать.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25583
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="mickbell",url="/forum/viewtopic.php?p=4332524#p4332524"]ШИМ на АЦП малинки[/uquote]
А малинка знает что либо о режиме реального времени? Я так думаю, что написать драйвер под ОС малинки для АЦП работающего через ДМА в режиме реального времени - это отдельная и не слишком тривиальная задача.
Друг Кота
Аватара пользователя
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Сообщение electroget »

[uquote="gogoer",url="/forum/viewtopic.php?p=4332491#p4332491"]Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.[/uquote]
Вопрос непонятен. Цель - заменить МК на АЦП?
Друг Кота
Аватара пользователя
Сообщения: 16953
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4332526#p4332526"]А малинка знает что либо о режиме реального времени?[/uquote]Да ХЗ, я с малинкой дел не имел. Если это проблема, то чем плох, как я понял, существующий вариант - с МК?
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

Там же АРМ и ОС-многообразие, так что, задача решаема, вопрос лишь в стоимости.
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Так у "малинки" есть же свой набортный АЦП (правда, с фильтром постоянки, но здесь-то ничего страшного). Если частота ШИМ не выходит за пределы десятка кГц, то достаточно сделать элементарный повторитель сигнала на ОУ с делением в 4 раза. И написать примитивную утилитку, которая будет 44.1кГц семплировать. И сразу будет понятно и заполнение, и амплитуда.

Добавлено after 3 minutes 20 seconds:
Но таки я бы на МК сделал, это гораздо проще. Настраиваем таймер в режим захвата — вуаля, нам известен период и заполнение. А тем же таймером по событию начала захвата запускаем АЦП через DMA, чтобы в пике измерить амплитуду (делаем штук 9 измерений, потом считаем медиану).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 20137
Зарегистрирован: Чт янв 26, 2012 16:44:29
Откуда: Таксимо

Сообщение vlasovzloy »

А если шим есть, зачем лишнее преобразование, сразу скважность и измерять
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru
Друг Кота
Аватара пользователя
Сообщения: 16953
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Сообщение mickbell »

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

На каждый РКН
Найдётся VPN.
Друг Кота
Аватара пользователя
Сообщения: 25583
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4332566#p4332566"]Настраиваем таймер в режим захвата — вуаля, нам известен период и заполнение.[/uquote]
А ничего, что амплитуда меняется ОТ НУЛЯ? :))) :))) :)))
Это помимо того, что период и дьюти измерять не требуется...
Родился
Сообщения: 17
Зарегистрирован: Ср май 05, 2021 00:34:11

Сообщение gogoer »

[uquote="mickbell",url="/forum/viewtopic.php?p=4332623#p4332623"]Так скважность знать ни к чему, надо, как я себе понял, измерить только амплитуду.[/uquote]
да, только амплитуду нужно определить.

Добавлено after 5 minutes 21 second:
Добавлю пояснений)
Речь идет о стандарте J1772 для зарядки электромобилей. Там коэффициэнтом заполнения задается максимальный ток, а по уровню амплитуды определяем текущее состояние процесса.
Вот краткое описание стандарта, если вдруг кому-то интересно. https://openev.freshdesk.com/support/so ... -sae-j1772
Сейчас за работу с шим у меня отвечает микроконтроллер, но хочется от него избавиться и работать только с малиной.
Генерировать шим можно как с помощью pwm ноги малины, так и с помощью отдельного i2c шим-модуля. Проблема в определении амплитуды сигнала без контроллера. Если можно обойтись без него, буду рад услышать предложения и идеи!

Добавлено after 2 minutes 42 seconds:
[uquote="electroget",url="/forum/viewtopic.php?p=4332534#p4332534"][uquote="gogoer",url="/forum/viewtopic.php?p=4332491#p4332491"]Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.[/uquote]
Вопрос непонятен. Цель - заменить МК на АЦП?[/uquote]

цель - перенести всю логику в userspace linux-а. я в программировании микроконтроллеров не очень силен, моя сфера деятельности - программирование в linux, поэтому хотелось бы упростить себе жизнь)

Добавлено after 1 minute 45 seconds:
Но, если вы считаете, что идея совсем неразумная, так и скажите. Может, стоит прекратить изыскания в эту сторону)
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4332665#p4332665"]А ничего, что амплитуда меняется ОТ НУЛЯ? :))) :))) :)))[/uquote]
Добавить компаратор, чтобы, скажем, все, что выше 10мВ было 3.3В... Если ни хрена нет - значит амплитуда нулевая.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Сообщение electroget »

[uquote="gogoer",url="/forum/viewtopic.php?p=4332707#p4332707"]Проблема в определении амплитуды сигнала без контроллера.[/uquote]
Для этого существуют аналоговые компараторы и даже специализированные микросхемы на их основе.

Добавлено after 4 minutes 56 seconds:
[uquote="gogoer",url="/forum/viewtopic.php?p=4332707#p4332707"]Но, если вы считаете, что идея совсем неразумная, так и скажите.[/uquote]
Нет, я так не считаю. Если цель уйти от МК, то такая задача вполне решаемая аппаратными средствами. Только решение такой задачи без МК требует очень хорошего знания электроники. Так что тут палка о двух концах. :)
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Если только амплитуду нужно измерить, можно собрать на ОУ простой пиковый детектор. Вот только, ЕМНИП, у "малины" нет возможности напрямую на АЦП подать сигнал, т.е. придется модулировать синусоиду. Или поступить проще: взять дешевый внешний АЦП на I2C или SPI, им и замерять напругу после пикового детектора. Тогда точно будете знать, какова текущая амплитуда сигнала.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 5841
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

Спокойно, "амплитуда 0 вольт" означает отсутствие -12 вольт во-первых, и фактическое отсутствие сигнала во-вторых. Гляньте картинки в стандарте по ссылке. Аудиовхода хватит. С делителем. конечно.

Изображение
Усложнять просто. Упрощать сложно.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 25583
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4332737#p4332737"]замерять напругу после пикового детектора.[/uquote]
А откуда информация о допустимой инерционности? Пиковый детектор только при увеличении сигнала быстро реагирует. При уменьшении все будет очень печально... И придется разменивать пульсации на скорость.
Ответить

Вернуться в «Теория»