อุณหพลศาสตร์ยานยนต์: ECU ควบคุม Air/Fuel ของ LPG
Arduino แค่เปิด LED นั้นน่าเบื่อ Arduino ที่ควบคุมเครื่องยนต์แก๊สแรงดันสูงที่ระเบิดได้จริง ๆ ในขณะที่มันคำรามที่ 4000 RPM นั้นน่าทึ่งมาก ตัวควบคุม Air/Fuel สำหรับเครื่องยนต์ LPG นี้มาแทนที่ Automotive Electronic Control Unit (ECU) เชิงพาณิชย์มูลค่า 800 ดอลลาร์ทั้งชุด มันบังคับให้นักพัฒนาต้องวิเคราะห์การกวาดแรงดันไฟฟ้าขนาดเล็กของ Lambda sensor ไอเสียจริง และสั่งงาน Stepper Motor ความเร็วสูงที่ควบคุมยาก เพื่อปรับส่วนผสมของแก๊สที่ระเบิดได้ให้สมบูรณ์แบบ 50 ครั้งต่อวินาที!

O2 Sensor แบบ Narrowband (ฟิสิกส์ของ Lambda Zirconia)
Oxygen Sensor มาตรฐานของ Bosch แบบ 1-Wire หรือ 4-Wire ที่ยื่นออกมาจากท่อไอเสียรถยนต์ไม่ได้ให้ค่า "Rich" หรือ "Lean"
- ชิ้นส่วนเซรามิก Zirconia ภายใน sensor สร้างแรงดันไฟฟ้า Analog ดิบที่ไม่เป็นเชิงเส้นและคาดเดายาก!
0.1 Volts = Lean อย่างยิ่ง (อากาศมากเกินไป เครื่องยนต์จะร้อนจัดและพัง)0.9 Volts = Rich อย่างยิ่ง (แก๊สมากเกินไป เชื้อเพลิงจะกระเด็นออกทางท่อไอเสีย)0.45 Volts = Stoichiometric Perfection (อัตราส่วน 14.7:1)- Arduino Analog Pin
A0จะอ่านค่าแรงดันไฟฟ้านี้อย่างรวดเร็ว ในขณะที่แก๊สไอเสียอุณหภูมิ 1000°C กระแทก sensor
วงจร Actuator ของ NEMA Stepper
Arduino ไม่สามารถเติมแก๊สด้วยมือเปล่าได้ มันจะสั่งงานด้วยหลักการทางคณิตศาสตร์ไปยัง NEMA 17 Stepper Motor ที่ติดตั้งอยู่กับเข็มควบคุมเชื้อเพลิง LPG ทองเหลืองขนาดใหญ่โดยตรง
- เมื่อใช้ไลบรารี
<Stepper.h>บอร์ด Uno จะควบคุมการไหลของแก๊สที่ระเบิดได้สูง - ข้อผิดพลาดในการทำงาน (The Execution Trap): Oxygen Sensor จะ "ดีเลย์" ไป 250 มิลลิวินาที เมื่อเทียบกับการรับไอดีของเครื่องยนต์ หาก Arduino ปรับ Stepper อย่างรุนแรง มันจะปรับแก้เกินและเข้าสู่วงจรการสั่นที่น่ากลัว ทำให้เครื่องยนต์ดับทันที
if (o2Voltage > 0.6) { // ส่วนผสม Rich เกินไป, ปิดวาล์ว!
lpgStepper.step(-1); // หมุนเข็มทองเหลืองถอยหลังไป 1.8 องศาพอดี!
delay(10); // รอให้ส่วนผสมใหม่เดินทางเข้าสู่ไอดีและเผาไหม้!
} else if (o2Voltage < 0.3) { // Lean เกินไป! เพิ่มแก๊ส!
lpgStepper.step(1); // เปิดเข็ม!
delay(10);
}
- 16x2 LCD ขนาดใหญ่ที่ติดตั้งบนแผงหน้าปัดรถยนต์จะแสดงค่า
O2: 0.45v | VALVESTEP: 64ทันที ซึ่งจำลองอินเทอร์เฟซการจูน Dyno ระดับมืออาชีพได้อย่างสมบูรณ์!
ส่วนประกอบพื้นฐานสำหรับห้องเผาไหม้
- Arduino Uno/Mega (เพื่อควบคุม 16x2 LCD display ที่รวดเร็วและ Analog Logic พร้อมกันได้อย่างน่าเชื่อถือ)
- A4988 or DRV8825 High-Speed Stepper Driver Board (สำหรับขับเคลื่อน Stepper Motor ขนาดใหญ่ 12V จากเอาต์พุต 5V ของ Uno!)
- Bosch หรือ Generic Narrowband Exhaust O2 Sensor (รุ่น 1-wire นั้นง่ายที่สุด แต่ต้องติดตั้งในท่อร่วมไอเสียที่ร้อนจัดเพื่อให้ทำงานได้!)
- NEMA 17 Stepper Motor (เชื่อมต่อทางกลเข้ากับสกรูปรับแก๊ส)
- (อันตราย: ลอจิกนี้ควบคุมเครื่องยนต์ Liquid Petroleum Gas (LPG) ที่ถูกอัดและระเบิดได้สูงโดยตรง ห้ามนำไปใช้งานบนถนนสาธารณะโดยไม่ผ่านการทดสอบความปลอดภัยอย่างเข้มงวดเพื่อป้องกันการค้างของคันเร่ง!)