//Logo Image

作者:馬鴻祥(2004-12-03);推薦:徐業良(2004-12-04);最近更新:吳昌暉(2004-12-07)

PIC_SERVER教材(1)PIC_SERVER V2.0組裝與測試流程

本文介紹PIC_SERVER組裝與測試的詳細流程,內容包含購買、實際組裝時需要注意的技巧,以及常見的問題的經驗分享,讓新手也能夠快速完成組裝與測試。在動手組裝PIV_SERVER之前,必須瞭解基本的三用電表使用、熟悉焊接技巧、以及對各類電子元件有基本認識,對於本文的內容說明才能立即上手。

1.     PIC_SERVER電路板與零件採買表

PIC_SERVER V2.0電路版外觀如圖1所示。表1至表4PIC_SERVER的所需零件表,除了PIC晶片(PIC18F4620)、網路卡模組(RTL8019AS,俗稱「螃蟹卡」)、石英震盪器、與網路接頭較難購買之外,所有零件在各電子材料行均可以購買的到。

1. PIC_SERVER V2.0 電路版外觀

1. 電阻元件表

電阻

規格

代號

敘述

圖示

備註

數量

22Ω

R1

1/2W

瓦數較大

1

2KΩ

R2, R3

1/8W

 

2

220Ω

R4

1/8W

 

1

2.2k*8

RP1

A type

9 pin

1

47k*4

RP2

A type

5 pin

1

4.7k*4

RP3

A type

 

5 pin

 

500K

VR1

 

 

1

規格解說

電阻色碼:“黑0123456789

電阻規格:“紅紅橙”=22(紅紅)×103()=22,000=22kW

排阻規格:473”=47×103=47,000=47kW

2. 電容、電感、與二極體元件表

電容

規格

代號

敘述

圖示

備註

數量

47mF, 50V

C1

50V

 

1

100mF, 16V

C2

16V

 

1

0.01mF(103)

C3

 

 

1

0.1mF(104)

C4, C5, C6, C7, C8, C9, C10, C13, C14

 

跨式

9

22pF

C6, C7

 

 

2

電感

10mH

L1

 

 

1

整流二極體

1N5401 3A

D1

 

 

1

規格解說

電容規格:103”=10×103(pF)=10000pF=0.01mF

電感色碼:意義與電阻一樣

電感規格:算法與電阻一樣,但是單位為mH,“棕黑黑”=10×100=10mH

3. LED、晶片與輸出元件表

LED

規格

代號

敘述

圖示

備註

數量

LED

A4_LED, TX-LED

任何顏色

霧面較好

9

晶片

PIC18F4620

 

 

來源:3425實驗室

1

MAX232

 

 

來源:3425實驗室

1

10MHz石英震盪器

 

 

來源:3425實驗室

1

24LC512

 

64 KB EEPROM

上網訂購

1

7805穩壓IC

U1

