Skocz do zawartości

Weryfikacja poprawności układu oraz programu.


kuba3122

Pomocna odpowiedź

Witam, mam problem z działaniem układu z załącznika. Program banalnie prosty:

int sygnal=6;
int kierunek=5;

void setup(){
  pinMode(sygnal,OUTPUT);
  pinMode(kierunek,OUTPUT);
  
}

void loop(){
  digitalWrite(kierunek, HIGH);

  for(int a=0 ;a<=800, a++;){
  digitalWrite(sygnal,HIGH);
  delay(3000);
  }
  
}

Silnik 60HS100 - 200 kroków na obrót, prąd znamionowy 3,5 A

sterownik TB6600 4A - przełączniki SW ustawione tak aby sterownik dawał możliwie jak większy prąd.

Sterownik zasilany zasilaczem komputerowym 12V.

Według tego co napisane jest w kodzie, silnik powinien obrócić wirnikiem 4 razy po czym odczeka 3 sekundy i ponownie wykona pętle for, efekt jest taki, że układ jak w załączniku nie reaguje, silnik krokowy jedynie "świszczy".

Gdzie popełniłem błąd ? 

układ.png

Link do komentarza
Share on other sites

13 minut temu, kuba3122 napisał:

Według tego co napisane jest w kodzie, silnik powinien obrócić wirnikiem 4 razy po czym odczeka 3 sekundy i ponownie wykona pętle for, efekt jest taki, że układ jak w załączniku nie reaguje, silnik krokowy jedynie "świszczy".

 

Przecież ten program tylko ustawia dwa piny na HIGH i nic więcej nie robi.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@kuba3122, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.
20 godzin temu, kuba3122 napisał:

W takim razie jak pisać program na taki sterownik ?

A co dokładnie według Ciebie robi program, który tu wkleiłeś - jak interpretujesz jego działanie (szczególnie tę pętlę for)? Sam go pisałeś czy to jakiś "przykład" z Internetu?

Link do komentarza
Share on other sites

Zostawmy tamten program. Mam kilka pytań na temat mechaniki działania programu.

// defines pins numbers
const int stepPin = 5; 
const int dirPin = 2; 


void setup() {
  
  // Sets the two pins as Outputs
  pinMode(stepPin,OUTPUT); 
  pinMode(dirPin,OUTPUT);
  
}
void loop() {
  
  digitalWrite(dirPin,LOW); 
  for(int x = 0; x <= 200; x++) {
    digitalWrite(stepPin,HIGH); 
    delay(2); 
    digitalWrite(stepPin,LOW);
    delay(2);
  } 
  
  delay(5000);
  
}

Czy dobrze rozumiem , że program napisany w pętli for generuje sygnał PWM , ustawia wyjście stepPin w stan wysoki i utrzymuje go przez 2/1000 sek

następnie to samo wyjście ustawia w stan niski na 2/1000sek , powtarza pętle 200 razy  wychodzi z pętli , czeka 5 sekund i powtarza program od nowa. 

Czy zmieniając wartości w delay mogę sterować wypełnieniem sygnału ?

 

 

Link do komentarza
Share on other sites

Mniej więcej tak, aczkolwiek dokładne czasy będą się różnić, bo samo wykonywanie instrukcji pomiędzy też zajmuje jakiś czas. Żeby mieć dokładny sygnał PWM najlepiej jest użyć dedykowanej do tego części mikrokontrolera, która się nazywa "timer" i która ma właśnie tryb PWM. Wówczas sygnał jest generowany precyzyjnie "w tle" przez dedykowany do tego układ, a mikrokontroler może się zajmować w tym czasie innymi rzeczami. W Arduino z tego mechanizmu korzysta komenda analogWrite().

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.