Страница 1 из 3
Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 03:09:31
gogoer
Здравствуйте.
Дано: шим сигнал в 1КГц, амплитуда которого может меняться от 0 до 12В, коэффициэнт заполнения может меняться от 10% до 90%.
Есть желание считывать амплитуду шим сигнала с помощью raspbery pi. Можно подключить источник сигнала к АЦП и выполнять сотни операций сэмплирования, чтобы поймать максимальное значение. Но возникла идея преобразовать шим сигнал в аналоговый и измерять его.
Амплитуда может меняться, ее нужно измерить. Коэффициент заполнения тоже может меняться, но его мы знаем.
Если я правильно понимаю, то в случае 12в и заполнении 50% с помощью фильтров можно получить 6в постоянного напряжения. При амплитуде 9в и коэффициенте заполнения 30%, мы получим 3в постоянного напряжения. Т.е. амплитуда будет считаться по формуле: выходное напряжение / коэффициент заполнения. Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.
Возможно ли реализовать такую идею или она глуповата?)
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 04:38:19
КРАМ
АЦП по любому нужно задействовать, а значит гораздо проще синхронизировать АЦП с сигналом, измеряя сигнал в высоком уровне. То есть потребуется только компаратор в цепи синхронизации.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 05:04:02
Martian
а у сигнала изменения амплитуды и коэфф. заполнения между собой жестко связаны или любые комбинации возможны?
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 08:56:40
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 ячеек и брать максимум.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 09:05:47
КРАМ
[uquote="mickbell",url="/forum/viewtopic.php?p=4332517#p4332517"]если послушаться Крама[/uquote]
Я пропустил по невнимательности исходный параметр напряжения "от нуля". От нуля синхронизировать не выйдет.
Но если есть данные о скважности, то они могут быть получены только от генератора этих импульсов. Не проще ли получить от генератора синхросигнал?
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 09:18:23
mickbell
С точки зрения аппаратуры проще всего просто подать этот самый ШИМ на АЦП малинки, если он там есть (через делитель, разумеется) - И НА ЭТОМ ВСЁ. Программно - я уже сказал, как. Короче, возня со всем этим предстоит минимальная.
Единственное, что следует понимать - будет задержка получения текущего значения амплитуды на время примерно до миллисекунды. Если это критично, то будем дальше думать.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 09:24:16
КРАМ
[uquote="mickbell",url="/forum/viewtopic.php?p=4332524#p4332524"]ШИМ на АЦП малинки[/uquote]
А малинка знает что либо о режиме реального времени? Я так думаю, что написать драйвер под ОС малинки для АЦП работающего через ДМА в режиме реального времени - это отдельная и не слишком тривиальная задача.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 09:55:55
electroget
[uquote="gogoer",url="/forum/viewtopic.php?p=4332491#p4332491"]Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.[/uquote]
Вопрос непонятен. Цель - заменить МК на АЦП?
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 10:31:35
mickbell
[uquote="КРАМ",url="/forum/viewtopic.php?p=4332526#p4332526"]А малинка знает что либо о режиме реального времени?[/uquote]Да ХЗ, я с малинкой дел не имел. Если это проблема, то чем плох, как я понял, существующий вариант - с МК?
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 10:46:09
Martian
Там же АРМ и ОС-многообразие, так что, задача решаема, вопрос лишь в стоимости.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 11:01:54
Eddy_Em
Так у "малинки" есть же свой набортный АЦП (правда, с фильтром постоянки, но здесь-то ничего страшного). Если частота ШИМ не выходит за пределы десятка кГц, то достаточно сделать элементарный повторитель сигнала на ОУ с делением в 4 раза. И написать примитивную утилитку, которая будет 44.1кГц семплировать. И сразу будет понятно и заполнение, и амплитуда.
Добавлено after 3 minutes 20 seconds:
Но таки я бы на МК сделал, это гораздо проще. Настраиваем таймер в режим захвата — вуаля, нам известен период и заполнение. А тем же таймером по событию начала захвата запускаем АЦП через DMA, чтобы в пике измерить амплитуду (делаем штук 9 измерений, потом считаем медиану).
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 11:45:10
vlasovzloy
А если шим есть, зачем лишнее преобразование, сразу скважность и измерять
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 12:18:54
mickbell
Так скважность знать ни к чему, надо, как я себе понял, измерить только амплитуду.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 13:38:36
КРАМ
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4332566#p4332566"]Настраиваем таймер в режим захвата — вуаля, нам известен период и заполнение.[/uquote]
А ничего, что амплитуда меняется ОТ НУЛЯ?
Это помимо того, что период и дьюти измерять не требуется...
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 15:04:07
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:
Но, если вы считаете, что идея совсем неразумная, так и скажите. Может, стоит прекратить изыскания в эту сторону)
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 15:05:42
Eddy_Em
[uquote="КРАМ",url="/forum/viewtopic.php?p=4332665#p4332665"]А ничего, что амплитуда меняется ОТ НУЛЯ?

[/uquote]
Добавить компаратор, чтобы, скажем, все, что выше 10мВ было 3.3В... Если ни хрена нет - значит амплитуда нулевая.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 15:34:03
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]
Нет, я так не считаю. Если цель уйти от МК, то такая задача вполне решаемая аппаратными средствами. Только решение такой задачи без МК требует очень хорошего знания электроники. Так что тут палка о двух концах.

Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 15:49:49
Eddy_Em
Если только амплитуду нужно измерить, можно собрать на ОУ простой пиковый детектор. Вот только, ЕМНИП, у "малины" нет возможности напрямую на АЦП подать сигнал, т.е. придется модулировать синусоиду. Или поступить проще: взять дешевый внешний АЦП на I2C или SPI, им и замерять напругу после пикового детектора. Тогда точно будете знать, какова текущая амплитуда сигнала.
Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 15:53:35
>TEHb<
Спокойно, "амплитуда 0 вольт" означает отсутствие -12 вольт во-первых, и фактическое отсутствие сигнала во-вторых. Гляньте картинки в стандарте по ссылке. Аудиовхода хватит. С делителем. конечно.

Re: Преобразование шим в напряжение
Добавлено: Ср дек 07, 2022 16:03:27
КРАМ
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4332737#p4332737"]замерять напругу после пикового детектора.[/uquote]
А откуда информация о допустимой инерционности? Пиковый детектор только при увеличении сигнала быстро реагирует. При уменьшении все будет очень печально... И придется разменивать пульсации на скорость.