Sommario:

Spot Welder 1-2-3 Firmware Arduino: 7 passaggi (con immagini)
Spot Welder 1-2-3 Firmware Arduino: 7 passaggi (con immagini)

Video: Spot Welder 1-2-3 Firmware Arduino: 7 passaggi (con immagini)

Video: Spot Welder 1-2-3 Firmware Arduino: 7 passaggi (con immagini)
Video: Spot Welder 1-2-3 UI 2024, Dicembre
Anonim
Image
Image

Perché un altro progetto di saldatrice a punti?

Costruire una saldatrice a punti è uno dei (probabilmente pochi) casi in cui puoi costruire qualcosa per una frazione del prezzo della versione commerciale con una qualità comparabile. E anche se build-before-buy non fosse una strategia vincente, è molto divertente!

Così ho deciso di intraprendere il progetto e ho guardato come altre persone lo hanno fatto. Ci sono letteralmente un sacco di informazioni e video interessanti su questo in rete, con un'ampia variazione nella qualità del design e della costruzione.

La qualità della costruzione che si può realisticamente ottenere dipende dagli strumenti, dalle macchine e dalle strutture disponibili, quindi non è stato sorprendente vedere una variazione abbastanza ampia su questo fronte. D'altra parte, non mi aspettavo di vedere che la maggior parte dei progetti utilizza semplicemente un semplice interruttore manuale per avviare e interrompere il processo di saldatura.

In effetti, un controllo accurato del tempo di saldatura è fondamentale per la qualità delle saldature e non è possibile ottenerlo premendo manualmente un interruttore.

Ho sentito che, mentre costruirsi una saldatrice a punti è un argomento che probabilmente è già stato battuto a morte, forse si potrebbe realizzare una macchina migliore utilizzando il processo di saldatura in tre fasi con tempi precisi, come fanno le macchine professionali. Quindi mi sono dato cinque obiettivi di design principali per il mio progetto:

Supporto per il processo di saldatura in tre fasi

Tempi precisi e configurabili

Possibilità di memorizzare e recuperare in modo persistente i profili di saldatura

Semplicità di progettazione e costruzione

Utilizzo di soli componenti comunemente disponibili

Il risultato è il mio saldatore a punti 1-2-3 e in questo tutorial spiegherò la parte del progetto di controllo del processo di saldatura. Il video e questa istruzione mostrano le immagini del saldatore di prova prototipo, prima che tutti i componenti siano montati in una custodia adeguata. Una scheda per questo progetto è descritta in un'istruzione separata.

Se hai bisogno di familiarizzare con il concetto di saldatura a resistenza e come si può realizzare una saldatrice usando un trasformatore a microonde, fallo prima di continuare a leggere. Mi concentrerò sul controllo del saldatore, non su come funziona un saldatore o su come costruirne uno. Sento che questo è ben coperto altrove.

Passaggio 1: ricetta

1-2-3 Saldatura
1-2-3 Saldatura

Diamo un'occhiata ai componenti della saldatrice a resistenza:

Trasformatore di saldatura. Fornisce l'uscita a bassa tensione/alta corrente necessaria per la saldatura a resistenza mediante conversione della tensione di linea CA. Per una saldatrice autocostruita, il trasformatore di saldatura è normalmente ottenuto convertendo un trasformatore per forno a microonde per un'uscita a bassa tensione e alta corrente. Questo viene fatto rimuovendo l'avvolgimento secondario ad alta tensione dal MOT e avvolgendo un nuovo secondario costituito da poche spire di un cavo di rame molto spesso. Ci sono molti video su YouTube che ti mostrano come farlo

Circuito di potenza. Accende e spegne il trasformatore di saldatura e il suo funzionamento è controllato dal circuito di controllo. Il circuito di alimentazione funziona alla tensione di rete

Circuito di controllo. Controlla tutte le operazioni per il saldatore:

    Consente all'utente di impostare e modificare i tempi di saldatura

    • Consente all'utente di memorizzare e recuperare i tempi di saldatura.
    • E, non ultimo, permette all'utente di avviare un processo di saldatura inviando comandi al Power Circuit, che accende e spegne il trasformatore.

