2011年1月9日 星期日

Fritzing – PCB 印刷電路板的設計工具

Fritzing 簡介

Fritzing 是一套設計 PCB (Printed Circuit Board) 印刷電路板的軟體,是特別給設計師、藝術家、研究者以及業餘玩家使用的工具。跟 ProcessingArduino 一樣,Fritzing 的開發者秉持開放、簡單與共享的精神而設計這套軟體,Fritzing 簡單好用的軟體操作介面,讓使用者即使沒有電子電機的背景也可以輕而易舉地製作出 PCB 印刷電路板的設計圖。

image
▲ 圖片來源: fritzing.org

Fritzing 是開放源碼的軟體(Open-source Software),我們可以在它的官網免費下載軟體。Fritzing 是跨平台的,有 Windows, Macintosh OSX 和 Linux 的版本。

除了可以用來設計 PCB 印刷電路板外,很多人拿 Fritzing 為他們的產品原型(Prototypes)製作文件,在課堂上使用 Fritzing 教授電子學、互動媒體設計學以及 Arduino 教學。

使用 Fritzing 為你的電路原型(Prototype)製作文件

image

Ardunio 是一個簡單好用的微控制器開發板,它讓我可以在很短的時間裏學會諸如 LED、按鈕開關、可變電阻、光敏電阻、七段顯示器、字元 LCD … 等各種電子裝置。不過,在學習 Arduino 時我遇到一個困擾,在做一個電子實驗的時候,我必須把電子元件插到麵包板上,利用單心線連接各個元件以及 Arduino,為這個實驗寫一支程式,實驗完成後,我得從麵包板上把各個電子元件和線路拔下來,然後才能開始做另一個實驗,但是當我想回到先前曾做過的實驗的時候,這時候問題就來了,之前寫的程式還在,可是我卻記不太清楚當初線路是怎麼接的。

於是我便去尋找可以讓我把電路原型做成文件的工具,然後我找到了 Fritzing。Fritzing 的使用辦法很簡單,都是用滑鼠拖放的方式,我們從元件庫把元件放到麵包板上,把這些元件連接起來,就這麼簡單,接著我們就可以在三種檢視模式下工作:麵包板檢視模式(Breadboard view)、電路圖檢視模式(Schematic view)以及 PCB 檢視模式 (PCB View),而且三種模式是同步更新的,我們可以更換元件、拉線路、做 PCB 佈局等,這些工作都是以視覺化的方式進行的。

下圖是 Fritzing 的元件庫(我用的版本是 Fritzing 0.4.3,2010-09-26 發佈的):

image
▲ Firtzing 的元件庫

底下是一個電路原型的例子,這個電路用到了 Arduino, 可變電阻和一個 HD44780 相容的字元 LCD:

image
▲ 麵包板檢視模式(Breadboard view)

在麵包板檢視模式下,當我把麵包板、Arduino、可變電阻和 LCD 拉到畫面上,並且以拖拉的方式連接線路,把各個元件連接好後,Fritzing 便立刻為我畫出了對應的電路圖以及 PCB 印刷電路板設計圖:

image
▲ 電路圖檢視模式(Schematic view)

image  
▲ PCB 檢視模式

這帶給我很大的方便,Fritzing 讓我得以記錄電路原型變成一份電子文件,日後忘記線路接法的時候,只要打開 Fritzing 文件,就可以很快的恢復記憶,把曾經做過的實驗電路重新接起來。

底下是另一個例子,一個利用壓力感測器控制 Sevo 伺服機的例子,底下這張是實體照片:

image
▲ 圖片來源: Fritzing PCB

而底下這張圖則是利用 Fritzing 畫出來的電路原型,跟實體照片幾乎一模一樣,有了這份文件,將來就不怕會忘記線路的接法了:

image

Fritzing 提供的 Arduino 範例

Fritzing 跟 Arduino 真是絕配,因為 Fritzing 不僅支援 Arduino,而且還提供了大量的 Arduino 電路原型範例,可以在選單 File > Open Example > Arduino 這個位置上找到:

image
▲ Fritzing 提供了大量 Arduino 電路原型

基本上,Arduino 基本的範例程式,大部份都可以在 Fritzing 裏找到對應的電路原型,例如,底下這兩張圖,它們顯示的分別是 Arduino 的 Blink 範例程式以及對應的 Fritzing 電路原型:

image
▲ Arduino IDE: Blink 範例程式

image
▲ Fritzing: Blink 範例電路原型

要特別注意,Fritzing 不能拿來跑 Arduino 的程式,因為它並不是一個軟體模擬器。

