Биорезонансные технологии

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Биорезонансные технологии » Электропунктурные приборы » Прибор для стимуляции акупунктурных точек инфракрасным излучением


Прибор для стимуляции акупунктурных точек инфракрасным излучением

Сообщений 211 страница 240 из 599

1

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

Отредактировано SLAVA1 (14.06.2018 22:27)

0

211

#p163165,sn_nn написал(а):

Питание устройства и питание генератора: если вы хотите использовать 100 Вт матрицу, то блок питания следует взять такой:  https://ru.aliexpress.com/item/32470145972.html?af=13309&cv=131893&cn=42pxgrrzse8cwfzm71h8lototoz8x0xs&dp=v5_42pxgrrzse8cwfzm71h8lototoz8x0xs&af=13309&cv=131893&cn=42pxgrrzse8cwfzm71h8lototoz8x0xs&dp=v5_42pxgrrzse8cwfzm71h8lototoz8x0xs&afref=http%3A%2F%2Fbiorezonans.bbok.ru%2Fviewtopic.php&aff_platform=default&cpt=1567864224067&sk=ccfBY4yg&aff_trace_key=d74feace58bb4e34b6400062b18d6cd3-1567864224067-05399-ccfBY4yg&terminal_id=eec6a7a5bcb04d03b54361afd1c13a7e

этот блок питания дает очень стабилизированный ток (колебания сети из розетки переменного тока (50ГЦ) на выходе из блока составляют не более 0,5% от выходного уровня постоянного тока), иначе на матрице появится дополнительная частота в 50 Гц! Эффект на точке будет смазанным!!!

так, так ....... вот интересный момент кстати, а это всё таки как бы подтверждение (может косвенное) что технология както работает по частотам, конечно если это было случайно обнаружено практически, а не предположение  ;)   влияний дополнительной частоты   в 50 Гц!
это я так, разбираюсь чтож здесь за что такое и куда и как  https://forumstatic.ru/files/0001/48/78/25333.gif

Отредактировано Гастон Ретти (07.09.2019 17:00)

+2

212

#p163353,Гастон Ретти написал(а):

это я так, разбираюсь чтож здесь за что такое и куда и как  https://forumstatic.ru/files/0001/48/78/25333.gif

БИОЭФФЕКТИВНЫЕ ЧАСТОТЫ И ИХ СВЯЗЬ С СОБСТВЕННЫМИ ЧАСТОТАМИ ЖИВЫХ ОРГАНИЗМОВ.
Опубликовано в "Биомедицинские технологии и радиоэлектроника". 2002, №5, с. 56-66

Аннотация

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

Статья

1. Введение

Многочисленные опыты по воздействию электромагнитных полей (ЭМП) на людей и животных показали, что существуют выделенные частоты, вызывающие резкие изменения в функционировании организмов [1]. Такие частоты назвали биоэффективными. Отклик на них может быть различным: как положительным (в смысле перехода организма в состояние более близкое к оптимальному), так и отрицательным. Существуют определенные "частотно-амплитудные окна", внутри которых есть детектируемая реакция биообъекта, а вне их - отсутствует. При этом наиболее информативной является частота воздействия, а амплитуда определяет лишь механизм реализации отклика организма ([2] , с. 15).

Биоэффективные частоты выявляются экспериментально и попыток объяснения физических механизмов их существования очень мало. В редких случаях исследователи ссылаются на возможный резонанс между колебаниями параметров внешнего ЭМП и собственными колебаниями, не всегда уточняя, какой это резонанс и какова природа возникновения собственных колебаний [3], [4], [5], [6], [7], [8] и др.

Ниже будет обсуждаться, - случайны ли или физически обусловлены такие совпадения. Здесь же отметим, что они могут являться частным случаем всеобщей синхронизации, наблюдающейся в Солнечной системе и, в частности, в биосфере. Это проявляется в общности многих биосферных и космических ритмов [9], [10]. Для неживых объектов это явление описывается давно разработанной теорией колебаний связанных нелинейных систем, в которой оно так и называется синхронизацией. В биологии и медицине это явление называют приспособлением или адаптацией и здесь лишь недавно были предприняты попытки его объяснения с позиций физики.

Итак, будем исходить из того положения, что биоэффективные частоты - не случайны, а являются резонансными по отношению к собственным частотам автоколебательных систем организма. Тогда возникают вопросы:

каков преобладающий тип резонанса в живых организмах?
любой ли тип колебаний внешней среды может оказывать резонансное воздействие на организм?
каков механизм возникновения собственных колебаний в организме?
одинаковы ли собственные (а значит и биоэффективные) частоты для всех животных?
можно ли знать заранее частоты, биоэффективные для данного организма, или их можно выявить только опытным путем?
Попытаемся дать на них ответ и обрисовать действие резонансных механизмов в приложении к различным системам организма.

2. Совпадения собственных частот организмов и биоэффективных частот.

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

Следует признать, что в основном эксперименты ведутся методом перебора всевозможных комбинаций параметров ЭМП без предварительного представления о результативности того или иного воздействия. Между тем, наиболее прогнозируемыми оказывались результаты экспериментов по воздействию ЭМП с частотами, теоретически предсказанными на базе биорезонансных теорий. Примеры:

Теоретически обоснованные совпадения биоэффективных и собственных частот.
Для ЭМП малой интенсивности резкий отклик человеческого организма наблюдается вблизи частоты 40 ГГц, что совпадает с резонансной частотой третичной структуры ДНК-спирали [11]. Считается, что здесь имеет место вынужденный резонанс.
Наблюдаемые эффективные частоты порядка ГГц совпадают с предсказанными ([12]; [2], с.52) резонансными частотами колебаний клеточных мембран. Биологический эффект связан с резонансным действием электро-акустических волн в мембранах.
Все больше появляется работ, в которых утверждается резонансное взаимодействие биообъекта и внешней среды на основе формальных совпадений собственных частот организмов (или экспериментально выявленных биоэффективных частот) с частотами внешней среды. Ясно, что в силу сложности изучаемых объектов такие совпадения всегда найдутся. Вопрос, какие из них неслучайны? Кроме того, следует иметь в виду, что при резонансе сложных нелинейных систем (какими являются биообъекты) частота воздействия и частоты отклика совершенно не обязательно совпадают.
Примеры теоретически необоснованных совпадений
1. "Циклотронный" резонанс
Существует диапазон биоэффективных частот 0.3-30 Гц, при воздействии МП, сравнимого по интенсивности с магнитным полем Земли. Предполагается, что он связан с резонансами катионов, регулирующих скорость биохимических реакций в клетках биологических систем. Такой резонанс во многих работах (см., например, [13], [14]) зовется циклотронным, поскольку соответствующая биоэффективная частота совпадает с ионной циклотронной частотой в вакууме. Однако совпадение это является чисто формальным и механизм резонанса связанных катионов (которые можно рассматривать как изотропные осцилляторы, несущие заряд) здесь не циклотронный, а, скорее всего, параметрический (как было показано в [15], [16]).

