HotAirGun: differenze tra le versioni

Da raspibo.
(Zero crossing detection)
(Driving del triac)
Riga 95: Riga 95:
 
*il software deve calcolare solamente il tempo da attendere prima di attivarlo
 
*il software deve calcolare solamente il tempo da attendere prima di attivarlo
 
*lo spegnimento automatico ad ogni passaggio per lo zero garantisce che un eventuale problema software al micro causi una alimentazione a massima potenza della resistenza (che avrebbe effetti distruttivi)
 
*lo spegnimento automatico ad ogni passaggio per lo zero garantisce che un eventuale problema software al micro causi una alimentazione a massima potenza della resistenza (che avrebbe effetti distruttivi)
 +
 +
Da notare che aumentando il valore sulla variabile TCNT_timer quindi aumentando il tempo di attesa prima di attivare il triac si ha minore potenza sulla resistenza.
  
 
=== PCB ===
 
=== PCB ===

Versione delle 12:02, 3 lug 2019

Indice

Ovvero come rendere un progetto hardware e software completamente open

Questo progetto nasce diverso tempo fa come esperimento personale di Msystem.

Lo scopo era quello di crearsi una stazione di saldatura ad aria calda basandosi su uno schema visto su una rivista di elettronica creando uno strumento utile.

Il progetto e' stato realizzato, pubblicato su github e presentato durante una serata(i dettagli in fondo alla pagina).

La prima versione pero' aveva alcune caratteristiche:

  1. schemi realizzati con software proprietario
  2. controllore PIC che all'interno del nostro gruppo e' poco diffuso

Per far evolvere il progetto Msystem ha pensato di riprogettare il tutto in compagnia e utilizzare unicamente software open source.

Versione 2

455024573 479078.jpg 455705647 436435.jpg 447808582 167273.jpg
 
Hot air gun V2
 
455926349 327987.jpg 447816881 166701.jpg


Tutto il progetto e' disponibile a questo indirizzo https://github.com/raspibo/HotAirGun.

Per il progetto abbiamo utilizzato:

  1. kicad per gli schemi elettrici e pcb
  2. ide arduino per il microconroller
  3. freecad per il disegno 3D

I componenti utilizzati sono standard per permettere la replica del progetto anche tra qualche tempo.

Schema elettrico

Lo schema in kicad e' stato diviso su piu' fogli per rendere piu' facile la comprensione dei blocchi.

Sono state prodotte due piastre pcb:

  • modulo i2c controller
  • modulo potenza e microcontrollore

I2c controller

Questa e' una scheda di interfacciamento tra l'operatore ed il micro arduino e permette tramite encoder, display, led e buzzer di pilotare la stazione ad aria calda.

L'interfacciamento con arduino avviene su bus i2c, per limitare l'uso di pin, per questo e' stato usato un chip mcp23017 i2c port expander che serve a pilotare pin I/O tramite i2c.

Qualche altra info sull'integrato e' disponibile su questa pagina GPIO_aggiuntivi_MCP23x17.

MCP23017 offre 2 port a 8 bit che abbiamo usato per interfacciare il display LCD oltre a un encoder con pulsante, led e buzzer.

L'integrato viene completamente configurato all'avvio da arduino per decidere se i port sono input o output e su alcuni pin in ingresso attivare un interrupt in caso di variazioni di stato per gestire in tempo breve e ottimale l'encoder.

Questa scheda e' configurabile a piacere con poche variazioni, noi abbiamo scelto un interfacciamento con 3 pulsanti, 1 led ed un buzzer.

AC control + Microcontrollore

Il funzionamento di HAG prevede un microcontrollore che regoli continuamente la potenza da erogare sulla resistenza presente all'interno del generatore di aria calda alimentata dai 240 volts di rete in corrente alternata.

Sono quindi da gestire alcune funzionalita' indispensbili (Alta priorita'):

  • Verifica della temperatura all'interno del generatore di aria calda tramite termocoppia
  • Calcolo della differenza tra temperatura attuale e quella desiderata
  • Elaborazione dell'algoritmo PID
  • Rilevamento del passaggio della tensione alternata per lo zero.
  • Attivazione di un interrupt sul microcontrollore e se necessario attivazione del TRIAC
  • Attesa del tempo calcolato dal PID
  • Disattivazione del TRIAC