(註1

日製較好

1

RTL8019AS螃蟹卡

NIC

 

來源:3425實驗室

 

輸出設備與電源

SPEAKER

SP

 

 

1

LCD

 

16 pin14 pin

 

1

AC Adapter

 

直流9V~12V

 

 

1

電話線

 

6P4C

電話線蕊方向如圖所示

 

1:穩壓IC7805可以將高於7V的電壓降為5V,提供PIC工作所需的電壓。PIC_SERVER的電路設計可因應馬達等周邊之需,用4.5~36VDC的電源,此處電路元件數值係針對9~12VDC之需,因此變壓器可選擇110V交流電轉9V~12V直流的變壓器。

4. 插座與開關相關元件採買表

插座

規格

代號

敘述

圖示

備註

數量

電源插座

TIP

 

 

1

排針母座

CN1

7×2

 

 

1

CN4, CN5, CN7

7×1

 

 

3

CN6

8×1

 

1

CN8

4×1

 

1

NICA

15×1

 

1

NICB

14×1

 

1

RS232 PC端接頭

Interface板用

 

 

1

圓孔 40pin

U2

 

 

1

圓孔16pin

U3, U6

 

 

2

電話插座

RJ11

 

6P6C

1

網路插座

RJ45

(註2

型號P02-102-11A9

1

開關

SW-PB

PB_1,PB_2

 

2

公排針

公排針8×2

LCD

 

固定座偏移

 

2:此網路接頭由宣得股份有限公司製造,可聯絡鄭嘉玲小姐,聯絡電話是03-2120088#8673

2.     組裝流程

本文所介紹PIC_SERVER組裝與測試流程如圖2所示,以下分節敘述之。

2. 組裝測試流程

2.1 電源供應系統

如表5,電源供應系統所需零件包含電源插座(TIP)、橋式整流二極體(D1)47mF電容(C1)100mF電容(C2)、降壓散熱電阻(R1)10mH電感(L1)7805穩壓IC(U1)、以及40pin圓孔IC(U2)等共8個元件,在PIC_SERVER板上位置如圖3所示。

5. 電源供應系統所需零件表

元件

件號

規格型號

圖示

備註

電源插座

TIP

 

 

整流二極體

D1

1N5401

1N4001(1A)即可

電容

C1

47mF

 

電容

C2

100mF

 

電阻

R1

22Ω

0.5W

電感

L1

10mH

 

穩壓IC

U1

LM7805

5V

圓孔IC

U2

40 pin圓孔

 

3. 電源系統各零件位置圖

電源供應系統組裝技巧敘述如下:

(1)    40 pin圓孔IC座需要先將中間的兩個橫桿小心地剪斷,因為下方會放置部分元件(如圖4)。

4. 減除橫桿

(2)    3中可以看到,7805穩壓IC分為平面與圓凸面的方向標示,需要注意放置方向,7805穩壓IC金屬背面那一面為負極,放置時如同圖37805的平面與圓凸面的放置方向。

(3)    100mF47mF電容、以及1N5401二極體有極性,電容元件上長腳為正極,短腳或有白色條紋端為負極,電容與1N5401元件上通常標示有銀條處為負極。放置於電路板上時,電路板上會有方形與圓型兩種插孔,方形區塊為正極,圓形為負極,沒有特別標示的22”103”等電容無極性。

 

5. 二極體正負端

(4)    電源插孔電路板上有標示正負極,一般電源插孔元件中央橫桿為正極,底部接觸片為負極。

(5)    電阻與電感因為空間配置的關係,採取垂直方式(垂直於電路板平面),因此電路圖中標示電阻與電感插放處均為一個大圓圈插孔以及一個小圓圈插孔所構成,如圖6所示,垂直放置時將電感或電阻放置於大圓圈處,將接腳彎曲焊接至小圓圈處,如此可以避免各元件金屬接腳的誤觸。

6. 電阻放置方式

電源系統測試程序敘述如下:

(1)    組裝完成後,接上9V變壓器電源,檢查7805穩壓IC的三根接腳由左至右是否為9VGND5V的電壓。

(2)    分別檢查PIC接腳11123132間是否有5V電壓差。如果沒問題表示電源正常供應至PIC晶片。接腳1132為圖7中標示紅色點處,接腳1231為圖7中標示綠色點處。

7. 電源系統測試點位置圖

2.2 PIC_SERVER作動電路

如表6,作動電路所需零件包含2kΩ電阻(R2)103電容(C3)104電容(C4C5)22電容(C11C12)10Mhz石英震盪器(X1)A4_LED2.2k×8排阻(RP1)47k×4排阻(RP2)黑色SWITCH(PB_1)等共11個元件,在PIC_SERVER板上位置如圖8

6. 作動電路所需零件表

元件

件號

規格型號

圖示

備註

電阻

R2

2KΩ

 

電容

C3

103

 

C4 C5

104

 

C11 C12

22

 

石英震盪器

X1

10MHz

 

LED

A4_LED

 

任意顏色

排阻

RP1

2.2k×8

A type

RP2

47k×8

A type

SWITCH

PB_1

 

黑色

8. PIC_SERVER作動電路各零件位置圖

PIC_SERVER作動電路組裝技巧敘述如下:

(1)    組裝順序可以隨意。

(2)    排阻有極性,Type A型排阻內部構造如圖9所示,組裝時須注意排阻極性,排阻正極插入電路板上方形插孔處。

(3)    SWITCH有方向性,電路板是依據其形狀設計,放置方向錯誤的話會放不下。

9. Type A型排阻內部構造

作動電路組裝完成後實體照片如圖10PIC_SERVER作動電路測試程序敘述如下:

(1)    當新手測試,尚未有任何ICP燒錄程式以及相關的連接裝置經驗時,可使用3425實驗室內含A4_LED閃爍的測試程式之晶片測試,不需要任何燒錄過程便可以進行A4的初步測試,插上電源後可以看到A4閃爍,表示PIC正常作動。

(2)    若已有ICP燒錄程式與設備,請燒錄程式使A4_LED(pin_A4)閃爍,程式如附錄A

(3)    按下RESET(即PB_1按鈕)按鍵,A4_LED燈應該熄滅,放開後則開始閃爍,若無則檢查PB_1按鈕。

(4)    常見問題1PIC方向顛倒,注意40 pin圓孔插座上有缺口方向需與晶片缺口一致。

(5)    常見問題2LED有極性,長腳為正極需插入電路板上標示方形插孔處。

(6)    常見問題3:電容顏色與大小容易放置錯誤,請仔細核對各電容代號。

(7)    常見問題4:有時候問題發生在石英震盪器,需更換正常的石英震盪器。

10. PIC_SEVER作動電路組裝後實體照片

2.3 RS232傳輸電路

如表7RS232傳輸電路需要元件包含2kΩ(R3)16 pin圓孔IC(U3)104電容(C6C7C8C9)C6_LEDSWITCH(PB_2)RJ11電話插孔(RS232)等共9個元件,各元件在PIC_SERVER板上位置如圖11所示。PIC_SERVER與電腦RS232溝通,需有將RJ11轉成RS232介面的連接板,此元件已於「PIC_PROTO V3.x組裝與測試流程」一文中介紹過。

7. RS232傳輸電路所需零件表

元件

件號

規格型號

圖示

備註

電阻

R3

2KΩ

 

圓孔IC腳座

U3

16 pin

 

電容

C6 C7 C8 C9

104

 

SWITCH

PB_2

 

藍色

電話插孔

RJ11

RJ11

RS232

LED

C6_LED

 

任意顏色

11. RS232傳輸電路零件位置圖

RS232傳輸電路組裝技巧敘述如下:

(1)    U3 IC座上有缺口處有方向性,放置方向如圖12所示。

(2)    PB_2有防呆設計,應該不會插錯。

(3)    C6~C8四顆電容需先挑選過,選擇4顆大小適當並可以塞進U3的電容,最好在焊接前能實際比對一下。

RS232傳輸電路安裝後實體照片如圖12RS232傳輸電路測試程序敘述如下:

(1)    CCSICP程式安裝完成。CCS軟體功能為將C語言編譯成機械語言(HEX檔),ICP軟體功能為將HEX檔案燒錄至PIC_SERVER晶片內。

(2)    PIC晶片與MAX232放置於圖12標示處。

(3)    連接電話線與電腦RS232

(4)    ICP燒錄程序為先按住ICP不能放開,按一下RESET放開後,ICP才能放開,此時PIC會中斷原先工作成為燒錄狀態。

(5)    燒錄附件A的程式,燒錄完成後按RESET恢復PIC_SERVER工作狀態。

12. RS232傳輸電路安裝後實體照片

2.4 I/O介面

PIC_SERVER的輸出輸入位置包含portAportBportCportE(為網路卡專用線,請不要碰portE的三條線),位置如圖13所示,portD因牽涉驅動網路卡、LCD、與鍵盤,因此不在本文介紹範圍。將CN1CN4CN5CN6CN7VR1與峰鳴器銲接上後便可以自行撰寫程式進行各腳位功能的測試,大致的分區位置如圖14~16所示。詳細各接腳位置規劃如表8所示。

8. PIC_SERVER接腳功能

接腳

pin#

pic_SERVER.net (Ver.2.0)

RA0

2

VR_1 (A/I), D/I, D/O

RA1

3

VR_2 (A/I), D/I, D/O

RA2

4

A/I, D/I, D/O

RA3

5

A/I, D/I, D/O

RA4

6

Sys_LED (D/O), ICP_PB, Counter (D/I)

RA5

7

LCD_END/O 專線

RB0

33

PB_0 / Ext. INT (D/I), Beeper (D/O)

RB1

34

NIC Address, SA0 (D/O)

RB2

35

PB_1 (D/I), CAN_TX (D/O)

RB3

36

PB_2 (D/I), CAN_RX (D/I)

RB4

37

NIC Address, SA1 (D/O)

RB5

38

NIC Address, SA2 (D/O)

RB6

39

NIC Address, SA3 (D/O)

RB7

40

NIC Address, SA4 (D/O)

RC0

15

Motor_1A (D/O, Data_LED), D/I

RC1

16

Motor_1B (D/O, Data_LED), D/I

RC2

17

Motor_2A (D/O, Data_LED), D/I

RC3

18

I2C SCL

RC4

23

I2C SDA

RC5

24

Motor_2B (D/O, Data_LED), D/I

RC6

25

RS232_TX (D/O), D/I

RC7

26

RS232_RX (D/I), D/O

RD0

19

NIC Data (D/I, D/O)

LCD Display (D1, D2, D4…D7)

4×3 or 4×4 Keyboard (w/ D4...D7 pull-up or LCD)

RD1

20

RD2

21

RD3

22

RD4

27

RD5

28

RD6

29

RD7

30

RE0

8

NIC_IORD/O專線

RE1

9

NIC_IOWD/O專線)

RE2

10

NIC_RESETD/O專線)

