ข้ามไปที่เนื้อหาหลัก

โครงงานแสดงลำดับขั้นตอนการทำงาน (งานที่ 12 )


โครงงานแสดงลำดับขั้นตอนการทำงาน

รูปที่ 1 ภาพรวมชุดแสดงขั้นตอนการทำงาน
Contents [show]

ที่มาและความสำคัญของโครงงาน แสดงลำดับขั้นตอนการทำงาน

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

คุณสมบัติการทำงานของโครงงาน

  • แสดงขั้นตอนการทำงานผ่านจอ LCD ได้
  • มีไฟแสดงสถานะลำดับขั้นตอนการทำงาน
  • สามารถกดปุ่มเพื่อกลับมาดูขั้นตอนที่ผ่านมาได้

การต่อวงจรสำหรับวงจรแสดงขั้นตอนการทำงาน

รูปที่ 2 วงจรสมบูรณ์
รูปที่ 2 วงจรสมบูรณ์
แบบวง Schematics ประกอบไปด้วยส่วนที่เป็น STM32F4 Discovery จอ LCD และ Control board and status show การทำงานของวงจร ใช้แหล่งจ่ายทั้งหมดจากบอร์ดไมโครคอนโทรลเลอร์ STM32F4 Discovery โดยที่บอร์ดไมโครคอนโทรลเลอร์รับกระแสไฟมาจากคอมพิวเตอร์ หรือ จากแหล่งจ่ายอื่นที่มีค่าแรงดัน 5V จ่ายไฟเข้าโดยตรงโดยผ่านสาย USB ส่วนจอแสดงผล LCD ใช้แสดงตัวอักษรขนาด 20 ตัวอักษร 4 บรรทัด ใช้แหล่งจ่ายไฟ 5V จากบอร์ดไมโครคอนโทรลเลอร์ ส่วนทางด้านบอร์ดควบคุม จะประกอบไปด้วย ปุ่มกดชนิด กดติดปล่อยดับ 2 ปุ่ม และหลอด LED แสดงสถานะจำนวน 5 หลอด การทำงานของจอ LCD ขาที่ใช้สั่งงานให้จอ LCD ทำงาน จะประกอบไปด้วย ขา PE7, PE8, PE9, PE12, PE13, PE14, PE15 ในส่วนของ Control board จะประกอบด้วยปุ่มกด 2 ปุ่ม โดยปุ่มกดทางด้านซ้ายจะเป็นปุ่มกดย้อนกลับเพื่อดูขั้นตอนที่ผ่านมา โดยใช้ขา PA1 รับสัญญาณอินพุต ปุ่มกดทางด้านขวาจะเป็นปุ่มกดเพื่อดูขั้นตอนถัดไป โดยใช้ขา PA3 รับสัญญาณอินพุต ในส่วนที่เป็นหลอด LED แสดงสถานะขั้นการทำงาน ใช้ขา PB11, PB12, PB13, PB14, PB15 เป็นขาสัญญาณเอาท์พุต ของ LED แสดงสถานะของขั้นตอนที่ 1-5 ตามลำดับ

หลักการออกแบบวงจรที่ใช้ควบคุมและแสดงสถานะ

ออกแบบปุ่มกดทั้งสองโดยการใช้การกดรับสัญญาณแบบ Pull-up เนื่องจากง่ายต่อการทำความเข้าใจเพราะสัญญาณที่ได้นั้นจะมีค่าเป็น 1 คือมีแรงดัน 3.3V และเมื่อไม่มีการกด สถานะจะเป็น 0 คือ ไม่มีแรงดัน ง่ายต่อการเขียนรับสัญญาณ Input เข้ามาประมวลผลในบอร์ดไมโครคอนโทลเลอร์ และในส่วนการแสดงสถานะ เลือกใช้หลอด LED สีแดง ชนิด Super bright เพราะสังเกตได้ง่ายให้ความสว่างมาก การต่อใช้งานต่อแบบ Pull-up เช่นกัน โดยที่หลอด LED จะสว่างได้ก็ต่อเมื่อมีสัญญาณ Output ที่ส่งออกมาจากไมโครคอนโทรลเลอร์ มีค่าเป็น 1 คือ มีไฟ 3.3V บอร์ดควบคุมและแสดงสถานะใช้แหล่งจ่ายไฟได้โดยตรงจากบอร์ดไมโครคอนโทรลเลอร์ โดยไม่ต้องใช้แหล่งจ่ายภายนอก จากรูปที่ 1 บอร์ดเสียบขาไมโครคอนโทรลเลอร์ บอร์ดที่ใช้ควบคุมและแสดงสถานะ ใช้เป็นบอร์ดไข่ปลาในการต่อวงจร เนื่องจากวงจรที่ใช้ไม่มีความซับซ้อนมาก ง่ายต่อการทำความเข้าใจตรวจสอบได้ง่ายหากเกิดข้อผิดพลาด และประหยัดค่าใช้จ่าย

