一款簡易有支援ICSP燒錄的PIC燒錄器DIY

特別聲明:

  1. 本人不保證您一定會得到跟我一樣的結果,因為都是我製作時的經驗,每個人的製作過程,可能因設備,電源,操作方式,環境等種種因素,極有可能產生不同的結果,如果因此損壞您的相關設施(如電腦等設備),本人一概不負責,敬請見諒!

  2. 您如果有製作上的困難,需本人代為製作成品,或是要跟我直接購買零件包自己DIY,可以用e-mail跟我聯絡相關購買細節。

  3. 燒錄器成品售價640元含郵資,如果跟USB轉RS232轉接線一起購買,共800元含郵資。

  4. USB轉RS232轉接線單獨購買200元含郵資。

  5. 零件組(不含電路板,電路板請自行用萬用版焊接製作)340元含郵資。

  6. 凡購買PIC燒錄器者均隨附資料光碟含程式及說明書,以及一些PIC相關的程式,還有一些我個人多年在網路上收集的資料,供使用者參考使用。

  7. 小弟也是要過生活的,請不要要求小弟提供layout電路,反正有電路圖了,您可以自己layout製作,或是直接用萬用板製作。

  8. 我的e-mail:rushoun@gmail.com

前言:

燒錄器成品照片:

支援列表:

PIC燒錄器製作:

硬體部分:

準備的材料:

硬體部分的電路圖:

硬體說明:

實體照片:

軟體部分:

軟體說明:

實際使用操作:

PIC程式編寫程序:

一些燒錄器使用上的問題:

燒錄器的特殊限制:

USB介面燒錄測試:

 

前言:

相信喜歡玩單晶片的人,尤其是非電子相關科系,或是非相關從業人員的電機電子或是自行研究自修的人,最傷腦筋的一件事,就是當您想玩一些單晶片時,這些單晶片的燒錄器是最令人頭痛的問題。如果要去買一個萬用燒錄器,動輒3~5千元,有的功能好一點的,甚至要價萬元以上,光是這一點,就讓很多人打了退堂鼓。因此,我藉著一些個人的DIY慘痛經驗,將我所得到的一些資料,分享給這些喜歡DIY,又沒有門路的玩家一點個人心得。希望藉此拋磚引玉,讓更多的在這方面有挫折的有心人士,能一起分享個人的經驗,讓大家都能輕鬆快樂的DIY。

之前我曾介紹過一款簡易免插電的PIC燒錄器,但是這款燒錄器有點秀斗秀斗的,有時會燒錄不成功,有時連線有問題,總是有點遺憾。經過我耐心的尋找,找到了一款穩定又不錯的PIC燒錄器。最重要的是,它支援PIC的線上即時燒錄功能。什麼是ICSP線上即時燒錄?請參考本網頁中的ICSP線上即時燒錄說明文中有一個概念性的介紹

一般我們在網路上找到的DIY燒錄器,大都沒有支援ICSP燒錄的功能,這一款除了有支援ICSP燒錄外,更利用光偶合器來保護RS232介面,避免因為燒錄時的意外,將被燒錄電路的電力引入電腦的RS232介面,造成電腦硬體的損壞。最重要的是,這個燒錄器支援許多18F系列的PIC喔!

燒錄器成品照片:

支援列表:

12F629, 12F675
16F630, 16F676
16F83, 16C84, 16F84(A)
16F627(A), 16F628(A), 16F648A
16F818, 16F819
16F72, 16F73, 16F74, 16F76, 16F77
16F737, 16F747, 16F767, 16F777
16F870, 16F871, 16F872, 16F873(A), 16F874(A), 16F876(A), 16F877(A)
16F87, 16F88
18F242, 18F2439, 18F248, 18F252, 18F2539, 18F258, 18F442, 18F448, 18F452, 18F458
18F1220, 18F1320, 18F2220, 18F2320, 18F4220, 18F4320, 18F4439, 18F4539
18F6520, 18F6525, 18F6585, 18F6620, 18F6720
18F8520, 18F8525, 18F8585, 18F8620, 18F8621, 18F8680, 18F8720

注意事項:

  1. 灰色字體表示還沒有經過實寄燒錄測試,但是燒錄相關參數已經有被定義,燒錄應該是可以沒問題的。

  2. 如果是一些/MCLR燒錄腳可以被定義使用在input模式的PIC,則燒錄時必須將燒錄器外加一個電路,才能順利的進行燒錄。比如12F675等等的這類PIC型號。

PIC燒錄器製作:

硬體部分

準備的材料:

