ระบบควบคุมรถไฟจำลองแบบไฮบริด: ผสานระบบ DCC และอนาล็อก
โครงการนี้ได้ต่อยอดและพัฒนาจากผลงานอันมีค่าของ Gregg E. Berman และ Steve Massikker โดยมีเป้าหมายหลักเพื่อแก้ไขปัญหาคลาสสิกสำหรับผู้ชื่นชอบรถไฟจำลอง นั่นคือการทำให้รถไฟรุ่นเก่าแบบ อนาล็อก ซึ่งไม่มีวงจร DCC (Digital Command Control) สามารถวิ่งร่วมกับระบบควบคุมสมัยใหม่ได้อย่างราบรื่น
การพัฒนานี้เริ่มต้นขึ้นระหว่างปี 2021 ถึง 2022 โดย EMA (mbmngt@gmail.com) เพื่อขยายขีดความสามารถของระบบเดิมให้รองรับฟังก์ชันการทำงานที่ซับซ้อนมากขึ้น โดยเฉพาะการควบคุมรถไฟบนรางที่แบ่งเป็นส่วนๆ (บล็อกหรือแคนตัน) และการตรวจจับตำแหน่งรถไฟอัตโนมัติ
สถาปัตยกรรมระบบ
เพื่อรองรับการติดตั้งเครือข่ายรางรถไฟขนาดใหญ่ ซึ่งประกอบด้วยวงจรหลัก 3 วงจรและวงจรรอง 2 วงจร ระบบนี้จึงถูกออกแบบด้วยสถาปัตยกรรมการควบคุมแบบกระจาย (Distributed Control) โดยแบ่งการทำงานออกเป็น 3 ส่วนหลัก:
- ส่วนประมวลผล (บน PC): ทำหน้าที่เป็นส่วนติดต่อผู้ใช้ (GUI) และสมองกลางสำหรับการคำนวณเชิงตรรกะ
- Arduino Mega (ตัวควบคุมหลัก): ทำหน้าที่เป็นตัวกลางสื่อสารและจัดการตรรกะการจราจร
- Arduino Nano (ตัวควบคุมส่วนปลาย): ควบคุมแรงดันไฟฟ้าและตรวจจับกระแสในแต่ละส่วนของรางโดยตรง
ดูไฟล์ Railway Controller Elect Synoptic
การผสานฮาร์ดแวร์
กุญแจสำคัญในการควบคุมรถไฟอนาล็อกที่แม่นยำของระบบนี้คือการเลือกใช้อุปกรณ์อิเล็กทรอนิกส์ที่เหมาะสม:
- เซนเซอร์วัดกระแส ACS712: เราใช้เซนเซอร์วัดกระแสแบบฮอลล์เอฟเฟกต์เพื่อตรวจจับการมีอยู่ของรถไฟในแต่ละ "แคนตัน" (ส่วนของราง) เมื่อหัวรถจักรเคลื่อนที่เข้าสู่ส่วนรางที่กำหนดไว้ มอเตอร์ของมันจะดึงกระแสไฟฟ้า ทำให้ ACS712 ส่งสัญญาณแรงดันไฟฟ้าอนาล็อกกลับไปยัง Arduino Nano ข้อมูลนี้จะถูกประมวลผลเพื่อยืนยันตำแหน่งของรถไฟบนซอฟต์แวร์ Processing แบบเรียลไทม์ โดยไม่จำเป็นต้องติดตั้งเซนเซอร์แสงหรือแม่เหล็กเพิ่มเติมบนตัวรถไฟเอง
- ไดรเวอร์แบบ H-Bridge คู่ L298N: สำหรับรถไฟอนาล็อก การควบคุมความเร็วทำได้โดยการปรับแรงดันไฟฟ้า (PWM - Pulse Width Modulation) โมดูล L298N ช่วยให้เราสามารถควบคุมทั้งความเร็วและทิศทางของรถไฟในแต่ละบล็อกได้อย่างอิสระ ผ่านสัญญาณจาก Arduino Nano
การจัดการซอฟต์แวร์และตรรกะการควบคุม
ระบบซอฟต์แวร์ได้รับการออกแบบให้ทำงานประสานกันผ่านโปรโตคอลการสื่อสารต่างๆ:
1. ส่วน Processing (อินเทอร์เฟซและระบบขับอัตโนมัติ)
ซอฟต์แวร์บน PC ไม่เพียงแต่แสดงตำแหน่งภาพของรถไฟบนหน้าจอเท่านั้น แต่ยังรวมตรรกะ ระบบขับอัตโนมัติ (Autopilot) ที่อัปเดตแล้ว ซึ่งจะตรวจสอบสถานะจากเซนเซอร์กระแสอย่างต่อเนื่องและสั่งการให้รถไฟหยุดหรือเคลื่อนที่โดยอัตโนมัติเพื่อป้องกันการชนกัน นอกจากนี้ยังได้เพิ่มหน้าต่างควบคุมสำหรับอุปกรณ์เสริมต่างๆ เช่น สัญญาณไฟจราจรทางรถไฟและรางแยก
2. ส่วน Arduino Mega (สะพานเชื่อม)
Arduino Mega ทำหน้าที่เป็น "เกตเวย์" โดยสื่อสารกับ Processing ผ่าน การสื่อสารแบบอนุกรม (Serial Communication - USB) และกระจายคำสั่งไปยัง Arduino Nano ทั้ง 5 ตัวผ่าน บัส I2C ตรรกะในส่วนนี้มีความสำคัญอย่างยิ่งสำหรับการจัดการคิวข้อมูล เพื่อให้แน่ใจว่าคำสั่งควบคุมความเร็วจากผู้ใช้จะไปถึงรถไฟที่ถูกต้องในเวลาที่เสถียรที่สุด
3. ส่วน Arduino Nano (ควบคุมแบบท้องถิ่น)
Arduino Nano แต่ละตัวมีหน้าที่รับผิดชอบบล็อกรางรถไฟเฉพาะส่วน โดยรับคำสั่งแอดเดรส (Address) เฉพาะผ่านโปรโตคอล I2C และแปลงเป็นสัญญาณ PWM เพื่อขับเคลื่อนไดรเวอร์ L298N การแยกหน้าที่นี้ช่วยลดภาระการประมวลผลบนเมนบอร์ดและทำให้ระบบสามารถขยายขนาดได้ง่าย
รายละเอียดการพัฒนาและฟีเจอร์ใหม่
ในโปรเจกต์นี้ ได้มีการปรับปรุงหลายจุดจากระบบต้นแบบดั้งเดิม:
- ControllerConfig ที่ปรับแต่งได้: ผู้ใช้สามารถกำหนดโครงสร้างเครือข่ายรางรถไฟ (Network Topology) ด้วยตนเองผ่านชีตการกำหนดค่าใน Processing ทำให้ระบบมีความยืดหยุ่นสูง
- การปฏิบัติตามมาตรฐาน DCC: แม้จะมุ่งเน้นที่รถไฟอนาล็อก แต่ความสามารถในการส่งสัญญาณตามมาตรฐาน NMRA DCC ยังคงอยู่ครบถ้วน ดังนั้นคุณจึงสามารถควบคุมรถไฟทั้งสองระบบพร้อมกันบนรางเดียวกันได้
- ส่วนติดต่อผู้ใช้: ปุ่มลัด (Keyboard Shortcuts) ถูกปรับปรุงเพื่อการควบคุมที่รวดเร็วยิ่งขึ้น และฟังก์ชัน "อ่านกระแสบนรางปฏิบัติการ (Read Operation Track Current)" ถูกปิดใช้งานบนหน้าหลักเพื่อเพิ่มความตอบสนอง (Latency) ของระบบควบคุม
แผนการพัฒนาต่อไป (โรดแมป)
เรากำลังอยู่ในกระบวนการพัฒนาส่วนขยายเพิ่มเติม ดังต่อไปนี้:
- ระบบควบคุมรางแยก (Turnout Control System): ควบคุมมอเตอร์รางแยกโดยตรงผ่านหน้าจอ Processing ผ่านบอร์ด Mega
- ระบบสัญญาณไฟจราจรรางรถไฟ: ตรรกะการเปลี่ยนไฟแดง-เขียวอัตโนมัติที่สัมพันธ์กับตำแหน่งของรถไฟในแต่ละ Canton
- ส่วนควบคุมอุปกรณ์ประกอบ: เช่น ไฟส่องสว่างสถานีหรือเอฟเฟกต์เสียงบรรยากาศ ควบคุมผ่าน Nano
หากคุณกำลังมองหาวิธีที่จะทำให้รถไฟรุ่นเก่ากลับมามีชีวิตอีกครั้งในยุคดิจิทัล ระบบ Hybrid Controller นี้คือคำตอบที่สมบูรณ์แบบ ซึ่งผสมผสานเทคโนโลยีคลาสสิกและสมัยใหม่เข้าด้วยกันอย่างลงตัว