View Full Version : ถาม : เกี่ยวกับภาษาซี กับไมโครคอลโทลเลอร์ AVR
popvip
22-01-2007, 11:30 AM
อยากทราบวิธีการเขียน pulse เพื่อใช้ในการควบคุมความเร็วของ DC Motor ครับผม มีหลักการเขียนยังไง ต้องศึกษาเรื่องอะไรเป็นพิเศษรึป่าว
แล้วก็หากมี sensor ที่ให้ค่าออกมาเป็น pulse เราจะมีวิธีเขียนโปรแกรมเพื่อรับ pulse ที่เข้ามาได้ยังไงครับ
ปล.การบ้านวิชาไมโครโปรเซสเซอร์ จารย์ให้ทำ Balancing Robot ยืนให้ได้ซัก 4-5 วิ
kengz
01-05-2007, 05:16 PM
โพสไว้ตั้งนานแล้วไม่รู้จะมาดูหรือเปล่านะ
ผมอาจจะนอกประเด็นไปนิดนะ ขออภัย
AVR ผมไม่เคยใช้หรอก
วิชาที่คุณเรียน อ. เขาบังคับให้คุณต้องใช้ AVR เลยงั้นเชียวเหรอ
ผมว่าใช้ MCS-51 มันจะดีกว่านะ
เพราะว่า 51 มีสื่อการสอนเยอะกว่า
มี Keil ที่เป็น Editor ที่แพร่หลาย
Code มอเตอร์ก็เป็นร้อยๆในอินเตอร์เนต
แต่ป่านนี้คง.....
modafox
13-07-2007, 09:23 AM
การนำ MCS-51 ไป drive motor มีโอกาส แฮงค์สูงต้องทำวงจรดีๆ โดยออกแบบระบบไฟเลี้ยงให้ทนต่อการรบกวนของ noise จากมอเตอร์
อย่างน้อยต้องใช้ C ต่อไว้ที่ขาไฟเลี้ยงของ MCS-51 กับ GND (แนะนำ C 0.1uF multi layer)
หรือถ้ายังแก้ปัญหาไม่ได้ ก็เลือกใช้เบอร์ที่มี watch dog
แต่ถ้าใช้ AVR ก็ดีครับ ผมยังไม่มีโอกาสเห็นมันแฮงก์เลยครับ
และก็ Timer ของ AVR จะมี Mode สร้างสัญญาณ pulse นะครับ นำสัญญาณนี้ไปไดรว์มอเตอร์
นอกจากสร้างสัญญาณ pulse ได้แล้วยังมี Mode capture สัญญาณ pulse ได้ด้วย
ถ้าจะให้ดีควรใช้ motor ที่มี encoder นะครับ จะทำให้ควบคุมความเร็วมอเตอร์ได้ดี
สิ่งที่แนะนำให้ไปศึกษาเพิ่มเติมคือ
การควบคุมความเร็วมอเตอร์ด้วย PWM
PID control algorithm
ถ้าใช้ PID แล้วจูนดีๆเนี่ย มันยืนได้จน batt หมดเลยนะครับ
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.