Skocz do zawartości
Komentator

Kurs Arduino - #5 - PWM, serwomechanizmy, biblioteki

Pomocna odpowiedź

(edytowany)

Czy mógłbym poprosić o informacje, jakie konkretnie stabilizatory napięcia oraz kondensatory filtrujące zostały użyte przy sterowaniu serwomechanizmem ??
*sprawdzałem w zestawie do kursu, dostępnym na Botlandzie, jednak jest napisane jedynie:
"Stabilizatory 5V wraz kondensatorami"..., brak infomracji o ich pojemności oraz konkretnym typie stabilizatora 5V.

Dziękuję bardzo.
Pozdrawiam.

Edytowano przez Treker
Usunięty zbędny tag.

Udostępnij ten post


Link to post
Share on other sites

@eMECHANiK nie ma tutaj jednego, słusznego podejścia - możliwości jest wiele. W zestawach mogą znaleźć się różne elementy, ale zawsze będą odpowiednie (dlatego nie podajemy konkretnych symboli) 🙂 Jeśli nie wiesz jak samodzielnie dobrać i wykorzystać stabilizator to sprawdź kurs podstaw elektroniki: Kurs elektroniki – #8 – stabilizatory napięcia

Udostępnij ten post


Link to post
Share on other sites

@Treker

Rozumiem. Sterować chcę serwem z kursu, tzn: "Servo TowerPro SG-90 micro"

Przeczytałem artykuł, który podlinkowałeś i rozumiem, że mam dobrać stabilizator 7805 [V], aby uzyskać 5V na wyjściu z wejścia baterii 9 [V] (z powodów podanych w kursie NIE zasilam serwa przy użyciu bezpośredniego 5 [V] z Arduino).
Moją ostatnią niewiadomą są parametry kondensatorów, jakie mam dobrać dla tego układu - czy mogę prosić o pomoc (jaka pojemność i rodzaj) ?

Pozdrawiam.

Udostępnij ten post


Link to post
Share on other sites

@eMECHANiK w tym konkretnym przypadku nie zrobi to większej różnicy. Możesz np. wpiąć na wejście i wyjście po dwa kondensatory - ceramiczny 100 nF oraz elektrolityczny 100 uF (zależy od tego co masz pod ręką). Nie ma jednak co oszukiwać i czarować - w tym konkretnym przypadku (dla testu) powinno ruszyć nawet bez kondensatorów, ale oczywiście są one wskazane 😉 Jak chcesz zrobić wszystko idealnie to kieruj się dokumentacją techniczną do stabilizatora, który wybierzesz (znajdziesz tam przykładowy schemat podłączenia z dokładnymi wartościami kondensatorów). W każdym razie złe kondensatory (lub ich brak) na pewno nie uszkodzą układu. W najgorszym wypadku serwo będzie miało problemy z poruszaniem się.

Udostępnij ten post


Link to post
Share on other sites

@Treker

Dzięki za odpowiedź. Myślę, że sensownie uczyć się zgodnie ze sztuką, ponieważ nauki techniczne z założenia NIE są bezcelowe w swej konstrukcji.

Pozdrawiam.

Udostępnij ten post


Link to post
Share on other sites

Czy da się wgrać bibliotekę servo.h do Visual Studio Code? Mam z tym niemały problem.

Udostępnij ten post


Link to post
Share on other sites

@adamus013 witam na forum 🙂 Osobiście nie próbowałem, ale napisz proszę coś więcej na temat Twoich problemów - może znajdzie się jakieś rozwiązanie 🙂

Udostępnij ten post


Link to post
Share on other sites

Mam wgraną nakładkę PlatformIO do Visual Studio Code. Dodaną bibliotekę <Arduino.h> ale nie potrafię dodać biblioteki dotyczącej serwomechanizmów.  

Udostępnij ten post


Link to post
Share on other sites

Rozumiem, ale na czym dokładnie utknąłeś? 🙂

Udostępnij ten post


Link to post
Share on other sites

Program nie obsługuje polecenia #include <Servo.h>. Nie wiem jak to obejść i czy w ogóle się da w Visual Code?

Udostępnij ten post


Link to post
Share on other sites

