วันพุธที่ 24 ธันวาคม พ.ศ. 2557

Package ของ SolidWorks กับ Simulation แตกต่างกันอย่างไร

Package ของโปรแกรม SolidWorks มีไว้เพื่อให้ผู้ใช้งานสามารถเลือกซื้อเฉพาะฟังชั่นที่ต้วเองต้องการได้  ทำได้ซื้อโปรแกรมได้ในราคาที่ถูกกว่าการซื้อฟังชั่นเต็มทั้งหมด  เปรียบเหมือนกับเวลารถยนต์ก็จะมีตัว Top หรือตัวรองลงมาให้เราเลือกซื้อได้  ส่วน Simulation ก็เป็นฟังชั่นเสริมที่เอามาเพิ่มความสามารถให้กับ Solidworks เปรียบเหมือนเราต้องการเพิ่มระบบ GPS ในรถยนต์ในช่วยนำทางเราได้  ดังนั้นเราจำเป็นต้องมีรถยนต์ก่อนถึงจะต่อ GPS เพิ่มได้  เช่นเดียวกับ Simulation ต้องมี SolidWorks ก่อนจึงจะเอามาใช้งานได้

ฟังชั่น Simulation เองก็มีหลาย Package เช่นเดียวกับ SolidWorks  แถมยังชื่อเหมือนกันอีก  ทำให้หลายๆคนที่ได้ฟังครั้งแรกอาจจะงงกันอยู่บ้าง  ลองดูในรูปด้านล่างเพื่อให้เข้าใจได้ง่ายขึ้นนะครับ
ในการเลือกใช้งานเราสามารถเลือก Package ที่มีฟังชั่นที่เราต้องการทั้งใน SolidWorks และ Simulation มาจับคู่กันได้เลย(จะใช้ Simulation Package ใดก็ได้มาจับคู่กับ SolidWorks)
ตัวอย่างเช่น
- SolidWorks Standard + Simulation Standard  จะสามารถเขียน CAD โมเดลได้และสามารถวิเคราะห์งาน Static, Motion, Fatigue
- SolidWorks Premium + Simulation Premium  จะมีความสามารถในการเขียนโมเดลและฟังชั่นเสริมของ SolidWorks Premium บวกกับความสามารถในการวิเคราะห์ของ Simulation Premium ทั้งหมด

ถ้าเราสังเกตุในภาพจะเห็นว่า SolidWorks Premium เองก็มีฟังชั่นของ Simulation บางส่วนอยู่ด้วย ได้แก่ Static และ Motion  ดังนั้นถ้าใครต้องการวิเคราะห์ความแข็งแรงของโลหะเท่านั้น  ก็สามารถเลือกใช้แค่ SolidWorks Premium โดยที่ไม่ต้องซื้อฟังชั่น Simulation มาเสริม  แต่ถ้าหากต้องการวิเคราะห์งานอย่างอื่นๆอีก เช่น ความร้อน  อายุการใช้งาน  การสั่นสะเทือน ฯลฯ ก็สามารถเลือกใช้ Package ของ Simulation ที่ครอบคลุมงานที่ตัวเองต้องการได้เลย

ทีนี้เราก็พอจะทราบแล้วนะครับว่า Package ต่างๆเป็นอย่างไรบ้าง  ก็เลือกใช้ตามที่ตัวเองจำเป็นได้เลยครับ

วันอังคารที่ 9 ธันวาคม พ.ศ. 2557

การวิเคราะห์อายุการใช้งาน (Fatigue Analysis) Part 2

หลังจากที่เรามีความรู้ในการวิเคราะห์ Fatigue กันแล้ว  เราลองมาดูกันว่า  และเราจะต้องมีการเตรียมข้อมูลอะไรบ้างเพื่อวิเคราะห์ความล้าในโปรแกรม SolidWorks Simulation

ขั้นตอนสำหรับการวิเคราะห์ Fatigue
1. กำหนดค่าการวิเคราะห์ในฟังชั่น Static  ในขั้นตอนนี้ทำเหมือนการวิเคราะห์ Static ปกติ ได้แก่
     - กำหนดค่าวัสดุ
     - กำหนด Contact (สำหรับวิเคราะห์งาน Assembly  ถ้าวิเคราะห์ Part ให้ข้ามขั้นตอนนี้ได้เลย)
     - กำหนด Fixture
     - กำหนด Load
     - สร้าง Mesh
     - Run เพื่อหาผลลัพธ์
    สำหรับขั้นตอนข้างต้น  ถ้าหากใครยังไม่เคยใช้งาน SolidWorks Simulation ให้ศึกษาจากวีดีโอนี้ดูนะครับ  คลิกที่นี่

2. หา Loading Ratio  เนื่องจากความเสียหายจาก Fatigue เกิดจากแรงกระทำซ้ำๆ  ซึ่งขนาดของแรงจะมีขึ้นมีลง  ในการบอกโปรแกรมว่าแรงกระทำมีการกดหรือการดึงอย่างไรบ้าง  จะบอกโดยใส่ค่า Loading Ratio ซึ่งมีวิธีการหาดังนี้
Loading Ratio =  Load min/Load max
EX1 ถังความดันต้องรับแรงดันที่อัดเข้ามา 30 MPa  และมีการดูดอากาศจนแรงดันติดลบ(เป็นสุญญากาศ) 0.3 MPa  แสดงว่า Loading Ratio = -0.3/30 = -0.01

EX2 เครนยกน้ำหนัก 50 ตัน  และวางของลงทำให้เครนไม่ต้องรับแรงอะไรเลย  แสดงว่า Loading Ration = 0/50 = 0
   
3.เข้าการวิเคราะห์ Fatigue

4. กำหนดจำนวนครั้งที่ชิ้นงานโดนแรงกระทำ  ใส่ค่า Loading Ratio  และเลือก Study Static ที่เราทำเอาไว้ในขั้นตอนที่ 1

