KiCad: Freeware ที่น่าใช้งาน

Started by nattapong.sr, November 25, 2016, 07:44:56 AM

Previous topic - Next topic

nattapong.sr



     KiCad เป็นโปรแกรม Open Source สามารถรันได้หลาย OS ใช้สำหรับเขียนแบบวงจรอิเล็กทรอนิกส์ และออกแบบ PCB
ภายในโปแกรมมีเครื่องมือพื้นฐานที่จำเป็นต่อการใช้งานอยู่แล้ว ภายนอกดูเรียบง่ายไม่มีปุ่มให้กดเยอะ จะใช้ Hotkeys เป็นหลัก
ความสามารถในการทำงานถือว่าค่อนข้างดี ใช้ทดแทนโปรแกรมออกแบบ PCB ใหญ่ๆ ได้ดีไม่แพ้กัน การใช้งานก็ไม่ได้ยุ่งยากมากมายนัก
KiCad จะแยกออกเป็นโปรแกรมย่อยที่ใช้ทำงานในแต่ละส่วนหลักๆ ดังนี้

- Eeschema, สำหรับเขียนแบบวงจรอิเล็กทรอนิกส์ (Schematic)
- Schematic library editor, สำหรับเขียน library ตัวอุปกรณ์ เพื่อใช้กับ Eeschema
- Pcbnew, สำหรับเขียนลายวงจร PCB
- PCB footprint editor, สำหรับสร้าง footprint เพื่อใช้กับ Pcbnew/Schematic library editor
- GerbView, สำหรับตรวจสอบ Gerber ก่อนส่งผลิต

ตัวซอฟแวร์สามารถโหลดได้ฟรีจากเว็บไซต์ http://kicad-pcb.org/download/


เวอร์ชันล่าสุดตอนนี้ (25/11/2016) อยู่ที่ v4.0.4

     จะเห็นว่ารองรับ OS หลายตัวเลยทีเดียวครับ ก็เลือกตาม OS ที่ใช้เลย
ทำการ download มาแล้วติดตั้งได้เลยครับ สำหรับขั้นตอนติดตั้งขอข้ามไปก่อนนะครับ


เริ่มต้นใช้งาน KiCad
     เมื่อติดตั้งตัวโปรแกรมเสร็จแล้ว ก็สามารถเปิดโปรแกรมขึ้นมาได้เลย จะปรากฎหน้าต่างหลักขึ้นมาตามภาพ (Project manager)
โดยจะมีโปรแกรมย่อยให้เลือกใช้อยู่หลักๆ 5 ตัว (ในกรอบสีแดง) ตามที่ได้กล่าวไว้ข้างต้น เรียงจากซ้ายไปขวาตามลำดับ


เริ่มต้นจะยังไม่สามารถ ใช้งานได้ ให้เริ่มทำการสร้าง Project ขึ้นมาใหม่ก่อน โดยไปที่
File -> New Project -> New Project เลือก Path และตั้งชื่อไฟล์ให้เรียบร้อย ไฟล์จะมีนามสกุลเป็น *.pro



เสร็จแล้ว โปรแกรมจะสร้างไฟล์ *.sch และ *.kicad_pcb มาให้เลย ตามด้านซ้ายมือ พร้อมกันนี้โปรแกรมย่อยก็จะสามารถใช้งานได้แล้ว



ค้างไว้ตรงนี้ก่อน เรามาดู Workflow ของโปรแกรมกันซักนิดนึง


ภายใน Project นึงจะมีไฟล์ต่างๆ อยู่หลายไฟล์ด้วยกัน ซึ่งก็จะแบ่งกันไปทำงานในแต่ละโปรแกรมย่อยอีกทีนึงตามรูป
เป้าหมายของการออกแบบ PCB ด้วย KiCad คือการ Generate ไฟล์ออกมาเป็น Gerber เพื่อที่จะส่งให้โรงงานทำการผลิต PCB ต่อไป

1. เขียน Schematic โดยใช้โปรแกรมย่อย Eeschema
2. สร้าง Netlist เพื่อใช้ในการ Routing PCB
3. วาดลายวงจรหรือทำการ Route ผ่านโปรแกรม Pcbnew
4. Generate Gerber ไฟล์ที่จะใช้ในการผลิต
5. ตรวจสอบ Gerber ไฟล์ที่ได้ โดยใช้ GerbView ก่อนส่งให้โรงงานผลิต


กลับมาที่หน้าต่าง Project manager กันต่อครับ

อันดับแรกเลยเราต้องเขียน Schematic กันขึ้นมาก่อน
คลิกเข้าไปที่ไอคอนของ Eeschema
หรือเข้าได้จากเมนู Tools -> Run Eeschema หรือกด "Ctrl+E"


