กลับไปหน้ารวมไฟล์
automatic-train-control-system.md

การควบคุมการเดินรถที่แม่นยำ: Automatic Train Control

ต่อเนื่องจากโปรเจกต์ Interlocking ระบบ Automatic Train Control (ATC) มุ่งเน้นไปที่ตัวรถไฟเอง มากกว่าแค่การหลีกเลี่ยงการชนกัน โปรเจกต์นี้ทำหน้าที่เหมือน "Conductor" (พนักงานควบคุมรถไฟ) โดยทำให้ ramp การเร่งความเร็วและการลดความเร็วเป็นแบบอัตโนมัติ เพื่อการหยุดที่สถานีอย่างสมจริงบนผังรถไฟจำลองขนาด HO หรือ N-scale

invisible_mess_glasses_relay_schema_1772681179521.png

Pulse Width DDC (Digital Command Control)

รถไฟจำลองรับพลังงานโดยตรงจากรางโลหะ

  1. วงจร: Arduino ใช้ Motor Shield ที่รองรับกระแสสูง (L298P หรือใกล้เคียง) เชื่อมต่อโดยตรงกับรางรถไฟเพื่อส่งสัญญาณ 12V PWM
  2. อัลกอริทึมการเร่ง/ลดความเร็ว: หัวรถจักรขนาด 100 ตันของจริงไม่สามารถหยุดได้ทันที โค้ด Arduino ใช้ for loop เพื่อค่อยๆ เพิ่มและลดสัญญาณ PWM: for(speed=255; speed>50; speed--) { analogWrite(trackPin, speed); delay(20); } สิ่งนี้ทำให้เกิดโมเมนตัมที่ราบรื่นและสมจริงอย่างน่าทึ่ง

หลักการหยุดที่สถานี

เพื่อให้การจัดตารางเวลาเป็นไปโดยอัตโนมัติ Arduino จะต้องรู้ตำแหน่งที่แน่นอนของรถไฟ

  • คุณวาง IR Sensor (TCRT5000) หรือ Reed Switch ไว้ใต้รางที่จุดเริ่มต้นของชานชาลา
  • เมื่อรถไฟเคลื่อนผ่านเซ็นเซอร์ Arduino จะประมวลผลลูปการลดความเร็ว
  • รถไฟจะหยุดได้อย่างราบรื่นสมบูรณ์แบบที่ชานชาลาเล็กๆ นั้น
  • Arduino จะใช้ delay(10000) เพื่อให้ผู้โดยสารในจินตนาการลงจากรถ จากนั้นจึงประมวลผลลูปการเร่งความเร็วอย่างช้าๆ เพื่อออกเดินทาง!

อุปกรณ์ที่ต้องใช้

  • Arduino Uno/Mega
  • Motor Control Shield: สามารถส่งกระแสต่อเนื่อง 1-2 Amps ที่ 12V ได้
  • IR Obstacle Sensors หรือ Reed Switches + แม่เหล็ก
  • ชุดรถไฟจำลองแบบ Analog ขนาด HO หรือ N scale

ข้อมูล Frontmatter ดั้งเดิม

title: "Automatic Train Control"
description: "Model railroading upgraded! Build an autonomous train dispatching system that manages speed, station stopping, and track switching reliably."
category: "Motors & Robotics"
difficulty: "Advanced"