Как-то понадобился сварочный аппарат для соединения разных аккумуляторов, не то чтобы сильно нужен был, но если захотелось, то почему бы и не сделать. Прочитав в интернетах о подобных сварках выяснил, что необходимо регулировать длительность сварочного импульса чтобы не прожечь металл, а если есть возможность приделать к этому всему дисплей для вывода какой-либо полезной информации, так это вообще «огонь». Для этой цели вполне подошла Arduino Nano. Некоторые составные части были куплены в оффлайне, некоторые на али и ебее.
Компоненты из оффлайна:
— трансформатор (из поломанной микроволновки);
— медный кабель КГ 1х25 сечением 25 мм — 3м (230*3 = 690 руб.);
— наконечник медный ТМ-70 — 2 шт. (35*2 = 70 руб.);
— термоусадочная трубка диаметром 12 мм — 3м (20*3 = 60 руб);
— термоусадочная трубка диаметром 25 мм — 1м (50 руб);
— корпус — 1шт (100 руб.);
— кнопка — 1шт (из личных запасов);
— медный провод одножильный ПВ1 сечением 6 мм — 0,5 м (из личных запасов);
— болты, шайбы, гайки и шурупы (из личных запасов).
Компоненты купленные в онлайне:
— Arduino Nano v.3 куплен
тут (126 руб.);
— энкодер KY-040 куплен
тут (45 руб.);
— дисплей LCD1602 куплен
тут (87 руб.);
— конвертер IIC/I2C для дисплея куплен
тут (40 руб.);
— твердотельное реле SSR-40DA, куплен на ебее, но продавец уже не торгует этим товаром, поэтому
ссылка на продавца с али (240 руб.);
— соединительные провода, куплены
тут (100 руб.);
— варистор 10D471K куплен
тут (5 руб)
Цены актуальные на момент совершения покупки.
По отдельности каждый компонент рассматривать не буду, так как на муське полно подобных обзоров по ардуине и всяким шилдам. Хочу отметить что все составляющие хорошего качества, по срокам доставки тоже всё хорошо, около месяца.
Итак приступим. Для начала необходимо переделать трансформатор, для этого ножовкой по металлу спиливаем с одной стороны, вторичную, повышающую обмотку. Она обычно сверху и намотана тонким проводом. При этом очень важно
не повредить первичную обмотку, она намотана толстым проводом. Спилили — отлично! Теперь выбиваем с помощью молотка оставшуюся часть обмотки и токоограничивающие шунты, это такие пластины прямоугольные между обмотками, из трансформатора. Задача не простая, но выполнимая.
Для сварочного аппарата вторичная обмотка трансформатора
должна содержать 2 витка кабеля сечением не менее 70 квадратных мм. Намотать кабель такого сечения совсем не просто, поэтому будем использовать 3 кабеля КГ 1х25 сечением 25 мм. И всё бы хорошо, но места для 2 витков кабеля в трансформаторе не хватит, из-за того что в нём очень толстая резиновая изоляция. Режем, по всей длине кабеля, очень аккуратно, снимаем изоляцию. Сняли — хорошо! Теперь надо надеть :) На кабель надеваем термоусадочную трубку, все 3 метра. Это ещё та забава, сначала легко — потом не очень. Теперь прогреваем по всей длине промышленным феном чтобы термоусадка поплотнее «села». Кабель режем на 3 равных части, и одновременно тремя кабелями наматываем вторичную обмотку. Края зачищаем, оставляем по 20 сантиметров, сматываем вместе, если всё сделано аккуратно то кабеля сами скрутятся между собой в один цельный сечением 75 квадратных мм. На зачищенные края надеваем примерно по 10 см термоусадочной трубки диаметром 25 мм и снова греем. На кабель надеваем наконечник медный ТМ-70, у меня остался небольшой зазор, чтобы наконечники не слетел в пустоты между кабелем и наконечником были вставлены нарезанные медные толстые одножильные провода. Через шприц вливаем флюс в наконечник и над газовой плитой прогреваем и пропаиваем припоем. Процесс не быстрый, припоя нужно много. После пайки надеваем ещё 10-15 см термоусадочной трубки диаметром 25 мм и греем. В качестве электродов для сварки используется медный одножильный провод сечением 6 квадратных мм.
В процессе переделки трансформатора к сожалению фотографий не делал, в итоге трансформатор буде выглядеть примерно так:
Теперь надо всё это соединить и написать программу для управления.
Дисплей LCD1602 и конвертер IIC/I2C для дисплея соединяются очень просто, вставил и спаял, между ними для изоляции двухсторонний скотч. На конвертере джампер для включения или отключения подсветки и переменный резистор для регулировки контрастности.
Конвертер IIC/I2C и Arduino Nano v.3 подключаем так:
Arduino — LCD i2c
GND <---> GND
5V <---> VCC
A4 <---> SDA
A5 <---> SCL
Arduino — энкодер KY-040
GND <---> GND
5V <---> +
D2 <---> DT
D3 <---> CLK
D4 <---> SW
Для того чтобы прошить устройство не разбирая его целесообразно вывести кнопку сброса на корпус (оранжевый, бело-оранжевый провода).
Arduino — Кнопка
GND <---> 1 контакт кнопки
RST <---> 2 контакт кнопки
Твердотельное реле, через которое подаётся напряжение на трансформатор, подключено следующим образом (синий, бело-синий провода).
Arduino — Реле SSR-40DA
GND <---> — контакт (4)
D5 <---> + контакт (3)
Параллельно реле (контакты 1 и 2) подключен варистор 10D471K для защиты по напряжению. Твердотельным реле повышенное напряжение очень не нравится.
Ардуину пакуем в термоусадку. Как-то не очень получилось. Есть решение — сверху изоленты немного. Знаю, синяя была бы надёжнее…
Теперь надо вставить всё это дело в корпус. С круглыми отверстиями проблем не должно быть, а вот с прямоугольными сложнее, но не на много. Опять же, фото нет, буду рассказывать «на пальцах».
Сверлим отверстия по углам прямоугольника по заранее известным размерам. С помощью линейки и острого ножа прорезаем не глубокие каналы от отверстия до отверстия по периметру. Продеваем капроновую нить в два отверстия, крест накрест, по диагонали и режем как ручной тросовой пилой. От трения пластик нагревается режется очень быстро и ровно. Далее внутрь выламываем треугольники, пластик сломается ровно по линии. Я ошибся с размерами и пришлось подрезать, поэтому нижний край кривоват.
Теперь надо запихнуть всё это в корпус и закрыть.
Сборка завершена, «пилим софт». Ардуина должна включать реле на короткий промежуток времени. Временной интервал будет от 10 мс до 120 мс. По нажатию кнопки энкодера выдерживается пауза в 6 секунд, для того чтобы успеть прижать электроды посильнее, после этого включается реле и происходит сварка.
Енкодер работает только на D2 и D3 пинах ардуины. Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Остальные пины можно менять.
Теперь надо залить скетч в ардуино.
Скетч
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int ssr = 5; //ssr pin
enum PinAssignments {
encoderPinA = 2, // right
encoderPinB = 3, // left
fireButton = 4 // switch
};
volatile int encoderPos = 40;
int lastReportedPos = 1;
static boolean rotating=false;
boolean A_set = false;
boolean B_set = false;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Delay: msec.");
pinMode(encoderPinA, INPUT_PULLUP);
pinMode(encoderPinB, INPUT_PULLUP);
pinMode(fireButton, INPUT_PULLUP);
pinMode(ssr, OUTPUT);
attachInterrupt(0, doEncoderA, CHANGE);
attachInterrupt(1, doEncoderB, CHANGE);
}
void fire() {
digitalWrite(ssr, HIGH);
delay (encoderPos);
digitalWrite(ssr, LOW);
}
void loop() {
rotating = true;
if (encoderPos <= 9 ){
encoderPos = 10;
lastReportedPos = 11;
}
if (encoderPos >= 121 ){
encoderPos = 120;
lastReportedPos = 119;
}
else
{if (lastReportedPos != encoderPos) {
Serial.print("Index:");
Serial.println(encoderPos, DEC);
Serial.println(lastReportedPos);
lcd.setCursor(7,0);
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print(encoderPos);
lastReportedPos = encoderPos;
}}
if (digitalRead(fireButton) == LOW ) {
lcd.setCursor(2,1);
lcd.print("Fire: 6 sec.");
for (int i=6; i >= 1; i--){
lcd.setCursor(8,1);
lcd.print(i);
delay(1000);
}
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print("FIRE");
fire();
delay(1000);
lcd.setCursor(0,1);
lcd.print(" ");
}
}
void doEncoderA(){
if ( rotating ) delay (1);
if( digitalRead(encoderPinA) != A_set ) {
A_set = !A_set;
if ( A_set && !B_set )
encoderPos += 1;
rotating = false;
}
}
void doEncoderB(){
if ( rotating ) delay (1);
if( digitalRead(encoderPinB) != B_set ) {
B_set = !B_set;
if( B_set && !A_set )
encoderPos -= 1;
rotating = false;
}
}
«Ложка дёгтя» в Arduino IDE 1.6.6. Библиотека LiquidCrystal_I2C выводила на дисплей только одну, первую букву текста. Лечится это использованием
обновлённой версии библиотеки взятой тут. Как на версии Arduino IDE 1.6.7 не знаю, не проверял.
Залили прошивку.
Сварим что-нибудь. Для начала фото сварки без ардуины, вручную замыкая на минимально возможный промежуток времени контакты через кнопку. Слабонервным не рекомендуется к просмотру :)
А теперь как должно быть.
Сваривается хорошо, пластина отрывается с «мясом».
В результате получилась полезная в хозяйстве штуковина, с приблизительной себестоимостью около 1600 рублей. В процессе сборки и тестирования сжег одно твердотельное реле, предположительно из-за того что коммутировал им более чем на 2 секунды.
Основные моменты:
— сварные кабели (из трансформатора) большой длины не оставлять;
— общее сечение кабеля не менее 70 квадратных мм.;
— на длительное время реле не замыкать, предполагаю что не более чем на 0,5 секунды;
На этом всё, спасибо за внимание!
Провода от витой пары, термоусадка для пульта)
Да и сам агрегат на ДСП зловеще смотрится))
Можно ведь корпус заказать и в корпусе красиво сделать.
Приятель аппарат для сварки аккумов покупал 2 года назад за 1500р примерно, я в том году купил уже за 6000р, а сейчас она стоит наверно вообще бешеные деньги =)
Может как нибудь выставлю обзор китайской сварки, там очень много винтиков открутить надо, лень =)
Корпус можно взять из АТХ БП, симпатично было бы, покрасить только его и вообще супер.
Топикстартеру жму руку двумя руками. Люблю, когда старым вещам дают вторую жизнь (я про транс). :)
Да, думаю было бы многим интересно посмотреть кишочки промышленного аппарата.
Добавлять не будете?
Напряжение холостого хода какое вышло?
Ещё подробнее
power-e.ru/2005_04_34.php
Никаких
Поэтому позвольте вопрос: Как большой ток может возникнуть в момент ВКЛЮЧЕНИЯ при φ=0, ведь потока еще нет и U=0?
то есть в момент включения он ещё не намагничен и от этого может бросок тока произойти при включении в 0
1. φ=0, U=0, включаем. Пока нет напряжения, нет тока. С этим согласны? Затем с повышением напряжения, появляется ток, наводящий магнитную индукцию и этот ток нарастает плавно, но нелинейно за напряжением, а с задержкой. Итог: в момент включения ток минимален.
2. φ=π/2, U=310 Вольт (сеть 220 вольт). В момент включения наблюдаем резкий бросок тока, хоть и смягченный индукцией. Итог: большой бросок тока в момент включения.
Так что на мой взгляд, включение трансформатора в данной конструкции оптимален именно в момент прохождения U=0.
Включение трансформатора при переходе через ноль — самый тяжёлый режим, т.к. сердечник насыщается на пике амплитудного значения полуволны и происходит сильный бросок тока в первичной цепи.
Самый оптимальный режим включения — на пике полуволны.
Самый оптимальный режим отключения — при переходе тока трансформатора через ноль — обеспечивается автоматически коммутирующим элементом.
при не нагруженной вторичной обмотке. Часть 1.»)
А с индуктивностью всё в точности наоборот — в первое мгновение она представляет собой бесконечное сопротивление, и потом со временем ток нарастает.
Ну, во первых — что Вы понимаете под броском тока? dI/dt? Тогда при включении на макс напряжении это значение будет выше. Или интегральную мощность импульса?
1) Собственно нагрузка на устройство коммутации однозначно ниже (точнее вообще нулевая) в момент прохождения фазы напряжения через 0 (т.к. никаких токов в трансформаторе еще нет, а в сети нет напряжения, которое могло бы их вызвать). А устройство коммутации тоже нужно защищать от бросков тока.
2) Трансформатор работает в данном случае в импульсном режиме, и бросок тока через него — как раз то что нужно, он и вызывает «передачу» энергии во вторичную обмотку.
3) Рассматривать трансформатор (тем более нагруженный) как индуктивность как минимум некорректно.
4) Характеристика протекающего тока даже при ненагруженной вторичной обмотке будет сильно зависеть от индуктивности первичной обмотки и характеристик сердечника. Возьмем граничные случаи: кусок провода (индуктивность близка к нулю) — ясно, что скачок тока при подключении на максимуме напряжения будет также максимален. Теперь возьмем очень большую индуктивность (пусть она стремится к бесконечности). В такой индуктивности ток растет очень медленно, он может существенно не вырасти и за несколько периодов (т.е. тока просто почти не будет). В промежуточном случае может получиться так, что нарастание тока в катушке будет компенсироваться уменьшением напряжения от точки максимума до нуля. В этом случае мы можем получить почти постоянный ток в пределах четверти периода — но трансформаторы не работают на постоянном токе, а затем ардуина просто отключит его. Что будет передано в этом случае во вторичную обмотку? Почти ничего.
P.S. Указанные выше статьи описывают мощные (киловатты) промышленные трансформаторы, причем первая — ненагруженный трансформатор. И защита там рассматривается именно с точки зрения трансформатора, как бы его не перегрузить. В данном же случае имеем маломощный трансформатор, для которого защита в пусковом режиме не особо актуальна. Тем более, что индуктивность данного конкретного трансформатора никто не мерял и характеристик нарастания тока не снимал — а все может получиться совсем наоборт в зависимости от индуктивности. А вот коммутирующие ключи я бы пожалел… Так что IMHO лучше все же коммутировать «по нулям».
Выход (подтянутый резистором к 5В, килоОм 5-6) сажается на прерывание ардуины.
Схема ловит ноль. Далее ведём отсчёт до гребня. Либо через DelayMicroseconds, либо (лучше) через do while запоминанием micros().
Далее — полёт фантазии, и повышение надёжности: можно замерять частоту сети и пересчитывать время. И всё в таком духе.
А крутилку можно аналоговую поставить — от 40 до 120 всего 80 шагов. Посадить на аналоговый пин переменный резистор (заодно предыдущее время при отключении питания останется).
А совсем замечательно было бы — предусмотреть цепь контроля для автоматического замера при включении.
Наверное, вариант, предложенный Shadow с программным отсчетом интервала ~5 мс относительно момента перехода через ноль сетевого напряжения будет самым простым, тем более точность этого отсчета не столь критична. Ну, сдвинется момент включения тиристора на ±10 градусов относительно «гребня», и появится бросок тока через индуктивность. Все равно этот бросок будет в разы меньше, чем при включении в нуле сетевого напряжения. Синусоида в области максимального значения — это почти горизонтальная прямая и, соответственно ее производная близка к нулю.
Это Вам не 180-240В. Эту величину — частоту сети, надо считать константой. При том что другие могут быть плюс минус лапоть.
Иначе зачем бы городить временами такую штуку, как Вставка постоянного тока?
Не думаю, что только из за разности фаз.
Хотя да, стандарты по частоте более жесткие — вроде 49.8-50.2 Гц, вроде 0,4%
Что реально — хз…
Если ошибка не накапливается — допустим, надо открыть ключ ровно на один период — открывайте на 20 мс — не сильно ошибетесь.
Если надо открыть на 100 периодов — то уже не попадете в точку с той же фазой весьма прилично.
В силовой электронике начнешь что то понимать тогда, когда спалишь свое первое ведро транзисторов :)
Так как сварочных аппаратов сделал уже с десяток, могу уверенно сказать что у трансформатора от микроволновки мощности маловато для уверенного импульса. Сварочные аппараты на таких трансформаторах работают, но не очень хорошо и нестабильно. И вообще, сделать стабильно работающий аппарат точечной сварки именно для разварки аккумуляторов не так просто, есть куча ноу-хау и нюансов. Люди делают сотни таких аппаратов но реально они не дают стабильности. Да, варят через раз, перегревают зону сварки.
Либо надо иметь очень большой опыт пайки и правильный паяльник.
Но предупреждаю: это действительно опасно, не надо так делать…
Хотя…
— Человек упал с пятого этажа, встал и пошел — что это?
— Случайность.
— Человек снова упал с пятого этажа, встал и пошел — что это?
— Везение.
— Человек снова упал с пятого этажа, встал и пошел — что это?
— Привычка…
То же и с пайкой аккумов — сам паяю.
Только я очень четко представляю опасность этого процесса и паяю уже почти полвека.
А иногда приходится объяснять людям, почему у них не работает термопредохранитель на 100 градусов, который они только что припаяли.
Хотя я и его припаяю…
Хотя «правильной» можно и кастрюлю прожечь…
Я сказал, что паяльник в руки я взял довольно таки давно, и паять приходилось всякое разное — вот опыт постепенно и набрался…
Вы ведь после того, как научились паять сопротивления, не переучивались для пайки конденсаторов?
Кстати, многие современные разъемы — взять тот же джек 3,5мм или DC джеки питания делают из такой пластмассы, что их паять желательно не менее быстро, чем батареи.
Прошли времена DIN 41524 — они же СШ5, пластик которых выдерживал не то что температуру пайки — на поверхности солнца, наверное, с ним бы ничего не случилось… :)
года 3 думал собрать себе, а потом посмотрел — обычно сборку дешевле у китайцев купить
Это был сарказм, а теперь серьезно.
У меня написано — что необходимо иметь большой опыт пайки. Люди резистор могут паять так, что дорожки отваливаются, а при пайке аккумуляторов надо иметь соответствующий паяльник и сноровку.
Максимум через полгода.
На днях приносят ресивер DVB-T2 — мне их много носят.
Не работает, хотя даже зачатки напряжения есть.
Вскрывался, кондеры с виду все нормальные.
Начал выпаивать — на первом же кондере: двустронняя плата, метализация, проводник от одного вывода есть только со стороны установки элементов.
Выдрал метализацию вместе с плохим кондером, припаял хороший — и даже шарик припоя на этом выводе на первый взгляд относительно нормальный.
А контакта нет в принципе…
Это уже, к сожалению, без сарказма — мужик был уверен, что он нормально паяет, я его не стал разубеждать…
Хотя напаять пипку на плюсовом контакте относительно безопасно, если уж руки не совсем из неправильного места.
m.youtube.com/watch?v=mOdn_H2CMk4
Пожёг энное количество полосок металла и испохабил аккумулятор 18650. Длительность вспышки не контролируется (вы ловите глазами «зайчика»), электрод залипает и отцепляется через четверть секунды, когда выжжет дырку.
Да и вообще эти агрегаты на несколько порядков сложнее: водяное охлаждение электродов, воздушный компрессор для сдавливания электродов, большие токи, возможность непрерывной работы, возможность настройки параметров (ток, время, сжатие) и т.д.
Реально оно от 3В до 6В в зависимости от типа магнетрона (обычно 3,15В)
При таком малом напряжении, очень высокие требования к качеству свариваемых поверхностей и проварку двумя точками сложно проводить
Я тоже когда-то баловался контактной сваркой. Оптимальное напряжение холостого хода около 3В
Греться должно место контакта пластинки и аккумулятора
Твердотельное реле такое же есть, валяется без дела. А вот трансформатора нет (да и сцыкотно работать с сетевым напряжением как-то). Я с использованием АКБ старой уже припаивал контакты к аккумам, но длительность сварки контролировать очень сложно, металл прожигается за милую душу.
Надо ставить несколько полевых транзисторов параллельно, причем транзисторы с низким сопротивлением в открытом состоянии.
Или ещё какие грабли есть?
+ провода подключения должны иметь по возможности одинаковое сопротивление для равномерного распределения тока по веткам
Зависит от настойчивости экспериментатора.
В мире много чего есть, но как Вы правильно заметили, цена обычно не очень гуманная.
А вот про то, что ssr не сгодится для постоянного тока — это я стормозил, да
Забаньте этого человека, он мне на ночь мозги сжигает.Или пускайте его только утренним рейсом.
Минусатор, открой личико я тебя залайкаю!
Код выглядит так:
В CSS объявлено:
Но этого недостаточно для того, чтобы предотвратить загрузку элементов, что и показывает Web Console:
При той-же стоимости — не будет выгорать во время экспериментов.
Вот накидал идею силовой части :)
Ещё я не понял — Вы шунты токоограничивающие с МОТ убирали или нет?
Ещё странно, что у Вас не вышел вариант 3 витка в 2 кабеля по 25кв
Видимо транс от маломощной микроволновки 500-600Вт
Для такого дела лучше использовать МОТ от микроволновки 800-900Вт
0
«Уже заказал и получил BTA41-600 и MMOC3063. А то как-то накладно получается реле каждый раз менять. Надо ещё изготовление печатных плат, штук десять, под это дело у китайцев заказать, чтобы красивенько было, да и в хозяйстве нормальные твердотельные реле всегда пригодятся.»
-Я просто спросил.вдруг какие доработки, изменения.
а лучше использовать тиристор + MOC3023
Вот здесь уже про это было сказано в описании схемы: payalo.net/index.php?newsid=67
тут, тут и тут -??
Я ставил цифровое реле времени + управление педалью, очень удобно, обе руки свободны.
Я бы шляпки винтов крепления электродов как то изолировал, а то бывают казусы.
Такое же реле у меня держит до 5 секунд сработки первички. никель 0.1 варю на 0.05сек примерно, но у вас ток больше видимо.
немного не по теме-сам паяю аккумуляторы- легкоплавким припоем- вроде Вуда и флюсом для пайки стали- вроде, кислотным.Стараюсь, что-бы пайка была за секунды- это много хуже, чем сварка?
Только медь!
Тонкие шинки до 100А точечной сваривают. А уже шинопроводы только дуговой или газовой.
За обзор спасибо. Очень познавательно. Надеюсь, в полку Ардуинистов прибыло.
Но у меня есть пара вопросов в теор-части…
Тут мы говорим об включении трансформатора на пике полуволны и об длительности от 10 миллисекунд.
И вот какая ерунда то получается…
Не предсказуемо будет железо намагничивать при длительностях не кратных 20 мс (т.е. 1 целой волны)
Вообще конечно не удобно работать с такими длительностями на таких низких частотах…
Ув. Кирич и Ксиман, что скажете на это?
Ну и к ТС вопрос — а не думали посмотреть в сторону конденсаторных сварочников?
Вообще в том сварочнике целая пачка проблем видна просто с первого взгляда.
Не спорю, повторяемость результата у такого сварочника будет несколько хуже, со временем уменьшится емкость, но так и масштабы не промышленные, так что, пока он придет в негодность свои задачи выполнит.
Конденсаторы используются в большом количестве и с низким ESR.
Все это можно полечить, но это сразу пачка полевиков и/или таже самая ардуина появляется. Или без ардуины, но с кучей логики/ОУ.
А в идеале сварку на конденсатора. Так батарея не перегреется. Но это более дорогой вариант.
Это пауза:
lcd.print(«Fire: 6 sec.»);
for (int i=6; i >= 1; i--){
lcd.setCursor(8,1);
lcd.print(i);
delay(1000);
}
Это время включения реле:
if (encoderPos <= 9 ){
encoderPos = 10;
lastReportedPos = 11;
}
if (encoderPos >= 121 ){
encoderPos = 120;
lastReportedPos = 119;
}
«а лучше использовать тиристор + MOC3023
Вот здесь уже про это было сказано в описании схемы: payalo.net/index.php?newsid=67
большинство твердотельные реле не будет работать здесь, потому что они используют симисторы. При использовании симистора накладываются ограничения, в частности при индуктивной нагрузке. Ограничения касаются скорости изменения напряжения между основными электродами симистора и скорости изменения рабочего тока. Превышение скорости изменения напряжения на симисторе (из-за наличия его внутренней ёмкости), а также величины этого напряжения, могут приводить к нежелательному открыванию симистора. Так как тиристоры всегда выключаются на отрицательном полупериоде, их мы и используем в качестве силового ключа...»
В вашем варианте силовой части тоже используется симистор BTA41-600
Беспорно, тиристоры имеют лучшие характеристики по многим показателям, но в данном случае это не востребовано.
Кстати, тут можно глянуть, как коммутировать индуктивную нагрузку симистором
techno-mind.ru/files/demadsv_laminator/moc3020.pdf
В процессе сварки ни один аккум не пострадал.
Варили батарею из 130 штук для электро велосипеда.
P.S. Обзор отличный!
mozgochiny.ru/electronics-2/apparat-dlya-tochechnoy-svarki-na-baze-arduino/
Вот и меня затащили в сети микроэлектроники и Ардуинщиков.
Пока только начал изучать Ардуино, так что не закидывайте тапками за вопросы которые покажутся элементарными.
Пытаюсь разобраться в скетче автора.
У меня, к сожалению, нет энкодера, но есть кнопки.
Как переделать скетч заменив энкодер тремя кнопками?
Две на установку времени, вверх-вниз, а третья на старт отсчета.
{
if( digitalRead(encoderPinA) == HIGH )
{// нажата кнопка — А
encoderPos += 1;
delay (1000);
}
}
void doEncoderB()
{
if( digitalRead(encoderPinB) == HIGH )
{// нажата кнопка — B
encoderPos -= 1;
delay (1000);
}
}
Так?
Теперь осталось решить два пункта.
1-Дребезг кнопки
2-Чтоб при удерживании кнопки значения менялись
2. Запихнуть обработку кнопки в цикл, хотя оно и так должно уменьшать.
Зачем в дуэнкодер лезть? Отдельную функцию напишите и вызывайте по нажатию кнопок
И вот хорошая статья подсказал автор arduino.ru/forum/programmirovanie/lcd-i2c-partizanit
Тонкий провод (вторичная обмотка, больше витков) — срезать.
Между обмотками штифты металлические — их убрать.
Arduino: 1.6.7 (Windows 7), Плата:«Arduino Nano, ATmega328P»
C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware «C:\Program Files\Arduino\hardware» -hardware «C:\Users\Admin\AppData\Local\Arduino15\packages» -tools «C:\Program Files\Arduino\tools-builder» -tools «C:\Program Files\Arduino\hardware\tools\avr» -tools «C:\Users\Admin\AppData\Local\Arduino15\packages» -built-in-libraries «C:\Program Files\Arduino\libraries» -libraries «C:\Users\Admin\Documents\Arduino\libraries» -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10607 -build-path «C:\Users\Admin\AppData\Local\Temp\build2c1fab950c7d937226864512653d471d.tmp» -warnings=none -prefs=build.warn_data_percentage=75 -verbose «C:\Users\Admin\Desktop\sketch_dec21a\sketch_dec21a.ino»
C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware «C:\Program Files\Arduino\hardware» -hardware «C:\Users\Admin\AppData\Local\Arduino15\packages» -tools «C:\Program Files\Arduino\tools-builder» -tools «C:\Program Files\Arduino\hardware\tools\avr» -tools «C:\Users\Admin\AppData\Local\Arduino15\packages» -built-in-libraries «C:\Program Files\Arduino\libraries» -libraries «C:\Users\Admin\Documents\Arduino\libraries» -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10607 -build-path «C:\Users\Admin\AppData\Local\Temp\build2c1fab950c7d937226864512653d471d.tmp» -warnings=none -prefs=build.warn_data_percentage=75 -verbose «C:\Users\Admin\Desktop\sketch_dec21a\sketch_dec21a.ino»
Изменены опции сборки, пересобираем все
«C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs" «C:\Users\Admin\AppData\Local\Temp\build2c1fab950c7d937226864512653d471d.tmp\sketch\sketch_dec21a.ino.cpp» -o «nul»
«C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs" "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\Wire\src" «C:\Users\Admin\AppData\Local\Temp\build2c1fab950c7d937226864512653d471d.tmp\sketch\sketch_dec21a.ino.cpp» -o «nul»
«C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\eightanaloginputs" "-IC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\Wire\src" «C:\Users\Admin\AppData\Local\Temp\build2c1fab950c7d937226864512653d471d.tmp\sketch\sketch_dec21a.ino.cpp» -o «C:\Users\Admin\AppData\Local\Temp\build2c1fab950c7d937226864512653d471d.tmp\preproc\ctags_target_for_gcc_minus_e.cpp»
C:\Users\Admin\Desktop\sketch_dec21a\sketch_dec21a.ino:2:31: fatal error: LiquidCrystal_I2C.h: No such file or directory
#include <LiquidCrystal_I2C.h>
^
compilation terminated.
Используем библиотеку Wire версии 1.0 из папки: C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\Wire
exit status 1
Ошибка компиляции.
Ардуино иде обновите.
а вот библиотеку не подкидывал
спасибо за подсказку
просто первый раз работаю с ардуино
Вот тут мужик сделал, но скетч выложил в какойто визуальной среде программирования, она компилит и выдает в ардуино иде, но косяков очень много, код не читабельный.
Хотел сделать под другой дисплей, маленький который, но еще не разобрался какой блок за что отвечает.
заменить на:
Но это будут одинаковые импульсы с постоянным значением паузы (20 мс). Может есть возможность сделать длительность каждого импульса и паузы по отдельности?
void loop() {#include <Wire.h>
^
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino: In function 'void loop()':
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:6:15: error: 'include' was not declared in this scope
void loop() {#include <Wire.h>
^~~~~~~
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:6:24: error: 'Wire' was not declared in this scope
void loop() {#include <Wire.h>
^~~~
In file included from c:\Users\saraz\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:7:0,
from C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:7:
C:\Users\saraz\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:34:1: error: expected primary-expression before 'class'
class TwoWire: public Stream
^~~~~
C:\Users\saraz\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src/Wire.h:86:8: error: 'TwoWire' does not name a type; did you mean 'TwoWire_h'?
extern TwoWire Wire;
^~~~~~~
TwoWire_h
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:25:14: error: a function-definition is not allowed here before '{' token
void setup() {
^
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:41:13: error: a function-definition is not allowed here before '{' token
void fire() {
^
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:47:13: error: a function-definition is not allowed here before '{' token
void loop() {
^
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:88:18: error: a function-definition is not allowed here before '{' token
void doEncoderA(){
^
C:\Users\saraz\AppData\Local\Temp\.arduinoIDE-unsaved2024925-11536-1f0k24f.oofa\sketch_oct25a\sketch_oct25a.ino:98:18: error: a function-definition is not allowed here before '{' token
void doEncoderB(){
^
exit status 1
Compilation error: stray '#' in program
all-arduino.ru/biblioteki-arduino/arduino-biblioteka-wire/
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.