Crea sito

News

Laser PCB - novità per i circuiti stampati

Lo ammetto. Mi lascio facilmente attrarre dalle idee nuove.

Da quando ho visto in vendita su ebay le pellicole negative per PCB (negative photoresist dry film) mi sono messo in mente un'idea e ho (temporaneamente) abbandonato i progetti in corso.

A zonzo su internet ho visto che non sono l'unico - altri hanno perseguito e realizzato il mio stesso obiettivo, ma come al solito io devo fare tutto in casa e da me...

L'idea di base è quella di utilizzare la stampa diretta di circuiti stampati su queste pellicole attraverso un raggio laser (ultra)violetto evitando l'acquisto di costose basette presensibilizzate e la stampa del master su acetato, con i relativi problemi di costo, di precisione e di delicatezza.

L'obiettivo è quello di realizzare un tale dispositivo di stampa, completo di driver a microprocessore con il relativo firmware, di software PC in grado di leggere i files gerber e di mandare al microprocessore le opportune direttive di stampa.

Hardware - meccanica

Ho aperto la scatola delle stampanti cannibalizzate alla ricerca di parti idonee - la scelta è caduta su 2 stampanti inkjet: la prima aveva un'ottima meccanica di trascinamento carta, ancora integra comandata da un motore a step attraverso un motoriduttore - purtroppo il carrello delle testine era comandato da un motore a step che arrivava a 8 millesimi di pollice per microstep (risoluzione troppo bassa). La seconda stampante aveva un meccanismo di trascinamento carta non adatto ma un meccanismo di spostamento testine ottimo (per i miei scopi) - veloce e con una risoluzione di 2 millesimi di pollice per microstep (significa circa 500 dpi). Il motore è siglato 17PM-K212-P2T, ha un angolo di step di 1,8 gradi.

Detto fatto: taglia e cuci meccanico e con l'ausilio di cacciavite, trapano, smerigliatrice angolare e seghetto da due ne ho fatta una: eccola.

 ESCAPE='HTML'

Ho limato un po' i due "pressacarta" centrali ed ho allentato un po' le molle di chiusura in modo che il pezzo di vetronite da "stampare" ci passi senza sforzo.

Vista posteriore: ho avvitato una parte aggiuntiva con rulli e molle per reggere e tenere allineata la vetronite.

Il laser

Le pellicole fotosensibili reagiscono alle lunghezze d'onda ultraviolette  "polimerizzando" (non so se sia il termine esatto). Ho scelto un laser violetto (405nm), visto su ebay e poi acquistato direttamente dal sito del venditore per risparmiare qualche euro. Ho acquistato: diodo laser PHR-805, contenitore/dissipatore, ottica in vetro adatta ai 405nm, schedina di alimentazione (venduta con il laser) con ingresso TTL. Mi sono spaventato leggendo in rete di quanto siano delicati  questi diodi e non mi sono azzardato ad alimentarlo da me. Questo diodo arriva fino a 150mW, io l'ho fatto lavorare a 80mW e dai primi esperimenti mi pare sufficiente.

ATTENZIONE:  i diodi laser, oltre che delicati possono essere anche estremamente pericolosi - proteggetevi opportunamente gli occhi !

La cosa più importante è focalizzare perfettamente il raggio sulla superficie della basetta; l'ottica è provvista di una regolazione di messa a fuoco tramite una vite: avvitando l'ottica verso l'interno o svitandola verso l'esterno il "fuoco" si allontana o si avvicina.   Per mettere bene a fuoco è meglio sottoalimentare il diodo  (10mW?) abbassando la tensione di alimentazione in modo da avere un puntino osservabile a occhio nudo senza essere abbagliati - usate come bersaglio un pezzetto di plastica scura. A 80mW il puntino a fuoco farà uscire del fumo dalla plastica !

La distanza che ho tra la lente e la basetta è di 52mm, per focalizzare bene l'ottica è stata avvitata circa a filo del contenitore.

Ho messo anche un piccolo laser rosso da 1mW allineato che serve ad allineare la basetta prima di partire con il lavoro.

I laser devono essere montati sul carrello testine in modo che siano ben saldi e non soggetti a vibrazioni durante lo spostamento del carrello stesso.

Piccolo accorgimento: il laser non fa realmente un puntino ma fa un rettangolino: lo notate se lasciate l'ottica sfocata (magari proiettando sul muro) - fate un modo che il "rettangolino" sia ortogonale con gli assi X e Y della stampante, con il lato lungo disposto in verticale (secondo me è meglio - è una mia opinione).

Regolazione del laser

Come vi dicevo sopra io ho acquistato in internet il diodo laser, il suo alloggiamento, la lente di messa a fuoco ed il modulatore TTL.

