5
Thiết kế mạch theo yêu cầu: Nguyễn Đức Lành SĐT:0977804178 [email protected] yahoo: sky_pro88 - Ý tưởng và lý do sử dụng: Sân Robot năm 2013 như các bạn thấy có rất ít line và hầu hết là line cong nên việc dò đường theo line sẽ làm tốc độ robot giảm đáng kể. (cái này là do phương án chạy, đội mình sử dụng thả từng ring một nên việc chạy theo đường thẳng kẻ theo các ring là nhanh nhất). Nên yêu cầu được đặt ra là Robot chạy thẳng được theo 1 đường giả định. quay chính xác góc mà ít ảnh hưởng đến yếu tố bên ngoài. -Tại sao là Gyro mà ko phải là la bàn số: theo như các bạn biết thì la bàn số ảnh hưởng nhiều vào kim loại có từ tính. mà sân năm 2013 dùng viền hoàn toàn bằng sắt nên khả năng ảnh hưởng bới sân thi đấu rất cao. -Ưu điểm của Gyro: +Quay với góc chính xác +Ít phụ thuộc yếu tố bên ngoài +Khá rẻ. Module GY521 tại một số nơi bán có 200k thôi. +Thuật toán lập trình khá đơn giản. +Chuẩn giao tiếp I2C -Nhược điểm: +Dễ trôi điểm gốc. Nhưng chống trôi ổn thì chạy hết trận vẫn có thể có độ chính xác cao. +Mình hay gặp trường hợp bị treo chip do việc đọc Gyro phải thực hiện trong ngắt timer. Mình lại dùng một số ngắt nữa nên hay xảy ra trường hợp xung đột ngắt. @@. Sau này mình hạn chế xử lý số liệu trong ngắt timer nên cũng khắc phục được lỗi nhưng vẫn không dám chắc là hết lỗi. -Hình ảnh thực tế:

Cảm Biến Vận Tốc Góc

Embed Size (px)

Citation preview

Thit k mch theo yu cu: Nguyn c Lnh ST:[email protected] yahoo: sky_pro88- tng v l do s dng:Sn Robot nm 2013 nh cc bn thy c rt t line v hu ht l line cong nn vic d ng theo line s lm tc robot gim ng k. (ci ny l do phng n chy, i mnh s dng th tng ring mt nn vic chy theo ng thng k theo cc ring l nhanh nht). Nn yu cu c t ra l Robot chy thng c theo 1 ng gi nh. quay chnh xc gc m t nh hng n yu t bn ngoi.

-Ti sao lGyrom ko phi l la bn s:theo nh cc bn bit th la bn s nh hng nhiu vo kim loi c t tnh. m sn nm 2013 dng vin hon ton bng st nn kh nng nh hng bi sn thi u rt cao.

-u im ca Gyro:+Quay vi gc chnh xc+t ph thuc yu t bn ngoi+Kh r. Module GY521 ti mt s ni bn c 200k thi.+Thut ton lp trnh kh n gin.+Chun giao tip I2C

-Nhc im:+D tri im gc. Nhng chng tri n th chy ht trn vn c th c chnh xc cao.+Mnh hay gp trng hp b treo chip do vic c Gyro phi thc hin trong ngt timer. Mnh li dng mt s ngt na nn hay xy ra trng hp xung t ngt. @@. Sau ny mnh hn ch x l s liu trong ngt timer nn cng khc phc c li nhng vn khng dm chc l ht li.

-Hnh nh thc t:

-Hm InitMPU6050:ti liu hng dn ca PNlab n gin hn. ci ny mnh tm hiu khi cha c ti liu ting vit m da ch yu vo cc code v ti liu ca cc trang my bay m hnh ca nc ngoi nn lng nhng. @@.

