บทที่ 5 ขับเคลื่อนหุ่นยนต์ ipst-bot

13
บบบบบ 5 บบบบบบบบบบบบบบบบบบ IPST-BOT 208

Upload: lars

Post on 05-Jan-2016

106 views

Category:

Documents


0 download

DESCRIPTION

208. บทที่ 5 ขับเคลื่อนหุ่นยนต์ IPST-BOT. 209. การจัดการควบคุมมอเตอร์ไฟตรงของหุ่นยนต์ IPST-BOT. 210. การกำหนดตำแหน่งของมอเตอร์สำหรับหุ่นยนต์ IPST-BOT. 211. การทดลองที่ 1 (ทดสอบการขับและทิศทางการหมุนของชุดเฟืองขับมอเตอร์ไฟตรง). การเชื่อมต่อทางฮาร์ดแวร์ - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

บทท�� 5ขั�บเคลื่��อนหุ่��นยนต์� IPST-

BOT

208

Page 2: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

การจั�ดการควบค�มมอเต์อร�ไฟต์รงขัองหุ่��นยนต์� การจั�ดการควบค�มมอเต์อร�ไฟต์รงขัองหุ่��นยนต์� IPST-BOTIPST-BOT

209

Page 3: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

การก�าหุ่นดต์�าแหุ่น�งขัองมอเต์อร�สำ�าหุ่ร�บหุ่��นการก�าหุ่นดต์�าแหุ่น�งขัองมอเต์อร�สำ�าหุ่ร�บหุ่��นยนต์� ยนต์� IPST-BOTIPST-BOT

210

Page 4: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

การทดลื่องท�� 1 (ทดสำอบการขั�บแลื่ะท"ศทางการหุ่ม�นขัองชุ�ดเฟ%องขั�บมอเต์อร�ไฟต์รง)

การเชุ��อมต์�อทางฮาร�ดแวร�ต์�อชุ�ดเฟ%องมอเต์อร�ไฟต์รงเขั'าก�บจั�ดต์�อ

M1 แลื่ะ M2 ขัองแผงวงจัร Display-MOTOR โดยมอเต์อร�ท��ต์�อก�บจั�ด M1 เป็+น

มอเต์อร�ทางซ้'าย แลื่ะมอเต์อร�ท��ต์�อก�บจั�ด M2 เป็+นมอเต์อร�ทางขัวา

211

Page 5: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

โป็รแกรมการทดลื่องท�� 1 (motor_test.c) ทดสำอบการท�างานขัองวงจัรขั�บมอเต์อร�ไฟต์รงขัองหุ่��นยนต์� IPST-BOT#include <motor.h>void main(){

motor(1,80);motor(2,80);

}

212

เม��อทดสำอบการท�างานขัองวงจัรขั�บมอเต์อร�ไฟ

ต์รงพบว�าหุ่��นยนต์�ไม�เคลื่��อนท��ต์รงไป็ขั'างหุ่น'า ใหุ่'ทดลื่องสำลื่�บขั�/วสำายสำ�ญญาณขัองมอเต์อร�แต์�ลื่ะต์�ว จันกระท��งหุ่��น

ยนต์�เคลื่��อนท��ต์รงไป็ขั'างหุ่น'า

Page 6: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

การสำร'างฟ2งก�ชุ��นการขั�บเคลื่��อนหุ่��นยนต์�พ�/น

ฐาน

213

Page 7: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

1ฟ2งก�ชุ��นขั�บเคลื่��อนหุ่��นยนต์�ใหุ่'เคลื่��อนท��ต์รงไป็ขั'างหุ่น'าหุ่ลื่�กการ เก"ดจัากลื่'อมอเต์อร�ท�/งสำองด'านถู5กขั�บไป็ขั'างหุ่น'า ด'วยค�าสำ��ง motor ก�าลื่�งเป็+นบวกท�/งค5�

#define POW 70 void forward(unsigned int delay){ motor(1,POW); motor(2,POW); sleep(delay);

}

214

Page 8: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

2.ฟ2งก�ชุ��นขั�บเคลื่��อนหุ่��นยนต์�ถูอยหุ่ลื่�งต์รงหุ่ลื่�กการ เก"ดจัากลื่'อมอเต์อร�ท�/งสำองด'านถู5กขั�บไป็ขั'างหุ่น'า ด'วยค�าสำ��ง motor ก�าลื่�งเป็+นลื่บท�/งค5�

#define POW 70 void backward(unsigned int delay){ motor(1,-POW); motor(2,-POW); sleep(delay);

}

215

Page 9: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

3.ฟ2งก�ชุ��นขั�บเคลื่��อนหุ่��นยนต์�เลื่�/ยวซ้'ายหุ่ลื่�กการ เก"ดจัากมอเต์อร�ลื่'อด'านซ้'ายถู5กขั�บไป็ขั'างหุ่ลื่�ง แลื่ะมอเต์อร�ลื่'อด'านขัวาถู5กขั�บไป็ขั'างหุ่น'า

#define POW 70 void turn_left(unsigned int delay){ motor(1,-POW); motor(2,POW); sleep(delay);

}

216

Page 10: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

4.ฟ2งก�ชุ��นขั�บเคลื่��อนหุ่��นยนต์�เลื่�/ยวขัวาหุ่ลื่�กการ เก"ดจัากมอเต์อร�ลื่'อด'านซ้'ายถู5กขั�บไป็ขั'างหุ่น'า แลื่ะมอเต์อร�ลื่'อด'านขัวาถู5กขั�บไป็ขั'างหุ่ลื่�ง

#define POW 70 void turn_right(unsigned int delay){ motor(1,POW); motor(2,-POW); sleep(delay);

}

217

Page 11: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

5.ฟ2งก�ชุ��นหุ่ย�ดหุ่��นยนต์�หุ่ลื่�กการ เก"ดจัากมอเต์อร�ลื่'อด'านซ้'ายแลื่ะด'านขัวาถู5กหุ่ย�ดขั�บพร'อมก�นท�/งค5� ด'วยค�าสำ��ง motor_stop

#define POW 70 void pause(){ motor_stop(1); motor_stop(2);}

218

Page 12: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

การทดลื่องท�� 2 (ทดสำอบขั�บเคลื่��อนหุ่��นยนต์� IPST-BOT แบบพ�/นฐาน)

การเชุ��อมต์�อทางฮาร�ดแวร�ต์�อชุ�ดเฟ%องมอเต์อร�ไฟต์รงเขั'าก�บจั�ดต์�อ

M1 แลื่ะ M2 ขัองแผงวงจัร Display-MOTOR โดยมอเต์อร�ท��ต์�อก�บจั�ด M1 เป็+น

มอเต์อร�ทางซ้'าย แลื่ะมอเต์อร�ท��ต์�อก�บจั�ด M2 เป็+นมอเต์อร�ทางขัวา

219

Page 13: บทที่ 5 ขับเคลื่อนหุ่นยนต์  IPST-BOT

โป็รแกรมทดสำอบหุ่��นยนต์�ท�� 2 (robo_basic.c) ทดสำอบขั�บเคลื่��อนหุ่��นยนต์�ไป็ขั'างหุ่น'า 2 ว"นาท� แลื่'วเลื่�/ยวซ้'าย 05. ว"นาท� สำลื่�บไป็มา#include <motor.h>#include <sleep.h>#include <in_out.h>#include <lcd.h>#define POW 70void forward(unsigned int delay){ motor(1,POW); motor(2,POW); sleep(delay);} void turn_left(unsigned int delay){ motor(1,-POW); motor(2,POW); sleep(delay);

}

void main(){ lcd("Press SW1"); sw1_press(); while(1) { forward(2000); turn_left(500); }}

220