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.