Svářečka CO2
Je to již nějaký ten rok co jsem dostal k dispozici starou CO2 svářečku AEK 180 DELTA TŘEBÍČ, kterou jsem se rozhodl kompletně zrenovovat. Renovace obnášela výrobu nového podvozku pro celou svářečku a tlakovou láhev, nového podavače drátu, ovládacího panelu a osazení novým svářecím hořákem BINZEL MB GRIP 24 KD s euro koncovkou. V neposlední řadě také kompletní vyčištění a nový nátěr. Nově byla svářečka také doplněna o řízení Arduinem Nano, které samostatně pouští plyn, podavač drátu a stykač.
Dva otočné přepínače v levé části panelu slouží k samotnému zapnutí svářečky a nastavení svářecího proudu (skokově). V pravé části panelu se nachází otočný knoflík s potenciometrem pro plynulé nastavení rychlosti podávání drátu a zleva páčkový přepínač pro nastavení směru podávání drátu (do hořáku / z hořáku). Pod ním dva tlačítkové spínače, kdy červený manuálně spouští podávání drátu a zelený pouští plyn ochranné atmosféry nezávisle na sobě. A nakonec samotné svařování se zahajuje klasicky tlačítkem na hořáku, které spouští předem definovanou sekvenci spouštění jednotlivých funkcí.
Zdrojový kód pro Arduino Nano
/***
Projekt: Svářečka CO2
Autor: Lukáš Kraicinger
Vytvořeno: 8.6.2013
Poslední změna: 11.10.2016
Určeno pro Arduino Nano (bude fungovat i na ostatních)
Toto dílo podléhá licenci Creative Commons
Uveďte původ-Neužívejte dílo komerčně-Zachovejte licenci 4.0 Mezinárodní License.
***/
// output pin
#define RELEMOTOR 2 // motor
#define RELEPLYN 3 // plyn
#define RELESTYKAC 4 // stykac
// input pin
#define BTNCERVENE 5 // cervene
#define BTNZELENE 6 // zelene
#define BTNHORAK 7 // horak
#define LED 13
boolean LastBTN_horak;
boolean NowBTN_horak;
int cas = 0; // v milisekundach
boolean horakStart;
boolean horakStop;
void setup() {
pinMode(RELEMOTOR, OUTPUT);
pinMode(RELEPLYN, OUTPUT);
pinMode(RELESTYKAC, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(BTNCERVENE, INPUT);
pinMode(BTNZELENE, INPUT);
pinMode(BTNHORAK, INPUT);
digitalWrite(RELESTYKAC, LOW);
digitalWrite(RELEPLYN, LOW);
digitalWrite(RELEMOTOR, LOW);
digitalWrite(LED, LOW);
horakStart = false;
horakStop = false;
}
void loop() {
NowBTN_horak = digitalRead(BTNHORAK);
if (!NowBTN_horak) // tlacitka funkcni pouze pokud neni sepnuty horak
{
cas = 0;
if (digitalRead(BTNZELENE)) // stisknute zelene tlacitko
{
digitalWrite(RELEPLYN, HIGH); // zapne plyn
}
else
{
digitalWrite(RELEPLYN, LOW); // vypne plyn
}
if (digitalRead(BTNCERVENE)) // stisknute cervene tlacitko
{
digitalWrite(RELEMOTOR, HIGH); // zapne motor
}
else
{
digitalWrite(RELEMOTOR, LOW); // vypne motor
}
}
else
{
cas++;
}
if (LastBTN_horak != NowBTN_horak ) { // stisk horaku
if (NowBTN_horak == true)
{
horakStart = true;
horakStop = false;
digitalWrite(RELEPLYN, HIGH);
}
else
{
horakStop = true;
horakStart = false;
}
}
// pokud je horak stisknuty alespon 300 ms pak se spusti ostatni
// zabranuje spusteni pri nahodnym nechtenym stiskum horaku
if (cas >= 300 && horakStart)
{
delay(250);
digitalWrite(RELESTYKAC, HIGH);
delay(250);
digitalWrite(RELEMOTOR, HIGH);
digitalWrite(LED, HIGH);
horakStart = false;
cas = 0;
}
// akce po pusteni spinace na horaku
if (horakStop)
{
digitalWrite(RELEMOTOR, LOW);
delay(400);
digitalWrite(RELESTYKAC, LOW);
delay(1000);
digitalWrite(RELEPLYN, LOW);
digitalWrite(LED, LOW);
horakStop = false;
cas = 0;
}
LastBTN_horak = NowBTN_horak;
delay(1); // 1 ms
}

Toto dílo podléhá licenci Creative Commons Uveďte původ-Neužívejte dílo komerčně-Zachovejte licenci 4.0 Mezinárodní License.