90 derecleri dönememe sıkıntısı

Başlatan bbs2006, 12 Ocak 2016, 22:53:49

bbs2006

Merhaba
Yaptıgım çizgi izleyen robotta 90 dereceleri görmüyor ve dönmüyor. bazen uygun şart geldiğinde dönüyor ve uygun gelmezse pas geçiyor. bu konuda yardımlarınızı bekliyorum.
// 2015-2016 Robot yılı için Robot Yarışmalarına Katılım (21.11.2015)
#include <18f452.h>
#fuses hs,nowdt,noprotect
#use delay(clock=20000000)
#define sol1   pin_d0          //19 nolu pin   pin_b0   yeşil led
#define sol2   pin_d1          //20 nolu pin   pin_b1   yeşil led    
#define sol3   pin_d2          //21 nolu pin   pin_b2   yeşil led
#define orts1  pin_d3          //22 nolu pin   pin_b3   beyaz led
#define orts2  pin_d4          //27 nolu pin   pin_b4   beyaz led
#define sag1   pin_d5          //28 nolu pin   pin_b5   kırmızı led
#define sag2   pin_d6          //29 nolu pin   pin_b6   kırmızı led 
#define sag3   pin_d7          //30 nolu pin   pin_b7   kırmızı led
#define sagm_in1   pin_c5      //24 nolu pin  sürücü devre ain1   sag motor için
#define sagm_in2   pin_c4      //23 nolu pin  sürücü devre ain2   sag motor için
#define solm_in1   pin_c6      //25 nolu pin  sürücü devre bin1   sol motor için 
#define solm_in2   pin_c7      //26 nolu pin  sürücü devre bin2   sol motor için 
#define PWM_A      pin_c2      //17 nolu pin  sag motor pwm girişi  
#define PWM_B      pin_c1      //16 nolu pin  sol motor pwm için
#define stdby      pin_c0 
// değişken tanımlaması yapılıyor.

int oku_sen;                 // okunan sensör bilgisi   

int Sag_motor,Sol_motor;



void motor_surme(){
          
                     Output_high(sagm_in1);             // sürücü 1. giriş H
                     Output_low(sagm_in2);              // sürücü 2. giriş L
                     Output_high(solm_in1);             // sürücü 1. giriş H
                     output_low(solm_in2);              // sürücü 2. giriş L
return;}



void main(){               // Ana fonksiyon.
setup_ccp1(ccp_pwm);       //sag motor için kullanılacak
setup_ccp2(ccp_pwm);       //sol motor için kullanılacak
setup_timer_2(T2_DIV_BY_4,124,4);     //Timer2 ayarları yapılıyor.
                                          //zaman=0.0001  Fr=10 Khz.  
                                          
                                          
output_high(stdby);        //motor sürücü entegresi stanby  HIGH olmalı.                                     
                                          
while(True){

oku_sen=input_d();        // d portundan sensör degerleri okunup oku_sen ata.

switch(oku_sen)
      
      {
      
                     
      case 254:                      //0b11111110
                     {
                     output_b(0b00000001);
                    
                     motor_surme();
        //********************************************************            
                                         
       //*********************************************************              
                     set_pwm1_duty(5);
                     set_pwm2_duty(80);
                     
       //*********************************************************
                     
                     break;}           //Yol robotun sağında
                     
                     
                     
      case 252:                        // 0b11111100
                     {
                     output_b(0b00000011);
                   
                     motor_surme(); 
        //********************************************************            
                     
                     
       //*********************************************************              
                     set_pwm1_duty(10);
                     set_pwm2_duty(80);
                     
       //*********************************************************
                     
                      break;}
                     
       case 248:                            //0b11111000
                     {
                     output_b(0b00000111);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(10);
                     set_pwm2_duty(65);
                     
       //**********************************************************
                
                     Break;}
       case 240:                            //0b11110000
                     {
                     output_b(0b00001111);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(15);
                     set_pwm2_duty(65);
                     
       //**********************************************************
                
                     Break;}   
   
      case 224:                            //0b11100000
                     {
                     output_b(0b00011111);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(15);
                     set_pwm2_duty(65);
                     
       //**********************************************************
                
                     Break;}   
  
      case 249:                            //0b11111001
                     {
                     output_b(0b00000110);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(70);
                     set_pwm2_duty(80);
                     
       //**********************************************************
                
                     Break;}
    
                     
              
      case 243:                              //0b11110011
                     {
                     output_b(0b00001100);
                     motor_surme();
        //********************************************************            
                                       
       //*********************************************************              
                     set_pwm1_duty(75);
                     set_pwm2_duty(80);
                     
       //*********************************************************
                     
          
                     Break;}
    
                     
     case 231:                      //Yol ortada      0b11100111
                    {
                     output_b(0b00011000);
                     motor_surme();
        //********************************************************            
                                      
       //*********************************************************              
                     set_pwm1_duty(70);
                     set_pwm2_duty(70);
                     
       //*********************************************************                  
                     Break;}
        
          
     case 207:                            //0b11001111
                    {
                      output_b(0b00110000);
                      motor_surme(); 
        //********************************************************            
        //*********************************************************              
                     set_pwm1_duty(80);
                     set_pwm2_duty(75);
                     
       //*********************************************************
                
                    Break;}
     
     case 159:                                   //0b10011111
                    {
                    output_b(0b01100000);
                  
                    motor_surme();
        //********************************************************            
                    
                     
       //*********************************************************              
                     set_pwm1_duty(80);
                     set_pwm2_duty(70);
                     
       //*********************************************************
                  
                    Break;}
       
     case 63:                                        //0b00111111
                    {
                    output_b(0b11000000);
                 
                    motor_surme(); 
        //********************************************************            
                     
                     
       //*********************************************************              
                     set_pwm1_duty(80);
                     set_pwm2_duty(10);
                     
       //*********************************************************
                    
                    Break;}
     case 127:                                          //0b01111111
                    {
                    output_high(pin_b7);
                   
                    motor_surme();
        //********************************************************            
                     
                     
       //*********************************************************              
                     set_pwm1_duty(80);
                     set_pwm2_duty(5);
                     
       //*********************************************************
      
                    Break;}                             //Yol robotun solunda
        case 7:                            //0b00000111
                     {
                     output_b(0b11111000);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(65);
                     set_pwm2_duty(15);
                     
       //**********************************************************            
          
          
          
          
           Break;}   
          
          case 15:                            //0b00001111
                     {
                     output_b(0b11110000);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(65);
                     set_pwm2_duty(15);
                     
       //**********************************************************            
          
          
          
          
           Break;} 
          
          case 31:                                      //0b00011111
                     {
                     output_b(0b11100000);
                
                     motor_surme();
        //********************************************************            
                                          
       //*********************************************************              
                     set_pwm1_duty(65);
                     set_pwm2_duty(10);
                     
       //**********************************************************
                
                     Break;}
               
                    

    
     
    /* 
     case 255:                    //0b11111111
         {
         output_b(0b00000000);
         motor_surme();
         set_pwm1_duty(10);
         set_pwm2_duty(10);
         }*/
     default:{}
      }    }}

LukeSkywalker

Yarismaya girmek icin robot yapiyorsaniz yapmayin bence.

bbs2006

Kusura bakma ama düşünceni kendine sakla.  Biz sizin  gibi her saniye robot çalışmalarla uğraşıyoruz. Ondan başka sorumlu oolduğumuz işler var