2. Шумановские резонансы - альфа-ритм головного мозга

В литературе можно встретить замечания о биоэффективном влиянии частот шумановского резонанса на ритмы головного мозга (в основном упоминается альфа-ритм) (например, [17], [18], [6]). При этом молчаливо (или открыто как в [18]) подразумевается, что за биоэффективность ответственен самый простой тип резонанса - вынужденный резонанс, возникающий при совпадении частоты вынуждающего воздействия и собственной частоты системы. Выдвинуто и муссируется предположение о том, что альфа-ритм, связанный с мыслительной активностью, возник в результате подстройки ритмов мозга под первую гармонику шумановского резонанса.

Рассмотрим этот вопрос подробнее. В таблице 1 представлены ритмы мозга, которые фиксируются как электроэнцефалографами, так и магнитометрами ([19], [20]). Ритмическая картина таб.1 характерна для здорового человека. Симптомами поражения мозга считаются, в первую очередь, изменения альфа-ритма (уменьшение его амплитуды, апериодичность) и наличие дельта- и тета-ритмов в состоянии бодрствования.

Таблица 1

Амплитуда и частота ритмов головного мозга по электроэнцефалографическим данным.

Первые 4 гармоники шумановского резонанса (ШР) регистрируются на частотах: 7.8Гц (вариации в течение дня ± 1.5Гц); 14.5Гц, 20Гц, 26Гц (с разбросом ± 0.3Гц) (см.[21] или обзор А.В.Ханхарева на http://www.media-science.baikal.ru/bsff3/bb07bn3.htm) . Остальные гармоники можно не учитывать, ввиду их малой интенсивности. Шуман предсказал резонансное усиление атмосферных электромагнитных шумов на данных частотах из чисто геометрических соображений. Это резонансы электромагнитной волны, распространяющейся вокруг Земли в полости земля-ионосфера, с длиной волны равной длине окружности земного шара. А резонансные частоты вычисляются как , R E - радиус Земли, с - скорость света, n = 1, 2, 3...

Итак, характерные частоты двух независимых процессов (колебаний, продуцируемых мозгом и колебаний в ионосферно-земном волноводе) перед нами. Покажем, что альфа-ритм не может определяться ни одной из гармоник шумановского резонанса. Действительно, разница между наиболее характерным значением альфа-ритма (12Гц, см. [20]) и значением первой гармоники ШР (7,8Гц) - 4,2 Гц; разница со второй гармоникой ШР - 2,5 Гц. То есть тесной близости частот ШР и альфа-ритма не наблюдается. Экспериментально выявлено, что мозг как колебательная система обладает высокой добротностью [22]. При простом вынужденном резонансе линейной системы (какой утверждают авторы [17], [18]) с высокой добротностью амплитуда колебаний значительно нарастает только при точном совпадении собственной частоты и частоты внешнего воздействия. Этот факт плюс вышеупомянутый частотный сдвиг и наличие очень широкой полосы частот альфа-ритма говорят о невозможности приложения этого вида резонанса к данной ситуации.

По этой же причине неудовлетворительна и гипотеза "захвата частоты" вследствие изначальной настройки человека как вида на частоты ШР. Подставив характерные параметры альфа-ритма в формулу для вычисления частот ШР, легко увидеть, что для подтверждения такой гипотезы необходимо, чтобы в момент появления человека на Земле радиус планеты был меньше на ~800км. Теория расширения Земли оперирует такими величинами, но, как известно, сама ставится под сомнение.

Кроме того, как было отмечено выше, альфа-ритм есть только у человека (у животных он отсутствует!) и связан с мыслительной активностью, то есть, присущ активному состоянию работы мозга с наибольшими скоростями передачи сигналов, причем механизм его возбуждения до сих пор остается загадкой для медиков и биофизиков. Конечно, заманчиво искать причину нашей мыслительной деятельности в особой любви к нам ближнего космоса, но из общих соображений ясно, что синхронизация с частотами ШР (если она есть) должна бы существовать не только у человека, но и у остальных живых существ. В этом смысле искать связь мозговых ритмов с ШР логично было бы не для альфа-ритма, а для ритмов "невозмущенного" мыслительной активностью состояния мозга: дельта- и тета-ритмов. Этот вопрос будет обсуждаться ниже.

3. Резонансы макро- и микроструктур организма или как определить собственные частоты.

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

Организм существует благодаря тесной связи и согласованности деятельности его органов и систем. Известно, что эта согласованность обуславливается многочисленными колебательным процессам, протекающими на разных уровнях иерархии жизненных систем организма (начиная с окислительно-восстановительных процессов в клетке и кончая колебательными взаимодействиями между различными органами) [23]. В живом организме тесно переплетены колебания различных типов, например, механические и электрические, и возбуждение одного типа колебаний может вызывать возбуждение других (например, механические движения обусловлены процессом распространения нервного импульса). Резонно предположить, что и внешнее резонансное воздействие одного типа (например, механическое) способно привести к раскачке колебаний другого типа (электрических).

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

Между тем, воздействием механических колебаний на организм часто пренебрегается. Экспериментов в этой области крайне мало. В большинстве случаев подразумевается, что последствия воздействия электромагнитных колебаний на биообъект принципиально отличаются от последствий воздействия механических колебаний тех же частот. И на первый взгляд, частоты наибольшего отклика организма на изменения параметров внешней среды, имеющих различную природу, не должны совпадать.

Однако, если биоэффективные частоты суть резонансные с собственными частотами организма, то предыдущее утверждение неочевидно. Связанность систем организма, способность переводить одни сигналы в другие, дает ему возможность воспринимать колебательную информацию всех видов, оперативно реагируя и подстраиваясь под изменения среды обитания. Собственные резонансные частоты могут определять частоты максимального отклика организма как при воздействии механических колебаний, так и электромагнитных.

Итак, положим, что

Резонансы организма - параметрические. Другими словами, периодические (механические или электромагнитные) изменения внешней среды приводят к периодическим изменениям определенного параметра (например, колебания атмосферного давления ведут к колебаниям давления внутри грудной клетки, соответственно к изменениям трансмурального давления и давления крови в любой точке). Из-за связанности систем организма периодическое воздействие может передаваться к различным осцилляторным структурам и быть причиной резонансной раскачки колебаний в соответствующих осцилляторах, если воздействие производится на биологически эффективных частотах.
Организм - система автоколебательная и нелинейная. Это подразумевает существование системы резонаторов, налаженных "устройств" восполнения энергии, нелинейного ограничителя нарастания колебаний и обратной связи между резонатором и источником энергии. За обратную связь в масштабах всего организма чаще всего ответственна нервная система, как система с наибольшей скоростью передачи сигнала. В масштабах же таких осцилляторных систем как нервная, кровеносная система, сердце, - обратную связь осуществляют электрохимические процессы и механические передвижения.
Из теории параметрических колебаний следует, что наиболее эффективными для развития параметрического резонанса являются колебания с частотами накачки , где - собственная частота осциллятора, n - целое число. Поэтому отклик биообъектов на параметрическую раскачку осциллятора внешними силами следует ожидать в ближней окрестности .
Как известно, собственная частота осциллятора определяется характерным временем распространения возбуждения (T) в этом осцилляторе, которое в свою очередь зависит от линейных размеров и скорости распространения (V). А именно: , где L - длина осциллятора. Поэтому частоты наибольшего отклика нужно искать в окрестности , и резонансный эффект должен быть наиболее ярким при n = 1; 2; 3.

4. Применение теории параметрического резонанса к реальным биологическим системам.

Ранее уже указывалось, что существование биоэффективных частот может объясняться вынужденным или параметрическим резонансом с собственными частотами микро-резонаторов организма (молекул, элементов крови, клеток, мембран, ДНК). Природа же некоторых биоэффективных частот, преимущественно УНЧ-КНЧ диапазона во многом остается неясной. И резкий отклик человеческого организма на частоты 0.02, 0.05-0.06, 0.1-0.3, 0.5-0.6, 5-6, 8-12 Гц до сих пор не получил удовлетворительного объяснения. Попробуем применить обсуждавшиеся положения к реальным данным и покажем, что УНЧ-КНЧ диапазон биоэффективных частот возник благодаря "крупномасштабным" резонансам. Для этого оценим характерные частоты "крупномасштабных" объектов: периферической нервной, кровеносной и сердечно-сосудистой систем человеческого организма и организмов различных животных.

1). Кровеносная система:

