Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam, jestem jak jest napisane w dziale 'Zupełnie zielony', usilnie staram się zaprogramować gotowego robota minisumo, zacząłem od diod, teraz próbuje poruszyć w końcu silnikami po przeczytaniu różnych tematów książek i poradników nie udaje mi się tego zrobić. Proszę o napisanie mi krótkiego programu w C który poruszy np. jednym mostkiem w którąś ze stron na kilka sekund. Załączam schemat.

__________

Komentarz dodany przez: Treker

Schemat.thumb.png.01cb07a31d42e3b9cb3763b51553d5fd.png

Nic z tego. Nie dostaniesz gotowego programu. Powiedz lepiej jak to możliwe, że umiesz(?) zamrugać(?) diodkami a nie umiesz wystawić kilku stanów logicznych na wyjścia sterowania mostkiem. W jakim środowisku tworzysz kod? Czy możesz dać link do dokumentacji tego robota? Kolorowe obrazki to nie jest to co tygrysy lubią na jesień.

Nie odpowiedziałeś na jeszcze jedno pytanie. Nie dostaniesz nic gotowego, ale możesz otrzymywać wskazówki, jeśli wykażesz się pracą własną. Pokaż ją nam. Pokaż, że umiesz sterować diodkami i pokaż jakie konkretnie masz kłopoty ze sterowaniem silnikami. Pokaż, że rozumiesz działanie drivera silników i wskaż miejsce w którym się zaciąłeś.

Jeśli chodzi o sterowanie silnikami dowiedziałem się że muszę ustawić w przypadku tego robota PC6 na stan wysoki PC5 na stan niski, lub odwrotnie by kręciło się w drugą stronę.

Lecz tutaj dochodzi zasilanie zewnętrzne i nie mam pojęcia jak się za to zabrać.

Załączam program mrugania diodą.

dioda.thumb.png.7d97f4fae41a2cf39aeb63b1e9ad72c6.png

Co znaczy "dochodzi zasilanie zewnętrzne"? Musisz pisać jaśniej, bo nie siedzimy w Twojej głowie ani też nie mamy widoku zza pleców na Twoje biurko, robota i ekran komputera.

Czy dobrze rozumuje jeśli chodzi o poruszenie silnika? A z zasilaniem chodzi mi o to że zasilanie z baterii idzie prosto do silników, i nie wiem jak to obsłużyć.

Nie wiem. Ja na stronie producenta tego robota znalazłem kilka dokumentów:

http://www.mobot.pl/index.php?site=download&file_type=40

Jednym z nich jest zzipowany komplet schematów ideowych i tam mam procesor ATmega32 i dwa mostki A3953, ale ich połączenia z procesorem są inne niż na Twoim kolorowym obrazku. Na innym z kolei schemacie rzeczywiście mamy dwa proste driverki sterowane dwoma sygnałami kierunku i PWM. Jeżeli wierzyć temu drugiemu, to tak, musisz podać przeciwne stany logiczne na wyjścia MxA/MxB (za x wstaw L lub R) oraz wysłać stan 1 na odpowiedni MxPWM.

To chyba dobrze, że zasilanie z baterii idzie wprost do driverów silników? Co Cię w tym niepokoi?

Każdy z dwóch driverów silników ma trzy sygnały: dwa z nich (MxA i MxB) decydują o polaryzacji napięcia na każdej ze "stron" silnika. Gdy oba będą w stanie 0 lub oba w stanie 1 silnik nie będzie się kręcił. Gdy stany będą różne, kierunek obrotów będzie zależał od tego gdzie jest jedynka. Dodatkowo jest jeszcze sygnał, który możesz wykorzystać do regulacji prędkości. Dopóki jest on w stanie 0, możesz dowolnie kręcić pozostałymi dwoma a silnik ani drgnie. Ale jeśli na MxPWM wystawisz stan 1, silnik zacznie się obracać. Jeśli natomiast będziesz tu wysyłał sygnał PWM z wbudowanego w procesor specjalnego timera, możesz regulować prędkość (w kierunku zadanym kombinacją dwóch pozostałych sygnałów) od zera do jakiegoś max określonego napięciem baterii. Czy to jest jasne?

  • Pomogłeś! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...