interfaccia utente. L'utente comunica con il circuito di controllo tramite un'interfaccia utente

Questa istruzione descrive l'interfaccia utente e il circuito di controllo. L'interfaccia utente e il design del circuito di controllo che propongo sono in realtà abbastanza indipendenti dagli altri blocchi e possono essere facilmente adattati a una saldatrice a punti esistente, a condizione che l'attuale incarnazione del circuito di alimentazione sia in grado di gestire il segnale di uscita digitale dal circuito di controllo. Quindi, se hai già una saldatrice a commutazione elettronica, puoi aggiungere i componenti di controllo e interfaccia utente descritti qui sopra senza altre modifiche.

Se hai solo un interruttore di alimentazione manuale in questo momento, dovrai anche costruire un circuito di alimentazione.

Prima di descrivere il funzionamento del firmware per il Circuito di Controllo, vediamo un po' più nel dettaglio come funziona il processo di saldatura.

Passaggio 2: saldatura 1-2-3

Le saldatrici professionali non saldano in un solo passaggio; usano una sequenza automatizzata in tre fasi. La saldatura a resistenza in tre fasi consiste in:

Fase di riscaldamento. Il trasformatore di saldatura è acceso e la corrente scorre attraverso gli elettrodi attraverso i pezzi in lavorazione. Questo serve solo a scaldare il metallo

Fase pressione: il trasformatore di saldatura è spento; i pezzi da lavorare sono mantenuti strettamente premuti l'uno contro l'altro. Le superfici dei pezzi da lavorare in metallo caldo ammorbidito fanno ora un ottimo contatto meccanico ed elettrico

Fase di saldatura: il trasformatore di saldatura viene riacceso. Le superfici metalliche ora in intimo contatto sono saldate sotto pressione

La durata dei singoli passaggi è in genere non uniforme e dipende dalla corrente disponibile dal saldatore, dal tipo di materiale che si sta cercando di saldare (principalmente la sua resistenza e punto di fusione), e dallo spessore dei pezzi da lavorare.

Molte delle saldatrici autocostruite di cui ho appreso non dispongono di un controllo automatico della temporizzazione, il che rende molto difficile il funzionamento ripetibile e affidabile.

Alcuni hanno la possibilità di impostare un tempo di saldatura, spesso tramite un potenziometro. Kerry Wong ne ha fatto uno molto carino in questa classe con un paio di elettrodi in più appositamente per saldare le batterie.

Pochissimi saldatori autocostruiti sono in grado di eseguire automaticamente le tre fasi di saldatura sopra descritte. Alcuni hanno solo una serie di durate fisse, come questa e questa. Con altri puoi modificare alcune delle durate, come con questo. Ha una durata fissa per le fasi di riscaldamento e pressa, mentre la durata della fase di saldatura può essere modificata tramite un potenziometro.

Ciò rende il processo parzialmente regolabile, ma potrebbe essere difficile ritrovare un'impostazione quando si desidera saldare di nuovo quel particolare materiale della linguetta della batteria dopo che è trascorso un po' di tempo. Una volta che hai trovato i tempi giusti per una particolare combinazione di materiale e spessore, non vorrai dover ripetere tutto da capo. È una perdita di tempo (e di materiale) e può essere un po' frustrante.

Quello che tu (beh, io) vuoi veramente qui è la completa flessibilità (configurabilità) per tutti i tempi e la capacità di memorizzare e recuperare le impostazioni una volta che le abbiamo corrette.

Fortunatamente, non è così difficile. Vediamo come controllare la saldatura a resistenza in tre fasi.

Passaggio 3: controllo della saldatura 1-2-3

1-2-3 Controllo della saldatura
1-2-3 Controllo della saldatura

Implementiamo il circuito di controllo con un microcontrollore (MCU). Il firmware MCU funziona come una macchina a stati con quattro stati come abbiamo visto nel passaggio precedente:

o Stato 0: Non salda

o Stato 1: Saldatura, fase di riscaldamento

o Stato 2: Saldatura, premere il punto

o Stato 3: Saldatura, fase di saldatura

Sto usando uno pseudo codice in stile C per descrivere il flusso del programma qui perché è facile metterlo in relazione con il codice MCU effettivo scritto in C/C++.