Данные о протяженности вен, артерий и капилляров и характерных скоростях движения крови в русле для человека (I) и собаки (крупных крыс, кроликов) (II) находятся в таблице 2. Там же приведены собственные частоты и экспериментально найденные частоты наибольшего отклика кровеносной системы. Обращает на себя внимание, что последние вполне соответствуют значениям  , при n от 1 до 3.

Полностью тут:
http://314159.ru/khabarova/khabarova1.htm

Журнал Биомедицинская радиоэлектроника - а где то у кого то есть все номера ? Есть журнал, есть подписка, наверное хороший журнал, тематический ?

http://www.radiotec.ru/journal_section/6

Немного ужасов про частоту 50 Гц:


Отредактировано Созерцающий (07.09.2019 22:27)

+4

213

#p163313,sn_nn написал(а):

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

по каким причинам такое происходит. ?

0

214

#p163597,annxau написал(а):
#p163313,sn_nn написал(а):

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

по каким причинам такое происходит. ?

По разным. В данном случае так и не было "инструкции по применению".

#p163217,sn_nn написал(а):

Каждый решает за себя сам. Дорогу осилит идущий. Кто хочет - пусть пробует. Кто не хочет - пусть лучше помолчит.

#p163138,sn_nn написал(а):

ГУФ Созерцающий, Вы можете использовать генератор ИК-излучения, как моксу. Путем простого приближения-удаления генератора от поверхности кожи Вы можете менять интенсивность воздействия. Техники Тонизации и Седации моксами описаны в литературе и не являются тайной. Какую точку и когда использовать - решать Вам, ведь Вы Врач и пациент перед Вами.
Если у Вас есть возможность использовать данные частоты совместно с ИК-генератором достаточной мощности - Вы сами увидите эффект.

Какой эффект, от чего эффект, чем этот "эффект" должен отличаться от других способов воздействия на БАТ ?  :dontknow:

Отредактировано Созерцающий (16.09.2019 21:38)

0

215

Извиняюсь за паузу, уехал в Сочи на неделю, а там с Тырнетом были проблемы...  :yep:

Вот текст скетча для стандартной ардуинки. Вывод на 13 порт (там есть встроенный светодиод, поэтому можно увидеть частоту мерцания). Скетч использует библиотеку Metro (надеюсь, народ знает как ее подключить и где скачать...)

Скетч выпиливал из своей прошивки и правил на коленке, поэтому код может быть слегка "непричесанным", sorry.
в процедуре Setup переменной curFreq необходимо назначить нужную частоту, для примера поставил 5.0 Гц (комменты в коде)

Код:
/* Visual Acupuncture IR-Led
Генератор мигания LED  с заданным интервалом
Version 4.1 28/04/2018
*/

