Электростимулятор на Ардуино

Lma
Offline
Зарегистрирован: 28.01.2016

Помогите оценить сложность проблемы. Предполагаю собрать схему Ардуино+усилитель. На выходе надо создавать ток до 100 мА на нагрузке до 1 кОм со стабилизацией по току и возможностью ступенчато регулировать выходной ток.

Блок-схема устройства представляется следующим образом:

1) На Ардуино 

а) Генератор несущей частоты 0,1Гц-5кГц

б) Модулятор, для обеспечения длительности посылки 0,1с-12с, паузы 0-20с

2) Усилитель

а) Каскад для искажения прямоугольного сигнала (преобразование в трапецию, пилообразный сигнал)

б) Каскад усиления

в) Генератор тока

3) Блок индикации и защиты



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



Нужны стимулирующие сигналы в виде как одиночного импульса, так и пачки импульсов, на частотах от 0,1Гц до 5 000Гц (период импульса: от 10с до 0,0002с = 0,2мс, 200мкс). Длина импульса от 300мс до 5мкс. Пачки импульсов длительностью от 0,1с до 12с, паузы до 20с, при регулируемой частоте несущей частоты (импульсов заполнения).



На выходе усилителя необходим ток до 100мА на нагрузке 1кОм. Следовательно, на выходе усилителя необходимо напряжение до 100В и мощность до 10Вт с защитой от короткого замыкания.



Изменение сигнала, как и индикация, предполагается в разных диапазонах, дискретно. Индикация на светодиодных линейках из 10 светодиодов, 5 диапазонов для несущей частоты: 

0,1–1Гц (0,1; 0,2; 0,3; .... 0,9; 1,0)

1–10Гц (1,2,3,4,5,6,7,8,9,10)

10–100Гц

100Гц–1000Гц

1000–10 000Гц



Посылка от 0,1 до 12с также в десяти вариантах



Пауза от 0 до 20с, десять градаций



Ток 0-100мА, с точностью 1мА, цифровой индикация 0-99мА



К сожалению, пока что нашёл в Ардуино функцию, которая позволяет осуществить генерацию выше, чем 500Гц (посылка 1мс и пауза 1мс, всего 2мс период, частота 500Гц), функция delay(1). Можно ли получить более высокую частоту? Как реализовать на одном процессоре Ардуино независимые генератор и управление генератором тока (амплитуда и включение/выключение)? При этом сигнал генератора усиливать сразу, а модулятором просто включать/выключать усилитель? Ещё было бы просто выключать генератор для работы в низкочастотном диапазоне. Это существенно бы всё упростило, как мне кажется. Можно программно проверять, чтобы посылка была длиннее генерируемого импульса. Ещё очень важна защита на выходе: если установлено 10мА, к примеру, там не должно появиться больше ни при каких условиях.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Lma, генерить частоту от 0,1 до 5000 Герц на таймере не сложно,  как раз нижняя частота у 16-битного 0,12 Герца. но для производства пачек импульсов потребуется ещё один таймер для счёта времени и управления выходом первого  таймера. И оба их нужно увязать в одно целое решение, прикрутить какой-то интерфейс для управления.. вот так по мелочи , да набегает вполне серьёзная работа, требующая хороших навыков программирования. Конечно  можно ещё попробовать на ардуиновских  функциях millis() и micros(),  но точность и чёткость сигналов будет хуже, а кода скорее всего в разы больше получится, в результате и путаницы больше. Вобщем непростое дело вы затеяли.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Я давно заморочился похожими темами.

Программная часть это вобщем решаемо и несложно. Самое сложное было написать интерфейс настроек для заказчика.

Есть коробочка для лазерной акупунктуры с резистивным поиском активной точки в постоянном и импульсном режимах, генерирующая частоты и пачки от 1 гц до 100 кГц , как с плавной произвольной регулировкой, так и с выбором готовых комбинаций из базы. Лазером управлять приятно и легко. Мосфет и бинго.

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

Пока так и не сподобился, хотя наработки есть. 

В готовых приборах треугольник и трапеция весьма условны. Идут сильные выбросы. В основном прямоугольник. 

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

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

Lma
Offline
Зарегистрирован: 28.01.2016

Спасибо!

Т.е. в принципе, задача решаема на Ардуино. 

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

В принципе, если хоть какой-то простенький коммутатор из тиристора будет управлять с этой частотой выходом питания, прикрутить реостат на 20Вт, и дело в шляпе, действующая модель!

Lma
Offline
Зарегистрирован: 28.01.2016

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

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

Увеличивать амплитуду через трансформатор раньше, совсем давно, пробовал. Там были и другие "косяки" в конструкции, забросил потом. Сейчас, по прошествии времени, вижу минусы в том, что:

1) возможны скачки напряжения от каких-либо переходных процессов, посторонних наводок;

2) при регулировке по напряжению ток может нарастать, так как в процессе электростимуляции живого человека сопротивление цепи меняется, падает.  

Насколько импульсно-волновое что-то сделать, не представляю. Вероятно, имеется в виду ультразвук? Тогда процедура называется фонофорезом. Что же касается электрофореза, то это же совсем просто - постоянный ток, и всё?

inspiritus
Offline
Зарегистрирован: 17.12.2012

Нуу электрофорез бывает тоже импульный и модулированный

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

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

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

и еще раз: решаема на ардуино, самое сложное тут - аналоговая часть и пользовательский интерфейс.

Lma
Offline
Зарегистрирован: 28.01.2016

Добрый день всем!