PCB 一塊印刷線路版(請自行layout繪制)或是萬用版皆可。
IC1 PIC16F628A (內含燒錄控制碼)
IC2 PC827 (or LTV827) (也可以用PC817取代)
IC3 PC827 (or LTV827) (也可以用PC817取代)
LED1,LED2 紅色及綠色LED, Ø3mm, 2mA 低電流型
T1  小訊號NPN 電晶體 如9013或C1815皆可
燒錄外接版 TIP120 NPN 達靈頓電晶體 (請參考外接版)
D1,D2,D3,D4 1N4148二極體
D5 SB140 蕭特基二極體
X1 Crystal 20MHz
R1,R2,R9...R12 1K電阻
R3...R8 47 Ohm電阻
R13 2.2K電阻
C1 1000µF/10V
C2 0.1µF,  (會將他安置在IC座內,以節省電路板面積)
C3,C4 1µF (鉭質電容或是電解電容皆可)
C5 22µF
C6,C7 22pF
S1 Reset 按鈕  (可有可無)
Conn1 8pin 2.54molex 公腳連接器
Conn2 9pin D型電腦用連接器母座
IC座 8pin*2,18pin*1(也是可有可無)

硬體部分的電路圖:

硬體說明:

依電路圖接線即可,大概不會有什麼困難吧?

注意事項:

  1. 線路圖中的PIC16F628A,內部必須先將燒錄用的韌體用燒錄器先燒錄進去,所以網友製作時,必須先取得PIC16F628A這款型號的PIC,然後將燒錄韌體先用燒錄器燒入16F628A中。如果網友有燒路上的困難,本人庫存有販售,一顆16F628A含郵130元。韌體部分是免費的,只要購買16F628A,就會燒錄給您。

  2. PC827可用2個PC817取代。

  3. reset按鈕可以不用接。

  4. 原電路使用的16F648A,因為發覺它的韌體主要增加支援18F系列為主,對於沒有使用18F系列PIC的USER來說,不需要多花費這個費用,因此都改為16F628A。如果網友有需求改為16F648A,請事先告知,並加收20元費用。

實體照片:

軟體部分:

請下載燒錄程式,請到這裡下載。

體說明:

燒錄程式本身會使用到msjavx86,所以在安裝燒路程式前,請先安裝msjavx86,請點選這裡下載。

燒錄程式使用,請自行摸索即可,因為滿簡單的,所以在這裡就不再詳加介紹了,畢竟自我摸索,才是學習知識的動力及來源吧!

實際使用操作:

  1. 先安裝msjavx86,安裝完畢時電腦可能會要求重新開機,然後再安裝燒錄程式後,便可以使用燒錄程式了。這套燒錄程式最大的好處就是可以在Win98,Winxp及Win2000中,皆可以正常執行使用,非常方便。

  2. 先將您的程式寫好。怎麼寫?哇咧!我還沒說喔?可是我主要是介紹燒錄線耶!怎麼辦?為了大家,只好花個篇幅寫一下好了,請看這裡:PIC程式編寫程序

  3. 連接PIC燒錄器跟被燒錄的目標版間的2.54molex連接線。

  4. 將製作好的PIC燒錄器9pin D-TYPE 一頭,接到RS232連接線上並將RS232線另一頭,接到電腦端的RS232 port上。

  5. 執行燒錄程式,並將編譯組譯完成的二進位燒錄碼已燒錄程式開啟,然後選擇您要燒錄的PIC晶片型號,或是採用AUTO選擇的方式,讓燒錄程式自行偵測被燒錄的PIC型號。

  6. 點選燒錄功能(別說您不會喔!自己試一下,這是DIY的樂趣。),將您的PIC燒錄碼上傳到PIC單晶片中,這時會看到畫面上的顯示,一直到完成,。然後先將PIC燒錄器從RS232線路上拔除(這是為了安全)。這時可以直接在您的電路板上看到您設計的硬體及程式,是否正常的運作?

  7. 有錯誤,請重複2~6的步驟,直到電路依程式設計正常動作為止。

注意事項:當您將程式燒錄碼上傳到PIC後,最好先將PIC燒錄器從RS232上拔除,然後再取出比燒錄完成的PIC,為的是安全。

PIC程式編寫程序:

  1. 請先到Microchip公司下載MPLAB IDE程式,並安裝後即可。

  2. 編寫程式並完成組譯工作,請下載台灣Microchip公司教育訓練課程教材中的MPLAB IDE 6.10中文使用手冊,有詳細說明本程式的使用方法,記得燒錄檔要存成.hex格式喔。

  3. 然後就可以用燒路程式將程式透過RS232傳輸線,燒錄到您的目標電路中了。

  4. 除錯,這是最討厭的一件事,抓bug。

