Оцените мои достижения!!!
Я слегка подправил формулу:
TCNT1=1+(60000/10)+(61000/10)+(59000/10)...;
Получается ~18000 - то что надо.
			
				 ![]()  | 
			
					roboforum.ruТехнический форум по робототехнике.  | 
			
				
					 | 
		
Lirzman писал(а):Фу!!!
Тока старая проблема вылезла с накоплением ошибки от сервы к серве.
Какая величина ошибки? Лучше а тактах контроллера.
Скорее всего это изза того что ты выставил ТСNT1 = 27000; нада по формуле
if(cur_servo==3)
  {PORTB SET_B(2);
  PORTB CLR_B(1);
  TCNT1=gangle[2]+2;
  cur_servo=4;
  }
  else
  if(cur_servo==4)
  {PORTB SET_B(3);
  PORTB CLR_B(2);
  TCNT1=gangle[3]+9;
  cur_servo=5;
  }
  else
  if(cur_servo==5)
  {PORTB SET_B(4);
  PORTB CLR_B(3);
  TCNT1=gangle[4]+16;
  cur_servo=6;
  }
  else
  if(cur_servo==6)
  {PORTB SET_B(5);
  PORTB CLR_B(4);
  TCNT1=gangle[5]+23;
  cur_servo=7;
  }
  else
  if(cur_servo==7)
  {PORTB SET_B(6);
  PORTB CLR_B(5);
  TCNT1=gangle[6]+30;
  cur_servo=8;Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0