13. PIC_SERVER輸出輸入位置

14. Port A位置

15. Port B位置

16. Port C位置

2.5 網路介面

網路介面需要零件有排針母座15×1(NICA)14×1(NICB)RJ45網路插座(H1)4×2圓孔IC(U4)24LC256(ROM)104電容(C10C13C14)LED(LINKRXTX)RTL8019AS螃蟹卡等共12個元件,各元件在PIC_SERVER板上位置如圖17所示。

8. 網路介面所需零件表

元件

件號

規格型號

圖示

備註

排針母座

NICA

15×1

 

 

NICB

14×1

 

 

網路插座

H1

RJ45

 

ROM記憶體

 

24LC256

 

電容

C10, C13, C14

104

 

網路卡模組

NIC

RTL8019AS

 

LED

 

 

LINK RX TX

17. 網路介面零件位置圖

網路介面組裝技巧敘述如下:

(1) 此部分需要注意焊接順序,C14C13電容需先焊上去,再任意焊其他零件,否則此二電容會因為卡在RJ45NICB間,造成焊接的困難。

(2) 完成焊接後,即可插上螃蟹卡(有防呆設計,應該不會插錯)。

網路介面安裝後實體照片如圖18。網路介面測試程序敘述如下:

(1)    完成以上組裝後,接上電源並插上Ethernet網路,燒入附錄B程式,RX燈號閃爍表示網路暢通。若無閃爍,請先檢查螃蟹卡pin腳是否確實插入。

