www.ideegeniali.it

CNC611 - Kit CNC a 3 assi
Cobra 2A
Proxxon MF70 CNC
KITT VoiceBox
Rumorella
Traforo polistirolo
ULP drill-aid per Eagle
GCode Rotator
Robot III
Telecomando per PC
Scacchi e scacchiera
Lampeggiatore 2 led
Alimentatore breadboard
Relais matrix
NiMh Fast Charger
Hdd activity
Molex w/Blue Led

Negozio online
Ideegeniali - Progetti - ULP drill-aid per Eagle

ULP drill-aid per Eagle

Versione corrente: 1.5. 29 gennaio 2005

Cos'è?

Script ULP per Eagle che restringe il diametro interno e allarga quello esterno di pad/via/holes, per una foratura facilitata con trapanino manuale. Clicka qui per scaricare la versione corrente (consigliato) o quelle precedenti. In change log trovi le modifiche effettuate rispetto alle versioni precedenti:
ChangeLog.txt
pshouse-drill-aid-1-5.zip
pshouse-drill-aid-1-4.zip
pshouse-drill-aid-1-3.zip
pshouse-drill-aid-1-2.zip

Cos'è eagle

Non conosci Eagle? E' un CAD (Computer Aided Design) cioè un software per disegnare al computer, specializzato nel disegno di circuiti elettronici. Contiene 3 moduli: disegno dello schema elettrico (schematic in inglese), disegno della basetta (PCB, Printed Circuit Board in inglese) e sbroglio delle piste (AutoRouter in inglese). E' prodotto dalla CadSoft. E' il mio preferito, ed è gratuito per uso personale (se non si guadagna dal suo uso), con la limitazione di basette di 10x8 cm, due piani di piste in rame: più che sufficienti per la maggior parte dei progetti.

Il problema

I PCB prodotti da Eagle, utilizzando i componenti di libreria non modificati, sono ottimi per una realizzazione industriale, ma possono dare qualche problema per una realizzazione casalinga, nella quale i fori vengono fatti di solito con un trapanino a mano. I problemi maggiori vengono dalle piazzole e dai fori disegnati da Eagle, che hanno alcuni difetti che possono essere migliorati da questo script, se si intende forare il PCB a mano.
Difetti
1. Lo spazio senza rame interno è esattamente uguale al diametro del foro da fare. Questo significa che bisogna andare col trapano al posto giusto, e non si incontrerà rame nel percorso. Può essere difficile se non impossibile la centratura senza alcuna guida su materiale tenero, e se si sbaglia all'inizio, si è perduti, perché è pressoché impossibile correggere un foro iniziato nel posto sbagliato. Inoltre il procedimento di incisione casalingo può mangiare un po' il diametro interno, e lo spazio senza rame diventerà addirittura più grande del foro da fare.
2. Diversi componenti di libreria standard hanno piazzole con fori da 0,6 mm (per esempio i resistori). Un hobbysta di solito preferisce fori appena più grossi (0,8 millimetri) ottenendo di usare una punta meno delicata, e di infilare più facilmente i reofori in un foro appena più largo. Chiaramente forando con la punta da 0,8 millimetri una piazzola pensata per un foro da 0,6 millimentri, di questa non resterà traccia, perché volerà via non appena si avvicina il trapano. Eagle non consente di modificare facilmente il diametro dei fori dei pad dei componenti: l'unica strada è quella di modificare i componenti nella libreria, ma può essere faticoso, noioso e lungo.
3. I fori non legati a pad o via, per esempio quelli di montaggio della basetta, normalmente non vengono riportati affatto sul rame, poiché sono nel layer a parte holes e non nei layer pad/via/top/bottom, che sono i soli riportati su rame. Si potrebbe riportare su rame anche il layer holes, ma il simbolo grafico dei fori è ben più grosso dei fori da fare, e potrebbe sconfinare dove non desiderato, mettendo in corto piste da tenere isolate. Inoltre il simbolo dei fori ha un tratto molto sottile che può sparire con l'incisione casalinga. Invece questo script genera cerchietti anche per i fori.

La soluzione