Il diodo è molto delicato: per evitare problemi prima di saldarlo legate assieme tra loro i 3 pin con un filo sottilissimo (2 o 3 giri) in modo da cortocircuitarli - staccate questo filo dopo che avete saldato i pin.

Anche la taratura della potenza è delicata ma qui viene in aiuto la mia scheda di controllo; dal laser escono 3 fili che vanno al connettore sulla schedina: negativo (nero) positivo (rosso) e modulazione TTL (bianco). Prima di collegarlo alimentate la schedina e tarate i trimmer degli alimentatori: collegate un voltmetro e tarate il trimmer di controllo tensione per avere in uscita circa 9.5V. Poi collegate invece un milliamperometro sui terminali di uscita e regolate il trimmer della corrente per avere 130mA di corrente di corto circuito: dal momento che il modulatore TTL assorbe 30mA significa che al massimo il laser assorbirà 100mA che per il diodo PHR805 significa circa 100mW (può arrivare a 120/130mW, qualcuno dice 150).

A questo punto il collegamento si può fare: va tarato il trimmer sulla schedina del modulatore TTL mettendo il milliamperometro in serie all'alimentazione del laser (filo rosso) - io ho regolato l'assorbimento a 110mA (80mW sul laser).

Per accendere il laser e regolare assorbimento e messa a fuoco basta collegare il filo bianco con il rosso anzichè al connettore (non cortocircuitate i fili sul connettore perchè mandereste i 9V al PIC!!!).  In alternativa potete usare un comando da PC (vedi sotto).

La scheda di controllo

 ESCAPE='HTML'

Il processore cosa poteva essere se non un PIC18F26K80...  (se avete letto altro sul mio sito sapete perchè...).

L'alimentazione (da 12 a 20Vcc) viene portata a 5V dal solito MAX 5035.

I motori stepper sono pilotati da due MTS62C19 microchip.

La scheda è dotata di una eeprom 24LC1025 microchip per consentire (non ancora in questa versione) di memorizzare localmente i dati di stampa e poter lavorare (una volta scaricato il file) anche a PC staccato.

L'interfaccia con il PC è la stessa usata in altri progetti: sta su di una schedina separata che si innesta sul connettore ICSP, utilizza MCP2200 microchip e si connette all'ingresso USB. Necessita che sia installato l'apposito driver. 

La scheda di controllo monta anche due regolatori LM317 utili a non sovraccaricare l'alimentatorino del laser (regolatore di tensione) ed a regolare (a ridurre) l'assorbimento di corrente e quindi la potenza laser (regolatore di corrente).  Tenete presente che la corrente assorbita dal diodo laser equivale a quella in uscita dalla nostra scheda meno 30mA assorbiti dall'alimentatorino interno.

Dopo aver montato la schedina:

- Alimentatela e verificate che l'alimentazione del PIC sia a 5V (pin 2 e 3 del connettore ICSP)

- Collegate il programmatore (io uso pickit3) ed iniettate il firmware nel PIC

- Staccate il programmatore - il programma parte ed il led inizia a lampeggiare

- Collegate l'interfaccia USB al connettore ICSP e ad una presa USB

- Usate l'utility Microchip per impostare la porta USB/seriale

- Se il vostro PC assegna una porta COM oltre la 4 (COM5-COM99) andate in gestione dispositivi Windows e riassegnate il numero di porta

- Usate un software emulatore di terminale - io uso Putty con i parametri di connessione seriale COM1 115200,8,N,1

- Sul terminale digitate "h" - il PIC dovrebbe rispondere con un piccolo menu di opzioni - utili per qualche test iniziale sui motori e sui laser

Sul PC ?

Evidentemente anche sul PC serve qualcosa...

Qui ho usato VB6 ed ho scritto un programmino che:  legge il file gerber del layout  (bottom layer) e lo visualizza a video con grafica GDI (sono attese dimensioni in millesimi di pollice); se il suffisso del file è .GBL  poi pretende di trovare il corrispontente .GBT  (top layer) e rappresenta i fori al centro dei pad.

Ecco QUI il programma. (testato su Windows XP, Windows 7, Windows 8.1 e Windows 10)

L'ho utilizzato con i file gerber generati dal mio editor (TRAXMAKER) , non garantisco che funzioni con altri ma possiamo provare. Se mi mandate dei files gerber che non funzionano posso adattarlo e migliorarlo...

Ci si aspetta una risoluzione dei motori stepper di 2 millesimi di pollice per microstep in orizzontale e di 1,6 millesimi di pollice per STEP in verticale (il motore verticale non ha un movimento continuo quindi non uso fermate sui microstep intermedi).  Se la risoluzione dei motori è leggermente diversa il programma accetta dei fattori di correzione

Il programma consente anche di smagrire (da 0 a 9 millesimi) le tracce ed i pad  per compensare eventuali sbavature o sfocature (si dice così?) del laser.