Dopo la fase di configurazione, il loop principale dell'MCU gestisce l'input dell'utente e le transizioni di stato come segue:

01: ciclo

02: switch (state) { 03: case 0: 04: readUserInput 05: case 1, 2, 3: 06: if (il timer di saldatura è scaduto) { 07: // passa allo stato successivo 08: state = (state + 1) % 4; 09: commuta il controllo della potenza 10: if (stato diverso da 0) { 11: imposta la nuova durata del passo e riavvia il timer di saldatura 12: } 13: } 14: fine ciclo

Se lo stato corrente è 0, leggiamo lo stato dell'interfaccia utente per elaborare l'input dell'utente e passare all'iterazione successiva.

Usiamo un timer di saldatura per controllare la durata delle fasi di saldatura. Supponiamo ora che la sequenza di saldatura sia appena iniziata quando inseriamo l'istruzione switch. Il controllo dell'alimentazione è attivo, il trasformatore di saldatura è alimentato e lo stato corrente è 1.

Se il timer di saldatura non è scaduto, il condizionale (riga 6) restituisce false, usciamo dall'istruzione switch e passiamo alla successiva iterazione del ciclo di eventi.

Se il timer di saldatura è scaduto, entriamo nel condizionale (riga 6) e proseguiamo:

1. Calcola e salva lo stato successivo (riga 8). Usiamo l'aritmetica modulo 4 per seguire la sequenza di stati corretta 1-2-3-0. Se lo stato corrente era 1, passiamo ora allo stato 2.

2. Quindi attiviamo il controllo dell'alimentazione (riga 9). Nello stato 1 il controllo di potenza era acceso, quindi ora è spento (come dovrebbe essere nello stato 2, premere step, con trasformatore di saldatura non alimentato).

3. Lo stato ora è 2, quindi inseriamo il condizionale sulla riga 10.

4. Impostare il timer di saldatura per la nuova durata del passo (durata del passo di pressione) e riavviare il timer di saldatura (riga 11).

Le successive iterazioni del ciclo principale saranno piuttosto tranquille fino a quando il timer di saldatura non scade di nuovo, ovvero la fase di stampa è completata.

A questo punto entriamo nel corpo del condizionale sulla riga 6. Lo stato successivo (stato 3) viene calcolato sulla riga 8; viene riattivata l'alimentazione al trasformatore (linea 9); il timer di saldatura viene impostato sulla durata della fase di saldatura e riavviato.

Quando il timer scade di nuovo, lo stato successivo (stato 0) viene calcolato sulla riga 8, ma ora la riga 11 non viene eseguita, quindi il timer non viene riavviato al termine del ciclo di saldatura.

Alla successiva iterazione del ciclo torniamo all'elaborazione dell'input dell'utente (riga 4). Fatto.

Ma come si avvia il processo di saldatura? Bene, iniziamo quando l'utente preme il pulsante di saldatura.

Il pulsante di saldatura è collegato a un pin di ingresso MCU, che è collegato a un interrupt hardware. Premendo il pulsante si verifica un'interruzione. Il gestore dell'interruzione avvia il processo di saldatura impostando lo stato a 1, impostando il timer di saldatura sulla durata della fase di riscaldamento, avviando il timer di saldatura e accendendo il controllo di potenza:

19: inizio saldatura

20: stato = 1 21: impostare la durata della fase di riscaldamento e avviare il timer di saldatura 22: accendere il controllo di potenza 23: terminare l'avvio della saldatura

Passaggio 4: gestione dell'interfaccia utente, standby e altre complicazioni del firmware

Gestione dell'interfaccia utente, standby e altre complicazioni del firmware
Gestione dell'interfaccia utente, standby e altre complicazioni del firmware

L'interfaccia utente è composta da un display, un encoder con pulsante, un pulsante momentaneo e un led. Sono utilizzati come segue:

Il display fornisce un feedback all'utente per la configurazione e mostra i progressi durante la saldatura

L'encoder con pulsante controlla tutte le interazioni con il firmware, tranne l'avvio di una sequenza di saldatura

Il pulsante momentaneo viene premuto per avviare una sequenza di saldatura

Il led è acceso durante una sequenza di saldatura e si accende e spegne ripetutamente durante lo standby

Ci sono una serie di cose che il firmware deve fare oltre al controllo del processo di saldatura come spiegato nel passaggio precedente:

Lettura dell'input dell'utente. Ciò comporta la lettura della posizione dell'encoder e dello stato del pulsante. L'utente può ruotare l'encoder verso sinistra o verso destra per spostarsi da una voce di menu alla successiva e per modificare i parametri sul display, oppure premere il pulsante dell'encoder per confermare un valore inserito o per salire di un livello nella struttura del menu

  • Aggiornamento dell'interfaccia utente.

    Il display viene aggiornato per riflettere le azioni dell'utente

    Il display viene aggiornato per riflettere l'avanzamento del processo di saldatura (mostriamo un indicatore accanto alla durata del passaggio corrente nella sequenza di saldatura)

    Il led si accende quando iniziamo a saldare e si spegne quando abbiamo finito

Pausa. Il codice tiene traccia di quanto tempo l'utente è rimasto inattivo ed entra in standby quando il periodo di inattività supera un limite preimpostato. In standby, il display è spento e il led sull'interfaccia utente viene visualizzato e spento ripetutamente per segnalare la condizione di standby. L'utente può uscire dallo standby ruotando l'encoder in entrambe le direzioni. Quando è in standby, l'interfaccia utente non deve reagire ad altre interazioni dell'utente. Notare che il saldatore può entrare in standby solo quando è nello stato 0, ad es. non mentre sta saldando

Gestione dei default, memorizzazione e recupero dei profili. Il firmware supporta 3 diversi profili di saldatura, ovvero impostazioni per 3 diversi materiali/spessori. I profili sono memorizzati nella memoria flash, quindi non andranno persi quando si spegne la saldatrice

Nel caso ve lo stiate chiedendo, ho aggiunto la funzione di standby per evitare il burn-in del display. Quando la saldatrice è alimentata e non si utilizza l'interfaccia utente, i caratteri visualizzati sul display non cambiano e potrebbero causare burn in. Il tuo chilometraggio può variare a seconda della tecnologia del display, tuttavia sto utilizzando un display OLED e sono inclini a bruciare abbastanza rapidamente se non viene curato, quindi avere lo spegnimento automatico del display è una buona idea.

Tutto quanto sopra complica ovviamente il codice "reale". Puoi vedere che c'è un po' più di lavoro da fare rispetto a quello che abbiamo visto nei passaggi precedenti per ottenere un software ben confezionato.

Ciò conferma la regola secondo cui con il software l'implementazione di ciò che si costruisce attorno alla funzionalità principale è spesso più complessa dell'implementazione della funzionalità principale stessa!

Troverai il codice completo nel link del repository alla fine di questo istruzioni.

Passaggio 5: circuito di controllo

Circuito di controllo
Circuito di controllo

Il firmware è stato sviluppato e testato utilizzando questi componenti:

  • Circuito di controllo:

    Arduino Pro Mini 5V 16MHz

  • Interfaccia utente:

    • Encoder rotativo con pulsante
    • Display OLED bianco I2C da 0,91" 128x32 fai-da-te basato su SSD1306
    • Pulsante momentaneo con led integrato

Ovviamente non è necessario utilizzare esattamente questi componenti nella build, ma potrebbe essere necessario apportare alcune modifiche al codice in caso contrario, soprattutto se si modifica l'interfaccia di visualizzazione, il tipo o le dimensioni.

Assegnazione pin Arduino:

  • Ingresso:

    • Pin A1 A2 A3 all'encoder rotativo utilizzato per selezionare/modificare profili e parametri
    • Pin 2 collegato a un pulsante temporaneo che viene premuto per avviare la saldatura. Il pulsante è normalmente montato su un pannello accanto all'encoder e può essere collegato in parallelo ad un interruttore a pedale.
  • Produzione:

    • Pin A4/A5 per I2C che controllano il display.
    • Pin 11 per l'uscita digitale al led, che si accende durante un ciclo di saldatura e si accende e si spegne durante lo standby. Non esiste un resistore di limitazione della corrente per il led nello schema perché ho usato un led integrato nel pulsante di saldatura fornito con un resistore in serie. Se utilizzi un led separato dovrai aggiungere un resistore in serie tra il pin 11 del Pro Mini e il pin 3 del connettore J2, oppure saldarlo in serie con il led sul pannello frontale.
    • Pin 12 per uscita digitale al circuito di alimentazione di rete (ingresso al circuito di potenza). Questo pin è normalmente BASSO e andrà ALTO-BASSO-ALTO durante un ciclo di saldatura.

Dopo la prototipazione su una breadboard, ho montato il circuito di controllo su una scheda prototipale autonoma comprendente un modulo di alimentazione di rete (HiLink HLK-5M05), il condensatore e le resistenze per antirimbalzo del pulsante di saldatura e connettori per display, encoder, led, pulsante e uscita del circuito di alimentazione. I collegamenti e i componenti sono mostrati nello schema (eccetto il modulo di alimentazione di rete).

C'è anche un connettore (J3 nello schema) per un interruttore a pedale collegato in parallelo al pulsante di saldatura, quindi si può iniziare a saldare sia dal pannello che utilizzando un interruttore a pedale, che trovo molto più comodo.

Il connettore J4 è collegato all'ingresso del fotoaccoppiatore del circuito di alimentazione, che è montato su una scheda proto separata nel prototipo.

Per il collegamento al display (connettore J6) in realtà ho trovato più semplice utilizzare un flat cable a 4 fili con due fili che vanno ad un connettore a due pin (corrispondente ai pin 1, 2 di J6), e due fili con Dupont femmina connettori che vanno direttamente ai pin A4 e A5. Su A4 e A5 ho saldato un'intestazione maschio a due pin direttamente sulla scheda Pro Mini.

Probabilmente aggiungerò l'antirimbalzo anche per il pulsante dell'encoder nella build finale. Un design PCB migliorato per questo progetto è descritto in un istruzioni separato.

Passaggio 6: circuito di alimentazione

Circuito di alimentazione
Circuito di alimentazione

ATTENZIONE: Il circuito di alimentazione funziona a tensione di rete con correnti ampiamente sufficienti per ucciderti. Se non si ha esperienza con i circuiti a tensione di rete, non tentare di costruirne uno. Come minimo, è necessario utilizzare un trasformatore di isolamento per eseguire qualsiasi lavoro sui circuiti di tensione di rete.

Lo schema del circuito di potenza è molto standard per il controllo di un carico induttivo con un TRIAC. Il segnale dal circuito di controllo di controllo pilota il lato emettitore del fotoaccoppiatore MOC1, il lato rivelatore a sua volta pilota il gate del triac T1. Il triac commuta il carico (il MOT) tramite una rete di soppressione R4/CX1.

Fotoaccoppiatore. Il MOC3052 è un optoaccoppiatore a fase casuale, non del tipo zero-crossing. L'utilizzo della commutazione a fase casuale è più appropriato della commutazione a zero-crossing per un carico induttivo pesante come il MOT.

TRIAC. Il triac T1 è un BTA40 valutato per una corrente continua di 40 A, che può sembrare eccessiva in termini di corrente assorbita dal MOT in condizioni stazionarie. Considerando che il carico ha un'induttanza piuttosto elevata, tuttavia, la valutazione di cui dobbiamo preoccuparci è la corrente di picco di picco non ripetitiva nello stato di attivazione. Questa è la corrente di spunto del carico. Sarà prelevato ogni volta durante il transitorio di accensione dal MOT e sarà diverse volte superiore alla corrente di stato. Il BTA40 ha una corrente di picco di picco non ripetitiva di 400A a 50 Hz e 420A a 60 Hz.

Pacchetto TRIAC. Un motivo in più per selezionare un BTA40 è che viene fornito in un pacchetto RD91 con linguetta isolata e ha terminali a forcella maschio. Non so voi, ma io preferisco una linguetta isolata per semiconduttori di potenza a tensione di rete. Inoltre, i terminali a forcella maschio offrono una solida connessione meccanica che consente di mantenere il percorso dell'alta corrente (fili contrassegnati con A nello schema) completamente fuori dalla scheda proto o PCB. Il percorso dell'alta corrente passa attraverso i fili marroni (più spessi) contrassegnati con A nell'immagine. I fili marroni sono collegati ai terminali a forcella del triac tramite terminali piggyback che sono anche collegati alla rete RC sulla scheda tramite i fili blu (più sottili). Con questo trucco di montaggio il percorso dell'alta corrente è fuori dalla scheda proto o PCB. In linea di massima si potrebbe fare lo stesso con i fili di saldatura sulle gambe del più comune package TOP3, ma l'assemblaggio sarebbe meccanicamente meno affidabile.

Per il prototipo ho montato il triac su un piccolo dissipatore con l'idea di prendere delle misure di temperatura ed eventualmente montarlo su un dissipatore più grande o anche a diretto contatto con il case metallico per la costruzione finale. Ho osservato che il triac si riscalda a malapena, in parte perché è opportunamente sovradimensionato, ma principalmente perché la maggior parte della dissipazione di potenza nella giunzione è dovuta alla commutazione dello stato di conduzione e chiaramente il triac non cambia frequentemente in questa applicazione.

Rete di smorzamento. R4 e CX1 sono la rete snubber per limitare la velocità di variazione vista dal triac quando il carico è spento. Non utilizzare alcun condensatore che potresti avere nel cestino dei pezzi di ricambio: CX1 deve essere un condensatore di tipo X (o meglio di tipo Y) valutato per il funzionamento a tensione di rete.

Varistore. R3 è un varistore dimensionato in base al valore di picco della tensione di rete. Lo schema mostra un varistore valutato per 430V, che è appropriato per una tensione di rete 240V (attenzione qui, la tensione nominale nel codice del varistore è un valore di picco, non un valore RMS). Utilizzare un varistore valutato per 220V di picco per una tensione di rete di 120V.

Guasto del componente. È buona norma chiedersi quali sarebbero le conseguenze del guasto del componente e identificare gli scenari peggiori. Una cosa brutta che potrebbe accadere in questo circuito è il guasto del triac e il cortocircuito dei terminali A1/A2. Se ciò accade, il MOT sarebbe permanentemente energizzato finché il triac è in cortocircuito. Se non si notasse il ronzio del trasformatore e si saldasse con il MOT permanentemente acceso, si surriscalda/rovinerebbe il pezzo/gli elettrodi (non è bello) e si potrebbe surriscaldare/fondere l'isolamento del cavo (molto male). Quindi è una buona idea creare un avviso per questa condizione di errore. La cosa più semplice è collegare una lampada in parallelo al primario MOT. La spia si accenderà quando il MOT è acceso e fornirà un segnale visivo che il saldatore sta funzionando come previsto. Se la luce si accende e rimane accesa, allora sai che è ora di staccare la spina. Se hai visto il video all'inizio, potresti aver notato una lampadina rossa che si accende e si spegne in sottofondo durante la saldatura. Ecco cos'è quella luce rossa.

Un MOT non è un carico molto ben gestito, ma nonostante inizialmente fossi un po' preoccupato per l'affidabilità della commutazione tramite il circuito di alimentazione, non ho riscontrato alcun problema.

Passaggio 7: note finali

Note finali
Note finali

Bene, innanzitutto grazie mille alle molte persone che hanno dedicato del tempo a spiegare in rete come costruire una saldatrice a punti utilizzando un trasformatore per forno a microonde riproposto. Questo è stato un enorme bootstrap per l'intero progetto.

Per quanto riguarda il firmware Spot Welder 1-2-3, sarebbe stato un lavoro lungo e noioso scrivere il codice senza le astrazioni fornite da una serie di librerie oltre all'IDE standard di Arduino. Trovo molto utili queste librerie timer (RBD_Timer), encoder (ClickEncoder), menu (MenuSystem) e EEPROM (EEPROMex).

Il codice del firmware può essere scaricato dall'archivio codici Spot Welder 1-2-3.

Se hai intenzione di costruirlo, ti consiglio caldamente di utilizzare il design PCB descritto qui, che incorpora una serie di perfezionamenti.

Consigliato: