การพัฒนาส่วนเก็บข้อมูลจากเครื่องชั่งน้ำหนักด้วยไมโครคอนโทรลเลอร์
A DEVELOPMENT OF SCALE STORAGE WITH MICROCONTROLLER
ธันยพจน์ บุราคร , พรพการย์ ขันเสนาะ
วิศวกรรมระบบดิจิตอล ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตร
มหาวิทยาลัยสยาม 235 มหาวิทยาลัยสยาม บางหวา
ภาษีเจริญ กรุงเทพฯ 10163 โทรศัพท 66-2-457-0068 ตอ 210, แฟกซ 66-2-457-3982
E-mail: [email protected], [email protected]
บทคัดย่อ
ในปัจจุบันโรงงานอุตสาหกรรมขนาดกลางส่วนใหญ่ที่ทำธุรกิจเกี่ยวกับการคัดแยกวัตถุดิบได้มีการใช้พนักงานเก็บข้อมูลเพื่อบันทึกข้อมูลของพนักงานลงสมุดทำให้มีความผิดพลาดสูงและไม่มีความปลอดภัยในการเก็บข้อมูล โครงงานนี้จึงได้พัฒนาไมโครคอนโทรลเลอร์ในการติดต่อกับเครื่องชั่งดิจิตอลและเครื่องอ่านบาร์โค๊ด โดยมีความสามารถในการเชื่อมต่อกับอุปกรณ์ได้ถึง127ตัว แล้วทำการนำข้อมูลที่ได้มาเรียงต่อเป็นชุดข้อมูล ส่งต่อไปยังคอมพิวเตอร์และให้โปรแกรมนำข้อมูลที่ได้มาเก็บไว้ในฐานข้อมูลเพื่อใช้ในการคำนวณหาค่าจ้างพนักงานและทำประเมินสถิติของพนักงานแต่ละคนโครงงานชิ้นนี้เข้ามาจัดการกับระบบที่ใช้อยู่ในปัจจุบันให้ราคาต่ำและถูกต้องมากยิ่งขึ้น เพื่อลดต้นทุนในการจ้างพนักงาน
1.บทนำ
เนื่องจากในปัจจุบันโรงงานอุตสาหกรรมคัดแยกวัตถุดิบส่วนใหญ่ ได้จ้างบุคลากรชั่วคราวเพื่อทำงานในหน้าที่ คัดแยกวัตถุดิบ พนักงานเก็บข้อมูลจะทำการบันทึกลงสมุดโดยบันทึกจากรหัสพนักงาน จากนั้นก็เขียนน้ำหนักที่ชั่งได้ลงสมุด จากนั้นพนักงานผู้จดบันทึกจะคำนวณหาค่าจ้างจากน้ำหนักที่ได้ในแต่ละงาน เนื่องจากมีพนักงานเก็บข้อมูลเพียงคนเดียว อาจเกิดการผิดพลาดในการเก็บข้อมูลได้ จึงต้องจัดหาเครื่องมือเพื่อลดปัญหาความผิดพลาดในการเก็บข้อมูลเราจะใช้การ Barcode Reader เพื่อยืนยันสถานะพนักงานในโรงงานแล้วจึงชั่งน้ำหนักโดยการใช้เครื่องชั่งดิจิตอลจากข้อมูลที่ทำได้เก็บไว้ในฐานข้อมูล แล้วโปรแกรมจะนำข้อมูลที่เก็บไว้มาคำนวณเพื่อหาค่าจ้างของพนักงานแต่ละคน โครงงานนี้จะเข้ามาจัดการกับระบบที่ใช้อยู่ในปัจจุบันให้ราคาต่ำและถูกต้องมากยิ่งขึ้น
2.หลักการและทฤษฎีที่เกี่ยวข้อง
เราต้องการพัฒนาการทำงานในระบบอุตสาหกรรมโดยใช้หลักการของไมโครคอนโทรลเลอร์ โดยสามารถนำไปใช้กับโรงงานอุตสาหกรรมรมที่มีเครื่องชั่งอิเล็กทรอนิกส์ ที่มีพอร์ต RS-232 ในการเชื่อมต่อ โดยนำ Microcontroller ไปติดตั้งกับเครื่องชั่งดิจิตอลและเครื่องอ่านบาร์โค๊ดโดยข้อมูลที่ได้จะถูกส่งข้อมูลมายัง Microcontroller เพื่อทำการเรียงข้อมูลแล้วทำการส่งผ่านI2C โดยสามารถเชื่อมต่อกับอุปกรณ์ได้ถึง127ตัว จากนั้น Microcontroller จะทำการเก็บข้อมูลดังกล่าวแล้วส่งไปยังพอร์ต RS-232และนำข้อมูลที่ได้ไปเก็บไว้ในคอมพิวเตอร์เพื่อใช้ในการคำนวณค่าจ้าง โดยเขียนโปรแกรม Microsoft Visual Basic 6.0รับข้อมูลผ่านพอร์ต RS-232 มาเก็บไว้ในคอมพิวเตอร์แล้วจึงนำมาคำนวณ ออกมาเป็นสถิติและรายได้ของพนักงานและข้อมูลที่ได้รับมีความผิดพลาดน้อยกว่าการใช้ใช้พนักงานเก็บข้อมูลเอง
โครงงานจะอ้างอิงถึงไมโครคอนโทรลเลอร์ตระกูล 30f4011 จะมีชุดคำสั่งมีขนาด 24 บิต สามารถประมวลผลข้อมูลได้ 16 บิตเหตุผลในการเลือกใช้แบ่งได้เป็น3หลักคือ
2.1 รีจิสเตอร์หลักที่ใช้ในการทำงาน คือ รีจิสเตอร์ W (Working register) สำหรับใน dsPIC จะแตกต่างจากไมโครคอนโทรลเลอร์ PIC อย่างมาก โดยรีจิสเตอร์ W ได้รับการจัดโครงสร้างเป็นอาเรย์ ขนาด 16 บิต จึงทำให้สามารถรองรับทั้งข้อมูล ค่าแอดเดรส หรือค่าของรีจิสเตอร์ใดๆ ที่ต้องนำมาประมวลผล โดยใน dsPIC มีรีจิสเตอร์ W ให้ใช้งานถึง 16 ตัว ส่วนใหญ่ใช้ในการประมวลผล
2. 2 สื่อสารข้อมูลแบบสองทิศทาง (ฟูลดูเพล็กซ์ : full-duplex) ในแบบ 8 และ 9 บิตสามารถเลือกทางสื่อสารข้อมูลแบบตรวจสอบบิตพาริตี้คู่ (Even) หรือคี่ (Odd) และไม่ตรวจสอบบิตพาริตี้ (None) สำหรับรูปแบบสื่อสารข้อมูลในแบบ 8 บิต มีบิตหยุด (Stop bit) 1 หรือ 2 บิตและมีส่วนกำเนิดอัตราบอด (Baud Rate Generator) ขนาด 16 บิต สำหรับกำหนดจังหวะและอัตราเร็วในการสื่อสารข้อมูลอนุกรมแยกอิสระ เพื่อลดภาระการทำงานของโมดูลไทเมอร์สามารถกำเนิดอัตราบอดได้ตั้งแต่ 38 บิตต่อวินาที (bps) ถึง 1.875 เมกะบิตต่อวินาที (Mbps)บัฟเฟอร์ข้อมูลขาส่ง (TX) และขารับ (RX) ขนาด 4 เวิร์ด แยกส่วนกันมีบิตแจ้งข้อผิดพลาดในกรณีต่างๆ ของการสื่อสาร สามารถตรวจจับความผิดพลาดในการสื่อสารข้อมูลอนุกรม
2.3.มีส่วนเชื่อมต่ออุปกรณ์ผ่านระบบบัส I2C ทั้งแบบ 7 และ 10 บิต กำหนดเป็นมาสเตอร์หรือสลาฟได้ I2C ย่อมาจาก Inter Integrate Circuit Bus หมายถึง การติดต่อสื่อสารระหว่างไอซีโดยบัส I2C สามารถติดต่อ สั่งงาน และควบคุมภายใต้สายสัญญาณเพียง 2 เส้น เส้นหนึ่งคือสายข้อมูล อีกเส้นหนึ่งคือสายติดต่อสัญญาณนาฬิกาที่ใช้ในการกำหนดจังหวะการทำงาน อัตราการถ่ายทอดข้อมูลบนบัส I2C สูงถึง 100 กิโลบิตต่อวินาทีในโหมดปกติ(Standard mode) และสูงถึง 400 กิโลบิตต่อวินาทีในโหมดความเร็วสูง (Fast mode) อุปกรณ์ที่ต่ออยู่ร่วมอยู่บนบัส I2C มี 2 แบบคือแบบ 7 บิต (7-bit addressing) หรือ 10 บิต (8-bit addressing) สามารถเชื่อมต่ออุปกรณ์ผ่านระบบบัส 128ตัว ใน7บิต และ1024ใน10บิต รวมทั้งมาสเตอร์