Fritzing 支援的微控制器

Fritzing 支援多款 Arduino 的板子:

image
▲ 由左至右,從上而下,依序是:Arduino, LilyPad, Nano, Mini Pro, Arduino Fio 與 Mega

除了 Arduino 外,Fritzing 還支援很多款微控制器:

image
▲ 由左至右,從上而下,依序是:GogoBoard, netduino, Wiring, Propeller, mbed, Modifed pico 與 Basic Stamp

這些微控制器摘要說明如下:

  • GogoBoard, 一個開放源始碼(Open-Source)適用於教育用途的機器人開發平台,使用 PIC 微控制器,程式語言用的是 LOGO 語言。
  • netduino, 一個 32 位元 ARM7-based 微控制器板子,腳位與 Arduino 相容,特色是使用 .NET Micro Framework。
  • Wiring, Arduino 的姐妹專案,一樣使用 atmega 系列的微控制器。
  • Propeller, Parallax 的新一代多核心(multicore)微控制器(有 8 個 CPU cores),使用 SPIN 語言。
  • mbed, 一個類似 Arduino 的微控制器平台,使用 ARM Cortex-M3 微控制器,使用 C++ 語言。
  • Modified pico, 一個與 Arduino 相容的小開發板。
  • Basic Stamp, Parallax 生產的微控制器開發板,在國外很流行,廣泛應用於機器人、自走車與教育用途,使用 PIC 微控制器,程式語言用的是 BASIC 語言。
總結

Fritzing 是一套設計 PCB (Printed Circuit Board) 印刷電路板的軟體,是特別給設計師、藝術家、研究者以及業餘玩家使用的工具。Fritzing 讓使用者可以製作電路原型的電子文件,還可以自動產生電路圖與 PCB 設計圖,很適合用於電子學以及 Arduino 教學。

參考資料

13 則留言:

  1. 我用FRITZING 這的畫PCB 的軟體-如何設定單層板
    請問我想使用這一個軟體做89C51的專題,不知如何設定單(兩)層板,因『我想用單層感光電路板寫電路)
    若可以的話請告訴我,PCB已經畫好,但好多層!
    請EMAIL給我謝謝 w047@gmail.com 謝謝

    回覆刪除
  2. Hi,Fritzing 可以製作單層 (Single-sided) 或雙層 (Double-sided) 板。選擇方式是:

    1. 切到 PCB View
    2. 選擇板子
    3. 在右手邊元件盤的 "Layers" 屬性後,即有 "one layer" 和 "two layers" 可供選擇,請參考下圖:

    http://bitly.com/HvHCpt

    回覆刪除
  3. 那我想請問若想在Breadboard上標註文字該如何操作?

    回覆刪除
  4. 點左下角的「增加註解」就可以了
    Frtizing 有圖層的觀念,不想顯示註解時,還可以在「檢視 > 註解」把它關掉

    回覆刪除
  5. 我要找到add note,但其效果跟我想要有點落差。我想要是像您標註在relay上的文字。http://coopermaa2nd.blogspot.tw/2011/03/lab21-12v.html#more

    回覆刪除
  6. 哈,那個 Fritzing 就沒辦法了
    因為我 relay 上標註的文字是用抓圖工具做的

    回覆刪除
  7. ok,謝謝您的告知!!那我想再請教圖層功能(圖層樹)是在?

    回覆刪除
  8. 真東西真的很好用
    請問畫完的電路圖,我想要做一個接點拉線進來
    但是我點HOLE卻沒有辦法直接拉線上去
    還是我根本就不應該拿這個當拉線進來的元件??

    回覆刪除
  9. 作者已經移除這則留言。

    回覆刪除
  10. 作者已經移除這則留言。

    回覆刪除
  11. 問了一些問題自己解決就刪掉了= ="
    這軟體很好入手是真的,我摸了一個禮拜畫好雙層板準備送工廠了
    但是我想要拉線增加線路面積,但是好像沒辦法像一般pcb可以大範圍覆蓋面積,這個只能一條一條拉線??
    我另外想要弄特殊形狀的pcb板跟元件都只能自己畫svg圖檔來建立元件??

    回覆刪除
  12. 其實我個人是把 Fritzing 當成教學入門用的工具
    實際要用,我覺得還是選個專業的軟體比較好,例如 Eagle:
    http://coopermaa2nd.blogspot.tw/2011/04/bv.html

    抱歉,最近身體不好,這麼才回

    回覆刪除

注意:只有此網誌的成員可以留言。