User Tools

Site Tools


doc:appunti:hardware:fritzing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:hardware:fritzing [2016/11/27 21:48] niccolodoc:appunti:hardware:fritzing [2018/10/30 23:13] (current) – [Usare Fritzing per creare un nouvo componente] niccolo
Line 1: Line 1:
 ====== Appunti Fritzing ====== ====== Appunti Fritzing ======
 +
 +===== Utilizzare oggetti (parts) contribuiti da terzi =====
 +
 +Fritzing include una buona collezione di oggetti (parts) da includere nei propri progetti, questi vengono distribuiti nel pacchetto Debian **fritzing-parts**. Oltre alla **breadboard** generica per il cablaggio possiamo trovare componenti generici (**resistenze**, **condensatori**, ecc.) o specifici **[[wp>Printed_circuit_board|breakout]]** più o meno famosi (es. sensori di pressione, accelerometri, ecc.). Nel pacchetto ci sono anche gli schemi di oggetti più complessi, come vari modelli di **Raspberry Pi** o di **Arduino**.
 +
 +**ATTENZIONE**: In Debian si deve eseguire **Fritzing** (con la F maiuscola) che provvede a cambiare directory corrente in **/usr/share/fritzing/parts/** in modo da trovare tutti gli oggetti disponibili. Altrimenti si ricevono numerosi messaggi di errore del tipo **Unable to find the following parts**.
 +
 +Nella schermata di Fritzing gli oggetti sono visualizzati in alto a sinistra, raggruppati in **//CORE//**, **//CONTRIB//** e altre categorie specifiche. La categoria **//MINE//** è invece inizialmente vuota.
 +
 +È possibile trovare in rete diversi oggetti che non sono compresi nel pacchetto ufficiale, distribuiti come archivi **.fzz** (si tratta in effetti di archivi ZIP). Per poterli utilizzare nei propri progetti occorre:
 +
 +  * Salvare l'archivio sul proprio computer.
 +  * Da Fritzing scegliere il menu //File//, **//Open...//** e indicare l'archivio **.fzz** in questione.
 +  * L'oggetto viene aperto nella categoria speciale **TEMP**, da questa è possibile trascinarlo in **MINE**.
 +  * È possibile **aggiungere** l'oggetto al **progetto** corrente.
 +
 +Al termine della sessione verrà chiesto se si desidera **mantenere l'oggetto importato** e se si desidera salvare il **bin** (contenitore) **My Parts**. In caso affermativo verrà creato un archivio **.fzp** o **.fzz** in **$HOME/Documents/Fritzing/parts/user/** (quando invece viene usata **$HOME/Documents/Fritzing/parts/contrib/**?) e viene aggiornato il file **$HOME/Documents/Fritzing/bins/my_parts.fzb**.
  
 ===== Creare un nuovo oggetto (part) ===== ===== Creare un nuovo oggetto (part) =====
Line 16: Line 33:
 ==== Istruzioni Inkscape ==== ==== Istruzioni Inkscape ====
  
-  * Impostare le dimensioni a mm. +  * Impostare le **dimensioni** **mm**
-  * Nella barra della posizione e dimensione digitare i valori in mm. +  * Nella barra della **posizione** **dimensione** digitare i valori in mm. 
-  * Raggruppare eventualmente con //Object//, //Group//+  * **Raggruppare** eventualmente con //Object//, //Group//
-  * Dimensione del disegno: //File//, //Document Properties//, //Margin// 0.0 mm, //Resize page to drawing or section// (anche un leggero margine va bene). +  * **Dimensione del disegno**: //File//, //Document Properties//, //Margin// 0.0 mm, //Resize page to drawing or section// (anche un leggero margine va bene). 
-  * Per posizionare gli oggetti allineati e correttamente spaziati usare la funzione //Object//, //Align and Distribute//+  * Per posizionare gli oggetti **allineati** e correttamente **spaziati** usare la funzione //Object//, //Align and Distribute//
-  * Usare il font OCRA (estrarre il file .ttf da fontsandtemplates.zip e copiarlo in ''$HOME/.fonts/'').+  * Usare il **font OCRA** (estrarre il file .ttf da fontsandtemplates.zip e copiarlo in ''$HOME/.fonts/'').
   * Usare il **colore** **#F7BD13** per il rame e nero **#000000** per le serigrafie.   * Usare il **colore** **#F7BD13** per il rame e nero **#000000** per le serigrafie.