ก็จะได้หน้าต่างของโปรแกรม Eeschema ขึ้นมา ตามรูป



การใช้งาน Eeschema ของ KiCad

เมื่อเราเปิดโปรแกรมมาครั้งแรก ก็จะได้ WorkSheet เปล่าๆ มา หน้านึง หน้าตาก็คล้ายๆ กับโปรแกรมออกแบบทั่วๆ ไป เริ่มต้นด้วยการกำหนดขนาด Sheet ก่อน โดยเข้าไปที่ File -> Page Setting หรือกดที่ไอคอน Page settings


กำหนดขนาดของ Sheet size ที่ต้องการ ถ้าต้องการใส่ข้อมูลเพิ่มเติมก็ให้ใส่ในช่อง Parameter ได้ตามต้องการเลยครับ


เมื่อกำหนด Sheet เสร็จแล้ว ต่อไปจะแนะนำวิธีการใช้งานด้วยเมาส์และคีบอร์ดครับ
เนื่องจาก KiCad เป็นโปรแกรมที่ใช้เมาส์ในการควบคุมไม่เหมือนโปรแกรมอื่นๆ ทั่วไป การใช้เมาส์ในการลากวาง หรือเคลื่อนย้าย Object ใดๆ ต้องใช้คีย์ลัดช่วยในการทำงาน หรือแม้กระทั่งการ Copy และ Paste Object ผู้ที่เริ่มใช้ใหม่ๆ อาจจะงงๆ รวมถึงตัวผมเองด้วย ดังนั้นลองเข้าไปดูรายการของคีย์ลัดกันก่อนครับ โดยเข้าไปที่ Preferences -> Hotkeys -> List Current Keys


ก็จะมีรายการบอกว่าปุ่มไหนใช้ทำอะไร ส่วนการใช้งานคือเราจะต้องนำ Cursor ของเมาส์ ไปชี้ที่ Object หรืออุปกรณ์ก่อน จากนั้นกด hotkey ก็จะเป็นการกระทำคำสั่งนั้นๆ ทันทีโดยที่เราไม่ต้องคลิกเมาส์เลย
ตอนแรกอาจจะเปิดไปควบคู่กับการใช้งานก็ได้ครับ พอหลังจากเริ่มจำได้ค่อยปิดไป

ส่วนการ Pan สามารถใช้ปุ่มกดตรงกลางลูกกลิ้งของเมาส์ค้างไว้แล้วเคลื่อนที่ตำแหน่งของเมาส์
ร่วมกับการซูมเข้า-ออก ก็จะสะดวกกว่าการใช้ hotkey ครับ


- แถบซ้ายมือ เป็นเครื่องมือตั้งค่าการใช้งานของ WorkSheet
ก็จะเป็นการตั้งค่า Grid, หน่วยที่ใช้ mm/inch, ลักษณะของเคอเซอร์, เปิดปิดการแสดงผลของขาที่ซ่อนไว้ ส่วนใหญ่เป็นขาของพวก Logic Gate และ Op-Amp และสุดท้ายจะเป็นการตั้งค่ามุมการเดินของการวาดที่ใช้ Wire / Bus ในส่วนนี้ใช้การตั้งค่าเหมือนเดิมไปก่อน
- แถบขวามือ เป็นเครื่องมือที่ใช้ในการเขียนแบบวงจร เดียวจะอธิบายตามการใช้งานครับ
- แถบล่าง เป็นแถบแสดงสถานะของการทำงาน

ก่อนอื่นผมจะอธิบายการใช้งานแต่ละส่วนเบื้องต้นกันก่อนนะครับ แล้วค่อยไปทดสอบการเขียน Schematic กันต่อไปครับ

การค้นหา Library
เริ่มจากเอาอุปกรณ์ที่ต้องการมาวางก่อน โดยคลิกที่ Place component หรือกด "Shift + A" จากนั้นคลิกที่พื้นที่ว่างของ Sheet หรือกดปุ่ม "A" จะประกฏหน้าต่างให้เลือกอุปกรณ์จาก Library ที่ติดมากับโปรแกรม


เราสามารถคลิกเลือกอุปกรณ์ได้จาก
- หน้าต่างนี้โดยตรงจากการคลิกเลือกเองหรือพิมพ์ในช่อง filter เพื่อทำการค้นหาจากทุก Library
- เข้าไปเลือกกับ Library browser โดยการคลิกที่ช่องสี่เหลี่ยมล่างซ้ายของหน้าต่าง Choose Component (พื้นที่กรอบเขียว)

