• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Bieżnia na Arduino
#1
Witam wszystkich
Próbuję uruchomić bieżnie z uszkodzonym układem sterującym.

Jak dotąd utworzyłem taki program:

int predkosc = 0;
int zmiana = 2;

void setup() {
pinMode(2,OUTPUT); // W góre
pinMode(3,OUTPUT); // W dół
pinMode(4,INPUT_PULLUP); // Start/Stop
pinMode(5,OUTPUT); // Sterowanie prędkościa silnika PWM
pinMode(6,INPUT_PULLUP); // Przycisk w gore
pinMode(7,INPUT_PULLUP); // Przycisk w dol
pinMode(8,INPUT_PULLUP); // Przycisk Przyspiesz
pinMode(9,INPUT_PULLUP); // Przycisk Zwolnij
pinMode(10,OUTPUT); //Brzeczek

digitalWrite(10, HIGH); // Brak zasilania odlacza bieżnie
digitalWrite(2,LOW); // Podnoszenie wylaczone
digitalWrite(3,LOW); // Opuszczanie wylaczone
digitalWrite(5,LOW); // Silnik wylaczony

}

void loop() {

{
if (digitalRead(4) == LOW) { //Jeśli przycisk jest wciśnięty
digitalWrite(5, HIGH); //Włączenie silnika


} else { //Jeśli przycisk nie jest wciśnięty
digitalWrite(5, LOW); //Wyłączenie silnika


}
while (digitalRead(4) == LOW) {
for (int i = 0; i <= 255; i++) {
analogWrite(5, i); //Spokojne rozpędzanie silnika
delay(25);
}
//Zatrzymujemy się w pustej pętli do ponownego zamknięcia okna
delay(25); //W pętli wprowadzamy małe opóźnienie 25ms, aby niwelować zakłócenia
}

}
{
if (digitalRead(6) == LOW) { //Jeśli przycisk jest wciśnięty
digitalWrite(2, HIGH); //Włączenie podnoszenia


} else { //Jeśli przycisk nie jest wciśnięty
digitalWrite(2, LOW); //Wyłączenie podnoszenia
delay(2000);

}
}
{
if (digitalRead(7) == LOW) { //Jeśli przycisk jest wciśnięty
digitalWrite(3, HIGH); //Włączenie opuszczania


} else { //Jeśli przycisk nie jest wciśnięty
digitalWrite(3, LOW); //Wyłączenie opuszczania
delay(2000);
}
}


}

Program nie jest skończony gdyż dopiero sie go uczę.
A teraz jakie otrzymałem wyniki.
Wszystko podłączyłem na próbę przy użyciu równolegle diody aby widzieć czy program reaguje czy nie.
Gdy włączę podnoszenie to przełącznik (relay) od podnoszenia się załacza - widać to również na płytce silnika. Ale bieżnia się nie podnosi.
Dioda kontrolna zaswieca sie i po chwili gaśnie, ale dioda na sterowniku silnika zaswieca się ale już nie gaśnie.
Gdy mostkuje Vref z podnoszeniem rowniez przekaznik się odblokowuje i podnoszenie działa.

W przypadku uruchomienia opuszczania sytuacja wyglada identycznie. Arduino ze swoją diodą zaświeca się i gaśnie a sterownik silnika zaświeca się i już nie gaśnie.

Gdy robię mostek miedzy Vref i PWM silnik natychmiast startuje. Gdy podłączam arduino do PWM słychać tylko pisk z sterownika silnika i po za tym nic się nie dzieje.

No i po tej długiej wypowiedzi czas na pytania [Obrazek: icon_wink.gif]
Co powinno zostać podłączone pod konkretne piny, aby móc wykorzystać bieżnię z tym sterownikiem?
Dlaczego przekaznik sterownika nie wyłącza się razem z sygnałem z Arduino?
Czy pisk z sterownika silnika może wynikać z zbyt małej mocy Arduino czy jest to bardziej wina zbyt małego wypałnienia sygnału PWM?
 
Odpowiedź
  


Wiadomości w tym wątku
Bieżnia na Arduino - przez jogo48 - 28-02-2021, 20:32
RE: Bieżnia na Arduino - przez kaczakat - 02-03-2021, 16:01
RE: Bieżnia na Arduino - przez jogo48 - 03-03-2021, 00:03

Skocz do:


Przeglądający: 1 gości