5. ใส่ค่า SN-Curve (ถ้าไม่มีค่าจากการทดลอง  ก็ใช้วิธีตามบทความนี้นะครับ)

6. Run ดูผลลัพธ์กันเลย  ผลลัพธ์ที่ดูได้หลักๆ จะมี 2 ตัวคือ
     - Damage Percentage  คือผลลัพธ์ที่แสดงว่าชิ้นงานเสียหายไปเท่าไรเมื่อทำไปใช้งานตามจำนวนครั้งที่เรากำหนดในข้อ 4  ถ้าหากเกิน 100% แสดงว่าชิ้นงานใช้งานได้ไม่ถึงจำนวนครั้งที่กำหนด

     - Total Life คือผลลัพธ์แสดงจำนวนครั้งที่ชิ้นงานสามารถรับแรงได้

วันอาทิตย์ที่ 30 พฤศจิกายน พ.ศ. 2557

การวิเคราะห์อายุการใช้งาน (Fatigue Analysis) Part 1

              ในปัจจุบันสิ่งผู้พัฒนาต้องคำนึงถึงด้วยคือเรื่องอายุการใช้งานของชิ้นงานว่าจะสามารถทำไปใช้งานได้นานเท่าไร  เพื่อจะได้วางแผนเรื่อง
1. การซ่อมบำรุง  จะได้เปลี่ยนอะไหล่ก่อนที่จะเกิดความเสียหายหนัก  ซึ่งอาจเป็นสาเหตุให้งานหยุดชะงัก
2. การรับประกัน  สำหรับผู้ผลิตที่ดำเนินธุรกิจย่อมต้องกำหนดการรับประกันให้ลูกค้ามั่นใจว่าของที่ซื้อไปต้องใช้งานได้แน่ๆ และหากมีปัญหาอย่างน้อยๆก็จะไม่ต้องเสียอะไรเพิ่มในช่วงเวลารับประกัน  นอกจากนี้ทางผู้ผลิตเองจะได้กำไรจากการขายอะไหล่ด้วย  ทำให้ยังสามารถดำเนินธุรกิจต่อไปได้

              ความเสียหายที่เกิดขึ้นจากการใช้งานเป็นระยะเวลานานเราเรียกว่า ความล้า (Fatigue)  ซึ่งจะเกิดขึ้นจากแรงกระทำซ้ำๆ โดยการวิเคราะห์ความล้าจะได้ผลลัพธ์ออกมาเป็นจำนวนครั้งที่ชิ้นงานสามารถรับแรงกระทำนั้นๆได้  จากนั้นเราก็นำจำนวนครั้งมาแปลงเป็นระยะเวลาที่สามารถใช้งานได้ เช่น วิเคราะห์แป้นถีบจักรยาน  พบว่าสามารถรับแรงได้ 20,000 ครั้ง  จากนั้นผู้ผลิตก็จะมีข้อมูลว่าโดยเฉลี่ยแล้ว  คนจะถีบจักรยานเดือนๆหนึ่งประมาณกี่ครั้ง สมมติว่ามีข้อมูลว่าเดือนหนึ่งๆคนจะใช้จักรยาน 200 ครั้ง  แสดงว่าจักรยานนี้จะมีอายุการใช้งาน 20,000/200 = 100 เดือน  หรือประมาณ 8 ปี
 