-  * Il disegno SVG dello schema PCB deve contenere i layer **silkscreen** (la serigrafia da stampare lato componenti) e il layer **copper0** che contiene il layer **copper1**.+  * Quando si disegna lo schema PCB di un componente si deve creare il layer **silkscreen** (la serigrafia da stampare lato componenti) e il layer **copper0** che contiene a sua volta il layer **copper1**. Vedere il file di esempio ''PCBViewGraphic_Template.svg''.
  
-Con Inkscape non si riesce a creare questa gerarchia di layer e ad **impostare il tag id**, si riesce ad impostare solo il "name"Quindi si deve editare il file SVG risultante per organizzarlo in questo modo (sembra che la struttura del file SVG non venga danneggiata se si apre nuovamente il disegno con Inkscape):+Il formato SVG in realtà non ha il concetto di //layer// bensì quello di //gruppo//Con Inkscape non si riesce a creare un gruppo dentro ad un altro soprattutto non si riesce ad **impostare il tag //id//** come richiesto da Fritzing. Si riesce solo a creare gruppi diversi e ad impostare il tag //name//Si dovrà quindi editare il file SVG risultante per organizzarlo in questo modo (sembra che la struttura del file SVG non venga danneggiata se si apre nuovamente il disegno con Inkscape):
  
 <code xml> <code xml>
Line 37: Line 54:
 </code> </code>
  
 +Gli elementi contenuti nel gruppo **copper0** saranno posizionati solo nello strato inferiore di rame (**bottom layer**). Gli elementi nel gruppo **copper1** - se la struttura è organizzata gerarchicamente come sopra - compaiono sia nello strato superiore che in quello inferiore (**top e bottom layers**). Questa è la condizione normale per i componenti che hanno i pin passanti: si ha il vantaggio di disegnare i pad di rame solo una volta e questi verranno replicati su entrambe le facce. Ovviamente se si produce un circuito con tecnologia a singolo layer, i pad superiori non saranno creati.
 +
 +Per i componenti di tipo **[[wpit>Surface_mount_technology|SMD]]** si dovrà procedere diversamente, perché richiedono i pad di rame solo da un lato del circuito.
 ==== Usare Fritzing per creare un nouvo componente ==== ==== Usare Fritzing per creare un nouvo componente ====
  
Line 42: Line 62:
  
   * Scegliere un oggetto, quindi click destro, "Edit Part".   * Scegliere un oggetto, quindi click destro, "Edit Part".
-  * Per ciascuna vista breadboard, schema e PCB importare il disegno SVG fatto con Inkscape. +  * Per ciascuna vista breadboard, schema e PCB: **importare il disegno SVG** fatto con Inkscape o in altro modo. Per la vista icona conviene riusare il disegno breadboard
-  * Dopo aver definito i connettori, associare ciascun connettore all'elemento grafico nelle viste breadboard, schema e PCB.+  * Definire i connettori. Oltre al nome e alla descrizioneindicare se sono di tipo maschio o femmina. Un connettore di tipo **maschio** viene **automaticamente inserito nella breadboard** se vi è posizionato sopra (si stabilisce il contatto elettrico). Per un connettore di tipo femmina inveve è necessario aggiungere un filo per collegarlo elettricamente. 
 +  * Associare ciascun connettore all'elemento grafico nelle viste breadboard, schema e PCB
 +  * Associale una label all'oggetto. La parte iniziale alfabetica verrà utilizzata per etichettare il componente nella vista PCB (e nel conseguente silkscreen).
  
 +**ATTENZIONE**: I disegni fatti con Inkscape vengono importati in Fritzing con diversi problemi. Ad esempio:
 +
 +  * Le **scritte ruotate** di 90 gradi non mantengono la dimensione voluta.
 +  * Anche se si usano solo i **font** Droid e OCRA, Fritzing genera un warning come se fossero utilizzati altri font.
 +  * Non si riesce a creare layer (gruppi) con **id=name**. Questo impedisce la corretta interpretazione da parte di Fritzing dei layer speciali **copper0**, **copper1** e **silkscreen**.
 ==== Usare Fritzing per progettare il PCB ==== ==== Usare Fritzing per progettare il PCB ====
 +
 +**Suggerimento**: conviene creare un PCB doppio strato perché sembra che il costo di produzione sia lo stesso.
  
 Quando si disegna il PCB di un progetto bisogna considerare alcuni aspetti: Quando si disegna il PCB di un progetto bisogna considerare alcuni aspetti:
  