@adamus013 czy w jakiś sposób dodałeś już/zaimportowałeś tę bibliotekę czy tylko próbujesz się do niej odwołać? Jeśli nie zaimportowałeś bibliotek (nie wskazałeś ich lokalizacji itd. to nie będziesz mógł ich używać).

Udostępnij ten post


Link to post
Share on other sites

Siemka,
Mam mały problem z serwomechanizmem.
Gdy zmiana pozycji wynosi mniej niż 41 (sprawdzałem) serwo wykonuje tylko jeden ruch od położenia zerowego, czeka tyle czasu ile by mu zajęło pokonanie całej drogi do wyzerowania pozycji nic nie robiąc i wraca do pozycji początkowej. Dodatkowo się nagrzewa (nie wiem czy powinien, bo to moja pierwsza styczność z serwomechanizmem mikro).

Problem wystąpił podczas punktu "Serwomechanizm w praktyce", ponieważ tam zmienna "zmiana" wynosi 6 z czym mój serwo sobie nie poradził i zaczął wariować jak opisałem powyżej.

Układ jest na 100% dobrze zmontowany. Może ja o czymś nie wiem. Z góry dzięki za pomoc.

Udostępnij ten post


Link to post
Share on other sites

@zbuduje_roboty witam na forum 🙂

4 godziny temu, zbuduje_roboty napisał:

Gdy zmiana pozycji wynosi mniej niż 41

Dla pewności - chodzi Ci o zmianę położenia serwa o mniej niż "41" jednostek, a nie o ustawienie serwa na pozycji z zakresu 0-41?

Udostępnij ten post


Link to post
Share on other sites

Witam ma kilka małych problemów ze swoim serwem. Dzisiaj pierwszy raz je podłączyłem robiąc kurs i zauważyłem że podczas pracy wydaje wysokiej częstotliwości dźwięk nie jest on zbyt głośny ale dosyć uciążliwy jeśli serwo przez dłuższy czas pracuje. Przy niektórych ułożeniach kabelków wychodzących serwo nie reaguje na komendy poprawnie. Cały zestaw zakupiłem na botlandzie. 

Wykonując zadanie 5.4 po wczytanej wartości serwo wykonuje poprawnie zmianę pozycji ale po upłynięciu delay-u  wraca do pozycji zerowej. Zero jest wypisywane również na monitorze portu szeregowego, mimo że nie jest tam wprowadzane.

#include <Servo.h>

Servo serwo;
int pozycja = 0;

void setup() {
  Serial.begin(9600);
  serwo.attach(11);
  serwo.write(180);
}

void loop() {
  if(Serial.available() > 0){
  pozycja = Serial.parseInt();
  Serial.println(pozycja);
  serwo.write(pozycja);
  delay(2000);
  }
}

 

Udostępnij ten post


Link to post
Share on other sites

@wiktorek00 witam na forum 🙂

6 godzin temu, wiktorek00 napisał:

Przy niektórych ułożeniach kabelków wychodzących serwo nie reaguje na komendy poprawnie. Cały zestaw zakupiłem na botlandzie. 

Spróbuj sprawdzić jakie jest źródło problemów - połączenia na płytce stykowej czy jednak przewody wychodzące bezpośrednio z serwomechanizmu. Jeśli masz kłopot z samym serwem to zgłoś reklamację w Botlandzie, na pewno szybko pomogą i wymienią serwo na nowe 🙂 Tym, że silnik wydaje jakieś dźwięki nie musisz się przejmować - to dość normalne.

6 godzin temu, wiktorek00 napisał:

Wykonując zadanie 5.4 po wczytanej wartości serwo wykonuje poprawnie zmianę pozycji ale po upłynięciu delay-u  wraca do pozycji zerowej. Zero jest wypisywane również na monitorze portu szeregowego, mimo że nie jest tam wprowadzane.

Sprawdź jakie masz ustawienia w monitorze portu szeregowego. Prawdopodobnie do wysyłanych danych automatycznie doklejasz znaki końca linii, które są później interpretowane jako zera. Wybierz opcję, która nie będzie dodawała żadnych znaków końca linii i sprawdź działanie programu raz jeszcze.

Udostępnij ten post


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

Gość
Napisz odpowiedź...

×   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...