Список разделов Flyback.org.ru » Двухтактные транзисторные преобразователи » Push-pull - Arduino
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

pinguin
 


Offtopic:
Наверное имелась ввиду не та убогая схемка на трёх деталях , а сам принцип переключения ключей. Zero voltage switching - переключение в нуле напряжения.


Добавлено: Tue Jul 02, 2013 10:08 pm
Ответить с цитатой

реношник
 


VasilijHCN писал(а):
Подсуажи пожалуйста вместо чего PORTB = B000010; PORTB = B000100; поставить.

вместо этого:

analogWrite(PIN_PRI_A,128);
analogWrite(PIN_PRI_B,128);

вот ниже две ссылочки по этой теме...
http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry
http://habrahabr.ru/post/141442/

Добавлено: Tue Jul 02, 2013 10:14 pm
Ответить с цитатой

Николашка
 


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

Добавлено: Tue Jul 02, 2013 10:20 pm
Ответить с цитатой

реношник
 


VasilijHCN писал(а):
Ниже скетч компилится в ард. иде 1,0 [NewPing libary req.]

странно у меня ни в 1.0 ни в 1.0.5 не компилится

sketch_jul02a.cpp:5:21: error: NewPing: No such file or directory
sketch_jul02a:23: error: 'NewPing' does not name a type
sketch_jul02a.cpp: In function 'void setup()':
sketch_jul02a:30: error: 'runs' was not declared in this scope
sketch_jul02a:30: error: expected `;' before 'at'
sketch_jul02a:30: error: 'at' was not declared in this scope
sketch_jul02a:30: error: expected `)' before 'half'
sketch_jul02a:30: error: 'half' was not declared in this scope
sketch_jul02a:30: error: expected `;' before 'the'
sketch_jul02a:33: error: 'val' was not declared in this scope
sketch_jul02a:48: error: 'PIN_PRI_A' was not declared in this scope
sketch_jul02a:49: error: 'PIN_PRI_B' was not declared in this scope
sketch_jul02a:65: error: 'TIMER1_PRESCALE' was not declared in this scope
sketch_jul02a:71: error: 'TCCR1B_CS20' was not declared in this scope
sketch_jul02a.cpp: At global scope:
sketch_jul02a:75: error: expected declaration before '}' token

видимо у меня нет такой библиотеки...

Добавлено: Tue Jul 02, 2013 10:23 pm
Ответить с цитатой

AQUALANG
Дыхательный аппарат


Незнаю чем вам звс не нравятся.. Я на нем кстати хочу сделать питальник под вентиль 400гц 115в 30вт

Добавлено: Wed Jul 03, 2013 1:00 pm
Ответить с цитатой

VasilijHCN
 


AQUALANG писал(а):
Незнаю чем вам звс не нравятся.
Вещь отличная, *любит* кз, камни не перегреваются, но не везде он годен, из последних звс поделок - зарядка для батареи кондеров до 370В, отлично справляется.

Добавлено: Wed Jul 03, 2013 6:13 pm
Ответить с цитатой

реношник
 


Может подскажете новичку, почему сильно греются транзисторы V1 - V4 драйвер нагружал строчником 6+6 всё питалось от 12 Вольт...

Ещё хотелосьбы услышать мнение про драйвер на оптронах.

Добавлено: Wed Jul 03, 2013 10:28 pm
arduino_inverter.gif (10.16 Кб)

tl494circuit.gif (7.81 Кб)

Ответить с цитатой

Electricman
Бес заземления


Хуже не придумаешь.
https://www.google.ru/search?client=firefox-a&am...ox-hp.hK6JOKnrIEQ


Схема оптрона для управления транзами http://randomstar.org/uploads/posts/2011-10/131..._300_21-05-25.gif

Добавлено: Wed Jul 03, 2013 10:31 pm
Ответить с цитатой

Seriyvolk
Бездельник


реношник писал(а):
Может подскажете новичку, почему сильно греются транзисторы V1 - V4
Причина проста - управление. Его нужно делать нормально. Самый простой в данном случае вариант - IR4427. Если нужна развязка, то какая-нибудь HCPL, но я в них не сильно разбираюсь, ибо с оптодрайверами ранее дел не имел, мне проще как-нибудь так.

Добавлено: Wed Jul 03, 2013 11:28 pm
Ответить с цитатой

AlexDark
CyberGoth


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

Добавлено: Thu Jul 04, 2013 12:18 am
Ответить с цитатой

Seriyvolk
Бездельник


Я не знаю, может ТС вернётся и расскажет не знаю

Добавлено: Thu Jul 04, 2013 12:51 am
Ответить с цитатой

N1X
 


Если схема соответствует железу, то там еще и дикий срач на стоках... Пуш без снабберов это жестоко...

Добавлено: Thu Jul 04, 2013 9:34 am
Ответить с цитатой

Electricman
Бес заземления


Без снабберов - всё работает. А вот с таким управлением затворами..

Добавлено: Thu Jul 04, 2013 9:37 am
Ответить с цитатой

реношник
 


VasilijHCN, сегодня взял осцилограф, правда он не очень ... извиняюсь ну хоть примерно посмотреть, что там на выходе...

Ниже фото работы скетча который я вам отправил.

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

Ещё посмотрите там при изменении скважности частота меняется или нет ????

Добавлено: Thu Jul 04, 2013 7:54 pm
P7040503.JPG (47.15 Кб)
volatile int val_fr = 900;
volatile int dead_time = 500;

P7040502.JPG (46.33 Кб)
volatile int val_fr = 900;
volatile int dead_time = 250;

Ответить с цитатой

реношник
 


Получилось посмотреть сигнал на нормальном осцилографе...

Добавлено: Thu Jul 11, 2013 3:06 pm
30 кГц.JPG (57.91 Кб)
30 кГц
.JPG (64.85 Кб)
скважность
15 кГц.JPG (58.57 Кб)
15 кГц
Ответить с цитатой

Николашка
 


оптроны-то нахера в пуш-пулле. Это его как бы одно из преимуществ- прямое управление ключами относительно общего провода. А в той схеме еще и ток управления с мышкин хуй будет. собитайте по 2 комплиментарных полевых драйвера либо ir4427 действительно

Добавлено: Fri Jul 12, 2013 12:00 am
Ответить с цитатой

BenG
 


Если уж сильно хочетса оптроны поставить, тогда схема должна быть такая (не обязательно в точности, но смысл думаю понятен)
http://bsvi.ru/drajver-polevyx-tranzistorov-iz-xlama/

Добавлено: Fri Jul 12, 2013 10:35 am
image_3.png (27.06 Кб)

Ответить с цитатой

реношник
 


Купил сегодня ir4427 буду на ней экспериментировать...

Кстати, вопрос остался без ответа.
Делал с такое:



(на видео эту плату показывал) но транзисторы греются жутко ... (скважность 0приплыли .

Добавлено: Fri Jul 12, 2013 2:32 pm
Ответить с цитатой

реношник
 


Вот скетч для "ардуины" ....

Код:


#include <LiquidCrystal>
LiquidCrystal lcd(8,9,10,11,12,13);
void (*mas[4]) (void)={poluper1, dead_time1, poluper2, dead_time2};    // массив указателей функций       
volatile int val_fr = 533;          // длительность полупериода f=18000000/val_fr/2(Гц),
volatile int dead_time = 91;       // пауза между периодами, не должна быть меньше 92 и больше val_fr-92
byte uk=0;
int f_val, d_val;
float rpm, dtm;
//   ********************************************************************
//   ********************************************************************
void setup()   {     
DDRD = B11111000;       // нужные пины на выход
PORTD = B00000100;       // на втором пине устанавливаем "единицу"
TCCR1A=0; TIMSK1=0;    // сбрасываем на всякий эти регистры
//   TCCR1A=0; TIMSK=0;
TCCR1B=0;             // мало ли что arduino IDE туда записало
TCNT1=0;             // сбрасываем счетный регистр таймера 1
OCR1A=0;             // задаем частоту, в Гц, по формуле f=F_CPU/OCR1A/2 где F_CPU тактовая частота
TIMSK1|=(1<<OCIE1A);    // разрешаем генерацию прерывания таймера 1, по совпадению с регистром OCR1A
//   TIMSK|=(1<<OCIE1A);

//   Скетч будет работать на дуинах с atmega168/328.
//   При использовании atmega8 меняем все TIMSK1 на TIMSK (убираем еденицу).   
 
TCCR1B|=((1<<CS10)|(1<<WGM12)); // запускаем таймер 1 без предделителя в режиме СТС

lcd.begin(16, 2);
lcd.print("arduino PushPull");   
   }
//   ********************************************************************
//   ********************************************************************
void loop(){
   if ((PIND&(1<<2)) == 0) l_c_d();   // если на пин 2 лог 0
   }
//   ********************************************************************
//   ********************************************************************
ISR(TIMER1_COMPA_vect)   {
(*mas[uk])();                      // вызываем функцию по указателю
   }
//   ********************************************************************
//   ********************************************************************
//   ********************************************************************
void poluper1(void)   {   
PORTD&=~(1<<5);                   // на пин 5 лог 0
PORTD|=(1<<4);                      // на пин 4 лог 1, формируем первый полупериод
if(dead_time<92) {OCR1A=val_fr; uk=2;}    // если пауза меньше 92 тогда она формироваться не будет
else {OCR1A=val_fr-dead_time; uk=1;}    // иначе уменьшаем полупериод на длительность паузы чтоб сохранить частоту
   }
void dead_time1(void) {   
PORTD&=~(1<<4);                   // на пинах 4 и 5 лог 0, формируем dead_time паузу
OCR1A=dead_time; uk=2;
   }
void poluper2(void) {   
PORTD&=~(1<<4);                   // на пин 4 лог 0
PORTD|=(1<<5);                      // на пин 5 лог 1, формируем второй полупериод
if(dead_time<92) {OCR1A=val_fr; uk=0;}
else {OCR1A=val_fr-dead_time; uk=3;}
   }
void dead_time2(void) {   
PORTD&=~(1<<5);                   // на пинах 4 и 5 лог 0, формируем dead_time паузу
OCR1A=dead_time; uk=0;
   }
//   ********************************************************************
//   ********************************************************************   
void l_c_d() {
//   работаем с частотой от 15009(533) Гц до 30075(266) Гц (f=F_CPU/OCR1A/2)
//   работаем с частотой от 20000(400) Гц до 30075(266) Гц (f=F_CPU/OCR1A/2)
f_val = analogRead(A3);     
val_fr = map(f_val, 0, 1023, 533, 266);
rpm = 16000000.0/val_fr/2.0;             //   частота в Герцах
//   работаем со скважностью
//    пауза между периодами, не должна быть меньше 92 и больше val_fr-91
d_val = analogRead(A2);
int max_dt = val_fr-92;   
dead_time = map(d_val, 0, 1023, 91, max_dt);
dtm = dead_time/(val_fr/100.0);            //   скважность в процентах
if (dead_time < 92) dtm=0;

lcd.setCursor(0, 0);
lcd.print("freq          Hz");   
lcd.setCursor(5, 0);
lcd.print(rpm);
lcd.setCursor(0, 1);
lcd.print("dead time      %");   
lcd.setCursor(10, 1);
lcd.print(dtm, 1);
//delay(400);
}



Добавлено: Sun Jul 14, 2013 10:39 am
Ответить с цитатой

реношник
 


Вот весь генератор....



а это запуск ланжевена ....



Добавлено: Sat Jul 20, 2013 11:59 am
Ответить с цитатой

N1X
 


Блин, как экспонат в музей современного искусства! Реально будет собирать кучу вопрошающих "Как вы думаете, что этим хотел сказать автор?", "Какая компоновка! Оцените как расположена вон-та зеленая штука, а какие изгибы проводов!"
Я по доброму, чес слово =) Просто видел когда из говна и палок, но тут какой-то особый стиль...

Добавлено: Sun Jul 21, 2013 10:35 am
Ответить с цитатой

реношник
 


Фото для тех кто писал, что слишком много деталей (в первых постах была полная плата ардуины), а на ТЛке можно сделать на трёх деталюхах...

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

Осцилограмы сигналов выкладывал выше.

Работу хотел снять на видео (пока нечем), всё работае нормально, соорудил что-то типа УЗ ванны ставил пластиковый стакан на ланжевен, фольгу кавитацией рвёт без проблем, мелкие предметы отмывает в мыльном растворе...

Добавлено: Sun Jul 21, 2013 12:04 pm
Ответить с цитатой

PowerON
 


Можно дисплей по лутше поставитъ чтобы небыло как в музее например Cimrex

Добавлено: Sun Jul 21, 2013 4:04 pm
cimrex12.jpg (44.72 Кб)

Ответить с цитатой

реношник
 


PowerON писал(а):
Можно дисплей по лутше поставитъ чтобы небыло как в музее например Cimrex

и опять за рыбу деньги ..... йобаный стыд

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

И самое интересное во всём этом, что когда мне надоест генерировать импульсы не знаю этим устройством я просто на эту плату цепляю датчики и исполнительные устройства заливаю новую прогу и получаю новый девайс...



Вот тот же набор деталей только плата квадратная...








но это уже какой-то оФФ топ получается. ....

Добавлено: Sun Jul 21, 2013 7:32 pm
Ответить с цитатой

Boom
 


А на самом деле.Нечего так. http://www.ebay.com/itm/SainSmart-Mega2560-R3-3...ino-/300892620921 Правда я сам в программировании не в зуб ногой.

Добавлено: Sun Jul 21, 2013 11:39 pm
Список разделов Flyback.org.ru » Двухтактные транзисторные преобразователи » Push-pull - Arduino
На страницу Пред.  1, 2     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.