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

โครงงานแสดงลำดับขั้นตอนการทำงาน (งานที่ 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 ลายวงจรบอร์ดที่ใช้แสดงสถานะและควบคุม

ความคิดเห็น

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

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

โครงงานเครื่องวัดส่วนสูงแบบดิจิตอล ( งานที่ 4)

โปรแกรมไฟกระพริบ LED 2 ดวง (งานที่2)