Sono quindi da gestire alcune funzionalita' di interfaccia (Bassa priorita'):

  • Interfacciamento con l'utente (gestione display, encoder, pulsanti)

Sono quindi da gestire alcune funzionalita' aggiuntive (Bassa priorita'):

  • Debug su seriale

Zero crossing detection

Per rilevare il passaggio per lo zero della tensione di rete viene utilizzato un ponte di diodi direttamente connesso alla tensione di rete.

All'uscita c'e' una resistenza di limitazione di valore elevato per pilotare un fotoaccoppiatore che emette un impulso all'inversione di polarita' della tensione di rete.

L'uscita del fotoaccoppiatore e' connessa ad un pin del microcontrollore per il pilotaggio dell'interrupt.

Driving del triac

Il microcontrollore periodicamente ricalcola la potenza necessaria da applicare sulla resistenza tramite l'algoritmo PID.

Lavorando in corrente alternata non basta applicare un segnale PWM, ma bisogna lavorare in sincrono con il segnale sinusuoidale, per questo motivo viene rilevato il passaggio della tensione per lo zero.

Il triac e' un dispositivo che si spegne automaticamente al passaggio della tensione per lo zero, questo implica che va pilotato con un impulso a temporizzazione precisa per essere attivato, ma ha anche due grossi vantaggi:

  • il software deve calcolare solamente il tempo da attendere prima di attivarlo
  • lo spegnimento automatico ad ogni passaggio per lo zero garantisce che un eventuale problema software al micro causi una alimentazione a massima potenza della resistenza (che avrebbe effetti distruttivi)

Da notare che aumentando il valore sulla variabile TCNT_timer quindi aumentando il tempo di attesa prima di attivare il triac si ha minore potenza sulla resistenza.

PCB

Il pcb per alcune caratteristiche si potrebbe anche creare con metodi casalinghi, ma essendo in gioco la tensione di rete abbiamo preferito farli produrre ad un servizio di realizzazione industriale che garantisce una finitura con vernice isolante e serigrafie.

Codice

3D

Rispetto alla prima versione di HotAirGun la forma del case e' cambiata a causa del diverso formato del controller I2c.

Inoltre il case e' stato ridisegnato utilizzando Free Cad.

A parte il frontale che ha un layout orientato a questo progetto, il case e' riutilizzabile come contenitore per altri progetti.

Assemblaggio

Istruzioni

Versione 1

Nell'archvio git questa versione si trova sul branch V1 https://github.com/raspibo/HotAirGun/tree/V1

Alcune info sulla prima versione sono state descritte durante la serata di presentazione qui sotto.

Documentazione

Controllo in fase

Controllo PID

Schema Elettrico

Controllo in tensione sulla resistenza che riscalda l'aria calda
Implementazione del controllo PID su controllori a basse prestazioni, soluzioni adottate per limitare l'uso della RAM.
Schema elettrico

Archivio codice

Altro



Serata Hot Air Gun - 21 marzo 2017

Hotairgun.png

Il progetto di reingegnerizzazione del progetto è nato da una serata di seguito l'annuncio.

Annuncio

RaspiBO vi propone una serata dedicata al making homemade in ambito elettronico.

La serata sara' dedicata al progetto di una centralina di controllo di un saldatore ad aria calda utilizzabile sia per la saldatura (e dissaldatura) di componenti smd, ma anche per altre operazioni che richiedano una fonte di aria calda a temperatura costante (lavorazione di materie plastiche, asciugatura piccole quantita' di colle e vernici ecc....).

Toccheremo vari aspetti della realizzazione di questo progetto:

  • realizzazione dell'hardware
  • teoria del controllo PID
  • interfacciamento della sonda di temperatura
  • realizzazione del contenitore stampato in 3D


Hot Air Gun

Box

HotAriGun1.jpg

HotAriGunFrame.jpg

Quando e dove

L'evento si terrà presso la biblioteca Meridiana in via Gandusio 6 (c/o Circolo Arci Guernelli) a Bologna dalle ore 20:30 ; vedere questa mappa.

Costi - Registrazioni

L'evento è gratuito; è gradita la registrazione su Booking Raspibo

Per pubblicizzare l'iniziativa, potete usare la locandina che trovate qui.

Per qualunque domanda, potete iscrivervi alla mailing list agora o scrivere ad info@raspibo.org

Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Strumenti