(2)    其他網路IP設定請參考「PIC_SERVER的網路功能、上網方案、以及網路組態設定」一文。

完整PIC_SERVER完成後就如圖19所示。

18. 網路介面安裝後實體照片

19. 完整PIC_SERVER

附錄A. A4_LED閃爍程式(5.00版本)

#ignore_warnings  201, 203, 204

#include <18F4620.H>

#define  PIC_SERVER_PCB_V_2   TRUE

#define  _40_MHz_clock        TRUE

#define  clock_period         100

#define  rs232_baud_rate   115200

#include "pic_SERVER_lib.h"

void main()

{

   pic_SERVER_init();

   while ( TRUE )

   {

      output_low( PIN_A4 );

      delay_ms( 1000 );

      output_high( PIN_A4 );

      delay_ms( 1000 );

   }

}

void callback_HTTPclientCmdHandler(void){}

void callback_HTTPclientRequestData(void){}

void callback_UDPserverDataArrival(void){}

void callback_UDPclientDataArrival(void){}

void callback_TimeServerDataArrival(void){}

void callback_TCPserverDataArrival(void){}

void callback_TCPclientDataArrival(void){}

附錄B. 檢查網路程式(5.00版本)

#ignore_warnings  201, 203, 204

#include <18F4620.H>

#define  PIC_SERVER_PCB_V_2   TRUE

#include "pic_SERVER_lib.h"

void main()

{

   int16 time_old;

   pic_SERVER_init();

   lcd_init();

   lcd_dispIP();

   disp_myIPMAC();

   beep(440,500); delay_ms(200); beep(880,200);

   while(1)

   {

      bios_EtherNetHandler();

      if ( time_old != time.sec )

      {time_old  = time.sec;SYSLED = !SYSLED;}

   }

}

void callback_HTTPclientCmdHandler(void){}

void callback_HTTPclientRequestData(void){}

void callback_UDPserverDataArrival(void){}

void callback_UDPclientDataArrival(void){}

void callback_TimeServerDataArrival(void){}

void callback_TCPserverDataArrival(void){}

void callback_TCPclientDataArrival(void){}