Skocz do zawartości

Kurs Arduino - #8 - Sterowanie silnikami DC, pętla for


Pomocna odpowiedź

@EnderDpl witam na forum 🙂

Co dokładnie Ci nie działa, co podłączyłeś i jakie są objawy? Niestety nie masz zarejestrowanego zestawu do tego kursu, więc nie wiem jakim sprzętem dysponujesz.

Link to post
Share on other sites

udało i się naprawić ten błąd ale teraz chciałbym zrobić przycisk który odpala program arduino który włącza silniczek raz w jedną a raz w drugą stronę i kąpletnie nie wiem jak to zrobić. A arduino kupiłem jakieś tydzień temu

 

Link to post
Share on other sites

Wszystko masz ładnie pokazane w kursie, jedyne co musisz zrobić to podpiąć silnik , przycisk i dodać prostą pętlę.

Załóżmy że przycisk jest podłączony do pinu 2 i masy:

void setup() { 
  pinMode(6, OUTPUT); //Sygnał PWM silnika nr 1
  digitalWrite(6, HIGH); //Ustawiamy (na stałe) stan wysoki na pinie 6
  
  pinMode(7, OUTPUT); //Sygnały sterujące kierunkiem obrotów silnika nr 1
  pinMode(8, OUTPUT);
  pinMode(2,INPUT_PULLUP);//ustawiamy przycisk jako wejście z rezystorem podciągającym
} 

}
void loop()  {  
  if(digitalRead(2)){// jeśli wartość odczytana z pinu 2 jest różna od 0 (w tym przypadku jedyna możliwa wartość inna niż 0 to 1 - stan wysoki) to:
    digitalWrite(7, LOW);//wyłączamy silnik
    digitalWrite(8, LOW);// 
  }else{//w przeciwnym przypadku(jedyny inny przypadek  to 0 - stan niski): 
  digitalWrite(7, LOW); //Silnik nr 1 - obroty w lewo
  digitalWrite(8, HIGH); 
  delay(3000);

  digitalWrite(7, HIGH); //Silnik nr 1 - obroty w prawo
  digitalWrite(8, LOW); 

  delay(3000);   

  }                     
}

Gdy puścisz przycisk to program zatrzyma się dopiero po wykonaniu całej  pętli. Jeśli chcesz żeby zatrzymał się od razu to trzeba wprowadzić przerwania (jeśli się mylę to mnie poprawcie).

Edytowano przez jas123
  • Pomogłeś! 1
Link to post
Share on other sites

Nie znalazłem w opisie wartości kondensatorów. Przypuszczam (patrząc na ich wygląd), że jeden z nich to elektrolit, a drugi ceramik. Czy mógłby mi ktoś odpisać jakie ich wartości byłyby najlepsze? Podobnie jak w lekcjach wcześniejszych nie wypatrzyłem wartości potencometrów.

Edytowano przez edurobokids
  • Lubię! 1
Link to post
Share on other sites

@edurobokids witam na forum 🙂 W zestawach do tych kursów są tylko jedne kondensatory, więc na pewno masz właściwe elementy. Te wartości nie są też kluczowe - w przypadku kondensatorów może to być 100 nF i 100 uF, ale inne wariacje też się sprawdzą 🙂

Link to post
Share on other sites

Podłączyłem wszystko zgodnie ze schematem i działa, natomiast nie do końca rozumiem efekty pewnych modyfikacji:

  1. W momencie jak odłączam zasilania zewnętrzne (arduino nadal podłączone do USB) to diody nadal świecą, natomiast nie tak jasno. Moje rozumienie jest takie, że nawet jak mam tylko zasilanie poprzez USB to na VIN będę miał takie napięcie jak na wejściu czyli 5V, dobrze rozumiem? Czy gdybym miał zamiast diod silnik to czy byłoby ryzyko zniszczenia układu za dużym prądem pobieranym przez silnik?
  2. Dodatkowo odłączam przewód od pinu VIN i nic się nie zmienia. Skąd się bierze napięcie zasilające diody? Czy jest ono brane +5V podłączonego do zasilania części logicznej?
Link to post
Share on other sites

@TomekTarczynski

1 godzinę temu, TomekTarczynski napisał:

W momencie jak odłączam zasilania zewnętrzne (arduino nadal podłączone do USB) to diody nadal świecą, natomiast nie tak jasno. Moje rozumienie jest takie, że nawet jak mam tylko zasilanie poprzez USB to na VIN będę miał takie napięcie jak na wejściu czyli 5V, dobrze rozumiem?

Jeżeli podłączysz zewnętrzne zasilanie to na pinie Vin powinno pojawić się napięcie takie samo jakie daje zewnętrzne zasilanie. Jeżeli natomiast odłączysz zewnętrzne zasilanie to na pinie Vin będzie napięcie trochę niższe niż 5V ( w moim uno mam 4,42V).  Czyli diody świecą nieco słabiej bo po prostu napięcie jest niższe. Nie będziesz miał 5V bo napięcie przechodzi przez kilka elementów po drodze co można zobaczyć na schemacie w lewym górnym rogu. 

1 godzinę temu, TomekTarczynski napisał:

Czy gdybym miał zamiast diod silnik to czy byłoby ryzyko zniszczenia układu za dużym prądem pobieranym przez silnik?

Jeśli będziesz zasilał silnik przez Vin ( i masz podłączone zewnętrzne zasilanie) to nie, zakładam też że chodzi Ci o silnik typu 6V 200mAh a nie typu 11V 30A.