สำหรับการวิเคราะห์ความล้า  ข้อมูลอย่างแรกที่เราต้องการ คือ SN Curve ซึ่งเป็นข้อมูลของวัสดุต่างๆที่เรานำมาใช้สร้างผลิตภัณฑ์  มีแกน X แสดงถึงจำนวนครั้งที่วัสดุสามารถทนรับแรงขนาดนั้นๆได้  และแกน Y แสดงถึงขนาดของแรงกระทำ
ค่า SN Curve หาได้จากการทดสอบวัสดุ  ซึ่งการทดสอบจะนำวัสดุไปรับแรงดึงหรือกดที่ค่าหนึ่งๆ จากนั้นใส่แรงกระทำซ้ำๆจนกว่าชิ้นงานจะเกิดความเสียหาย  เราก็จะได้จุดบนกราฟมาหนึ่งจุด  จากนั้นจึงลองเปลี่ยนขนาดของแรงและใส่แรงกระทำซ้ำๆจนเกิดความเสียหาย  เราก็จะได้ข้อมูลมาอีกจุดหนึ่ง  ทำเช่นนี้เรื่อยๆจนได้จุดมากพอจะเขียนเป็นเส้นกราฟได้ (ลองดูในคลิปวีดีโอนี้ได้ครับ https://www.youtube.com/watch?v=msVt0mrvopg)

จากวิธีการข้างต้นจะเห็นว่าการหาค่า SN Curve ค่อนข้างใช้เวลาและค่าใช้จ่ายพอสมควร  เพราะจุดบทกราฟ 1 จุดหมายถึงการทำลายชิ้นงานทดสอบ 1 ชิ้น  แต่ถ้าวัสดุที่ทำผลิตภัณฑ์เป็นโลหะ  เราประมาณค่า SN Curve ด้วยสูตรคำนวณดังรูปต่อไปนี้
จากรูปด้านบนจะเห็นว่าเราจะได้จุดมา 3 จุดคือ
-         ตำแหน่งแกน X = 0, แกน Y = ค่า Ultimate strength ของวัสดุ
-         ตำแหน่งแกน X = 1,000 ครั้ง, แกน Y = 0.9 x ค่า Ultimate strength ของวัสดุ
-         ตำแหน่งแกน X = 1,000,000 ครั้ง, แกน Y = 0.5 x ค่า Ultimate strength ของวัสดุ

 หลังจากได้จุดทั้ง 3 มาแล้ว  เราสามารถเขียน SN Curve ได้โดยใช้กราฟที่เป็นสเกล log-log (แกน X,Y เป็นค่า log)  

สำหรับ Part แรกจะขอจบไว้เท่านี้ก่อน  ส่วนใน Part ถัดไปเราจะมาดูกันว่าในโปรแกรม SolidWorks Simulation จะต้องกำหนดค่าอะไรบ้าง  แล้วผลลัพธ์ที่ได้มีวิธีการดูอย่างไร

วันจันทร์ที่ 17 พฤศจิกายน พ.ศ. 2557

ขอบเขตของการวิเคราะห์งาน Static




โมดูล Static ในโปรแกรม SolidWorks Simulation เป็นโมดูลเริ่มต้นที่ทุกคนต้องเคยผ่านการใช้งานมา  เนื่องจากเป็นโมดูลพื้นฐาน  อีกทั้งบางคนที่ยังไม่รู้จัก SolidWorks Simulation ดีพอ  ก็อาจจะคิดว่า SolidWorks สามารถวิเคราะห์งานได้ทุกรูปแบบโดยใช้แค่โมดูลนี้โมดูลเดียว  ซึ่งถือว่าเป็นความเข้าใจผิดที่อันตราย  เพราะการวิเคราะห์งานแต่ละประเภทนั้น  ก็ต้องใช้สมการในการแก้ที่แตกต่างกัน  ดังนั้นและเรามารู้จักกับการวิเคราะห์แบบ Static กันก่อนเลยว่าจริงๆแล้วจะต้องใช้ในการวิเคราะห์ลักษณะไหนกันแน่



โมดูล Static หรือเรียกอีกอย่างเพื่อให้เกิดความเข้าใจที่ตรงกันมากขึ้นขึ้นว่า Linear Static จะใช้ได้กับงานที่ผ่านเงื่อนไข 3 อย่างดังนี้

1. วิเคราะห์งานที่มีพฤติกรรมเป็นแบบ Linear หรือเป็นแบบเชิงเส้น  ยกตัวอย่างเช่นคานอันหนึ่งดังรูป
ถ้าหากแรงกด P = 100 N  ทำให้ปลายคานงอลงมา 1 mm
ถ้าเพิ่มแรงกด P = 200 N  ก็จะทำให้ปลายคาดงอลงมา 2 mm
ถ้าเพิ่มแรงกด P = 300 N  ก็จะทำให้ปลายคาดงอลงมา 3 mm
จะเห็นได้ว่าขนาดของแรงกดจะแปรผันตรงกับระยะการงอ  แบบนี้จะเรียกว่าเป็นเชิงเส้น

สำหรับการวิเคราะห์ Static ก็คือให้ดูวัสดุของชิ้นงานเรา  ถ้าเป็นโลหะช่วงก่อนถึง Yield Stress จะมีพฤติกรรมเป็นแบบเชิงเส้น  แต่ถ้าเลยจุด Yield Stress ไปแล้ว  ผลการวิเคราะห์จากโมดูล Static อาจจะมีค่ามากเกินความเป็นจริงดังรูป
ส่วนวัสดุที่เป็นพลาสติกหรือยางอาจจะไม่เหมาะกับการวิเคราะห์ด้วยโมดูล Static เนื่องจากช่วงที่วัสดุมีพฤติกรรมแบบเชิงเส้นมีอยู่ค่อนข้างน้อย  แต่ถ้าช่วงที่เราดูผลลัพธ์ยังอยู่ในช่วงที่มีพฤติกรรมแบบเชิงเส้นก็ยังพอจะได้ผลลัพธ์ที่น่าเชื่อถืออยู่

2. ชิ่นงานมีการบิดงอน้อยๆ หรือพูดอีกอย่างคือมีการเปลี่ยนรูปไปจากแบบเดิมไม่มาก  เนื่องจากถ้าชิ้นงานมีการบิดงอไปจากรูปเดิมเยอะ ค่าต่างๆที่เซตไว้ควรจะต้องมีการอัพเดตตามรูปร่างที่เปลี่ยนด้วย ผมขอยกตัวอย่างคานในการอธิบายดังนี้



ข้อ a คือรูปร่างคานและทิศทางของแรงที่เรากำลังจะวิเคราะห์

ข้อ b คือคานมีการบิดงอน้อยๆ ซึ่งเราอาจจะตั้งสมมติฐานว่า  เพราะชิ้นงานบิดงอน้อยมาก  ทำให้จึงไม่ส่งผลให้ทิศทางของแรงกระทำเปลี่ยนไป

ข้อ c คือคานโดนแรงกดเยอะ  ทำให้รูปร่างเปลี่ยนไปมาก  หากต้องการผลลัพธ์ที่ถูกต้อง  ทิศทางของแรง  หรือแม้แต่ mesh ที่จำลองรูปร่างโมเดลนั้นๆก็ควรจะต้องมีการอัพเดตตามการเปลี่ยนแปลงที่เกิดขึ้น





สำหรับการวิเคราะห์ในโมดูล Static จะมีข้อความเตือนขึ้นมาเมื่อโปรแกรมพบว่ามีการบิดงอมากเกินไป

ข้อความนี้จะให้เราเลือกว่าต้องการวิเคราะห์ต่อโดยไม่มีการอัพเดตการตั้งค่าใดๆ(ให้กด No)  หรือจะเปลี่ยนรูปแบบการวิเคราะห์เป็น Large Displacement ซึ่งจะมีการอัพเดตการตั้งค่าเช่น ทิศทางของแรงกระทำให้(ให้กด Yes)   ถ้าเราเลือกการวิเคราะห์แบบ Large Displacement จะใช้เวลา Run นานขึ้น เพราะโปรแกรมต้องตรวจสอบว่าชิ้นงานมีการเปลี่ยนรูปร่างไปอย่างไรบ้าง  ส่วนเรื่องรายละเอียดของการวิเคราะห์แบบ Large displacement ผมขอยกไว้ในบทความหน้านะครับ


3. แรงกระทำเป็นแรงแบบค่อยๆกด  หรือพูดง่ายคือแรงที่ไม่ใช่การกระแทก  เนื่องจากแรงกระแทกจะทำให้เกิด Stress หรือ Displacement ได้มากกว่าแรงแบบค่อยๆกด  ดังนั้นสมการในการวิเคราะห์จะเป็นตัวอื่น

ตอนนี้เราก็น่าจะรู้กันแล้วนะครับว่าโมดูล Static สามารถวิเคราะห์งานประเภทไหนได้บ้าง

วันอังคารที่ 11 พฤศจิกายน พ.ศ. 2557

สาเหตุและการแก้ปัญหา Error "Model is unstable. Check that you have applied adequate fixture to stabilize the model."

ปัญหาอย่างหนึ่งของผู้เริ่มต้นใช้งาน SolidWorks Simulation หรือผู้ที่วิเคราะห์งาน Assembly ที่มีชิ้นส่วนจำนวนมากหรือมีการสร้าง Mesh หลายชนิดผสมกัน ได้แก่ Solid Mesh, Shell Mesh และ Beam Mesh  อาจจะมีโอกาสได้เจอกับ Error "Model is unstable. Check that you have applied adequate fixture to stabilize the model."  ซึ่งทำให้วิเคราะห์ชิ้นงานต่อไม่ได้


บทความนี้เราจะมาดูกันว่าสาเหตุที่เกิด Error ตัวนี้คืออะไร  และเราจะมีวิธีแก้ปัญหานี้อย่างไร

     สาเหตุที่ทำให้เกิด Error
          Error ตัวนี้เกิดจากชิ้นงานไม่อยู่นิ่งทำให้วิเคราะห์ไม่ได้  ลองนึกภาพดูว่าเวลาที่เราวิเคราะห์งานชิ้นหนึ่ง  ถ้าเราไม่ได้กำหนดจุดยึดอะไรเลย  มันจะเหมือนกันว่าชิ้นงานนี้ลอยอยู่ในอวกาศที่ไม่มีอะไรมาดึงมารั้งเอาไว้  พอชิ้นงานโดนแรงกระทำเช่นแรงผลัก  ชิ้นงานก็จะลอยกระเด็นออกไป  ทำให้เราวิเคราะห์ไม่ได้ว่าชิ้นงานนั้นต้องรับแรงเท่าไร

     วิธีแก้
          ในการเลือกวิธีแก้  เราต้องมาดูก่อนว่าปัญหาของเราเกิดจาก จุดยึดไม่เพียงพอ  หรือ  กำหนด Contact ไม่ครบ
     1. จุดยึดไม่เพียงพอ  คือการกำหนด Fixture ไม่พอทำให้ชิ้นงานอยู่นิ่งไม่ได้ เช่น
          ดังนั้นการแก้ปัญหาจุด Fixture ไม่เพียงพอ  เราต้องนึกถึงสภาพจริงของชิ้นงานว่ามีตรงไหนที่ต้องกำหนดจุดยึดเพิ่มได้อีก  แล้วเพิ่ม Fixture เพื่อยึดชิ้นงานให้อยู่กับที่ได้

     2. กำหนด Contact ไม่ครบ  อาจเกิดจาก 2 สาเหตุดังนี้
          - บริเวณที่สัมผัสกันระหว่างชิ้นงานเป็น ขอบชิ้นงานชนกับผิวชิ้นงานอีกชิ้น  หรือ  มุมของชิ้นงานชนกันผิวชิ้นงานอีกชิ้น  จะเห็นว่าตรงที่สัมผัสกันเป็นเส้นขอบหรือจุด  ดังนั้นเรากำหนด Contact set เพิ่มเข้าไปเพื่อให้ชิ้นงานมองเห็นว่ามีการชนกัน  สำหรับใครที่ยังไม่ค่อยเข้าใจเรื่อง Contact สามารถไปศึกษาเรื่อง Contact ในบทความ "ชนิดของ Contact สำหรับวิเคราะห์งาน Assembly"

          - การวิเคราะห์ชิ้นงานที่มี Mesh หลายชนิดอยู่ด้วยกัน  เช่น วิเคราะห์ Solid กับ Shell Mesh พร้อมกัน  ถ้ามีการวิเคราะห์ Mesh หลายชนิด  เราจำเป็นต้องกำหนด Contact Set เพื่อ Bond ชิ้นงานให้ติดกันด้วย


วันจันทร์ที่ 27 ตุลาคม พ.ศ. 2557

ชนิดของ Contact สำหรับวิเคราะห์งาน Assembly

สำหรับการวิเคราะห์ชิ้นงานที่ประกอบกันจะใช้วิธีคล้ายกับการวิเคราะห์ชิ้นงานชิ้นเดียว  เพียงแต่ต้องมีการกำหนดตรงจุดที่มีการสัมผัสกันระหว่างชิ้นงานด้วย  เนื่องจากการกำหนด Mate ในงาน Assembly จะไม่มีผลต่อการวิเคราะห์ความแข็งแรง  ในโปรแกรม SolidWorks จะมีหัวข้อ Connection เพื่อใช้ในการกำหนดจุดสัมผัสระหว่างกัน

ชนิดของการสัมผัสกันระหว่างชิ้นงาน (Contact) แบ่งหลักๆได้ 3 ประเภท

1. Bond  คือ การกำหนดให้ชิ้นงานมีการเชื่อมติดกัน  เสมือนว่าเป็นชิ้นงานเดียวกัน
2. No penetration  คือ การกำหนดให้ชิ้นงานมีการสัมผัสกันได้  หากมีแรงมาดันชิ้นงานให้เคลื่อนที่เข้ามาชนกัน  ชิ้นงานก็จะมีการดันกัน
3. Allow penetration  คือ การกำหนดให้ชิ้นงานสามารถทะลุกันได้  หากชิ้นงานเคลื่อนที่มาชนกัน  ก็จะทะลุผ่านกันไปเลย  ลักษณะเหมือนคนกับผี เป็นต้น

ความเร็วในการคำนวณผลลัพธ์ Contact ประเภท Allow penetration (คำนวณเร็วสุด) > Bond > No penetration (คำนวณนานสุด)

นอกจากเรื่องประเภทของ Contact แล้ว  ในการกำหนด Contact ของโปรแกรม SolidWorks ยังมีวิธีการกำหนดได้ 2 แบบหลักๆดังนี้

1. Component Contact  คือ การเลือกชิ้นงานทั้งชิ้นว่าระหว่างชิ้นงานที่ 1 กับชิ้นงานที่ 2 จะมี Contact กันแบบใด  ซึ่งการเลือก Component Contact จะใช้ได้ 2 กรณีคือ
     - ทำได้เฉพาะที่ผิวของชิ้นงานทั้ง 2 มีการสัมผัสกันอยู่แล้วตั้งแต่ตอนประกอบกัน  แต่ถ้าชิ้นงานถูกแรงกระทำจนงอแล้วมาสัมผัสกันภายหลัง  Component Contact จะไม่สามารถตรวจสอบที่จุดนี้ได้

     - ทำได้เฉพาะผิวชิ้นงานสัมผัสกัน  ถ้าเป็นการสัมผัสแบบขอบชิ้นงานสัมผัสกับผิว  หรือมุมแหลมของชิ้นงานสัมผัสกับผิว  Component contact จะไม่สามารถตรวจสอบจุดนี้ได้
     สำหรับการสัมผัสที่ Component Contact ทำไม่ได้  สามารถใช้ Contact set ช่วยแก้ปัญหาได้
2. Contact set  คือ ระบุตำแหน่งที่ชิ้นงานจะมีการสัมผัสกันอย่างเฉพาะเจาะจง  เช่น การเลือกผิวที่จะให้มี Contact แบบ Bond, เลือกขอบหรือมุมของชิ้นงานให้มี Contact แบบ No penetration กับผิวของชิ้นงานอีกชิ้น เป็นต้น

การกำหนดชนิดของ Contact ให้ถูกต้องเป็นอีกปัจจัยหนึ่งที่ทำให้ผลการวิเคราะห์ของเราได้ผลลัพธ์ที่ถูกต้องมากขึ้นด้วย  ดังนั้นก่อนวิเคราะห์ชิ้นงานก็ควรทำความเข้าใจวิธีการประกอบชิ้นงานของเราก่อน  เพื่อให้กำหนด Contact ได้อย่างถูกต้อง

วันอังคารที่ 21 ตุลาคม พ.ศ. 2557

ทำความรู้จักกับ SolidWorks Simulation

โปรแกรม SolidWorks เป็นโปรแกรมออกแบบ 3มิติ  ซึ่งใช้งานกันอย่างแพร่หลายทั้งในระดับการศึกษาและระดับอุตสาหกรรม  มีทั้งการข้อมูลในเวปไซต์ต่างๆ เช่น Youtube  มีการเรียนการสอนในมหาวิทยาลัย  มีสถานที่ที่จัดสอนโปรแกรมโดยเฉพาะ  และมีคนที่รับสอนนอกสถานที่  ทำให้โปรแกรม SolidWorks มีผู้ใช้จำนวนมากเพราะมีแหล่งศึกษาที่หาได้ง่าย  และสามารถฝึกใช้งานได้อย่างรวดเร็ว  แต่ยังมีคนจำนวนน้อยนักที่จะรู้ว่าโปรแกรม SolidWorks สามารถเพิ่มฟังชั่น Add-in เพื่อให้มีความสามารถอย่างอื่นนอกเหนือจากการวาดโมเดล 3มิติ  ฟังชั่น Simulation เองก็เป็นหนึ่งในฟังชั่น Add-in ที่มีอยู่มากมาย  ซึ่งเราจะมาทำความรู้จักกันว่า  SoildWorks Simulation สามารถทำอะไรได้บ้าง

ฟังชั่น Simulation ในโปรแกรม SolidWorks แบ่งหลักๆได้ 4 ชนิดคือ

1. Simulation  คือการวิเคราะห์ความแข็งแรงของโมเดล 3มิติ (Strength Analysis)  โดยใช้วิธี Finite Element Analysis (FEA) ในการคำนวณหาความแข็งแรง  ซึ่งจะมีโมดูลย่อยๆอีกหลายชนิดเพื่อให้ตอบโจทย์ความเสียหายที่มีได้หลากหลายรูปแบบดังต่อไปนี้
     - Linear Static  คือการวิเคราะห์ความเสียหายของชิ้นงานเมื่อได้รับแรงกระทำ  สามารถดูการรับแรง (Stress)ที่ตำแหน่งต่างๆของชิ้นงาน และดูการบิดงอ(Displacement)ได้
     - Frequency  คือการวิเคราะห์หาความถี่ธรรมชาติและ Mode Shape(ลักษณะหรือทิศทางของการสั่น)
     - Buckling  คือการวิเคราะห์ความเสียหายแบบโก่งเดาะ(ฺBuckling)  โดยแสดงผลในรูปของ Buckling Load Factor (คล้ายๆกับ Safety factor ที่บอกว่าชิ้นงานสามารถรับแรงได้อีกกี่เท่าจึงจะเกิดความเสียหาย)
     - Thermal  คือการวิเคราะห์การถ่ายเทความร้อน  สามารถวิเคราะห์ได้ทั้งการนำความร้อน  การพาความร้อน  และการแผ่รังสี
     - Fatigue  คือการวิเคราะห์ความล้าหรืออายุการใช้งานของชิ้นงาน  เมื่อชิ้นงานได้รับแรงกระทำซ้ำๆ
     - Drop Test  คือการวิเคราะห์การตกกระแทก  โดยสามารถกำหนดความสูงหรือความเร็วตอนชิ้นงานเกิดการกระแทกกับพื้น  กำหนดมุมตกกระแทก  และกำหนดค่าความแข็งของพื้นที่ชิ้นงานมากระแทกได้
     - Optimization คือการหาขนาดที่เหมาะสมของชิ้นงานด้วยโปรแกรม  สามารถกำหนดตัวแปรที่ต้องการเปลี่ยน เช่น ขนาดของชิ้นงาน เป็นต้น  กำหนดเงื่อนไข เช่น ต้องมี Safety factor มากกว่า 2  หรือมีการบิดงานไม่เกิน 1 mm เป็นต้น  และกำหนดเป้าหมายที่ต้องการ เช่น หาว่าชิ้นงานที่มีน้ำหนักเบาที่สุดคือเท่าไร  โดยโปรแกรมจะเปลี่ยนขนาดของชิ้นงานตามตัวแปรที่กำหนดโดยอัตโนมัติ  และหาชิ้นงานที่เบาที่สุดโดยที่ชิ้นงานตัวนั้นๆต้องผ่านเงื่อนไขของเราด้วย
     - Pressure Vessel  คือการวิเคราะห์ถังความดัน  โดยอ้างอิงกับมาตรฐาน ASME Code Section VII, Division 2, Appendix 4
     - Linear Dynamic  คือการวิเคราะห์การสั่นสะเทือน  สามารถกำหนดการสั่นสะเทือนที่เกิดขึ้น  แล้วคำำนวณหา Stress หรือ Displacement ที่เกิดขึ้น ณ เวลาต่างๆได้
     - Non-linear คือการวิเคราะห์แบบไม่เชิงเส้นซึ่งมีได้ 3 แบบคือ  วัสดุไม่เชิงเส้น(Meterial non-linear) เช่น พลาสติก  ยาง เป็นต้น  มีการสัมผัสหรือการเคลื่อนที่มาชนกันระหว่างชิ้นงานประกอบ(Contact non-linear)  และชิ้นงานมีการบิดงอไปจากรูปเดิมมากๆ(Geometry non-linear)


2. Motion Analysis คือการวิเคราะห์งานที่เป็นระบบกลไกซึ่งมีการเคลื่อนไหวของชิ้นงาน  โดยอาจจะเคลื่อนไหวได้จากการใส่มอเตอร์  กระบอกสูบ  แรงโน้มถ่วง ฯลฯ  ผลลัพธ์ที่ได้คือการจำลองการทำงานของเครื่องจักรนั้นๆ รวมถึงความเร็ว  ความเร่ง  ทิศทางการเคลื่อนที่  กำลังมอเตอร์ที่ต้องใช้ ฯลฯ


3. Flow Simulation  คือการวิเคราะห์พฤติกรรมของของไหลที่ไหลผ่านโมเดล 3มิติ  โดยใช้วิธี Finite Volume ในการวิเคราะห์  ความสามารถของ Flow Simulation สามารถวิเคราะห์พฤติกรรมของของไหล เช่น ความเร็ว  ทิศทางการไหลความดัน  อุณหภูมิ  อัตราการไหล ความชื้น ฯลฯ  รวมถึงการวิเคราะห์ชิ้นงานที่มีการหมุน เช่น วิเคราะห์น้ำไหลผ่านปั๊ม  เป็นต้น


4. SolidWorks Plastic  คือการวิเคราะ์งานฉีดพลาสติก  เพื่อตรวจสอบว่าโมเดลที่ออกแบบมาสามารถนำไปฉีดพลาสติกได้จริงหรือไม่  หากเกิดปัญหา เช่น Air trap, Weld line, Sink mark, Warp ฯลฯ จะเกิดที่ตำแหน่งใด  ซึ่งช่วยให้เราทราบปัญหาที่จะเกิดและหาทางแก้ไขก่อนที่จะผลิตจริง

วันพฤหัสบดีที่ 16 ตุลาคม พ.ศ. 2557

จะรู้ได้อย่างไรว่าผล Simulation ถูกต้อง

คำถามนี้เป็นคำถามคลาสสิกที่ผู้ใช้งาน Simulation แทบทุกคนจะถามถึง  หรือคำถามก็อาจจะมีรูปแบบที่แตกต่างจากนี้เล็กน้อย เช่น โปรแกรมนี้มีความแม่นยำแค่ไหน,  มีความคลาดเคลื่อนกี่เปอร์เซนต์, มีสถาบันหรือหน่วยงานไหนรับรองว่าโปรแกรมนี้ถูกต้องหรือไม่ เป็นต้น  ไม่ว่าคำถามจะมาในรูปแบบไหนเราก็สรุปง่ายๆได้ว่าสิ่งที่ทุกๆคนต้องการรู้คือ "ผลลัพธ์ที่ได้จากการวิเคราะห์นั้นถูกต้องหรือไม่"

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

ในโปรแกรม SolidWorks Simulation จะต้องกำหนดค่า(เปรียบกับการกดเครื่องคิดเลข) ดังต่อไปนี้  เพื่อให้โปรแกรมสามารถคำนวณได้
1. Geometry  คือ โมเดล 3D ที่เราเขียนหรือนำเข้ามาจากโปรแกรมอื่นๆ
2. Material  คือ คุณสมบัติของวัสดุที่ใช้ทำชิ้นงานจริง
3. Loads  คือ แรงกระทำที่ทำกับชิ้นงาน เช่นแรงดึง  แรงบิด  ความดัน ฯลฯ
4. Fixture  คือ ลักษณะการยึดชิ้นงาน เช่น การยึดแน่น  การยึดแบบบานพับ ฯลฯ
การกำหนดค่าทั้ง 4 อย่างข้างต้นจะส่งผลกระทบต่อคำตอบมากน้อยแตกต่างกันดังรูปข้างล่าง
จากรูปจะเห็นว่าการกำหนดค่า Fixture ส่งผลกระทบต่อผลลัพธ์มากที่สุด  ดังนั้นจึงเป็นจุดที่ควรระวังมากที่สุด  ส่วนการกำหนดค่าอื่นๆก็จะส่งผลต่อคำตอบลดหลั่นกันไป

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

สำหรับโปรแกรม SolidWorks Simulation ก็มีฟังชั่นที่หลากหลายให้เราเลือกใช้  เพื่อให้ได้ผลลัพธ์ที่ถูกต้องตามที่เราต้องการ โดยคลิกที่นี่เพื่อเข้าไปดูบทความเกี่ยวกับฟังชั่นต่างของ SolidWorks Simulation ได้

เรื่องสุดท้ายที่ส่งผลกระทบต่อคำตอบคือความละเอียดของ Mesh  ถ้าหาก Mesh มีความละเอียดมากจะทำให้จำลองรูปร่างของโมเดลได้เหมือนจริง  จึงทำให้ผลลัพธ์ที่ได้มีความถูกต้องมากขึ้น  เพียงแต่ว่ายิ่ง Mesh มีความละเอียดมากเท่าใด  โปรแกรมก็ต้องใช้เวลาในการคำนวณเท่านั้น  ดังนั้นการกำหนดความละเอียดที่เหมาะสมจะทำให้ได้ผลลัพธ์ที่น่าเชื่อถือและคำนวณได้เร็วอีกด้วย  การหาขนาดของ Mesh ที่เหมาะสมสามารถพิจารณาได้จากรูปต่อไปนี้
จากกราฟจะเห็นว่าเมื่อเพิ่มความละเอียด Mesh ให้มากขึ้น  ผลลัพธ์ที่ได้จะใกล้เคียงค่าที่ถูกต้อง(ได้จากการทดลองจริง)มากขึ้น  จนถึงจุดๆหนึ่งที่ถึงแม้ว่าจะเพิ่มความละเอียด Mesh แต่ก็ไม่ทำให้ผลลัพธ์ที่คำนวณได้แตกต่างจากเดิม  เราก็จะได้ความละเอียด Mesh ที่เหมาะสม  และผลลัพธ์ที่ได้ก็มีความน่าเชื่อถือ  เราเรียกค่าผลลัพธ์ที่มีแนวโน้มว่าค่าจะเริ่มนิ่งว่า ผลลัพธ์มีการลู่เข้า(convergent)

สรุปคือผลลัพธ์จะมีความถูกต้องมาน้อยเพียงใดขึ้นอยู่กับ
1. กำหนดค่าการวิเคราะห์ต่างๆได้ถูกต้องเพียงใด ได้แก้ โมเดล  คุณสมบัติวัสดุ  แรงกระทำ  จุดจับยึด
2. เลือกฟังชั่นการวิเคราะห์ให้เหมาะสมกับผลลัพธ์ที่เราต้องการ
3. Mesh มีความเหมาะสมเพียงใด



วันเสาร์ที่ 11 ตุลาคม พ.ศ. 2557

Mesh นั้นสำคัญไฉน...

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

Mesh 1 ชิ้นจะเรียกว่า Element และในแต่ละ Element จะมีจุด Node ซึ่งเป็นจุดตรงมุม Element ซึ่ง จุด Node คือจุดที่โปรแกรมจะใช้คำนวณหาผลลัพธ์  ดังนั้นหากจุด Node มีจำนวนมาก  โปรแกรมก็ต้องใช้เวลาในการคำนวณมากขึ้นด้วย


ในโปรแกรม SolidWorks จะมี Mesh อยู่  3 ชนิด  และแต่ละชนิดจะแบ่งตามคุณภาพได้ 2 คุณภาพ  ดังต่อไปนี้

1.  Solid Mesh  คือ Mesh รูปทรง 3 มิติ  ในโปรแกรม SolidWorks จะเป็นรูปพีรามิดฐานสามเหลี่ยม  เหมาะสำหรับใช้วิเคราะห์ชื้นงานที่เป็นก้อนๆ
     สำหรับโมเดลที่ขึ้นรูปด้วยคำสั่งในแถบ Feature เช่น Extrude, Revolve, Swept ฯลฯ  เมื่อเข้าใช้งานในฟังชั่น Simulation  โปรแกรมจะวิเคราะห์ด้วย Solid Mesh โดยอัตโนมัติ
    ใน Solid Mesh จะแบ่งคุณภาพของ Mesh ได้ 2 คุณภาพคือ
     - High quality  ปกติจะเป็นค่าเริ่มต้นของโปรแกรมอยู่แล้ว  ลักษณะคือจะมีจุด Node อยู่ตรงกลาง ระหว่างความยาวของก้อน Mesh ทำให้ก้อน Mesh สามารถโค้งงอได้เพื่อให้การจำลองชิ้นงานเหมือนจริงมากขึ้นทำให้ผลการวิเคราะห์ถูกต้องมากขึ้น  แต่ก็ต้องใช้เวลาในการคำนวณมากขึ้นด้วย
     - Draft Quality  จะมีจุด Node แค่ที่ปลายของพีรามิด  จึงมีจุด Node จำนวนน้อยกว่า High quality ทำให้วิเคราะห์ได้เร็วกว่า  แต่ผลการวิเคราะห์ก็อาจจะมีความคลาดเคลื่อนมากกว่าเพราะการจำลองรูปร่างของชิ้นงานมีความคลาดเคลื่อนเยอะ

2. Shell Mesh  คือ Mesh รูปทรง 2 มิติ  ในโปรแกรม SolidWorks จะเป็นรูปสามเหลี่ยม  เหมาะสำหรับวิเคราะห์งานที่เป็นแผ่นบางๆ  เนื่องจากการวิเคราะห์งานที่เป็นแผ่นบางๆด้วย Solid Mesh ทำได้ยากเพราะต้องสร้าง Mesh จำนวนมากเพื่อให้สามารถจำลองตรงส่วนความหนาได้ เช่น แผ่นเหล็กยาว 10 m แต่ความหนาแค่ 1 mm  ถ้าวิเคราะห์ด้วย Solid Mesh ก็ต้องสร้าง Mesh ให้มีขนาดประมาณ 1 mm ด้วยจึงจะจำลองชิ้นงานได้  แต่จำนวน Mesh ก็จะมากเกินไป  เพราะแผ่นเหล็กมีขนาดยาวถึง 10 m  ซึ่งอาจทำให้ Ram ของคอมพิวเตอร์ไม่เพียงพอต่อการวิเคราะห์  และโปรแกรมอาจจะปิดดัวเองได้  
     สำหรับโมเดลที่ขึ้นรูปด้วยคำสั่งใน Sheet metal และ Surface เมื่อเข้าใช้งานในฟังชั่น Simulation  โปรแกรมจะวิเคราะห์ด้วย Shell Mesh โดยอัตโนมัติ
     ใน Solid Mesh จะแบ่งคุณภาพของ Mesh ได้ 2 คุณภาพคือ High quality และ Draft Quality เหมือน Solid Mesh

 3. Beam Mesh  คือ Mesh รูปทรง 1 มิติ  เหมาะสำหรับวิเคราะห์งานที่มีหน้าตัดเท่ากันตลอดความยาว เช่น เหล็ก Profile เป็นต้น  ส่วนสาเหตุที่ต้องใช้งานวิเคราะห์ด้วย Beam Mesh ก็เหมือนกับ Shell Mesh เพราะเหล็ก Profile มีความหนาน้อยกว่าความยาวมาก  ดังนั้นการวิเคราะห์ด้วย Solid Mesh จึงทำได้ยาก
     สำหรับโมเดลที่ขึ้นรูปด้วยคำสั่ง Weldment เมื่อเข้าใช้งานในฟังชั่น Simulation  โปรแกรมจะวิเคราะห์ด้วย Beam Mesh โดยอัตโนมัติ



วันพุธที่ 8 ตุลาคม พ.ศ. 2557

FEA (Finite Element Analysis) คืออะไร

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

หลักการของ FEA คือการแบ่งชิ้นงานขนาดใหญ่ออกเป็นชิ้นงานขนาดเล็กๆ ที่มีรูปทรงเป็นเรขาคณิต(พวกสามเหลี่ยม  สี่เหลี่ยม  วงกลม เป็นต้น)  เนื่องจากเครื่องมือหรือสูตรคำนวณที่เรามีอยู่สามารถคำนวณได้แต่รูปทรงเรขาคณิต  ผมขอยกตัวอย่างเป็นภาพด้านล่าง


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

แต่จากรูปข้างบนจะเห็นว่าสี่เหลี่ยมสีแดงคือสี่เหลี่ยมที่เต็มรูป  ส่วนสีเหลืองคือสี่เหลี่ยมที่ไม่สมบูรณ์  ดังนั้นถ้าเราคำนวณพื้นที่สีเหลี่ยมแล้วเอามารวมกันทั้งหมด  ผลลัพธ์ที่ได้อาจจะมีความคลาดเคลื่อนจากของจริงไปบ้าง  วิธีแก้ปัญหานี้ทำให้ขนาดของสี่เหลี่ยมแต่ละก้อนเล็กลงดังรูปข้างล่าง


พื้นที่สีเหลืองหรือเรียกอีกอย่างว่าเป็นส่วนที่ทำให้การคำนวณคลาดเคลื่อนจะมีน้อยลง  แต่ก็ทำให้ต้องคำนวณมากขึ้นเพราะมีจำนวนสี่เหลี่ยมที่ต้องคิดมากขึ้น

สรุปคือวิธีการ FEA คือการเปลี่ยนชิ้นงานรูปร่างใดๆ ให้กลายเป็นรูปทรงเรขาคณิต  เพื่อให้เราสามารถใช้สูตรคำนวณที่มีอยู่ได้  ในการทำ Simulation เราเรียกการแบ่งชิ้นงานเป็นชิ้นเล็กๆว่าการแบ่ง Mesh

ขั้นตอนในการวิเคราะ์ FEA จะเป็นไปตามภาพข้างล่าง


1. CAD Geometry  คือการเขียนหรือนำไฟล์ CAD ที่ต้องการวิเคราะห์เข้ามา
2. Simplified Geometry  คือการทำชิ้นงานให้ง่ายต่อการวิเคราะห์ เช่น ลบ Fillet ออก, ปิดรูเจาะที่ไม่จำเป็นต่อการวิเคราะห์, เอาลวยลายบนโมเดลหรืออักษรนูนออก  เป็นต้น  เพื่อให้โปรแกรมสามารถแบ่ง Mesh ได้ง่ายขึ้น
3. Mathematical Model  คือการกำหนดค่าต่างๆ เช่น ค่าวัสดุ  จุดยึดชิ้นงาน  แรงกระทำ  เป็นต้น
4. Create Mesh  คือการแบ่ง Mesh ทำสำหรับกทำการวิเคราะห์
5. Analysis  คือการวิเคราะห์ผลลัพธ์ออกมา  โดยผลลัพธ์ที่ได้จะแสดงในลักษณะของเฉดสีเพื่อบอกว่าตำแหน่งให้มีค่ามากหรือน้อย  และจะมีแถบสีกำกับเพื่อบอกว่าสีใดแสดงถึงค่าเท่าไร  ซึ่งค่าที่โปรแกรมคำนวณได้ก็มีหลายหลาย เช่น Stress, Strain, Displacement เป็นต้น