ส่วนประกอบ

  1. บอร์ดไมโครคอนโทรลเลอร์ STM32F4 Discovery
  2. จอ LCD
  3. บอร์ดไข่ปลาพร้อมปุ่มกด หลอด LED แสดงผล

โปรแกรม Simulink ที่สมบูรณ์ของโครงงาน เรื่องแสดงขั้นตอนการทำงาน

รูปที่ 3 บล็อกโปรแกรม Simulink ของโครงงานเรื่องแสดงขั้นตอนการทำงาน
รูปที่ 3 บล็อกโปรแกรม Simulink ของโครงงานเรื่องแสดงขั้นตอนการทำงาน

อธิบายบล็อกการทำงานของโปรแกรม Simulink

  1. บล็อก Target Setup เป็นบล็อกการตั้งค่าการทำงานต่างๆของไมโครคอนโทรลเลอร์ STM32F4 Discovery เพื่อเริ่มต้นการใช้งานเปรียบเสมือนการตั้งค่าเริ่มต้นเพื่อให้โปรแกรม Simulink รู้จักกับบอร์ดไมโครคอนโทรลเลอร์ STM32F4 Discovery พร้อมที่จะทำงาน
  2. บล็อก Setup LCD เป็นบล็อกย่อยซึ่งภายในบล็อกนี้จะประกอบไปด้วย บล็อกการตั้งค่าเริ่มต้นการใช้งานเพื่อแสดงผลผ่านทางจอ LCD และบล็อกเก็บค่าตัวแปรของแต่ละบรรทัดเพื่อแสดงผลของจอ LCD แต่ละบรรทัด
  3. บล็อก Setup LCD1 เป็นบล็อกย่อยซึ่งภายในจะประกอบไปด้วย บล็อกการรับค่าของแต่ละบรรทัดเพื่อส่งไปแสดงผลบนจอ LCD
  4. บล็อก Volatile Data Storage เป็นบล็อกที่เก็บข้อมูลเพื่อใช้ในการนับเพื่อแสดงขั้นตอนการทำงานว่าอยู่ในขั้นตอนการทำงานที่เท่าใด และนับเพื่อแสดงลำดับขั้นตอนแสดงผลที่หลอด LED
  5. บล็อก Push Button Up-Down เป็นบล็อกตั้งค่าการทำงาน Digital Input ที่ปุ่มกด โดยกำหนดเป็นขา PA1 เป็นการตั้งค่าปุ่มกดให้แสดงย้อนกลับขั้นตอนก่อนหน้านี้ และ PA3 เป็นการตั้งค่าปุ่มกดเพื่อแสดงถัดไป โดยที่ถ้าหากยังไม่เข้าใจขั้นตอนการทำงานก็สามารถกดย้อนกลับมาดูขั้นตอนตอนที่ผ่านมาได้
  6. บล็อก MATHLAB Function2 เป็นบล็อกกำหนดลำดับขั้นตอนการทำงาน โดยที่ภายในบล็อกนี้ จะเขียนข้อมูลเป็น m-file ด้วยภาษา C โดยที่ภายในจะเขียนโปรแกรมเพื่อให้เกิดการนับขึ้น – นับลง เมื่อทำการกดปุ่มใน ข้อที่ 5 เมื่อกดปุ่มแสดงขั้นตอนถัดไป โปรแกรมจะนับขึ้นทีละ 1 เป็นการแสดงสถานะขั้นตอนที่ 1-5 ตามลำดับ โดยมีหลอด LED แสดงสถานะขั้นตอนนั้นๆ และเมื่อกดปุ่มย้อนกลับขั้นตอนก่อนหน้านี้ โปรแกรมจะนับลงทีละ 1 เป็นการแสดงขั้นตอนในก่อนหน้านี้ หลักการทำงานดังที่แสดงในโค๊ดโปรแกรมImage 002
  7. บล็อก Volatile Data Storage Write1 เป็นบล็อกที่ใช้ในการเขียนค่าเพื่อนำไปเก็บไว้ใน Volatile Data Storage ในข้อที่ 4 เพื่อใช้ในการประมวลผลของโปรแกรมต่อไป
  8. บล็อก MATHLAB Function เป็นบล็อกกำหนดลำดับในการเลือกขั้นตอนและการแสดงสถานะที่หลอด LED แสดงลำดับขั้นตอน ที่ 1 – 5 เมื่อปุ่มกดปุ่มใดถูกกด– Input มีค่าเท่ากับ 1 จอ LCD จะแสดงขั้นตอนที่ 1 และหลอด LED1 จะสว่าง– Input มีค่าเท่ากับ 2 จอ LCD จะแสดงขั้นตอนที่ 2 และหลอด LED2 จะสว่าง
    – Input มีค่าเท่ากับ 3 จอ LCD จะแสดงขั้นตอนที่ 3 และหลอด LED3 จะสว่าง
    – Input มีค่าเท่ากับ 4 จอ LCD จะแสดงขั้นตอนที่ 4 และหลอด LED4 จะสว่าง
    – Input มีค่าเท่ากับ 5 จอ LCD จะแสดงขั้นตอนที่ 5 และหลอด LED5 จะสว่าง
    คำสั่งการทำงานของบล็อก MATHLAB Function
    คำสั่งการทำงานของบล็อก MATHLAB Function

    การทำงานจริง

    รูปที่ 4 แสดงค่าเริ่มต้น
    รูปที่ 4 แสดงค่าเริ่มต้น
    รูปที่ 5 แสดงการทำงานขั้นตอนที่ 1 หลอด LED1 ติดแสดงว่าอยู่ในขั้นตอนที่ 1
    รูปที่ 5 แสดงการทำงานขั้นตอนที่ 1 หลอด LED1 ติดแสดงว่าอยู่ในขั้นตอนที่ 1
    รูปที่ 6 แสดงการทำงานขั้นตอนที่ 2 หลอด LED2 ติดแสดงว่าอยู่ในขั้นตอนที่ 2
    รูปที่ 6 แสดงการทำงานขั้นตอนที่ 2 หลอด LED2 ติดแสดงว่าอยู่ในขั้นตอนที่ 2
    รูปที่ 7 แสดงการทำงานขั้นตอนที่ 3 หลอด LED3 ติดแสดงว่าอยู่ในขั้นตอนที่ 3
    รูปที่ 7 แสดงการทำงานขั้นตอนที่ 3 หลอด LED3 ติดแสดงว่าอยู่ในขั้นตอนที่ 3
    รูปที่ 8 แสดงการทำงานขั้นตอนที่ 4 หลอด LED4 ติดแสดงว่าอยู่ในขั้นตอนที่ 4
    รูปที่ 8 แสดงการทำงานขั้นตอนที่ 4 หลอด LED4 ติดแสดงว่าอยู่ในขั้นตอนที่ 4
    รูปที่ 9 แสดงการทำงานขั้นตอนที่ 5 หลอด LED5 ติดแสดงว่าอยู่ในขั้นตอนที่ 5
    รูปที่ 9 แสดงการทำงานขั้นตอนที่ 5 หลอด LED5 ติดแสดงว่าอยู่ในขั้นตอนที่ 5

  9. บล็อก Digital Output เป็นบล็อกตั้งค่าเพื่อแสดงสถานะขั้นตอนที่หลอด LED โดยที่ PB11, PB12, PB13, PB14, PB15 แสดงสถานะขั้นตอนที่ 1-5 ตามลำดับ
  10. บล็อก Debounce บริเวณที่ล้อมรอบด้วยเส้นประสีส้ม บล็อกแต่ละตัวจะทำหน้าที่รับข้อมูลที่ได้มาเพื่อไปสั่งงานให้บล็อก Step ที่ล้อมรอบด้วยเส้นประสีแดงให้เกิดการทำงาน
  11. บล็อก Step บล็อกบริเวณที่ล้อมรอบด้วยเส้นประสีแดงเป็นบล็อกย่อยซึ่งภายในจะประกอบไปด้วย String Buffer Processing ซึ่ง String Buffer Processing แต่ละตัวภายในจะประกอบไปด้วยข้อความขั้นตอนที่จะแสดงบน LCD ในแต่ละบรรทัด โดยที่บล็อก Step1, Step2, Step3, Step4, Step5 เป็นขั้นตอนที่ 1-5 ตามลำดับ ตัวอย่าง เช่น บล็อก Step1– บรรทัดที่ 1 แสดงคำว่า ‘1. Remove nozzle ‘
    – บรรทัดที่ 2 แสดงคำว่า ‘from blanket’
    – บรรทัดที่ 3 แสดงคำว่า ‘ hold firmly.’
    – บรรทัดที่ 4 ไม่มีการแสดง เนื่องจากจบประโยคของ Step1 แล้ว เป็นต้น

PCB ที่สมบูรณ์ของโครงงานแสดงลำดับขันตอนการทำงาน

รูปที่ 10 ลายวงจรเสียบบอร์ด STM32F4 Discovery
รูปที่ 10 ลายวงจรเสียบบอร์ด STM32F4 Discovery

รูปที่ 11 ลายวงจรบอร์ดที่ใช้แสดงสถานะและควบคุม
รูปที่ 11 ลายวงจรบอร์ดที่ใช้แสดงสถานะและควบคุม

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

(บล็อกที่ 9). code รถบังคับจากแผ่นซีดี ควบคุมด้วยแอพแอนดรอยด์

โครงงานเครื่องรดน้ำต้นไม้อัตโนมัติ (งานที่ 6)

( บล็อกที่ 2 )โปรเจค หุ่นยนต์เดินตามเส้น 4 เซ็นเซอร์ Arduino + L298P