Eagle mette a disposizione un linguaggio per scrivere script, chiamato ULP. Ed è anche distribuito con Eagle uno script ULP drill-aid.ulp che affronta il problema, ma dà una soluzione parziale. Io ho scritto una versione modificata dello script, che consente di ovviare ai problemi in questo modo: viene generato un nuovo layer, numero 116, colorato in magenta, per poterlo distinguere, ma potrebbe benissimo essere colorato di verde, per dare un'idea più chiara di cosa si ottiene, sul quale vengono disegnati piccoli cerchietti e quadratini che coprono e allargano, sia verso l'interno (restringendo il foro) che verso l'esterno (aumentandone le dimensioni), i vecchi pad/via/holes. Assicurandosi che il layer 116 sia visualizzato assieme agli altri layer di interesse prima di un CAM processor, di una stampa, o di un esporta immagine, si ottiene l'effetto sperato: Eagle infatti stampa i layer visualizzati al momento, e col layer aggiunto, i pad/via/holes avranno il diametro interno ristretto e il diametro esterno allargato. Si può anche specificare il nuovo diametro interno, e di quanto allargare verso l'esterno il vecchio diametro, per adattare lo script al proprio procedimento di incisione/foratura.

Come si vede i vantaggi sono notevoli:
1. I diametri interni di tutti i pad e via, di qualunque forma fossero, sono stati ridotti, in modo da facilitare la centratura del trapano, che avverrà su metallo, non sul tenero. La punta verrà naturalmente guidata verso il centro del foro e, se proprio si sbaglia, il rame è più resistente della basetta rimasta scoperta, e se ci si accorge subito di aver sbagliato, si fa in tempo a deviare la punta verso il centro della piazzola, dove il minuscolo cerchietto lasciato senza rame la catturerà nella posizione corretta. Se si imposta lo script per dei fori centrali molto piccoli, può succedere addirittura che l'incisione domestica non riuscirà a togliere il rame dal centro dei pad completamente. Anche così, il rame presenterà comunque un avvallamento nel centro della piazzola, e sarà egualmente facile centrare il foro. Procedete come preferite.
2. Lo script ha un comportamento differente a seconda della forma dei pad: i pad/via di forma ottagonale o tonda sono stati allargati con un cerchietto. I pad di forma quadrata sono stati allargati con un quadratino (in modo da conservarne la forma).
I pad per i resistori, che comprendono fori da 0.6 millimetri nella libreria standard, e che verrebbero mangiati via completamente da un foro da 0,8 millimetri, ora sono stati allargati e possono essere tranquillamente forati a 0,8 millimetri senza paura di farli volare via. Non è stato necessario modificare la libreria, ma solo lanciare lo script, con i parametri di default.
I pad di forma allungata o offset (quelli dei circuiti integrati) non sono stati allargati, per evitare corto-circuiti con le frequenti piste che passano tra un pin e l'altro dei circuiti integrati. Questi pad sono infatti più che adeguati così come sono. Anche per i pad allungati è stato però ristretto il foro centrale per facilitare la centratura.
3. Sono stati generati inoltre cerchietti per gli holes, in modo da riportare sul rame dove vanno effettuati. Questi cerchietti hanno diametro interno piccolo per la centratura e diametro esterno pressoché identico al foro da fare (appena di più: 0,02 millimetri per compensare col fatto che l'incisione mangia qualcosa). Quindi il rame verrà portato via completamente dalla foratura. Il cerchietto di rame era servito solo come traccia di dove fare il foro, e per ricordare visivamente quanto grande era quel foro, in modo da prendere la punta giusta. I cerchi relativi agli holes non vengono allargati, così si possono sistemare holes anche vicino alle piste senza paura che l'allargamento prodotto dallo script metta in corto la vite con una pista, o una pista con un'altra, attraverso l'hole allargato. E' consigliabile comunque lasciare gli holes piuttosto isolati, considerando la larghezza della testa della vite e l'esigenza di agire col cacciavite che ha il suo ingombro.

Installazione e uso

Scarica l'archivio formato .zip che contiene la ulp (trovi le varie versioni in testa a questa pagina). Estrai il file pshouse-drill-aid.ulp e copialo nella cartella ULP di eagle, per esempio C:\Programmi\EAGLE-4.13\ulp se usi l'ultima versione di Eagle.
Oppure copia pshouse-drill-aid.ulp nella cartella che più ti piace, e specifica ad Eagle di andare a cercare gli ULPs anche in quella cartella, da Options/Directories/User Language Programs.
Apri una board di Eagle, e lancia lo script scrivendo il comando:

RUN pshouse-drill-aid

Apparirà la finestra di dialogo. Leggi le istruzioni a video. Nella maggior parte dei casi ti basterà premere INVIO per confermare le opzioni di default, e stampare direttamente la board modificata dallo script, così come è.

Se credi, puoi personalizzare quale sarà il nuovo diametro interno dei fori, ovvero i piccoli buchini di centratura, per adattare perfettamente lo script ai tuoi parametri o gusti di incisione/foratura. Puoi personalizzare anche di quanto allargare verso l'esterno le piazzole, oppure decidere di non allargarle affatto verso l'esterno, ma limitarti a restringere il solo diametro interno per facilitare la centratura, senza allargare quello esterno. Segui i suggerimenti presenti direttamente nella finestra di dialogo.

Se il risultato non ti è piaciuto, puoi eliminare il layer e crearlo di nuovo con parametri differenti.

Specie se hai deciso di allargare molto, controlla che gli allargamenti prodotti non siano andati a toccare qualche pista. Se credi ritocca pure a mano il layer 116 aggiungendo, togliendo o spostando elementi, con gli strumenti di disegno di Eagle (per esempio se una pista passa molto vicina al pad di un resistore che hai allargato, può essere conveniente, anziché togliere il cerchietto di allargo, semplicemente spostarlo di fianco, dal lato opposto a quello da dove passa la pista).

Assicurati che il layer 116 sia mostrato a schermo prima di stampare o esportare come immagine o CAM processor il tuo PCB. Eagle infatti stampa/esporta i layer visualizzati al momento.

Se desideri effettuare configurazioni più avanzate dello script, aprilo in un file di testo, e cerca le righe marcate con tanti asterischi. Troverai direttamente dentro lo script le istruzioni per la sua configurazione. Ti sarà possibile scegliere i valori di default per i due parametri, senza doverli reimmettere ogni volta nella finestra di dialogo. Potrai scegliere di lavorare su un numero di layer diverso da 116 (i layer utente in Eagle hanno numeri superiori al 100), anche se è sconsigliato se non hai motivi particolari. Dalla versione 1.4 potrai anche modificare i parametri libreria per libreria. Per esempio puoi impostare che per i resistori e affini (libreria rcl) vadano allargate le piazzole, mentre per i pin header (libreria con-lstb) non vadano allargati, perché sono già sufficientemente larghi. Potrai specificare valori assoluti, libreria per libreria, per questi parametri, o valori in percentuale o differenza rispetto ai valori di default, seguendo gli esempi nel codice dello script.

Licensa e Disclaimer

Licensa Lo script è fornito con licenza GPL. La proprietà intellettuale dello script è di Paolo Sancono. Ti è consentito usare lo script. Ti è consentito duplicare, redistribuire, modificare lo script, a patto di citare sempre l'autore originale Paolo Sancono e questo sito internet di indirizzo http://www.ideegeniali.it/ in ogni versione successiva. Non puoi chiedere soldi per la duplicazione e redistribuzione dello script. Non puoi far soldi con l'uso dello script.
Disclaimer Lo script viene fornito senza alcuna garanzia, nemmeno quella di rispondere allo scopo per il quale è stato scritto. Non sarò responsabile di nessun danno diretto o indiretto o mancato guadagno relativo all'uso dello script. In parole povere: se lanci lo script e il .brd diventa inservibile, non prendertela con me, ma con te stesso che non hai fatto una copia di backup del .brd prima.

Costo

Lo script è fornito gratuitamente. E siete obbligati, se lo duplicate e fornite a terzi, a farlo gratuitamente. Se lo script vi è servito tantissimo, oppure è servito a farvi fare soldi, e morite dalla voglia di farmi un regalo per ringraziare, contattatemi per email, soprattutto per farmi sapere che il mio script viene usato e apprezzato, oppure anche per farmi una donazione, se lo ritenete giusto. Scrivetemi anche per critiche, suggerimenti, eccetera. I miei recapiti li trovate in testa e in fondo al Mercatino

Feature request e Bug Report

Già qualcuno di voi mi ha scritto dicendomi che giudicava utile la ULP, e mi ha suggerito migliorie. Grazie di cuore per il feedback ricevuto! Raccolgo le richieste di migliorie in questa sezione. Se qualcuno sa programmare in ULP, può fare lui stesso le migliorie, e postarmi la versione modificata dello script, o darmi suggerimenti concreti su come implementare la cosa. Oppure, se giudicherò utili le migliorie proposte, procederò io stesso a realizzarle, così come è già stato per la richiesta di eliminare l'intero layer direttamente dallo script, aggiunta nella versione 1.3, oppure per la possibilità di configurare il comportamento libreria per libreria, aggiunta dalla versione 1.4. Se a qualcun altro vengono in mente altri utili suggerimenti, me li comunichi e li aggiungo a questa sezione.
  • Nessun bug / richiesta: per il momento, lo script funziona bene così com'è :-)


Sito in costruzione