//Библиотека использует работу с аппаратными таймерами
#include <Metro.h> //Include Metro library
//МАССИВ С ЧАСТОТАМИ ДЛЯ ТОЧЕК
const int ledPin =  13;   // номера выхода, подключенный к генератору
int ledState = LOW;
//Количество миллисекунд прошло...
unsigned long currentMillis = 0;
// храним время последнего переключения светодиода между режимами
long previousMillis = 0;        
// интервал между включение/выключением светодиода (0.5 секунды) - 1 HZ
long interval = 500;
// some variables to use in our program
float curFreq=0; //Текущая частота
// Создаем объекты metro и устанавливаем интервал в 500 ms (0.5sec).
int intW=0;//Индексы мощности
Metro ledMetro= Metro(500);
struct s_tmrLed {
  int On[3];
  int Off[3];
};
s_tmrLed tmrLed;//Набор 3 уровней мощности для ИК-прожекторов
/*------------------------------------------------------------------------------*/
// This code block is only needed to support multiple
// MCU architectures in a single sketch.
#if defined(__AVR__)
	#define imagedatatype  unsigned int
#elif defined(__PIC32MX__)
	#define imagedatatype  unsigned short
#elif defined(__arm__)
	#define imagedatatype  unsigned short
#endif
// End of multi-architecture block
/*-------------------------------------------------------------------------------*/


void setup()
{
  // задаем режим выхода для порта, подключенного к светодиоду
    pinMode(ledPin, OUTPUT);      
    ledState =LOW;
    curFreq=5.0; //Задаем, например, частоту генерации в 5.0 Гц (Здесь можно выставить значение нужной частоты)

  //Получен половинный интервал от частоты
  interval=500/curFreq;
  //Получаем длительности периодов для PWM
    //25%
    tmrLed.On[0]=int(interval/2);
    tmrLed.Off[0]=1.5*tmrLed.On[0];
    //50%
    tmrLed.On[1]=interval;
    tmrLed.Off[1]=interval;
    //75%
    tmrLed.Off[2]=int(interval/2);
    tmrLed.On[2]=1.5*tmrLed.Off[2];

}
 
/*-----------------------------------------------------------------*/

void loop()
{ 
 //Моргаем светодиодами или не моргаем...
  currentMillis = millis();
 //-------------------------------------------------------------------------------------------------
      if (ledMetro.check() == 1) { // check if the metro has passed its interval .
        if (ledState==HIGH)  { 
          ledState=LOW;
          ledMetro.interval(tmrLed.Off[intW]); // if the pin is HIGH, set the interval to 0.25 seconds.
        } 
        else {
          ledMetro.interval(tmrLed.On[intW]); // if the pin is LOW, set the interval to 1 second.
          ledState=HIGH;
        }
        digitalWrite(ledPin, ledState);
      }//EndIF ledMetro

     //HRM
     if(currentMillis - previousMillis >= 3000){
        previousMillis=currentMillis; intW++; if (intW>2) intW=0;}
}

Фрагмент скетча дает гармонизирующую технику раздражения точки!

Отредактировано sn_nn (19.09.2019 23:39)

+6

216

У меня почему то не компилируется этот скетч.Пишет-Ошибка компиляции для платы Arduino nano.Несколько раз пробовал , тоже самое.
Уважаемый sn nn Вы пробовали сами этот скетч , он нормально загружается?

0

217

#p163809,vik55 написал(а):

У меня почему то не компилируется этот скетч.Пишет-Ошибка компиляции для платы Arduino nano.Несколько раз пробовал , тоже самое.
Уважаемый sn nn Вы пробовали сами этот скетч , он нормально загружается?

Вот можете скачать, работает
Скейч

+3

218

Здравствуйте Сергей

Не совсем понятен вот этот кусок кода:

//Получен половинный интервал от частоты
  interval=500/curFreq;                                          500/5 = 100
  //Получаем длительности периодов для PWM
    //25%
    tmrLed.On[0]=int(interval/2);                             100/2 = 50мсек     
    tmrLed.Off[0]=1.5*tmrLed.On[0];                       1.5*50 = 75мсек       Период =75+50 = 125мсек = 8Гц   
    //50%
    tmrLed.On[1]=interval;                                       100   
    tmrLed.Off[1]=interval;                                       100   Период = 100+100 = 200мсек = 5Гц
    //75%
    tmrLed.Off[2]=int(interval/2);                              100/2 = 50
    tmrLed.On[2]=1.5*tmrLed.Off[2];                        1.5*50 = 75мсек    Период =75+50 = 125мсек = 8Гц 

Получается при гармонизации моргает с частотой 5Гц только 1/3 времени?

+1

219

Попробовал еще раз полчаса назад , все загрузилось, лед светодиод на плате  мигает . Надо теперь в железе проверить или осциллом посмотреть.
Почему то светодиод на плате мигает с разной частотой.Сначала похоже на 5гц , потом чаще начинает мигать,потом опять возвращается к 5гц.
По идее частота не должна меняться , а только яркость должна увеличиваться и уменьшаться.
Я себе уже недавно сделал генератор на 80гц и шим меняется от 0 до 100 процентов,частота 80гц не меняется.Посмотрю что здесь получилось.
Судя по предыдущему сообщению ARoot частота действительно меняется , непонятно почему.А если я поставлю частоту 80гц в этот скетч, которая определена как резонансная для точки Е36 , то она тоже будет меняться?В чем тогда смысл резонансной частоты?

Отредактировано vik55 (20.09.2019 14:40)

+3

220

Да, есть такой косяк.. :unsure:  Вот что бывает, когда впопыхах выдираешь кусок кода и на коленке его рихтуешь!  :whistle:

Вот немного подправил, частота должна оставаться прежней, меняется только скважность:

Код:
/* Visual Acupuncture IR-Led
Генератор мигания LED  с заданным интервалом
Version 4.1 28/04/2018
*/

//Библиотека использует работу с аппаратными таймерами
#include <Metro.h> //Include Metro library
//МАССИВ С ЧАСТОТАМИ ДЛЯ ТОЧЕК
const int ledPin =  13;   // номера выхода, подключенный к генератору
int ledState = LOW;
//Количество миллисекунд прошло...
unsigned long currentMillis = 0;
// храним время последнего переключения светодиода между режимами
long previousMillis = 0;        
// интервал между включение/выключением светодиода (0.5 секунды) - 1 HZ
long interval = 500;
// some variables to use in our program
float curFreq=0; //Текущая частота
// Создаем объекты metro и устанавливаем интервал в 500 ms (0.5sec).
int intW=0;//Индексы мощности
Metro ledMetro= Metro(500);
struct s_tmrLed {
  int On[3];
  int Off[3];
};
s_tmrLed tmrLed;//Набор 3 уровней мощности для ИК-прожекторов
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// This code block is only needed to support multiple
// MCU architectures in a single sketch.
#if defined(__AVR__)
	#define imagedatatype  unsigned int
