двухосевой солнечный трекер

aleksey19ru
Offline
Зарегистрирован: 23.06.2016

собрал схему на а4988 и биполярном шаговом от принтера прошил ардуню и заработало, получилась горизонталь.

а вот с вертикалью проблема, посоветуйте поожалуйста как быть

int s1L = 0; // левый фоторез
int s2P = 1; // правый фоторез
int s3H = 2; // нижний фоторез
int s4V = 3; // верхний фоторез

int e1 = 4; // включен горизонт шаговый 
int dirPin1 = 2; //Название переменной указывает DIR горизонт шаговый
int stepperPin1 = 3; //STERR Pin горизонт шаговый
int e2 = 6; // включен вертикальный шаговый 
int dirPin2 = 7; //Название переменной указывает DIR вертикальный шаговый
int stepperPin2 = 8; //STERR Pin вертикальный шаговый

void setup() {
pinMode(dirPin1, OUTPUT);
//digitalWrite(e1,LOW); // Установка высокого уровня на Enable
pinMode(stepperPin1, OUTPUT);

pinMode(dirPin2, OUTPUT);
//digitalWrite(e2,LOW); // Установка высокого уровня на Enable
pinMode(stepperPin2, OUTPUT);
analogReference(DEFAULT);
Serial.begin(9600); 
   
}
void step(boolean dir,int steps){
digitalWrite(dirPin1,dir);
delay(50);
for(int i=0;i<steps;i++){
digitalWrite(stepperPin1, HIGH);
delayMicroseconds(1500);
digitalWrite(stepperPin1, LOW);
delayMicroseconds(1500);
}
}
void loop() {
 int val1 = analogRead(s1L); 
 int val2 = analogRead(s2P);    
 int a = (val1-val2);
 int b = (val2-val1);
//////////////
 int val3 = analogRead(s3H);
 int val4 = analogRead(s4V);    
 int c = (val3-val4);
 int d = (val4-val3);
 ///////////
  if  (b > (a+200)){
   digitalWrite(e1,LOW);
    step(true,1); 
delay(1000);
 }
   
  if  (a > (b+200)){
  digitalWrite(e1,LOW); 
    step(false,1); 
delay(1000);
 }
if ((b-a)<100 && (a-b)<100) { 
    digitalWrite(e1,HIGH);
}
///////////////////////////////////

}

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

слушай, ты же не ПВО строишь, когда цель внезапна и находится в неизвестных тебе координатах - кури геолокацию и координаты Солнца, согласно наземным координатам.

Logik
Offline
Зарегистрирован: 05.08.2014

Не. Их ученые могут поменять наклон земной оси. Потому только следить....

Жевали тут http://arduino.ru/forum/programmirovanie/orientatsiya-solnechnogo-kontsentratora-s-pomoshchyu-dvukh-aktuatorov-i-4-fot#comment-216716

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

недоживали, там центр масс солнечной системы не совподает с центром масс солнца, поэтому солнце всходит на востоке по счистой случайности и где оно взойдет завтра х.з.