-  * Bisogna decidere se il circuito sarà di tipo **one layer** (singolo strato, piste di rame solo sotto), oppure **two layers** (doppio strato, rame sopra e sotto). Ovviamente è la prima scelta da effettuare, cliccando sul PCB e impostandone le proprietà nel riquadro //Inspector//. Sembra che alcuni produttori di PCB non facciano differenza di prezzo tra i due tipi, almeno questo risulta dall'anteprima di prezzo mostrata da Fritzing quando si passa il mouse sul pulsante //Fabircate//.+  * Bisogna decidere se il circuito sarà di tipo **one layer** (singolo strato, piste di rame solo sotto), oppure **two layers** (doppio strato, rame sopra e sotto). Questa ovviamente è la prima scelta da effettuare, cliccando sul PCB e impostandone le proprietà nel riquadro //Inspector//. Sembra che alcuni produttori di PCB non facciano differenza di prezzo tra i due tipi, almeno questo risulta dall'anteprima di prezzo mostrata da Fritzing quando si passa il mouse sul pulsante //Fabircate//.
   * Se il circuito è a **layer singolo** per risolvere gli "incroci" si utilizzano i **jumper item** forniti nella libreria standard, cioè ponticelli lato componenti. Questi oggetti vanno aggiunti nella vista PCB, non sono presenti nella vista breadboard.   * Se il circuito è a **layer singolo** per risolvere gli "incroci" si utilizzano i **jumper item** forniti nella libreria standard, cioè ponticelli lato componenti. Questi oggetti vanno aggiunti nella vista PCB, non sono presenti nella vista breadboard.
   * Nei circuiti a **doppio strato** per risolvere gli incroci invece esistono i **[[wp>Via_(electronics)#In_PCB|punti di via]]**, cioè fori rivestiti internamente di conduttore che mettono in contatto il layer inferiore con quello superiore. La funzione di //auotroute// crea automaticamente i punti di via per risolvere gli incroci, altrimenti si possono creare manualmente, ad esempio con click destro su un //bending point// di una traccia. Nei circuiti a doppio strato **ciascuna traccia può essere spostata dal lato inferiore al superiore** e viceversa, con un click destro. Il layer superiore e inferiore sono mostrati con colori diversi e possono essere mostrati o nascosti indipendentemente agendo sul menu //View//.   * Nei circuiti a **doppio strato** per risolvere gli incroci invece esistono i **[[wp>Via_(electronics)#In_PCB|punti di via]]**, cioè fori rivestiti internamente di conduttore che mettono in contatto il layer inferiore con quello superiore. La funzione di //auotroute// crea automaticamente i punti di via per risolvere gli incroci, altrimenti si possono creare manualmente, ad esempio con click destro su un //bending point// di una traccia. Nei circuiti a doppio strato **ciascuna traccia può essere spostata dal lato inferiore al superiore** e viceversa, con un click destro. Il layer superiore e inferiore sono mostrati con colori diversi e possono essere mostrati o nascosti indipendentemente agendo sul menu //View//.
   * Ogni oggetto posizionato nel PCB deve essere **posizionato lato //top// o //bottom//** del circuito stesso, agendo nel riquadro //Inspector//.   * Ogni oggetto posizionato nel PCB deve essere **posizionato lato //top// o //bottom//** del circuito stesso, agendo nel riquadro //Inspector//.
  
-FIXME: Anche si si crea un PCB singolo layer, pare che i //Gerber files// generati contengano l'//impronta rame// anche per la parte superiore, cioè si considera che i fori siano comunque rivestiti di materiale conduttore all'interno come i punti di via e abbiano un pad di rame sul lato superiore.+Anche si si crea un PCB singolo layer, i //Gerber files// generati contengono l'//impronta rame// anche per la parte superiore, cioè si considera che i fori siano comunque rivestiti di materiale conduttore all'interno come i punti di via e abbiano un pad di rame sul lato superiore
 + 
 +FIXME: Fritzing come sa che si deve praticare i fori nei pad dei componenti? Basta che il layer rame abbia un foro? Altri fori esterni al circuito si possono aggiungere come elementi nella vista PCB.
  
 Menu View Menu View
doc/appunti/hardware/fritzing.1480279718.txt.gz · Last modified: 2016/11/27 21:48 by niccolo