#elif defined(__PIC32MX__)
	#define imagedatatype  unsigned short
#elif defined(__arm__)
	#define imagedatatype  unsigned short
#endif
// End of multi-architecture block
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


void setup()
{
  // задаем режим выхода для порта, подключенного к светодиоду
    pinMode(ledPin, OUTPUT);      
    ledState =LOW;
    curFreq=5.0;//Задаем, например, частоту генерации в 5.0 Гц (Здесь можно выставить значение нужной частоты)

  //Получен половинный интервал от частоты
  interval=500/curFreq; 
  //Получаем длительности периодов для PWM
    //25%
    tmrLed.On[0]=int(interval/2);           
    tmrLed.Off[0]=2*interval-tmrLed.On[0];  
    //50%
    tmrLed.On[1]=interval;                  
    tmrLed.Off[1]=interval;                 
    //75%
    tmrLed.Off[2]=tmrLed.On[0];
    tmrLed.On[2]=tmrLed.Off[0];

}
 
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

void loop()
{ 
 //Моргаем светодиодами или не моргаем...
  currentMillis = millis();
 //-------------------------------------------------------------------------------------------------
      if (ledMetro.check() == 1) { // check if the metro has passed its interval .
        if (ledState==HIGH)  { 
          ledState=LOW;
          ledMetro.interval(tmrLed.Off[intW]); // if the pin is HIGH, set the interval to 0.25 seconds.
        } 
        else {
          ledMetro.interval(tmrLed.On[intW]); // if the pin is LOW, set the interval to 1 second.
          ledState=HIGH;
        }
        digitalWrite(ledPin, ledState);
      }//EndIF ledMetro

     //HRM
     if(currentMillis - previousMillis >= 3000){
        previousMillis=currentMillis; intW++; if (intW>2) intW=0;}
}
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

+6

221

#p163844,sn_nn написал(а):

Да, есть такой косяк.. :unsure:  Вот что бывает, когда впопыхах выдираешь кусок кода и на коленке его рихтуешь!  :whistle:

Вот немного подправил, частота должна оставаться прежней, меняется только скважность:

Код:
/* Visual Acupuncture IR-Led
Генератор мигания LED  с заданным интервалом
Version 4.1 28/04/2018
*/

//Библиотека использует работу с аппаратными таймерами
#include <Metro.h> //Include Metro library
//МАССИВ С ЧАСТОТАМИ ДЛЯ ТОЧЕК
const int ledPin =  13;   // номера выхода, подключенный к генератору
int ledState = LOW;
//Количество миллисекунд прошло...
unsigned long currentMillis = 0;
// храним время последнего переключения светодиода между режимами
long previousMillis = 0;        
// интервал между включение/выключением светодиода (0.5 секунды) - 1 HZ
long interval = 500;
// some variables to use in our program
float curFreq=0; //Текущая частота
// Создаем объекты metro и устанавливаем интервал в 500 ms (0.5sec).
int intW=0;//Индексы мощности
Metro ledMetro= Metro(500);
struct s_tmrLed {
  int On[3];
  int Off[3];
};
s_tmrLed tmrLed;//Набор 3 уровней мощности для ИК-прожекторов
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// This code block is only needed to support multiple
// MCU architectures in a single sketch.
#if defined(__AVR__)
	#define imagedatatype  unsigned int
#elif defined(__PIC32MX__)
	#define imagedatatype  unsigned short
#elif defined(__arm__)
	#define imagedatatype  unsigned short
#endif
// End of multi-architecture block
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


void setup()
{
  // задаем режим выхода для порта, подключенного к светодиоду
    pinMode(ledPin, OUTPUT);      
    ledState =LOW;
    curFreq=5.0;//Задаем, например, частоту генерации в 5.0 Гц (Здесь можно выставить значение нужной частоты)

  //Получен половинный интервал от частоты
  interval=500/curFreq; 
  //Получаем длительности периодов для PWM
    //25%
    tmrLed.On[0]=int(interval/2);           
    tmrLed.Off[0]=2*interval-tmrLed.On[0];  
    //50%
    tmrLed.On[1]=interval;                  
    tmrLed.Off[1]=interval;                 
    //75%
    tmrLed.Off[2]=tmrLed.On[0];
    tmrLed.On[2]=tmrLed.Off[0];

}
 
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

void loop()
{ 
 //Моргаем светодиодами или не моргаем...
  currentMillis = millis();
 //-------------------------------------------------------------------------------------------------
      if (ledMetro.check() == 1) { // check if the metro has passed its interval .
        if (ledState==HIGH)  { 
          ledState=LOW;
          ledMetro.interval(tmrLed.Off[intW]); // if the pin is HIGH, set the interval to 0.25 seconds.
        } 
        else {
          ledMetro.interval(tmrLed.On[intW]); // if the pin is LOW, set the interval to 1 second.
          ledState=HIGH;
        }
        digitalWrite(ledPin, ledState);
      }//EndIF ledMetro

     //HRM
     if(currentMillis - previousMillis >= 3000){
        previousMillis=currentMillis; intW++; if (intW>2) intW=0;}
}
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

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

Отредактировано ARoot (21.09.2019 20:34)

+4

222

#p163852,ARoot написал(а):

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

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

+5

223

ГУФ ARoot нашел в коде еще пару опечаток, из-за которых на некоторых режимах могла сбиваться частота в результате округлений значений до целого... Так что еще пара мелких исправлений:  :dontknow:

Код:
/* Visual Acupuncture IR-Led
Генератор мигания LED  с заданным интервалом
Version 4.1 28/04/2018
*/

//Библиотека использует работу с аппаратными таймерами
#include <Metro.h> //Include Metro library
//МАССИВ С ЧАСТОТАМИ ДЛЯ ТОЧЕК
const int ledPin =  13;   // номера выхода, подключенный к генератору
int ledState = LOW;
//Количество миллисекунд прошло...
unsigned long currentMillis = 0;
// храним время последнего переключения светодиода между режимами
long previousMillis = 0;        
// интервал между включение/выключением светодиода (0.5 секунды) - 1 HZ
long interval = 500;
// some variables to use in our program
float curFreq=0; //Текущая частота
// Создаем объекты metro и устанавливаем интервал в 500 ms (0.5sec).
int intW=0;//Индексы мощности
Metro ledMetro= Metro(500);
struct s_tmrLed {
  float On[3];
  float Off[3];
};
s_tmrLed tmrLed;//Набор 3 уровней мощности для ИК-прожекторов
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// This code block is only needed to support multiple
// MCU architectures in a single sketch.
#if defined(__AVR__)
	#define imagedatatype  unsigned int
#elif defined(__PIC32MX__)
	#define imagedatatype  unsigned short
#elif defined(__arm__)
	#define imagedatatype  unsigned short
#endif
// End of multi-architecture block
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


void setup()
{
  // задаем режим выхода для порта, подключенного к светодиоду
    pinMode(ledPin, OUTPUT);      
    ledState =LOW;
    curFreq=5.0;//Задаем частоту генерации (Здесь можно выставить значение нужной частоты)

  //Получен половинный интервал от частоты
  interval=500/curFreq; 
  //Получаем длительности периодов для PWM
    //25%
    tmrLed.On[0]=interval/2;           
    tmrLed.Off[0]=2*interval-tmrLed.On[0];  
    //50%
    tmrLed.On[1]=interval;                  
    tmrLed.Off[1]=interval;                 
    //75%
    tmrLed.Off[2]=tmrLed.On[0];
    tmrLed.On[2]=tmrLed.Off[0];

}
 
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

void loop()
{ 
 //Моргаем светодиодами или не моргаем...
  currentMillis = millis();
 //-------------------------------------------------------------------------------------------------
      if (ledMetro.check() == 1) { // check if the metro has passed its interval .
        if (ledState==HIGH)  { 
          ledState=LOW;
          ledMetro.interval(tmrLed.Off[intW]); // if the pin is HIGH, set the interval to 0.25 seconds.
        } 
        else {
          ledMetro.interval(tmrLed.On[intW]); // if the pin is LOW, set the interval to 1 second.
          ledState=HIGH;
        }
        digitalWrite(ledPin, ledState);
      }//EndIF ledMetro

     //HRM
     if(currentMillis - previousMillis >= 3000){
        previousMillis=currentMillis; intW++; if (intW>2) intW=0;}
}

Просим уважаемого ГУФа проверить на симуляторе точность генерации...  :yep:

Отредактировано sn_nn (22.09.2019 07:30)

+3

224

#p163856,sn_nn написал(а):

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

Добрый день!
Чтобы получить такую погрешность нужно применять сложение в аккумуляторе бегущей фазы я синтезировал в своих приборах математическую погрешность до 0,001Гц.

0

225

#p163862,sn_nn написал(а):

ГУФ ARoot нашел в коде еще пару опечаток, из-за которых на некоторых режимах могла сбиваться частота в результате округлений значений до целого... Так что еще пара мелких исправлений:  :dontknow:

Код:
/* Visual Acupuncture IR-Led
Генератор мигания LED  с заданным интервалом
Version 4.1 28/04/2018
*/

//Библиотека использует работу с аппаратными таймерами
#include <Metro.h> //Include Metro library
//МАССИВ С ЧАСТОТАМИ ДЛЯ ТОЧЕК
const int ledPin =  13;   // номера выхода, подключенный к генератору
int ledState = LOW;
//Количество миллисекунд прошло...
unsigned long currentMillis = 0;
// храним время последнего переключения светодиода между режимами
long previousMillis = 0;        
// интервал между включение/выключением светодиода (0.5 секунды) - 1 HZ
long interval = 500;
// some variables to use in our program
float curFreq=0; //Текущая частота
// Создаем объекты metro и устанавливаем интервал в 500 ms (0.5sec).
int intW=0;//Индексы мощности
Metro ledMetro= Metro(500);
struct s_tmrLed {
  float On[3];
  float Off[3];
};
s_tmrLed tmrLed;//Набор 3 уровней мощности для ИК-прожекторов
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// This code block is only needed to support multiple
// MCU architectures in a single sketch.
#if defined(__AVR__)
	#define imagedatatype  unsigned int
#elif defined(__PIC32MX__)
	#define imagedatatype  unsigned short
#elif defined(__arm__)
	#define imagedatatype  unsigned short
#endif
// End of multi-architecture block
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


void setup()
{
  // задаем режим выхода для порта, подключенного к светодиоду
    pinMode(ledPin, OUTPUT);      
    ledState =LOW;
    curFreq=5.0;//Задаем частоту генерации (Здесь можно выставить значение нужной частоты)

  //Получен половинный интервал от частоты
  interval=500/curFreq; 
  //Получаем длительности периодов для PWM
    //25%
    tmrLed.On[0]=interval/2;           
    tmrLed.Off[0]=2*interval-tmrLed.On[0];  
    //50%
    tmrLed.On[1]=interval;                  
    tmrLed.Off[1]=interval;                 
    //75%
    tmrLed.Off[2]=tmrLed.On[0];
    tmrLed.On[2]=tmrLed.Off[0];

}
 
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

void loop()
{ 
 //Моргаем светодиодами или не моргаем...
  currentMillis = millis();
 //-------------------------------------------------------------------------------------------------
      if (ledMetro.check() == 1) { // check if the metro has passed its interval .
        if (ledState==HIGH)  { 
          ledState=LOW;
          ledMetro.interval(tmrLed.Off[intW]); // if the pin is HIGH, set the interval to 0.25 seconds.
        } 
        else {
          ledMetro.interval(tmrLed.On[intW]); // if the pin is LOW, set the interval to 1 second.
          ledState=HIGH;
        }
        digitalWrite(ledPin, ledState);
      }//EndIF ledMetro

     //HRM
     if(currentMillis - previousMillis >= 3000){
        previousMillis=currentMillis; intW++; if (intW>2) intW=0;}
}