ของหน้าต่าง Library Browser จะประกอบด้วย 3 ส่วนคือ ช่องซ้ายมือจะเป็นชื่อของ Library ช่องที่สองถัดไปคือรายรายอุปกรณ์ของ Library นั้น ส่วนช่องสุดท้ายก็คือสัญลักษณ์หรือ Symbol เราสามารถใช้ filter เพื่อค้นหาจากหน้านี้ได้เหมือนกัน แต่ว่าจะเป็นการค้นหาภายในของแต่ละ Library

เมื่อเลือกอุปกรณ์ได้แล้ว ให้กดปุ่ม Insert component in schematic ตัวอุปกรณ์ก็จะติดมากับเมาส์ เราสามารถทำการคลิกเลือกตำแหน่งวางได้เลย จากนั้นก็วางอุปกรณ์ให้ครบตามต้องการ

การเคลื่อนย้ายตำแหน่งอุปกรณ์
KiCad ไม่สามารถลากแล้ววางแบบ Drag and drop เหมือนโปรแกรมทั่วๆ ไปได้ครับ วิธีการคือ
- ใช้ Hotkey ด้วยการนำเคอร์เซอร์ไปชี้ที่บริเวณตัวอุปกรณ์ แล้วกดปุ่ม "M" ตัวอุปกรณ์ก็จะขยับติดกับเคอร์เซอร์ จากนั้นค่อยนำไปวางที่ตำแหน่งใหม่ แบบนี้จะย้ายได้ทีละตัว (ใช้ไม่ได้กับ Wire และ Bus)
- ใช้การลากเคอร์เซอร์คลุมอุปกรณ์ที่จะย้าย จากนั้น Object ที่อยู่ภายในกรอบ จะขยับติดกับเมาส์มาโดยอัตโนมัติ จากนั้นค่อยคลิกวางที่ตำแหน่งใหม่ แบบนี้จะย้ายได้ทีละหลายตัว

การคัดลอกตัวอุปกรณ์หรือการ Copy
ไม่สามารถทำการกดปุ่ม "Ctrl+C" แล้ว "Ctrl+V" ได้ แต่จะใช้ Hotkey เหมือนกับการย้ายตำแหน่งอุปกรณ์ ดังนี้
- Copy ทีละตัว ให้เคอร์เซอร์ชี้ไปที่บริเวณตัวอุปกรณ์จากนั้นกดปุ่ม "C" จะเห็นว่าตัวอุปกรณ์จะติดตามเคอร์เซอร์เพิ่มมา และสามารถคลิกวางตามต้องการได้
- Block copy ทำได้โดยกดปุ่ม "Shift" ค้างไว้ แล้วทำการลากคลุมบริเวณที่ต้องการจะ copy จากนั้นอุปกรณ์ทั้งหมดที่อยู่ในกรอบก็จะถูก copy ขึ้นมา และสามารถคลิกวางตามตำแหน่งที่ต้องการได้

การลบตัวอุปกรณ์ออก
ก็จะทำคล้ายๆ กับการย้ายและการ copy ดังนี้
- ลบทีละตัว นำเคอร์เซอร์ไปชี้ที่บริเวณตัวอุปกรณ์จากนั้นกดปุ่ม "Delete"
- ลบทั้งบล็อค โดยการกด "Ctrl+Shift" ค้างไว้ แล้วลากคลุมบริเวณที่ต้องการลบ

การเชื่อมต่อสัญญาณไฟฟ้าหรือ Wiring
การต่อ Connection ระหว่างขาของอุปกรณ์ ทำได้โดยคลิกที่ Place wire หรือกดปุ่ม "Shift+W" แล้วค่อยทำการเชื่อมต่อทีขา หรือว่าจะกดปุ่ม "W" เพื่อเริ่มวาง Connection จุดแรกตามตำแหน่งที่เคอร์เซอร์ชี้ในขณะนั้นด้เลยทันที


ข้อควรระวัง ถ้าจุดไหนที่ wire ต่อกันอยู่ แต่ไม่มีจุด junction ขึ้นมา ให้ทำการเพิ่มจุดต่อ Junction เอง ซึ่งบางทีโปรแกรมอาจจะเข้าใจได้ว่ามันไม่ได้เชื่อมต่อกันจริงๆ ทำให้เกิดการผิดพลาดได้ โดยกดที่ Place junction หรือกดปุ่ม "Shift+J" เพื่อเลือกวางเอง หรือกดปุ่ม "J" เพื่อวางทันทีตามตำแหน่งของเคอร์เซอร์


