Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить

Как отрицательный полупериод синусоиды сделать положительным

Сб апр 13, 2024 21:21:17

Как отрицательный полупериуд сигнала сделать положительным ? Несколько дней пытаюсь решить эту задачу и ничего не получается. Диодный мост для этих целей не подходит, так как сигнал амплитудой от 20мВ. Никакой диод при 20мВ работать не будет. Сигнал у меня с датчика, условно скажем синусоида, требуется отрицательную полуволну сигнала развернуть в положительную сторону. На рисунке, нижнюю часть, всё что со знаком минус, нужно развернуть на верх...

Изображение

Была идея на 2 транзисторах схему собрать с разной проводимостью, типа один транзистор открывалмя только при положительной полуволне, а второй при отрицательной, а потом на выходе как то это собрать в один сигнал, но ничего не получается, как соединить два транзистора с разной проводимостью в одно целое когда у них полярность подключения совершенно разная ?

Пытался на ОУ реализовать, тоже не выходит.

Re: Как отрицательный полупериуд синусоиды сделать положител

Сб апр 13, 2024 21:51:49

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

Re: Как отрицательный полупериуд синусоиды сделать положител

Сб апр 13, 2024 22:03:58

Михаил_ писал(а):Как отрицательный полупериуд сигнала сделать положительным ?
В поиск введите Детектор на ОУ, схем много.
Только для таких малых напряжений ОУ нужно сильно лучше, чем LM358.

Re: Как отрицательный полупериуд синусоиды сделать положител

Сб апр 13, 2024 22:32:23

Муркиз, амплитуда сигналов от 20мВ до 3 Вольт. Питание схемы 5 Вольт. Это какую же городить придётся схему.. чтобы сохранить весь диапазон сигнала от 20мВ до 3000мВ Допустим усиление в 100 раз и тогда 20мВ сигнал усилится до 2Вольт , а вот 3 вольтовый сигнал усилиться до 300Вольт, то есть питание усилителя должно быть более 300Вольт. Явно этот вариант не пойдёт.

Добавлено after 13 minutes:
Re: Как отрицательный полупериуд синусоиды сделать положительным
Martin76, нашёл схему "Двухполупериодного активного выпрямителя на ОУ", буду пробовать собирать.

Не получается.
Последний раз редактировалось Михаил_ Вс апр 14, 2024 01:01:08, всего редактировалось 1 раз.

Re: Как отрицательный полупериуд синусоиды сделать положител

Сб апр 13, 2024 22:40:00

Диоды приоткройте, подав постоянное напряжение смещения, для кремния в районе 0,5V-0,6V

Re: Как отрицательный полупериуд синусоиды сделать положител

Сб апр 13, 2024 22:57:17

Диоды с схемах с ОУ смещены и можно детектировать милливольты. Падение на них не влияет на выходное напряжение за счет того, что они находятся в цепи ОС. Вот пример https://www.analogictips.com/wp-content ... gure-2.jpg

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 00:28:16

Михаил_, Вот Вам схема:
СпойлерИзображение

А вот симуляция её работы: https://everycircuit.com/circuit/6486366707777536

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 02:02:28

Martin76, не работает схема по ссылке. незнаю что не так делаю. кучу вариантов перепробовал ни одна схема не работает. Сжёг ардуино с этими выпрямителеми активными, питалось всё от 5 вольт ардуино. На сегодня хватит, ни сил ни нервов уже нет.

Добавлено after 40 minutes 47 seconds:
Re: Как отрицательный полупериуд синусоиды сделать положительным
gsmart, каким образом подать на диодный мост открывающее напряжение, на все 4 диода одновременно ? Я не представляю.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 04:48:50

Как отрицательный полупериуд сигнала сделать положительным ? Несколько дней пытаюсь решить эту задачу и ничего не получается.

Какова цель этой задачи? Есть смутное подозрение, что цель фейковая.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 08:08:53

И ни по любой схеме не получится, если у него питание всего 5 вольт.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 10:32:08

КРАМ, что значит цель фейковая ? С усилителя биопотенциалов сигнал подаю на АЦП ардуино. Для удобства отслеживания уровня сигнала и подсчёта "импульсов" нужно чтобы все "импульсы" были положительной полярности от нуля и более в положительную сторону. Думал, что проблем не будет с такой на первый взгляд простой задачей, а оказалось, что не такая она и простая... развернуть полярность отрицательного полупериуда сигнала.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 10:45:43

Можно просто не развернуть, а сместить.

И кстати - откуда тогда 3 вольта возьмутся ?

Ну а если делать правильный усилитель биопотенциалов, то существуют для этого специальные инструментальные операционники.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 10:50:30

КРАМ, что значит цель фейковая ? С усилителя биопотенциалов сигнал подаю на АЦП ардуино.

Мое предположение блестяще подтвердилось. :)))
Даю на водку.
Входной сигнал нужно сместить на половину раскрыва АЦП. То есть на половину питания МК, если опора АЦП и есть питание МК.
После получения данных их нужно привести к нулю равному половине диапазона АЦП путем вычитания из данных 2047, если АЦП 12 разрядов. Получится знаковый массив и вы элементарно превратите его в выпрямленный.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 12:54:44

Муркиз, в качестве усилителя у меня инструментальный усилитель AD620. с выхода получаю сигнал с которым уже произвожу нужные мне действия, фильтрацию и прочее. Про 3 вольта не понял ? Как откуда, с выхода AD620 ..сигналы усиливает и на выходе напряжение изменятся от 0 до предела напряжения питания в положительную и отрицательную сторону. Что значит сместить ?

