Wstęp:
Jako że jestem w trakcie składania e-bike’a doszedłem do momentu w którym potrzebna była mi zgrzewarką do ogniw. Po paru nieudanych próbach stworzenia konstrukcji z akumulatora samochodowego i cewki zapłonowej, postanowiłem użyć sprawdzonej metody czyli wykorzystania transformatora z mikrofalówki.
W skrócie schemat działania wygląda następująco:
Jednak w swojej konstrukcji potrzebowałem mieć możliwość regulacji czasu i mocy impulsu, temu do podstawowego schematu wprowadziłem parę zmian.
UWAGA: ZABAWY Z PRĄDEM SĄ NIEBEZPIECZNE
Spis treści
Potrzebne części i narzędzia
Przerobienie transformatora
Wykonanie elektrod
Programowanie Arduino
Schemat podłączenia
1. Potrzebne części:
Na zgrzewarkę:
- Transformator z mikrofalówki, serce urządzenia – optymalnie 800W lub więcej- używaną mikrofalówkę można kupić już za 30zł, lub kupić na allegro sam transformator (od 50zł z przesyłką).
- Przewody im grubsze tym lepiej – linka 25mm2 będzie optymalna – potrzeba nam 1.5-2mb. Dodatkowo przydadzą się też cieńsze przewody dla połączenia poszczególnych komponentów.
- Końcówki oczkowe przewodów 25/8 – 4szt
- Pręty miedziane fi8 2szt po 10cm
- Przewód zasilający z wtyczką
- Cyna
- Śruby
Do sterowania:
- Płytka arduino – dowolna, jako że dużo bawię się z drukarkami to miałem pod ręką akurat arduino mega 2560
- Wyświetlacz LCD 2×16 2.4USD
- Potencjometr 5 sztuk za 1USD
- Microswitch lub przycisk
Potrzebne narzędzia:
- Lutownica
- Piłka z ostrzem do metalu
- Wiertarka
- Pilnik
- Opcjonalnie drukarka 3d
2. Przerobienie transformatora
Tu polecam rzucić okiem na inny poradnik
Przede wszystkim chodzi nam o usunięcie uzwojenia wtórnego – tego z drobniejszego drutu, osłoniętego papierem.
W linkowanym poradniku wszystko wygląda pięknie, mi to zajęło ponad 2h, ale w końcu się udało.
Następnie na rdzeń nawijamy nowe uzwojenie używając grubego przewodu
Staramy się by wychodzące przewody były równej długości
Ściągamy izolacje z zakończeń przewodów i przylutowujemy je do końcówek oczkowych (można też je zacisnąć) – możliwe że będziecie musieli rozwiercić trochę końcówki. (jeżeli zamierzacie wydrukować obudowę z tego projektu to poczekajcie z tym krokiem aż przełożycie kable przez otwory w obudowie)
3. Wykonanie elektrod
Jeżeli macie dostęp tylko do podstawowych narzędzi najłatwiej wykonać elektrody mocując miedziany pręt do wiertarki jak wiertło, a następnie przykładając obracający się pręt do pilnika fazujemy końcówkę, na koniec całość możemy potraktować papierem ściernym. Tutaj efekt przed i po
Do drugiego końca pręta mocujemy końcówkę oczkową, ja je delikatnie rozwierciłem, wypełniłem cyną a następnie przylutowałem.
Opcjonalnie możemy wydrukować uchwyty do elektrod mojego projektu
Następnie śrubami skręcamy razem elektrody z kablami
4. Programowanie Arduino
Musimy najpierw pobrać dodatkową bibliotekę LiquidCrystal_I2C (można użyć menadżera bibliotek)
Ładujemy na płytkę szkic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
/* * LCM1602 & Arduino Uno * VCC - > 5 V * GND - GND * SCL -> A5 * SDA -> A4 */ int odczytanaWartosc = 0; int czas = 0; #include <Wire.h> // standardowa biblioteka Arduino #include <LiquidCrystal_I2C.h> // dolaczenie biblioteki I2C dla LCD którą należy pobrać LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27 void setup() { lcd.begin(16,2); // Inicjalizacja LCD 2x16 lcd.clear(); lcd.backlight(); // zalaczenie podswietlenia pinMode(8, OUTPUT); // zasilenie- przekaźnik pinMode(7, INPUT_PULLUP); // przycisk } void loop() { lcd.setCursor(0,0); lcd.print("Czas impulsu:"); lcd.setCursor(0,1); lcd.print(" ms"); odczytanaWartosc = analogRead(A1); // odczyt ustawienia potencjometru lcd.setCursor(0,1); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna) czas = odczytanaWartosc * (100/1023.0) ; lcd.print(czas); delay(200); if (digitalRead(7) == LOW) { lcd.clear(); lcd.print("Zaczynamy z czasem"); lcd.setCursor(0,1); lcd.print(" ms"); lcd.setCursor(0,1); lcd.print(czas) ; delay(1000); lcd.clear(); lcd.print("3") ; delay(1000); lcd.clear(); lcd.print("2") ; delay(1000); lcd.clear(); lcd.print("1") ; delay(1000); digitalWrite(8, HIGH); //zgrzewanie delay(czas);//czas trwania zgrzewania } else { digitalWrite(8, LOW); //Wyłączenie zgrzewania } } |
5. Schemat podłączenia
Można jeszcze podłączyć zasilacz do arduino, jako że dużo zmieniam w ustawieniach to w swojej konstrukcji wyprowadziłem na zewnątrz obudowy kabel usb którym zasilam płytkę, a w razie potrzeby mogę szybko wgrać nowy szkic.
jeszcze filmik z działania i będzie 6 punktów na 5 :)
Jutro już nad tym pomyślę, bo brakuje już światła
kruko
Ciężko jedną ręką to nagrać, tutaj trochę słabo docisnąłem i zaiskrzyło.
https://gfycat.com/AppropriateValuableAmericancurl
Fajny projekt jednak przekaźnik nijak się nie sprawdzi niestety. Uwierz wiem co mówię bo zrobiłem nie jedną zgrzewarkę i sporo o tym temacie robiłem też filmów :)
hmm trochę rozwinąłbyś temat? Używałem przekaźnika elektromagnetycznego i faktycznie się nie sprawdzał, ale półprzewodnikowy działa zadowalająco.
Witam, A czy te rączki przy dłuższym impulsie i większej mocy nie będą się topiły. Pomysł i wykonanie SUPER!!
Hmm są z PETG – więc powinny do 70 stopni wytrzymać, a obejma zaciskająca jest najdalej jak się da od końcówek elektrod – do tego zgrzewarka robiłem z myślą o zgrzewaniu ogniw w pakietach, gdzie moce i czasy są raczej niewielkie (stąd najdłuższy czas zgrzewania który można ustawić to 100ms – w praktyce nie przekraczam 20)
Fajny projekt. Ja też wykonałem zgrzewarkę. Narazie nie publikowałem. Również użyłem transformatora od mikrofali 800W.
Mam dwa pytania:
ZibiM
Tutaj różnica między minimalną i maksymalną mocą przy tym samym czasie – zdjęcia robione telefonem..
Nie ma pokazane jak podłączyć wyświetlacz
Witam.
Dziś mnie również naszła budowa zgrzewarki ;) odciąłem uzwojenie, wyciągnąłem blaszki oddzielające, nawinąłem 3 uzwojenia uzyskałem napięcie 3,4V nie wiem czy nie nawinąć jeszcze jednego uzwojenia bo zostało mi jeszcze przewodu z jednej strony około 150cm z drugiej zostawiłem 50cm powinno jeszcze się zmieścić. Chciałem rozgrzać gwóźdź lecz go spaliło iskrzyło ;) narazie bez żadnego sterowania ale planuję coś wykonać.opis
jak Ci się tylko uda jeden więcej nawinąć to nawijaj ;)
Myślę że może być również 1/2 zwoju. Bo niby co to za różnica a napięcie nieznacznie wzrośnie.
Gdzieś czytałem że lepiej jest jak napięcie jest od 4V w zwyż. A jakie jest u Ciebie?
Zd2
Zd3
Zd4
Zd5
Cześć! Wlaśnie utknąłem na etapie wgrywania do arduino. Mam taki błąd i nie wiem co z tym zrobić…..
Arduino:1.8.5 (Windows 10), Płytka:”Arduino/Genuino Uno”
zgrzewarka:15: error: ‘POSITIVE’ was not declared in this scope
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27
^
exit status 1
‘POSITIVE’ was not declared in this scope
Ten raport powinien zawierać więcej informacji jeśli w
File -> Preferencje zostanie włączona opcja “Pokaż
szczegółowe informacje podczas kompilacji”
@woyu spróbuj pobrać inną bibliotekę i2c według tego poradnika
Witam.
W kodzie jest drobny błąd.
Jest:
delay(czas);//czas trwania zgrzewania
}
else {
digitalWrite(8, LOW); //Wyłączenie zgrzewania
}
Powinno być:
delay(czas); //czas trwania zgrzewania
digitalWrite(8, LOW); //Wyłączenie zgrzewania
}
else {
}
Błąd blokuje podawanie wyliczonego sygnału na pin .
Pozdrawiam
Witam.
Dokończyłem prawie swoje dzieło jednakże trzeba zrobić elektrody (ale mam już chyba pomysł) oraz większe otwory do chłodzenia lub jakaś może siatka bo teraz wentylator huczy a powietrza tylko tylko. Jakieś uwagi?
zdjeci2
zdjecie3
zdjecie2
zdjecie4
zdjecie5
zdjecie6
zdjecie7
zdjecie8
zdjecie9
zdjecie10
zdjecie11
zdjecie12
zdjeci10
Witam zdjęcia elektrod.
Ok super wszystko wyglada!
A powiedzcie mi prosze Ten potencjometr WH148 to jakiej mocy ma byc
1/2/5/10/20/50/100/250/500kΩ/1MΩ ??
i co nik juz nic nie umie odpowiedziec?
Umiemy, umiemy. Pytanie jest źle zadane.
Obstawiam, że nada się 20 kom. Jeżeli pytasz o ten do ustawiania czasu.
Tak oten pytalem. Moze byc wiekszy np 100kohm ?
Podłącz i sprawdź ;) Powinien zadziałać.
A twierdząc, że pytanie zostało źle zadane chodziło mi o to, że to nie jest moc, tylko rezystancja.
super.
Wielkie Dzieki
No dobra mam teraz problem z tym kodem na Andruino mega 2560
Nie dziala
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27
to zmienilem na
LiquidCrystal_I2C lcd(0x27,20,4);
ale mam problemy z reszta ustawien
lcd.print(czas) ; ‘lcd’ was not declared in this scope
Co mozna z tym zrobic?
Bo rozumiem ze wystarczy tylko zgrac kod ze stronki do Andruino IDE i powinno smigac?
Czy najpierw trzeba podlaczyc wszystkie bambetle i dopiero potem programowac?
A masz dołączone wymagane biblioteki?
Tak liquid crystal z menadzera pobralem
Ale LiquidCrystal_I2C?
Bo ten błąd oznacza, że arduino ide nie widzi biblioteki.
Skopiowałeś kod z majsterkowa, czy pisałeś?
A może załóż temat na forum. Podaj odnośnik do tego projektu.
Mam wrażenie, że tam łatwiej będzie pomóc.
A co do wcześniejszego pytania, jeśli nie masz nic podłączonego do arduino, to nie będziesz miał jak sprawdzić, czy układ działa. Ale program powinien się skompilować. Natomiast Ty masz problem właśnie z kompilacją. Więc na tym etapie nie jest ważne, co i jak masz połączone.
Kod skopiowalem i wkleilem do arduine ide.
Liquid crystal_i2c pobralem dodalem przez zip.
Poten wybieram plik-przyklady-liquigcrystal i wklejam koppie z majsterkowo.
Moze tu taj jest blad? Moze jakos imaczej mam robic?
Liquid crystal z menadzera pobralem
Juz ok
pobralem inna biblioteke NewLiquidCrystal i dziala
Jaką bibliotekę I2C wgrałeś że pozbyłeś się błędu??
Witam,ma mproblem z kodem podczas wgrywania kodu do arduino uno,pojawia mi się błąd
sketch_mar13aa:13: error: ‘POSITIVE’ was not declared in this scope
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27
^
exit status 1
‘POSITIVE’ was not declared in this scope
Nie wiem co z tym zrobić ,proszę o pomoc. Wgrałem bibliotekę I2C.
Już sobie poradziłem,wgrałem bibliotekę Newliquidcrystal_1.3.5
Za co odpowiada ta wartosc
czas = odczytanaWartosc * (100/1023.0)
Chodzi mi o te 1023.0
chcialbym zamiast 100 ustawic 500, czy ta druga wartosc musi byc wieksza?
1023 wynika z tego, że przetwornik anologowo-cyfrowy w procku jest 10-bitowy. Wartość ta pozwala przeliczyć wartość odczytaną z tego przetwornika (o wartościach od 0 do 1023) na wartość czasu
Ok super. I znowu wiem cos wiecej.
Nie eiem czemu moja zgrzewara bardzo slabo zgrzewa, tasma niklowana 0,1 na 400ms i tak slabo trzyma ze hej. Napiecie mam 1.7v , natezenie przy dluzszym zwarciu mam ok 600A.
za małe napięcie, musisz zmieścić jeszcze 1 ~ 2 zwoje, tak aby było około 4V
miałem ten sam problem