ผมเป็นคนชอบงานวิศวะและอิเล็กทรอนิกส์อยู่แล้ว ชอบเก็บชิ้นส่วนเก่าๆ มาประยุกต์ใช้ให้เกิดประโยชน์เสมอ เก็บพวกชิ้นส่วน Arduino ไว้เพียบ เลยคิดว่าถึงเวลาจัดการมันซะที เพื่อนผมมี APU เฮลิคอปเตอร์อยู่คู่หนึ่งในสวน (แบบว่ามีกันได้ยังไงก็ไม่รู้) แต่เขาไม่เคยได้ลองเล่นมันจริงๆ จังๆ ซักที
ได้เวลาเริ่มโปรเจคใหม่แล้ววว!
มีแค่เครื่องยนต์สองตัวเนี่ยแหละ ผมก็เริ่มศึกษาว่ามันทำงานและควบคุมยังไง หลังจากถอดประกอบเครื่องนึงดูแล้วก็โอเคเลย ตอนนี้ถึงเวลาขุด Arduino ทั้งหลายออกมาแล้ว
จะใช้โปรเซสเซอร์แรงๆ หรือควบคุมจาก PC ก็ได้นะ แต่ผมชอบความท้าทายไง สิ่งที่ตามมาคือผลงานจากโปรเจคที่ทำมาเกือบปี
โปรเจคนี้แบ่งออกเป็น 3 ส่วนหลัก:
1. ส่วนเครื่องยนต์
นี่ก็แค่เซอร์โวกับรีเลย์一堆 ใจความสำคัญคือการจับเวลาทุกอย่างให้แม่นยำสุดๆ ถ้าน้องมีเครื่องยนต์เจ็ทหรือ APU เก็บไว้ในโรงรถ นี่อาจเป็นโปรเจคของน้องก็ได้นะ
2. ส่วนการเชื่อมต่อ
ส่วนนี้อาจดูน่าเบื่อแต่จำเป็นสุดๆ พินเชื่อมต่อ, การจัดวาง, รีเลย์กระแสสูง, และตัวต้านทาน (Resistor) ขนาดยักษ์ที่ทำเอง แต่ทั้งหมดนี้ขึ้นอยู่กับประเภทเครื่องยนต์และวิธีที่เราออกแบบชุดควบคุม
3. ส่วน Arduino หรือตัวควบคุม
ส่วนนี้แหละที่น้องจะได้ปล่อยของสร้างสรรค์ได้เต็มที่ ปุ่มกด, รีเลย์, กล่องหรือเคส, และจอแสดงผล ส่วนนี้ใช้เวลานานสุดเลย ผมพบว่ามันง่ายกว่าถ้าสร้างกล่องอีกกล่องที่จำลองการทำงานของเครื่องยนต์ (ซึ่งก็มี Arduino อยู่ข้างในเหมือนกัน)
Extreme Engineering: Jet Engine ECU
Gas Turbine ECU Control System นี่อาจเรียกได้ว่าเป็นหนึ่งในการประยุกต์ใช้ไมโครคอนโทรลเลอร์ที่อันตรายและสำคัญที่สุด ไม่ว่าจะเป็นการจำลองกระบวนการหรือควบคุมเครื่องยนต์เจ็ท RC จริงๆ โปรเจคนี้ต้องการความแม่นยำสมบูรณ์แบบและการเขียนโปรแกรม State-Machine ที่ปลอดภัยไร้ที่ติ
ลำดับการสตาร์ท (State Machine)
เครื่องยนต์เจ็ทจะละลายตัวเองเป็นก้อนตะกรันได้ถ้าสตาร์ทผิดวิธี Arduino ต้องควบคุมลำดับที่แน่นอนผ่านรีเลย์และตัวควบคุมความเร็วแบบ PWM
- State 1 (Spool up): Arduino เปิดใช้งานมอเตอร์สตาร์ทไฟฟ้า และคอยตรวจสอบเซ็นเซอร์วัดรอบ (RPM) แบบ Hall-Effect ดิจิตอล รอจนกว่าเทอร์ไบน์จะขึ้นไปถึง 3,000 RPM
- State 2 (Ignition/Gas): ที่ 3K RPM, Arduino จะสั่งให้หัวเทียนจุดระเบิดและเปิดวาล์วแก๊สโพรเพน พร้อมทั้งตรวจสอบอุณหภูมิแก๊สไอเสีย (EGT) ด้วยเทอร์โมคัปเปิลแบบ K-Type ถ้าเห็นอุณหภูมิพุ่งสูงขึ้น (แสดงว่าจุดระเบิดแล้ว) ก็จะขยับไป State 3
- State 3 (Kerosene Ramp): Arduino จะค่อยๆ เพิ่มสัญญาณ PWM ไปยังปั๊มน้ำมันเชื้อเพลิงเหลว ในขณะที่ลดแก๊สโพรเพนลง
- State 4 (Run/Failsafe): เครื่องยนต์ทำงานแล้ว ถ้า RPM ตกฮวบหรือ EGT เกิน 700°C โค้ดจะสั่งปิดวาล์วเชื้อเพลิงทั้งหมดทันที (หยุดฉุกเฉิน)
อุปกรณ์สำคัญที่ใช้
- Arduino Mega: จำเป็นเพราะต้องใช้ Interrupt ความเร็วสูงหลายตัว
- MAX6675 / MAX31855 Amp + K-Type Thermocouple: เซ็นเซอร์เดียวที่วัดอุณหภูมิแก๊สไอเสียได้สูงถึง 1000°C
- Hall Effect Sensor / Optical Tachometer: สำหรับอ่านค่าความเร็วรอบสูงสุด (สูงถึง 120,000 RPM)
- MOSFETs และ Relays: เพื่อควบคุมกระแสไฟมหาศาลของมอเตอร์สตาร์ทและวาล์วต่างๆ
คำเตือน: โปรเจคนี้ต้องมีมาตรการความปลอดภัยขั้นสูงสุด บั๊กในซอฟต์แวร์อาจทำให้เกิดความเสียหายร้ายแรงและไฟไหม้ได้
ห้ามช็อตนะตัวนี้! สู้งานนะน้อง