Добавлено after 10 minutes 51 second:
Re: Как отрицательный полупериуд синусоиды сделать положительным
КРАМ, сместить ? постоянную составляющую подать равную половине напряжения питания? Так так и было у мення изначально. Только не удобно таким образом отслеживать уровень сигнала и подсчитывать количество импульсов. Приходится в коде прописывать много лишних операций это замедляет работу Ардуино. Про масив данных не очень понял, предлагается отрицательные полуволны сигнала приравнять к нулю ? То есть исключить их вовсе ? Программным способом можно произвести выпрямление ?
Последний раз редактировалось Михаил_ Вс апр 14, 2024 13:03:38, всего редактировалось 1 раз.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 13:02:25

Только не удобно таким образом отслеживать уровень сигнала и подсчитывать количество импульсов. Приходится в коде прописывать много лишних операций это замедляет работу Ардуино.

Это вы серьезно? :facepalm:
Вы называете "много лишних операций" одно вычитание и нахождение модуля числа? Приведите свой код.
ЗЫ.
Если вы не можете справиться со столь простой задачей, то наверное нужно подучиться программированию контроллеров и отказаться от самой платформы Ардуино, работая чисто с МК.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 14:02:30

КРАМ, Я серьёзно. Ну не все же специалисты. Чему удивляется то? Если бы я был специалистом в данной области, то, наверное, не задавал бы тут вопросов. Прям смешно мне стало, это как человек не умеющий рисовать спрашивает у художника, как нарисовать солнышко, а в ответ ..ты серьёзно, не умеешь рисовать солнышко ))

Я даже понятия не имею, что такое модуль числа. С математикой у меня очень плохо, я её просто ненавижу. Но если потребуется, то могу почитать про модуль числа в интернете и узнать.

Я не готов тратить месяцы и годы на изучение программирования контроллеров ради того, чтобы выпрямить переменное напряжение. По-моему, это не целесообразно. Должно же быть более простое решение этой задачи. На изучение программирование ардуино мне потребовалось несколько месяцев, и вы предлагаете опять начинать всё сначала... чтобы выпрямить переменку. Как-то не хочется. Если, конечно, других более простых способов не найду, то придётся учить.

Под операциями в ардуино я имел не нахождение модуля числа, а другой код, у меня подсчитывается количество сигналов превышающих определённый порог по амплитуде и умещающихся в 1 минутный интервал времени. Если бы сигнал были все только с положительной полярностью, то и вычислений пришлось бы производить на половину меньше. Всё это на ардуино сильно замедляет работу. Конечно, если отказаться от ардуино, то всё будет гораздо быстрее, но я не умею работать с микроконтроллерами.

А мне сейчас нужно всего лишь изменить полярность отрицательной полуволны сигнала поступающего на вход АЦП ардуино. Это всё что требуется для реализации моего проекта. Неужели чтобы это реализовать нужно заняться изучением программирования микроконтроллеров?

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 14:20:20

КРАМ, Я серьёзно. Ну не все же специалисты.

Уважаемый, вы влезли в некие сани. Тогда извольте соответствовать этим саням хотя бы в самом первом приближении. Тем более, что вы поставили перед собой простейшую задачу.
Модуль числа - это число равное исходному, но с положительным знаком. Это и есть выпрямление.
В Си это выглядит как:
Код:
 if (int16_t var<0) var=-var;

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

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

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 14:23:13

Моё интересное, что для энцефалографии даже приводить к нулю не требуется.

Там интересна лишь полная амплитуда, размах сигнала.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 14:26:09

КРАМ, Я серьёзно. Ну не все же специалисты.
То, что сказал Крам, это стандартнейший метод ввода знакопеременных значений.
Как с этим жить? Поясняю.
1. Действительно, смещаете входной сигнал на половину опорного напряжения АЦП, при этом аппаратная часть получается несложной.
2. В случае, если ардуй выполнен на AVRке, а, скорее всего, так оно и есть, то её встроенный АЦП 10-разрядный, следовательно, выдаёт значения от 0x000 до 0x3FF, или в десятичном выражении от 0 до 1023. Средний отсчёт АЦП 512, такое значение (плюс-минус чуть-чуть) АЦП будет выдавать в отсутствии сигнала на входе.
3. Для получения значения сигнала вам надо всего лишь, получив очередной отсчёт АЦП, вычесть из него 512. В результате вы получите измеренное значение со знаком.
4. Модуль числа, или абсолютное значение числа - это число, "очищенное" от знака минус перед ним. К примеру, модуль нуля равен нулю, модуль пяти равен пяти, модуль минус трёх равен трём. Взятие модуля числа эквивалентно выпрямлению диодным мостом напряжения (с точностью до падения на его диодах), то есть тут нет ничего сложного. Да и алгоритмически тоже, всего-то надо прописать:
if(n<0) n=-n;
и всех делов.
5. Почему бы не освоить программирование?

ЗЮ. Пока я тут клапки топтал, много воды утекло. :)) Но пусть остаётся.
Последний раз редактировалось mickbell Вс апр 14, 2024 14:28:29, всего редактировалось 1 раз.

Re: Как отрицательный полупериуд синусоиды сделать положител

Вс апр 14, 2024 14:27:25

Моё интересное, что

Это отдельный вопрос. Мне страшно лезть в сам алгоритм, если автор не ведает простейшее.
Ответить