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

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

Ср дек 07, 2022 03:09:31

Здравствуйте.
Дано: шим сигнал в 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

а у сигнала изменения амплитуды и коэфф. заполнения между собой жестко связаны или любые комбинации возможны?

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

Ср дек 07, 2022 08:56:40

а у сигнала изменения амплитуды и коэфф. заполнения между собой жестко связаны или любые комбинации возможны?
Судя по вот этому:
в случае 12в и заполнении 50% с помощью фильтров можно получить 6в постоянного напряжения. При амплитуде 9в и коэффициенте заполнения 30%, мы получим 3в постоянного напряжения.
похоже, что оба этих параметра могут меняться независимо. Хотел бы я знать, что это за девайс такой, и как его разработчики планируют передавать информацию коэффициентом заполнения при нулевой амплитуде. Ну и, конечно, ТС должен будет, если послушаться Крама и поставить компаратор (даже с плавающим порогом), соображать, как ловить нулевой уровень, когда компаратор будет или молчать, или шуметь. Так-то достаточно просто найти максимум напряжения за время, несколько превышающее 1 мс. То есть, скажем, тупо каждые 50 мкс (для ШИМ от 10%) складывать отсчёты в кольцевой буфер длиной 25 ячеек и брать максимум.
Последний раз редактировалось mickbell Ср дек 07, 2022 09:06:04, всего редактировалось 1 раз.

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

Ср дек 07, 2022 09:05:47

если послушаться Крама

Я пропустил по невнимательности исходный параметр напряжения "от нуля". От нуля синхронизировать не выйдет.
Но если есть данные о скважности, то они могут быть получены только от генератора этих импульсов. Не проще ли получить от генератора синхросигнал?

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

Ср дек 07, 2022 09:18:23

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

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

Ср дек 07, 2022 09:24:16

ШИМ на АЦП малинки

А малинка знает что либо о режиме реального времени? Я так думаю, что написать драйвер под ОС малинки для АЦП работающего через ДМА в режиме реального времени - это отдельная и не слишком тривиальная задача.

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

Ср дек 07, 2022 09:55:55

Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.

Вопрос непонятен. Цель - заменить МК на АЦП?

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

Ср дек 07, 2022 10:31:35

А малинка знает что либо о режиме реального времени?
Да ХЗ, я с малинкой дел не имел. Если это проблема, то чем плох, как я понял, существующий вариант - с МК?

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

Ср дек 07, 2022 10:46:09

Там же АРМ и ОС-многообразие, так что, задача решаема, вопрос лишь в стоимости.

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

Ср дек 07, 2022 11:01:54

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

Добавлено after 3 minutes 20 seconds:
Но таки я бы на МК сделал, это гораздо проще. Настраиваем таймер в режим захвата — вуаля, нам известен период и заполнение. А тем же таймером по событию начала захвата запускаем АЦП через DMA, чтобы в пике измерить амплитуду (делаем штук 9 измерений, потом считаем медиану).

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

Ср дек 07, 2022 11:45:10

А если шим есть, зачем лишнее преобразование, сразу скважность и измерять

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

Ср дек 07, 2022 12:18:54

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

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

Ср дек 07, 2022 13:38:36

Настраиваем таймер в режим захвата — вуаля, нам известен период и заполнение.

А ничего, что амплитуда меняется ОТ НУЛЯ? :))) :))) :)))
Это помимо того, что период и дьюти измерять не требуется...

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

Ср дек 07, 2022 15:04:07

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

да, только амплитуду нужно определить.

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

Добавлено after 2 minutes 42 seconds:
Это напряжение можно через АЦП получить на raspberri pi/
Цель мероприятия - избавиться от микроконтроллера, который на данный момент выполняет эту работу и передает результат на raspberry.

Вопрос непонятен. Цель - заменить МК на АЦП?


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

Добавлено after 1 minute 45 seconds:
Но, если вы считаете, что идея совсем неразумная, так и скажите. Может, стоит прекратить изыскания в эту сторону)

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

Ср дек 07, 2022 15:05:42

А ничего, что амплитуда меняется ОТ НУЛЯ? :))) :))) :)))

Добавить компаратор, чтобы, скажем, все, что выше 10мВ было 3.3В... Если ни хрена нет - значит амплитуда нулевая.

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

Ср дек 07, 2022 15:34:03

Проблема в определении амплитуды сигнала без контроллера.

Для этого существуют аналоговые компараторы и даже специализированные микросхемы на их основе.

Добавлено after 4 minutes 56 seconds:
Но, если вы считаете, что идея совсем неразумная, так и скажите.

Нет, я так не считаю. Если цель уйти от МК, то такая задача вполне решаемая аппаратными средствами. Только решение такой задачи без МК требует очень хорошего знания электроники. Так что тут палка о двух концах. :)

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

Ср дек 07, 2022 15:49:49

Если только амплитуду нужно измерить, можно собрать на ОУ простой пиковый детектор. Вот только, ЕМНИП, у "малины" нет возможности напрямую на АЦП подать сигнал, т.е. придется модулировать синусоиду. Или поступить проще: взять дешевый внешний АЦП на I2C или SPI, им и замерять напругу после пикового детектора. Тогда точно будете знать, какова текущая амплитуда сигнала.

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

Ср дек 07, 2022 15:53:35

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

Изображение

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

Ср дек 07, 2022 16:03:27

замерять напругу после пикового детектора.

А откуда информация о допустимой инерционности? Пиковый детектор только при увеличении сигнала быстро реагирует. При уменьшении все будет очень печально... И придется разменивать пульсации на скорость.
Ответить