1 godzinę temu, TomekTarczynski napisał:

Dodatkowo odłączam przewód od pinu VIN i nic się nie zmienia. Skąd się bierze napięcie zasilające diody? Czy jest ono brane +5V podłączonego do zasilania części logicznej?

Zauważ, że po odpięciu przewodu od pinu Vin, część logiczna nadal jest zasilana czyli nadal wysyła sygnał dlatego diody nadal będą działać . Jednak zmniejszyła się wydajność prądowa i napięcie do tej jaką mamy na pinie 5V co za tym idzie - gdybyś spróbował podpiąć silnik nie będzie on już działał ponieważ potrzebuje więcej prądu ( będzie słychać jak próbuje się ruszyć).

Link to post
Share on other sites

@jas123 

  Dzięki za odpowiedzi, ale jeszcze nie wszystko mi się w głowie ułożyło jeżeli chodzi o działania tego mostku H.

3 godziny temu, jas123 napisał:

Jeśli będziesz zasilał silnik przez Vin ( i masz podłączone zewnętrzne zasilanie) to nie, zakładam też że chodzi Ci o silnik typu 6V 200mAh a nie typu 11V 30A.

Chodziło mi o sytuację, w której zasilam silnik przez VIN i odłączam zewnętrzne zasilanie. Przykład z diodami pokazał, że będą wtedy zasilane z 'części logicznej', która jest zasilana bezpośrednio przez arduino. Moja obawa była taka czy silnik nie będzie próbował pobrać za dużo prądu poprzez 'część logiczną' (PIN 5V na arduino) co mogłoby uszkodzić układ.

 

3 godziny temu, jas123 napisał:

Zauważ, że po odpięciu przewodu od pinu Vin, część logiczna nadal jest zasilana czyli nadal wysyła sygnał dlatego diody nadal będą działać . Jednak zmniejszyła się wydajność prądowa i napięcie do tej jaką mamy na pinie 5V co za tym idzie - gdybyś spróbował podpiąć silnik nie będzie on już działał ponieważ potrzebuje więcej prądu ( będzie słychać jak próbuje się ruszyć).

Część logiczna jest dalej zasilana, natomiast część dotycząca zasilania samego silnika już nie. Diody zasilane są z wyjścia 3 i 6, które według mojego rozumienia powinny być zasilane zasilaniem przeznaczonym do silnika, a nie do części logicznej i to jest ta rzecz, której nie rozumiem. Moje rozumienie jest takie, że napięcie do części logicznej wykorzystywane jest do tego żeby poprzez tranzystory odpowiednio zamykać/otwierać obwód tak żeby prąd przeznaczony do zasilania silnika płynął w tę stronę, w którą chcemy.

Link to post
Share on other sites
11 minut temu, TomekTarczynski napisał:

Moja obawa była taka czy silnik nie będzie próbował pobrać za dużo prądu poprzez 'część logiczną' (PIN 5V na arduino) co mogłoby uszkodzić układ.

Wydajność prądowa pinu 5V zależy od wydajności wbudowanego stabilizatora (nie będę pisał ile mAh bo dokładnie nie wiem). Ale ogólnie urządzenia pobierające stosunkowo duży prąd - m.in. silnik - powinno się zasilać z pinu Vin. Jeśli jednak podłączysz silnik do pinu 5V (cały czas mówię o silnikach podobnych do tego pokazanego w kursie) to pewnie nawet ruszy ale stabilizator może zacząć się nieprzyjemnie grzać dlatego jeszcze raz powiem że do silników służy pin Vin. Inna sprawa jest z pinami I/O które mają maksymalną wydajność prądową około 40mAh. Podłączenie silnika do jednego z pinów I/O może skutkować już poważniejszymi konsekwencjami np. uszkodzenie mikrokontrolera. 

Jeśli zaś chodzi o mostek H to nie wiem co tam się dokładnie dzieje. Jeśli masz silnik to możesz spróbować go podłączyć podczas gdy jest dostarczane napięcie z Vin - powinien zacząć się kręcić, i wtedy gdy odepniesz zasilanie od Vin - powinien tylko wydawać dźwięk. W tym drugim teście daj jakiś rezystor żeby nie spalić mostka i nie rób tego zbyt długo. 

 

  • Lubię! 1
Link to post
Share on other sites

Witam,

Kupiłem na botlandzie takie podwozie robota w zestawie z silnikami:

https://botland.com.pl/podwozia-robotow/7243-chassis-round-2wd-2-kolowe-podwozie-robota-z-napedem.html

Kupiłem również takie przewody: 

https://botland.com.pl/przewody-jednozylowe/12584-przewod-druciany-pcv-025mm-8-kolorow-rolka-250m.html

Chcę je przylutować do wyjść silników a następnie na mostek sterujący silnikami.

Wydają się one jednak bardzo cienkie.

Dlatego mam pytanie:

Czy te przewody poradzą sobie z prądem płynącym w trakcie pracy tych silników (a zwłaszcza w trakcie rozruchu silnika)?

Link to post
Share on other sites

@MateoS07 te silniki nie pobierają dużego prądu więc te kabelki powinny się nadać, zwłaszcza że pewnie połączenie będzie miało z 10 cm długości. Zawsze możesz wziąć 2 kabelki i połączyć je równolegle.

Link to post
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

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.