การย้ายอุปกรณ์ที่ต่อ Wire อยู่
ถ้าต้องการย้ายตัวอุปกรณ์ที่ได้ต่อ Connection หรือ Net ไว้เรียบร้อยแล้วและต้องการให้ net ติดตามขาอุปกรณ์มาด้วย ทำได้โดย
- ย้ายทีละตัว โดยใช้ Hotkey "G" วิธีนี้สามารถใช้ย้าย Wire และ Bus ได้
- ย้ายทีละหลายตัว กด "Ctrl" ค้างไว้ แล้วคลุมรอบอุปกรณ์ที่จะย้าย จากนั้นวางที่ตำแหน่งใหม่ หรือจะเลือกคลุมก่อนก็ได้ จากนั้นค่อยกด "Tab" เพื่อย้าย ก็ได้เช่นกัน



การเพิ่ม sheet / hierarchical
การออกแบบหลาย Sheet
ถ้าหากว่าวงจรมีความซับซ้อนมากๆ เขียนภายใน Sheet เดียวได้ไม่หมด หรือต้องการแยกวงจรเป็นส่วนๆ ในแต่ละ Sheet เพื่อความเป็นระเบียบ ให้คลิกที่ Create hierarchical sheet หรือกด "Shift+S" หรือ "S" จากนั้นให้ตีกรอบวาด Sheet ใหม่ ภายใน Sheet ปัจจุบัน จากนั้นตั้งชื่อ File name, Sheet name ตามต้องการ


เนื่องจากว่า Eeshema ไม่รองรับการทำงานหลาย Sheet พร้อมๆ กันได้ การเขียนวงจรหรือเขียน Schematic จึงทำได้เพียงทีละ Sheet โดยจะเป็นลักษณะการวาง sheet เล็กไว้บน sheet หลัก สามารถวางซ้อนกันไปได้เรื่อยๆ คล้ายกับการวางโฟลเดอร์บน Windows โดยจะมี Sheet หลักที่โปรแกรมสร้างให้ตอนเปิดครั้งแรก หรือ Sheet ที่อยู่ในชั้นบนสุด เรียกว่า "Root" การจะดูว่าเราทำงานที่ Sheet ไหนอยู่ให้สังเกตุตรงช่อง Sheet: ตรงมุมขวาล่าง ถ้าเป็น Root sheet จะเป็นเครื่องหมาย "/" ส่วน sheet อื่นก็จะเป็นไปตามที่เราตั้งชื่อไว้ เราสามารถกด Navigate schematic hierarchical เพื่อดูภาพรวมของ Sheet ทั้งหมด หรือดับเบิ้ลคลิกเพื่อเข้าไปทำงานกับ Sheet นั้นได้เลย



การสร้าง Connection ของ hierarchical sheet
ภายใน sheet ย่อย ให้กด Place a hierarchical label หรือกด "Shift+H" หรือ "H" จากนั้นตั้งชื่อ เพื่อสร้างจุดต่อออกไปนอก sheet


กลับไปที่ sheet ก่อนหน้า โดยกดที่ Leave sheet หรือกด "Alt+BackSpace"
คลิกที่ Import hierarchical label จากนั้นไปคลิกที่บริเวณในกรอบ hierarchical sheet ก็จะปรากฎชื่อของ hierarchical label ที่เราตั้งไวใน sheet โผล่มา เราสามารถนำไปวางได้เฉพาะขอบซ้ายและขวาเท่านั้น จุดต่อนี้เราสามารถใช้ Wire ไปต่อกับส่วนอื่นๆ ได้เหมือนขาอุปกรณ์ทั่วไป


การต่อ connection โดยการใช้ label
- การใช้ Net name-local label จะใช้ต่อเฉพาะภายใน sheet เดียวกันเท่านั้น ไม่สามารถใช้ต่อข้าม sheet ได้
- Global label สามารถเชื่อมต่อถึงกันได้หมดทุก sheet

หัวข้อต่อไปครับ >>
/ schematic
/ erc
/ power flag
/ netlist


ขอบคุณทุกท่านที่เข้ามาอ่านครับ กระทู้แรกในชีวิต อยากแชร์วิธีการใช้โปรแกรมดีๆ ตัวนึงครับ
ผิดพลาดประการใด ก็ขออภัยครับ

nattapong.sr

ผลงานแรกหลังจากที่ได้ลองใช้ KiCad ครับ..  :) :)





หมูน้อย

แรกๆไม่ค่อยมีอะไรน่าสนใจ แต่ทำไมตอนนี้น่าเล่นจัง  ;)

wlasoi

ทำได้ขนาดนี้เลย เยี่ยม จริง