Только что сделал схему управления от Ардуино 12V питанием с помощью тиристора. Буду рад, если профессионалы меня поправят. Стояла задача коммутировать напряжение до 100V с током нагрузки до 100мА. На митинском радиорынке мне предложили тиристор MCR100-8 (32 рубля). Управляющий электрод я подсоединил напрямую к цифровому выводу микросхемы (ещё сомневался, надо ли туда резистор, пробовал по-разному), через тиристор пропустил ток от отдельного источника 12V и испытал схему. Управляющий сигнал был от программки-образца blink, там я поменял длительность импульса на 100мс (мне надо так), на нагрузке тиристора были 1) светодиод последовательно с сопротивлением 0,5кОм; 2) электроды электростимуляции (по постоянному току сопротивление оказалось около 1кОм. Минус Ардуино и дополнительного источника на 12V соединил проводом. Вуаля. Стимулирующий сигнал слабенький, но есть. Подобрал электроды, их сопротивление по постоянному току оказалось около 10кОм. Стало быть, ток где-то 1,2мА. Импульсы вполне чувствуются. 

Вопрос вот в чём: где подвох? Мне предлагали решение за 50 тыр. Но реально оно состоит из тиристора за 32 рубля и источника постоянного тока. Правильно ли я использую тиристор? Будет ли это всё работать на напряжении 100V и токе до 100мА? 

P.S. Вероятно, ток стимуляции был всё же ниже удерживающего тока, поэтому и были импульсы в нагрузке? Но ток был явно выше 1мА, удерживающий же ток для этого тиристора 0,6мА. Не пойму, почему это работает.

Buldakov
Offline
Зарегистрирован: 17.01.2016

Lma пишет:

На выходе надо создавать ток до 100 мА на нагрузке до 1 кОм со стабилизацией по току и возможностью ступенчато регулировать выходной ток.

В качестве выхода можно использовать преобразователь напряжение в ток. рис 4.18 стр 76 книги "Аналоговая электроника на операционных усилителях Пейтон 1994 г." При этом операционный усилитель А2 можно выкинуть. А1 можно использовать например TDA2030.

Lma
Offline
Зарегистрирован: 28.01.2016

Спасибо!

То, что надо. Скачал книжку и даташит по микросхеме. Похоже, это будет мне по силам. Да ещё вот здесь http://cxem.net/sound/amps/amp136.php посмотрел варианты. Единственное, что смущает: на нагрузке нужен однополярный прямоугольный импульс. Если я правильно понимаю, с двухполярным питанием 15В (максимум 18) больше 15-17в не получится? Поэтому на нагрузке 1кОм ток, соответственно, не будет выше 17мА? Как быть? TDA2050 держит до 25В - наверное, её можно поюзать. 

Первым этапом я хотел собрать простой выпрямитель, ток ограничивать мощным переменным резистором на 25Вт, а переключать ток полевым транзистором IRF640. Уже и прикупил трансформатор подходящий, TA11-220-50, у него четыре вторичных обмотки на 28В. Ещё подумал, сил накоплю, что-то надо думать про стабилизированный электроникой выход. Может быть, по той же схеме допустимо включать TDA2008, TDA2009? Они как раз на 28В. Единственное, меня смущал переменный резистор на входе. Если от него в схеме будут шумы, это будет отражаться на выходном токе - эти всплески тока могут быть болезненны. 

Buldakov
Offline
Зарегистрирован: 17.01.2016

Просьба отписать какое вам надо напряжение на выходе?(типа для 100 ма и 1 ком вам надо 100 в максимального).

Давайте посмотрим сначала самый простой вариант. Журнал "В помощь радиолюбителю выпуск 104" стр 64 схема  на рис 3. Питание двухполярное только для операционного усилителя. он может быть низковольтным и маломошным (например к140уд7 или TL081)  а все напряжение прикладывается к транзистору VT1 (по схеме рис 3) он должен быть npn на напряжение больше 100 в. и на ток больше 1 а. Корпус ТО-220 или больше. Берем Uвх максимальное 2.5 в тогда R1 = 25 ом.  мощностью не меньше 1 вт. Чем ниже это напряжение - тем выше КПД, но меньше точность задания. И совет не использовать в качестве задания напряжения ШИМ - будет много проблем. потом это фильтровать. Проще сделать ЦАП типа R-2R.

А по поводу шумов на входе это правда. Чем ниже сопротивление на входе - тем оно меньше шумит. Примерно резистор в 10 ком шумит на 1 мкв.

 

Lma
Offline
Зарегистрирован: 28.01.2016

Спасибо, легко нашёл и этот журнал. Очень хороший материал для меня. На выходе надо 100мА на нагрузке 1кОм. Минимально целесообразно 60мА на нагрузке 100кОм. Следовательно, если делать универсальное устройство, надо 100В на выходе. Мощность, соответственно, 10Вт, с запасом можно считать, что 20Вт.  

По транзисторам понял. Видимо, это типа КТ8121 или даже КТ712 (смущает коэффициент усиления 1000 из справочника). 
Начну паять завтра питание, а там и транзисторы с усилителем прикуплю. 

Спасибо, очень ценная помощь!

Lma
Offline
Зарегистрирован: 28.01.2016

P.S. Вначале была мысль сделать универсальное устройство. Сейчас пришёл к мысли реализовать такие режимы. Исключительно прямоугольные однополярные импульсы. Варианты запуска: 

1) ручной пуск/пауза одиночного импульса 1, 5, 10, 50, 100мс;

2) ручной запуск пачки импульсов 10мс 50Гц в трёх вариантах (100мс, 1с, 2с);

3) пачки 10мс 50Гц в трёх вариантах (100мс, 1с, 2с) с паузой, 6, 10 и 12 циклов в минуту.

Buldakov
Offline
Зарегистрирован: 17.01.2016

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

http://www.platan.ru/cgi-bin/qwery.pl/id=128421888

http://www.platan.ru/cgi-bin/qwery.pl/id=65370647

 

Lma
Offline
Зарегистрирован: 28.01.2016

Спасибо!

Да, нашлёпала страна радиодеталей. На митинском рынке огромный выбор, ещё из СССР. 

5077073
Offline
Зарегистрирован: 16.01.2016

Заинтересовала идея, послежу! Насколько я понимаю речь идет о TENS (чрескожная электронейростимуляция)? Вопрос - почему выход сделан однополярным? Ведь переменка менее болезненна и нет таких жестких требований к электродам ввиду отсутствия фореза.

Buldakov
Offline
Зарегистрирован: 17.01.2016