Просим уважаемого ГУФа проверить на симуляторе точность генерации...  :yep:

Так там в симуляторе проверять было нечего, Вы опечатку(long interval = 500;) не исправили. Если поправить, то вроде ок. В симуляторе десятые и сотые не проверишь.

Поскольку много опечаток, в своем рабочем генераторе, Вы наверное другой метод формирования несущей используете?

Отредактировано ARoot (22.09.2019 12:59)

0

226

#p163864,Vlads написал(а):
#p163856,sn_nn написал(а):

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

Добрый день!
Чтобы получить такую погрешность нужно применять сложение в аккумуляторе бегущей фазы я синтезировал в своих приборах математическую погрешность до 0,001Гц.

Подскажите, а возможностей аппаратного 16 битного таймера разве не хватит, для такой погрешности в несколько сотых герца на частотах до 100Гц ? Ваш метод очень точен, видел в теме дэты, но Вы то писали на ассемблере, а это не каждый сможет.

0

227

#p163871,ARoot написал(а):

Подскажите, а возможностей аппаратного 16 битного таймера разве не хватит, для такой погрешности в несколько сотых герца на частотах до 100Гц ? Ваш метод очень точен, видел в теме дэты, но Вы то писали на ассемблере, а это не каждый сможет.

У меня реализовано на 8-битном таймере. Там дело не в разрядности таймера.Тут реально проще реализовать эту процедуру на ассемблере.

0

228

#p163869,ARoot написал(а):

Так там в симуляторе проверять было нечего, Вы опечатку(long interval = 500;) не исправили. Если поправить, то вроде ок. В симуляторе десятые и сотые не проверишь.

Так что должно быть вместо того что в скобках., что за опечатка?Я в кодах не очень разбираюсь.
И еще вопрос , если мне нужна частота 80гц , просто написать ее вместо 5гц,больше ничего менять не надо?

0

229

#p163897,vik55 написал(а):
#p163869,ARoot написал(а):

Так там в симуляторе проверять было нечего, Вы опечатку(long interval = 500;) не исправили. Если поправить, то вроде ок. В симуляторе десятые и сотые не проверишь.

Так что должно быть вместо того что в скобках., что за опечатка?Я в кодах не очень разбираюсь.
И еще вопрос , если мне нужна частота 80гц , просто написать ее вместо 5гц,больше ничего менять не надо?

если поставить: float interval = 500; то работает. да на 80 поменять и все. В общем то из-за Вас и написал про ошибки, излучатель я так понял только у Вас пока и есть., подумал применять будете, а толку не будет ...

+1

230

#p163898,ARoot написал(а):

если поставить: float interval = 500; то работает. да на 80 поменять и все. В общем то из-за Вас и написал про ошибки, излучатель я так понял только у Вас пока и есть., подумал применять будете, а толку не будет ...

Спасибо Уважаемый ARoot за подсказку.!

А Излучатель у меня скромный , если  по меркам Сергея,простые ИК диоды , пока его хочу попробовать.Я уже писал здесь что сделал генератор с сигналом частотой 80гц и шим меняется от 0 до 100процентов , тоже на Ардуино нано, получается тонизирующий метод,как бы клюющий , если с сигарой сравнить.А здесь гармонизирующий метод , как Сергей сказал.Можно и его попробовать.Это все для точки Е36 я хочу применить.
Уважаемый ARoot Вы я вижу в кодах разбираетесь,я вот хотел бы об'единить в одной Ардуине 2 сигнала -тонизация и гармонизация.Сам я не смогу этого сделать.Вы не могли бы в этот код дописать еще один сигнал ШИМ  , как у меня сейчас есть -частота 80гц и шим от 0 до 100 процентов , только выход на другой пин , скажем на 11.Чтобы они одновременно работали , и я мог бы переключаться с одного на другой по необходимости , а то ардуинку перепрошивать с одного сигнала на другой  ,она может и потухнуть совсем.У меня всего одна осталась ,2 штуки уже не работают-одну коротнул а другая перестала отвечать .Или одновременно 2 шим работать не могут ,я не в курсе.

Отредактировано vik55 (22.09.2019 23:55)

0

231

vik55, похоже ввел я Вас в заблуждение что все работает, извините.
Математически все нормально, но в симуляторе все равно неправильно.
Я просто параллельно свой генератор писал, и видимо не сменил прошивку в протеусе, у меня четко показывает, то что нужно.

Посмотрел я еще раз весь этот генератор вместе с подключаемой библиотекой, sn_nn  не исправил, то что я ему писал, потому что библиотека не поддерживает дробные числа. После правки библиотеки точность увеличилась, но все равно мне не нравиться. Что там еще поправить можно,  уже не знаю, не особо большой специалист. Может автор доработает. Я переписал генератор по другому, на 16 битном таймере, по симулятору частота до целых стоит четко , но десятых  там нет, по расчетам отклонения несколько сотых. Доделаю могу Вам скинуть

Отредактировано ARoot (23.09.2019 10:35)

+2

232

#p163911,ARoot написал(а):

Я переписал генератор по другому, на 16 битном таймере, по симулятору частота до целых стоит четко , но десятых  там нет, по расчетам отклонения несколько сотых. Доделаю могу Вам скинуть

Спасибо Уважаемый ARoot.!
А в Протеус можно скетчи напрямую тоже заливать ,не только hex файлы?У меня Протеус установлен на компе.Я могу наверное проверить свой генератор на 80гц и шим от 0 до 100.?Хотя я на осцилле смотрел , частоту показывает 80гц,частотомер тоже показывает 80гц.
Я на этот генератор нашел готовую библиотеку , только частоту вставил свою и залил в Ардуину.А так самому писать программу , я не умею этого делать.

0

233

#p163911,ARoot написал(а):

Может автор доработает. Я переписал генератор по другому, на 16 битном таймере, по симулятору частота до целых стоит четко , но десятых  там нет, по расчетам отклонения несколько сотых. Доделаю могу Вам скинуть

Интересно, а автор (sn_nn), тоже на симуляторе это устройство сделал ?

#p163862,sn_nn написал(а):

Просим уважаемого ГУФа проверить на симуляторе точность генерации...  :yep:

#p163856,sn_nn написал(а):

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

И так же на симуляторе симулирует "эффект резонанса" ? И все же интересен ответ на вопрос - зачем вы все это симулируете, ГУФы ?

Симуляция акупунктурных точек с эффектом инфракрасной стимуляции...  o.O  :'(

Отредактировано Созерцающий (23.09.2019 13:01)

0

234

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

+2

235

Вот код моего генератора, в симуляторе проверил, но просьба посмотреть у кого есть частотомер. Выход генератора на 9 пине.
В мониторе порта в среде Ардуино, можно посмотреть введенную частоту и рассчитанную частоту которую удалось получить.
Реальная частота конечно будет немного отличаться. Да еще,  будет работать uno,nano, все что на 328 или на 168 атмеге. 

Часть кода по гармонизации взята у реально уважаемого мной sn_nn, приношу извинения за возможную резкость в ответах.

Код:
#include <Arduino.h>

float freq = 5.4; //Установка частоты 

uint8_t divider; //делитель частоты
unsigned long currentMillis=0;
unsigned long previousMillis=0;
uint32_t tmrLedOn[3]; //массив мощностей
byte intW=1;//Индекс мощности
uint32_t ICR,T;

void setduty(uint32_t duty) {

 // TCCR1B = 0;
  OCR1A=duty;
  ICR1 = ICR;
  TCCR1B =T;

} 

void setup() {
Serial.begin(9600);// это можно закомментировать


pinMode(9,OUTPUT);
TCCR1A=(1<<COM1A1)|(1<<COM1A0)|(1<<WGM11)|(0<<WGM10);
 if(freq>120) {exit;};
// if(duty>99.999) {exit;};
 if (freq>15.2){T=0x12; divider=16;} else {T=0x13; divider=128;};  
 ICR= (uint32_t) (F_CPU/divider/freq);
 Serial.print("input freq:");Serial.println(freq);// это можно закомментировать
 Serial.print("calc freq:");Serial.println((float)F_CPU/divider/ICR,5);// это можно закомментировать
//Получаем длительности периодов для PWM
 //25%
  tmrLedOn[0]=(uint32_t)(75)*ICR/100;   
 // Serial.print("tmrLedOn[0]:");Serial.println(tmrLedOn[0]);        
 //50%
  tmrLedOn[1]=(uint32_t)(50)*ICR/100;               
 // Serial.print("tmrLedOn[1]:");Serial.println(tmrLedOn[1]);   
 //75%
  tmrLedOn[2]=(uint32_t)(25)*ICR/100;
 // Serial.print("tmrLedOn[2]:");Serial.println(tmrLedOn[2]);
  setduty(tmrLedOn[0]);  

  
}

void loop() {
// Моргаем светодиодами или не моргаем...
  currentMillis = millis();
   if(currentMillis - previousMillis >= 3000){
        previousMillis=currentMillis; intW++; 
        if (intW>2) intW=0;
        setduty(tmrLedOn[intW]);
        }
}

Отредактировано ARoot (23.09.2019 17:46)

+3

236

#p163926,0-vr написал(а):

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

Частотомера у меня нет, это рассчитанная частота, скейч загрузите и посмотрите в мониторе порта.

0

237

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

0

238

#p163922,Созерцающий написал(а):
#p163911,ARoot написал(а):

Может автор доработает. Я переписал генератор по другому, на 16 битном таймере, по симулятору частота до целых стоит четко , но десятых  там нет, по расчетам отклонения несколько сотых. Доделаю могу Вам скинуть

Интересно, а автор (sn_nn), тоже на симуляторе это устройство сделал ?

#p163862,sn_nn написал(а):

Просим уважаемого ГУФа проверить на симуляторе точность генерации...  :yep:

#p163856,sn_nn написал(а):

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

И так же на симуляторе симулирует "эффект резонанса" ? И все же интересен ответ на вопрос - зачем вы все это симулируете, ГУФы ?

Симуляция акупунктурных точек с эффектом инфракрасной стимуляции...  o.O  :'(

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

Я лично симулирую, потому что мне так удобнее отлаживать прошивку, поскольку контроллер имеет ограниченное количество раз  на запись прошивки. И нет частотомера.

0

239

#p163899,vik55 написал(а):
#p163898,ARoot написал(а):

если поставить: float interval = 500; то работает. да на 80 поменять и все. В общем то из-за Вас и написал про ошибки, излучатель я так понял только у Вас пока и есть., подумал применять будете, а толку не будет ...

Спасибо Уважаемый ARoot за подсказку.!

А Излучатель у меня скромный , если  по меркам Сергея,простые ИК диоды , пока его хочу попробовать.Я уже писал здесь что сделал генератор с сигналом частотой 80гц и шим меняется от 0 до 100процентов , тоже на Ардуино нано, получается тонизирующий метод,как бы клюющий , если с сигарой сравнить.А здесь гармонизирующий метод , как Сергей сказал.Можно и его попробовать.Это все для точки Е36 я хочу применить.
Уважаемый ARoot Вы я вижу в кодах разбираетесь,я вот хотел бы об'единить в одной Ардуине 2 сигнала -тонизация и гармонизация.Сам я не смогу этого сделать.Вы не могли бы в этот код дописать еще один сигнал ШИМ  , как у меня сейчас есть -частота 80гц и шим от 0 до 100 процентов , только выход на другой пин , скажем на 11.Чтобы они одновременно работали , и я мог бы переключаться с одного на другой по необходимости , а то ардуинку перепрошивать с одного сигнала на другой  ,она может и потухнуть совсем.У меня всего одна осталась ,2 штуки уже не работают-одну коротнул а другая перестала отвечать .Или одновременно 2 шим работать не могут ,я не в курсе.

На той версии генератора, что  написал, не смогу сделать одновременно 2 и больше разные генерации, можно только сделать переключение, но это нужно  прикручивать к ардуино кнопки и т.д. Пока еще не сделал, но сделаю...

0

240

#p163944,0-vr написал(а):

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

Тогда это не ко мне, а к sn_nn :blush:

+2


Вы здесь » Биорезонансные технологии » Электропунктурные приборы » Прибор для стимуляции акупунктурных точек инфракрасным излучением