Appositi bottoni consentono di impostare e provare diverse velocità di scorrimento della testina: va scelta la velocità più alta possibile che non faccia perdere colpi al motore (se succede si sente a orecchio) - tenete presente che più la velocità è alta e minore è l'irraggiamento dell'area - a velocità troppo alte potrebbe necessitare di far lavorare il laser a potenze più alte.

La velocità standard impostata è di 2 millisecondi per step (0,5mS x microstep) - siccome uno step fa 8 millesimi di pollice (0,20mm)  la velocità è di  circa 10cm al secondo.

Con il mio motore riesco senza problemi a lavorare fino a 0,3mS/microstep.

Procedura ?

1 - preparare il disegno del pcb e salvarlo in formato gerber

2 - preparare il PCB delle dimensioni opportune (consiglio 1 o 2 cm in più)

3 - pulirlo perfettamente con carta grana finissima e acetone (o alcool o altro)

4 - tagliare un pezzo di foglio fotosensibile, un po' più grande del PCB

5 - utilizzando 2 pezzetti di scotch togliere uno dei 2 fogli di protezione

6 - farlo aderire perfettamente al PCB senza lasciare bolle (è la parte più noiosa)

7 - con un ferro da stiro a temperatura media, interponendo un foglio di carta pulita, fissarlo al pcb (pochi secondi ! ) - se la pellicola si arriccia è tutto da rifare

