В интернете полно статей со схемами пуш-пулл, и даже тут, на Хабре, но люди не любят брать в руки паяльник, а уж тем более осцилограф.
Я же опишу схему, собранную на стандартных для ардуинщика модулях.
Из приборов необходим только тестер (да хоть DT-830), паяльник тоже нужен, но буквально на 6 точек — подключить сам излучатель и трансформатор.
Внимание! Статья содержит сцены насилия над электроникой и ненормативную лексику нестандартное использование компонентов,
поэтому если Вы радетель за чистоту науки — делайте классическую полумостовую схему, остальные — welcome под кат!
Итак, В чем сила, брат? сразу открою все карты — сердцем конструкции служит мостовой драйвер двигателей на L298N:
Да, я не открыл Америки, ибо на нем собран ультразвуковой левитатор, да и код Ардуино взят оттуда же.
Просто в данной конструкции выходы запараллелены и микросхема работает практически на пределе, у меня потребление при 20В составило 3 ампера, при четырех максимальных.
Суть же как раз в том, что схема может питать излучатель Лажевена мощностью 50-60Вт с частотой до 40кГц, и это просто!
Минус тоже есть — если что-то пойдет не так (пропадание контакта одной из сигнальных линий А0-А3), микросхема сгорит, может даже с фейерверком ;-)
Поэтому данные проводники лучше запаять, или по крайней мере использовать новые разъемные "дюпонты".
Итак, для сборки конструкции нам понадобятся следующие основные компоненты:
Начиная от уже знакомого нам коммутатора по часовой стрелке:
- Ультразвуковой излучатель 50-60W 28/40кГц
- Импульсный трансформатор от старого компьютерного блока питания
- Step-UP преобразователь мощностью от 100/150 Ватт
- Ардуино — по вкусу — любой на Atmega328P — Uno, Pro mini, Nano и т.д., я взял последнее просто потому, что оно было под рукой ;-)
По поводу трансформаторов — в качестве донора подойдет любой старый БП от компьютера:
Как видите, со своим я не церемонился — просто поломал печатную плату, чтобы было удобней обкусывать выводы бокорезами (ибо выпаивать без термофена неудобно).
Да, на плате обычно присутствует несколько трансформаторов, следует выбрать самый крупный.
Встречаются и трансформаторы-девочки, потому как с косичкой ;-)
В любом случае, ультразвуковой излучатель подключают к крайним выводам по стороне где 2(3) контакта, остальные следует искать, но об этом позже.
Да, еще нам потребуется вентилятор для охлаждения радиатора драйвера двигателей (из того же блока питания), и опционально вольт-амперметр:
На самом деле достаточно амперметра, включенного между преобразователем step-up и платой L298N.
Зачем? Да просто чтобы оценивать потребляемый схемой ток (чтобы не сгорела), а заодно настраивать частоту резонанса.
Последняя может "гулять" +-500Гц в зависимости от условий работы излучателя.
Схема подключений у нас следующая:
Обращаю внимание, что на плате драйвера двигателей следует снять перемычку над контактами питания (5VEN), иначе микросхема сгорит.
Выводы на двигателиультразвуковую головку (справа и слева соединяются перекрестно) — один выход не вытягивает по мощности.
Соответственно, задействуются все четыре управляющих входа коммутатора, откуда и вытекает возможность короткого замыкания, о которой писал вначале.
Вообще-то эту операцию следует выполнять после холостого прогона с прошитым контроллером, убедившись тестером(на пределе ~200V) что между соединяемыми точками нулевой потенциал.
До сборки схемы на преобразователе step-up выставляется минимальное напряжение (при питающем 12В, на выходе для начала делаем не более 14В)
Излучатель и вентилятор пока не подключаем, сначала нужно найти "правильные" обмотки трансформатора.
Для этого в Ардуино загружаем нижеследующий скетч:
byte TP = 0b10101010; // Every other port receives the inverted signal
void setup() {
DDRC = 0b11111111; // Set all analog ports to be outputs
// Initialize Timer1
noInterrupts(); // Disable interrupts
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 0;
//OCR1A = 200; // Set compare register (16MHz / 200 = 80kHz square wave -> 40kHz full wave)
OCR1A = 285; // Set compare register (16MHz / 285 = 56kHz square wave -> 28kHz full wave)
TCCR1B |= (1 << WGM12); // CTC mode
TCCR1B |= (1 << CS10); // Set prescaler to 1 ==> no prescaling
TIMSK1 |= (1 << OCIE1A); // Enable compare timer interrupt
interrupts(); // Enable interrupts
}
ISR(TIMER1_COMPA_vect) {
PORTC = TP; // Send the value of TP to the outputs
TP = ~TP; // Invert TP for the next run
}
void loop() {
// Nothing left to do here :)
}
Я в нем добавил одну лишь строку "OCR1A = 285;" для излучателя в 28кГц, подбор частоты — не более +-15 к указанной величине.
Все, можно включать схему(без головки) и приступить к поиску правильной обмотки:
Косичка — общий, остальные (по стороне где много выводов) — перебором — следим, чтобы радиатор коммутатора не грелся(иначе обмотка — не та) и напряжение на выходе(там, где 2/3 вывода — между крайними) было минимальным (у меня ~36В)
Теперь, обесточив схему, подключаем ультразвуковой излучатель, амперметр между преобразователем напряжения и коммутатором, вентилятор.
Излучатель для настройки ставим в ванночку с водой так, чтобы черные "шайбы" были сухими.
Включив питание, подбором коэфициента OCR1A добиваемся максимального тока потребления — это и будет резонанс ультразвуковой головки.
Мощность регулируется изменением напряжения преобразователя step-up (коммутатор поддерживает до 48 Вольт).
Все, схема настроена, можно строить ультразвуковую ванну.
Ее описание приводить не буду, ибо боян, скажу лишь, что система и фольгу растворяет, и болты чистит:
Да, разница лишь в том, что я к дну емкости излучатель не клеил, а прикрутил болтом с гайкой — резьба в головке нестандартная М10х1.
Болт подошел от крепления шаровой автомобиля "Таврия", кстати с ним частота резонанса поднялась с 27500Гц до положенных 28000.
И еще, на самой головке во время резонанса напряжение составляет киловольты, поэтому следует соблюдать правила техники безопасности.
Клей не использовал по одной простой причине — во второй части расскажу о более интересных профессиях ультразвука, чем "стирать белье".
UPD!
По просьбам читателей, привожу фотографии своей "ультразвуковой ванны", собранной буквально из говна и палок канализационной заглушки и болта от Таврии ;-)
Заглушка для труб диаметром 110мм, это раз:
Крепление сделано тем самым болтом с шайбой, диаметром не менее, чем диаметр верхней части излучателя(50мм против 45), это два:
И наконец, конструкция в сборе, это три:
Да, это не столь эстетично, как скажем у HamsterTime,
зато поставив сверху отрезок пластиковой сливной трубы с уплотнителем, я смогу почистить ствол своего дробовика совершенно без усилий,
да и на излучатель у меня еще планы — собрать ультразвуковой резак, в стиле вот такого:
Ну а ультразвуковая медогонка(ради которой и городил всю затею) пока не получилась.
Удачных Вам самоделок!
С уважением, Андрей