Маленький вопрос.

Зачем делать так сложно если можно просто.

Что в итоге от прибора вы хотите получить?

Если прибор лечить себя и знакомых могу порекомендовать простую схемку. Разрабатывал сам.

http://biorezonans.3bb.ru/viewtopic.php?id=594

Данная схема прекрасно лечит радикулит и подобные заболевания. Достаточно 2 -3 сеансов по 2 часа. и радикулит на год проходит. Испытывал лично на себе. Идея прибора простая. Генерируются прямоугольные импульсы разной полярности. Длительность импульсов зависит от сопротивления. Чем R ниже - тем больше длительность и ниже частота. Максимальный ток воздействия 10 мкА.

Lma
Offline
Зарегистрирован: 28.01.2016

5077073 пишет:
Заинтересовала идея, послежу! Насколько я понимаю речь идет о TENS (чрескожная электронейростимуляция)? Вопрос - почему выход сделан однополярным? Ведь переменка менее болезненна и нет таких жестких требований к электродам ввиду отсутствия фореза.
Добрый день!

Имеется определённая терминологическая путанница в этом вопросе, но в данной ситуации, скорее всего, нельзя называть TENS. Всё же, режим TENS это прежде всего обезболивание - как правило, довольно высокочастотные токи, ширина импульса небольшая. Если речь идёт о здоровых людях, то такой прибор сможет не только обезболивать, но даже и сокращать мышцы. Импульсный сигнал шириной до 200мкс довольно хорошо усиливается компактными схемами. Мало того, такой стимулятор TENS довольно просто реализуется на блокинг-генераторах. И приборчик со стимулирующими токами до 90 мА становится вполне себе компактным. И они есть в продаже по цене от 2,5 тыс. рублей. Совсем неплохой, на два канала, можно купить за 7-10 тыр. - вообще бы не стал заморачиваться с изготовлением.

Lma
Offline
Зарегистрирован: 28.01.2016

Buldakov пишет:
Зачем делать так сложно если можно просто. Что в итоге от прибора вы хотите получить? ... Данная схема прекрасно лечит радикулит ...  Максимальный ток воздействия 10 мкА.
Прибор с подобными характеристиками для обезболивания у меня есть. Купил за 3,5 тыр., немецкий, и мне точно лучше не сделать. Но приборов с выходными током до 100мА на нагрузке 1кОм, прямоугольным импульсом 100мс, сейчас практически не встречается в природе. Те модели, которые можно получить под заказ, стоят всяко больше 100 тыр. Но даже купив такой прибор, встанет задача, как им управлять - там же всё закрыто от "конечного пользователя". К тому же, мне надо было немножко поэкспериментировать на эту тему, в т.ч. и на себе. 

В итоге, получилось довольно просто, хотя и громоздко. Взят трансформатор ТА11-220-50, там есть 28В на 4 обмотках. Сделан двухполупериодный выпрямитель, на выходе делитель напряжения из двух проволочных резисторов на 25Вт (поставил два, чтобы было "точно" - "грубо", сделал не последовательно с нагрузкой, а нагрузку включаю от ползунка - прикинул, что так безопаснее, т.к. выпрямитель всегда под нагрузкой, меньше будут скачки тока, может быть и ошибаюсь в этом).

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

Если всё это понравится в работе, скорее всего, прикуплю лабораторный блок питания со стабилизацией по току - видел такие в магазине от 8 тыр. Вот этот нравится, но он одноканальный, к сожалению. Б5-49, Блок питания дискретный, 0-100V-1A. А вдруг будет надо второй канал? Есть и такой вариант со стабилизацией по току АКИП-1103, Источник питания, 0-60V-1.6A, 2xLCD (Госреестр). Либо, в конечном итоге, плюну на это дело, и соберу простенький стабилизатор напряжения, хотя это будет не сильно правильно - при стимуляции, проводящие свойства кожи улучшаются, и ток будет возрастать в процессе процедуры. По-хорошему, нужен всё же хоть простенький, но стабилизатор тока. И с запасом: до 100мА.