注意事項:MPLAB IDE程式可以使用組合語言及C語言進行PIC程式的編寫工作,因為C語言的程式,並非免費的,因此下載的MPLAB IDE程式中的C程式編譯器,是只能試用30天的,不過聽說有破解版,請自行尋找吧!台灣Microchip公司網站上好像就有(還真奇怪?)。

燒錄器的特殊限制:

這個燒錄器在使用上大致都沒有什麼問題,唯一的一個限制及解決辦法,說明如下:

某些型號的PIC,如12Fxxx,16F630/16F676之類的PIC,這些型號的PIC他們的MCLR接腳是可以定義成輸入腳來使用。所以,當我們沒有將這類PIC的MCLR接腳作為輸入使用時,燒錄結果有可能在最後時,出現燒錄錯誤的訊息。但是燒錄是成功的,使用者可以放心。但是,如果MCLR接腳被使用者的程式定義成輸入腳來使用時,在本燒錄器燒錄時,會有錯誤並且無法正確的進行燒錄,這時有解決的方式如下:

我們將燒錄器的燒錄線的第7腳先接上一個1K的電阻,然後再接上一個NPN電晶體的基極B,再將燒錄線的第1腳及第2腳,分別接到這個NPN電晶體的射極E及集極C,詳細接線圖請參考下圖圖示的接線方式。

上圖中的1,2,7腳,指的就是燒錄器的燒錄輸出接腳的1,2,7腳。而這個電晶體請使用中功率耐壓值約60V,耐5A電流以上的電晶體,如型號TIP120達靈頓電晶體。

請注意一件事,這個電晶體是使用在燒錄器之後的,也就是說它是做在燒錄器與被燒錄的PIC目標版之間的電路,由於這類MCLR接腳可以被作為輸入的PIC目前並不是很多,因此並沒有將這個電晶體放入整個燒錄器的電路之中。請使用者依自己的需求,自行加工製作這個外加的電晶體電路。可以利用一個轉接電路,燒錄線先經過這個電晶體轉接電路後,再接到被燒錄的PIC目標板上。

特別說明:

PIC燒錄器會在燒錄PIC時,燒錄線第7腳會產生一個短暫的脈波,讓電晶體導通,也就是讓電源1,2腳發生短路現象,這個短路的時間是極為短暫的,不會造成電源損壞,也不會影響燒錄。由於會產生瞬間的短路現象,因此燒錄器本身會有極短的時間內,是處在沒有電壓的情形下。因此,為了維持MCLR接腳不至於沒有燒錄電壓,造成燒錄失敗。我們必須將燒錄器當中的C1電容使用電容量較高的1000uf左右的電容,就可以解決這個電源瞬斷問題。

一般來說,這個外加的電路用在7805之類的+5V電源電路,是沒有問題的。但是如果電源端是交換式電源的電路,或是供應電流太大的電源電路來說,可能是不適合的,因為這個電晶體的耐電流只有5A,請使用者自行測試應用。

我們的燒錄器燒錄輸出的燒錄線只有使用5條線,也就是第1腳到第5腳,因此第7腳的燒錄線,請買家自行加上去。

一些燒錄器使用上的問題:

  1. 有時無法燒錄PIC12F675:

這是因為有的PIC的/MCLR接腳,可以定義成input使用,對於這類的PIC,必須外加一個電路板,就可以解決這個問題,請參考燒錄器的特殊限制一文中的說明。只要/MCLR接腳沒有被定義為input使用,燒錄是不會有問題的,有時就算燒錄完成會有錯誤告警,但是燒錄結果仍是正常的。

  1.  

USB介面燒錄測試:

這陣子利用閒暇之餘,買了一條USB轉RS232的轉接線,測試以USB介面進行燒錄的可能性。因為有很多的筆電,都已經沒有提供RS232介面,因此想試試USB是否可以使用。

經我測試的結果,不是每種USB轉RS232的轉接線都可以使用,因為沒有太多錢做這種測試。第一條線失敗,然後買了第二條測試,可以正常的使用燒錄都沒問題。這對使用USB介面的網友來說,真是一大福音。網友如果有興趣,可以自己買這種轉接線試試,如果可以使用,不妨回報一下,當成大家的參考。畢竟USB已經成為主流,能夠使用真是太好太方便了。

您如果有DIY上的困難,本人有完成的DIY成品,或是提供零件包,供您自行DIY使用,免除您自己尋找零件的困難。請詳洽下面的E-MAIL聯絡,謝謝您!

聯絡EMAIL:rushoun@gmail.com

回DIY首頁