Резултати от първия тест:

05072014833.jpg (21.82 KиБ) Видяна 1987 пъти
Двигателя за 1-2 минути изведе панела на изток.
Видях изкривяването на захващането на рамото и го изключих преди да достигне крайния изключвател.
В това положение тока се увеличи около два пъти сравнение с вчера:
Ipv_2014_07_05_0930.JPG (35.39 KиБ) Видяна 1987 пъти

Ipv_2014_07_04_0930.JPG (35.93 KиБ) Видяна 1987 пъти
Това е кода за програмиране на "контролера":
Въпреки PT1 филтъра от 100 секунди се получават фалшиви команди за движение:
http://vbox7.com/play:8951e12f2d
Прикачен файл:
05072014833.jpg (21.82 KиБ) Видяна 1987 пъти
Видях изкривяването на захващането на рамото и го изключих преди да достигне крайния изключвател.
В това положение тока се увеличи около два пъти сравнение с вчера:
Прикачен файл:
Ipv_2014_07_05_0930.JPG (35.39 KиБ) Видяна 1987 пъти
Прикачен файл:
Ipv_2014_07_04_0930.JPG (35.93 KиБ) Видяна 1987 пъти
Код: Избери всички
#define codeVersion "Solar tracker 4.7.2014"
double loopMillis, sensorMillis;
float sensorEast, sensorWest;
void setup()
{
Serial.begin(9600);
Serial.println(codeVersion);
Serial.println("pins:");
Serial.println("A2 - sensor East");
Serial.println("A3 - sensor West");
Serial.println("D2 - output move East");
pinMode(2, OUTPUT);
Serial.println("D3 - output move West");
pinMode(3, OUTPUT);
}
void loop()
{
loopMillis=millis();
if (loopMillis-sensorMillis>1000)
{
sensorMillis=loopMillis;
sensorEast=sensorEast/100+analogRead(A2)*0.99;
Serial.print("East sensor: ");
Serial.println(sensorEast);
sensorWest=sensorWest/100+analogRead(A3)*0.99;
Serial.print("West sensor: ");
Serial.println(sensorWest);
Serial.println(" ");
}
if (sensorEast-sensorWest>10)
{
digitalWrite(2,0); //Move to East Start
}
else
{
digitalWrite(2,1); //Move to East Stop
}
if (sensorWest-sensorEast>10)
{
digitalWrite(3,0); //Move to West Start
}
else
{
digitalWrite(3,1); //Move to West Stop
}
if (sensorWest<100 && sensorEast<100) //Move Stop
{
digitalWrite(2,1);
digitalWrite(3,1);
}
}
http://vbox7.com/play:8951e12f2d