M: void init_sensor_Gyro_MPU6050(void) { delay_ms(10); i2c_writereg(MPU6050_ADD,0x6b,0x80); //reset device, reset cam bien delay_ms(5); i2c_writereg(MPU6050_ADD,0x6b,0x00); //cam bien hoat dong i2c_writereg(MPU6050_ADD,0x19,0x00); //Sample Rate Divider = 0; cai nay minh khong hieu lam. @@ i2c_writereg(MPU6050_ADD,0x1a,0x00); //Configuration; i2c_writereg(MPU6050_ADD,0x1b,0x10); //Gyroscope Configuration; 0-8-10-18 ; do phan giai Gyro la 1000do/s i2c_writereg(MPU6050_ADD,0x6a,0x00); //User Control; Con MPU6050 co kha nang lam master //cua 1 so con c chuan truyen I2C khac, o day khong dung nen khong config i2c_writereg(MPU6050_ADD,0x37,0x02); } -Hm ly gi tr trong timer: do con ny tr v gi tr l vn tc gc nn ta tin hnh thc hin php tch phn c gi tr gc do phi a vic tnh ton vo ngt timer.

M:// Timer2 overflow interrupt service routineinterrupt [TIM2_OVF] void timer2_ovf_isr(void){// Reinitialize Timer2 value TCNT2=0x60; gyroADC[2]=-read_gyro_Z(); goc=goc + ((float)gyroADC[2]+12.34)*0.0595/3.28; //GY-521 // [a] [b] [c] // 00 0 250 131 // 08 1 500 65.5 // 10 2 1000 32.8 // 18 3 2000 16.4 }Mt s ch trong chng trnh:+ [a]:l h s chng tri. mi cm bin s c mt gi tr khc nhau. tm h s ny, cc bn cho hin th gi tr ADC c c ca trc Z ln LCD khi cm bin NG YN hon ton. [a]=-(gi tr c c). ADC ca trc Z l s nguyn 16 bit c du. c chnh xc cao th ta p kiu qua s thc tnh ton. V d nh trn, khi hin th ADC Z th gi tr s dao ng xung quanh gi tr -12. c th l 11-14 nhng gi tr -12 s hin th nhiu nht. Cc bn thay [a] vo v cho hin th gi tr gc khi CB NG YN. cc bn s thy tuy khng di chuyn cm bin nhng gi tr gc vn tng hoc gim. gi bc tinh chnh s thuc v cc bn c gi tr 12,34 nh ca mnh. mi cm bin mi a im khc nhau s c 1 gi tr khc nhau nh. Cc bn c th thc hin c Gyro ly mu 100 ln khi CB ng yn ri chia ra cng c gi tr ny. Cc trang nc ngoi thng lm th. Song mnh thy mi lc mi khc nn vn p dng phng php th cng. @@

+[ b ]:thi gian ly mu. Tu vo gi tr timer ca cc bn. Sau khi chng tri xong th vic tip theo ca cc bn l m bo quay ng gc. a cm bin ln b mt phng hon ton, quay 1 gc m cc bn c th xc nh c chnh xc gc quay, i chiu vi gi tr gc hin th trn LCD. Cc bn tin hnh tinh chnh b c gi tr gc chnh xc. Tng hoc gim mt lng rt nh.

+[c]: phn gii ca cm bin khi bn config. [c] chnh xc l s bt trn mt n v vn tc. nh trn config th mnh chn kh nng lm vic ca cm bin l 1000 /s nn c=32.8. tuy nhin t chnh xc cao hn th mnh chn c=3.28. l s bt trn 0,1 n v vn tc. Do thay v ta quay 1 gc 90 th gi tr gc tr v l 900.

Quan trng nht y vn l vic chng tri. cc bn chng tri tt c th 3 pht thi u ch tri 3 l cng. sai s cho php c.

file nh km ca mnh c 2 file nn. file GY521mpu_6050.rar l mnh ly t trang PNLab. file cn li l mnh dng lm th vin chun ca mnh. vit bng Codevision

Cch kt ni v g t cm bin trn Robot:-Nh hnh cm bin th cc bn ch cn quan tm n 4 chn u tin ca cm bin l:GND, VCC, SDA, SCL.+GND v VCC l 2 chn ngun ca cm bin. p l 5V. MPU6050 ch hot ng in p 3v3. tuy nhin trn module GY521 chuyn i in p nn mnh khng phi lo vn ny.+SDA v SCL th cc bn kt ni theo chun I2C nh cc thit b I2C khc.

-G t trn Robot. y mnh ch dng trc Z xc nh gc quay do sn nm ny ko c mt phng nghing. vi cc sn c gc nghing th cc bn phi tnh thm c trc X v Y c chnh xc. Khi cc bn dng trc Z th cm bin nm phng sao cho hng trc Z trn cm bin hng ln trn. c gng cng hng ln trn cng tt trnh sai s. nn g khung robot hn ch xe dch nht. trnh xa cc ng c, cun dy v cc thit b ny c t trng v nhiu ln ln bus I2C ca mnh. CB th khng b nhiu nhng Bus truyn rt d nh hng. c th g lun ln trn mch. Nhng lc ny th phi g mch c nh hon ton.

Gp thm cho cc bn. Nu cc bn dng cho my bay m hnh th c th dng module GY86. gi by gi kh r. nm ngoi mnh mua l 1200k. hin gi cn 700k PNLab v 500k thegioiic. Module ny tch hp MPU6050(Gyro, Acc, Nhit ), HMC5883L(Mag hay la bn s) v MS5611 (CB p sut). Khi dng module ny cc bn nn ch con la bn. v giao tip vi n, cc bn phi giao tip vi con MPU6050 nh mnh gii thch trn. con MPU6050 s lm master v con HMC5883L lm slaver ca con ny. Cch giao tip cc bn c th tham kho code mnh di y.