8 - a questo punto il secondo foglio protettivo può essere tolto (qualcuno consiglia di lasciarlo sin dopo l'esposizione) - toglierlo adesso consente una esposizione senza sbavature ma è più difficile e rischioso

9 - con un pezzetto di nastro biadesivo fissare il pcb al centro di un foglio A4

10 - inserire il foglio A4 con relativo pcb nella nostra stampante, utilizzando i pulsantini posizionare il pcb in modo che il laser punti all'angolo destro, qualche mm in dentro, qualche mm in avanti

11 - utilizzare il programma del pc per caricare il file gerber (il disegno vi deve apparire lato rame molto ingrandito) - utilizzate il pulsante "burn" per partire

12 - estrarre foglio A4 e pcb - il disegno deve apparire netto

13 - se non avete levato la seconda pellicola di protezione fatelo adesso

14 - sviluppare in acqua tiepida e soda da lavaggio (10 grammi per litro) - risciacquare anche più volte durante lo sviluppo

15 - incidete la basetta nel vostro modo preferito (io uso acido cloridrico, acqua e acqua ossigenata)

16 - per rimuovere il film rimasto utilizzate una soluzione tiepida di acqua e soda caustica (7/8 gr per litro) un pennello e un po' di pazienza

Risultato ?

Ho fatto 3 prove con dei vecchi PCB per tarare il tutto.

La quarta prova è stata la prova del fuoco - ho utilizzato una vecchia basetta in vetronite opportunamente ripulita e ho cercato di incidervi il circuito stampato del CAN132 (server web) che è discretamente impegnativo - occupa circa 90 x 70mm e comprende anche un IC  TQFP a 64 pin con piste da 10 mils.

Il risultato è decisamente buono - si notano circa 3 imperfezioni dovute essenzialmente a qualche microbolla residua che si notava anche ad occhio - devo trovare il modo di migliorare quella fase - qualcuno consiglia di bagnare la basetta con acqua.

Non ci sono corti circuiti tra pin adiacenti; non ci sono piste interrotte - solo è scomparso (una bolla?) un pin del pic32 ma è un errore facilmente rimediabile.

Nuovi obiettivi: trovare il modo ideale per incollare la pellicola al PCB; utilizzare gli input aggiuntivi della schedina per dei tasti di posizionamento manuale; provare altre alternative di esposizione e di "smagrimento" delle piste (ho usato l'opzione "1" ma forse andava meglio "0"); modificare il software per effettuare la stampa offline; modificare il processo di stampa diretto che ora praticamente "blocca" il computer per tutto il tempo di stampa.

QUI un filmato youtube

Si accettano suggerimenti !

Versione 2

Ho rilasciato la versione 2 del software VisualBasic e del firmware del PIC.

Novità:

- Durante la stampa il PC non si blocca più

- Il software prevede l'opzione per aggiornare il firmware della schedina on-line (senza collegare il pickit)

- Aggiunta l'opzione per fare il download del circuito sulla eeprom dell'interfaccia per poter avviare la stampa e staccare il pc

- aggiunta l'opzione per la stampa in "reverse" (testata con basetta presensibilizzata classica (positiva) )

Devo dire che con la basetta presensibilizzata classica, non essendoci problemi di bolle sotto al film, la precisione è veramente sorprendente.  Unica accortezza: utilizzando una basetta con dry film negativo le piste vanno "smagrite" di 1-2 mils (c'è l'apposito parametro nella casellina) . utilizzando basette positive le piste vanno viceversa ingrandite di un paio di mils (io ho usato il valore -2);  questo per prevenire le sbordature del laser il cui punto (a fuoco) è appunto di questo ordine di grandezza.

Non dimenticate che il parametro di smagrimento/ingrandimento ed coefficienti X e Y hanno effetto quando si carica un file gerber (tasto Load) - viceversa il parametro di velocità (speed) va impostato prima di fare un "download" o di fare un "burn immediato" (se modificate dopo non hanno effetto).

Pulsantino: il pulsante 1 (shift) imposta il movimento manuale verticale (premuto) o orizzontale (rilasciato).  Il pulsante 2 sposta a sinistra (o in basso), il pulsante 3 sposta a destra (o in alto).

Premendo da solo il pulsante shift (1) per più di 3 secondi il programma legge da eeprom il dati dell'ultimo download ed effettua un movimento destra-sinistra con laser rosso acceso, per darvi modo di controllare l'allineamento della basetta. Se continuate a tenerlo premuto altri 2 secondi parte l'incisione vera e propria.  Per fermarla a metà tenete ri-premete il tasto shift per una decina di secondi (a volte di più, non funziona perfettamente).

Test "piccolo"

Scopo del test: verificare che si possano utilizzate basette piccole senza problemi.

Ho utilizzato un ritaglio di basetta presensibilizzata positiva - lo stampato misura mm 25 x 17, ho tagliato la basetta 28x20mm.

Risultato più che soddisfacente (le piste piccole sono da 12mils) ma che ha evidenziato una imperfezione del software: quando si stampa una basetta positiva ho previsto 2 margini esterni da circa 3mm che il laser "brucia" per lasciare uno spazio intorno al circuito stampato, altrimenti tutte le piste che arrivano a quel margine andrebbero in corto. Purtroppo invece in verticale non ci ho pensato e il laser fa una sola passata iniziale e finale.

Al prossimo giro metterò nell'interfaccia 2 caselline per poter decidere la spaziatura bruciata pre e post.

Ho anche verificato l'incisione del laser con l'esposizione UV: la velocità 43 corrisponde ad una buona esposizione UV (le piste si vedono solo dopo lo sviluppo); la velocità 40 brucia molto di più e le piste si vedono subito, lo sviluppo fa staccare quasi subito la parte esposta. In tutti e due i casi l'incisione risulta ottima.

 ESCAPE='HTML'

Test vernice fotosensibile

Provata la vernice fotosensibile cinese:

Va diluita con olio di banana, sostituito con il più reperibile ACETONE. Recentemente ho provato con un comune diluente per vernici NITRO - va ancora meglio.

La parte di vernice diluita la conservo senza problemi in un barattolo di vetro con coperchio tenuto al buio. Va stesa sul PCB ben pulito con un pennellino "piatto" - si fatica a stenderla in maniera uniforme ma non preoccupatevi: il laser ha un contrasto talmente forte che quella esposta diventa durissima.

Dimenticatevi il phon per asciugare la lastrina, molto meglio una notte in un cassetto buio. 

Incisione ottimale con il laser a velocità 44 (quasi al top) - dopo l'incisione a occhio nudo non si vede niente, immergetela in acqua ben calda e carbonato di sodio /soda da lavaggio); con un pennellino aiutate la vernice non esposta a sciogliersi. Non temete di lasciarla troppo nello sviluppo, preoccupatevi invece che non rimangano residui sulla parte non esposta; se necessario risciacquate in acqua.

Erodete il rame con il vostro sistema preferito (per me acqua, acido cloridrico, acqua ossigenata) e poi risciacquate.

Per togliere il residuo blu: acqua e soda caustica (molto concentrata, tipo 50g per litro),  mezz'ora o più finchè la vernice polimerizzata non viene via tutta.

La soda caustica potrà rendere un po' bruno il rame (non capita sempre e non mi è chiaro il perchè): prima risciacquate e poi usate uno straccetto bagnato in acqua e acido muriatico: ridiventerà lucido.

Svantaggi: difficile da stendere, difficile da togliere.

Vantaggi: costo bassissimo, risultati perfetti, nessun problema di bolle.

Video youtube: http://youtube.com/watch?v=W4HvdpApfO4

 ESCAPE='HTML'

HELP & feedback

Se avete bisogno di altre informazioni o di suggerimenti contattatemi pure via email, sarò felice di darvi una mano e di rispondervi (entro qualche giorno).

Se avete suggerimenti o richieste di modifica del software, idem.

Se vi serve il PCB di questo o altri miei progetti chiedete pure, per pochi euro posso prepararveli e spedirveli.

Per eventuali problemi nella installazione del driver per MCP2200 visitate questa pagina.

 ESCAPE='HTML'