Skocz do zawartości

[C] Problem z regulacja PWM dla silników.


wojmajster

Pomocna odpowiedź

Witam,

posiadam robota z napedem opartym na dwóch silnikach pololu 298:1, sterowniku TB6612, silniki sterowane są za pomocą 10-bitowego FAST PWMa z timera1 Atmegi644. czectotliwosc PWMa to 7.8 kHz.

Zmieniam wypełnienie PWMa takie same dla lewego i prawego silnika nastepnie sprawdzam jak jedzie na wprost. Rozumiem, że silniki nawet z tej samej serii nie bedą mialy tej samej predkości obrotowej, ale ... .

Może ktoś jest w stanie mi wytłumaczyc dlaczego zadając wypełnienie 25% 50% 100% ściąga go w lewo, a dla wypełnienia 75% wartośc (768 wpisywana do rejestrów OCR1A i OCR1B) ściąga go w prawo. Sprawdzałem to wielekrotnie, nie znalazłem jak na razie innego wypełnienia dla którego tak znacząco ściąga go w prawo.

void PWM_init(void)	
{

TCCR1A|=((1<<COM1A1)|(1<<COM1B1)|(1<<WGM10)|(1<<WGM11));  

TCCR1B|=((1<<WGM12)|(1<<CS10));//|(1<<CS12)); 
}

Nie sprawdzałem jeszcze innych trybów PWMa, mógłby mi ktoś polecic jakieś sprawdzone ustawienie PWMa.

Link do komentarza
Share on other sites

Robiłeś testy dla pojedynczych silników? Sprawdź jak się zachowują przy płynnej zmianie PWM w jakimś forze. Może błąd leży gdzie indziej, tak będziemy wiedzieli, że to na 100% tylko wina PWM.

Link do komentarza
Share on other sites

Nie ma czegoś takiego jak "sprawdzone ustawienie PWMa". Jeżeli dobrze ustawiłeś tryby pracy timera i PWM się generuje a mostek zamienia to na poszatkowany prąd w silniku to jest OK. Jak słusznie zauważyłeś, nie ma żadnej gwarancji tej samej prędkości obrotowej ani... liniowości jej zmian. To zwykła mechanika i począwszy od szczotek, poprzez łożyska silnika, przekładnie zębate aż po opony jest słabo przewidywalna a już na pewno nie z dokładnością do pojedyńczych procentów. Czy możesz ocenić błędy trasy? Co to znaczy "ściąga w lewo"? Na jakiej długości odcinku jak bardzo zbacza? Jaka to jest różnica w drogach obu kół? Być może oczekujesz czegoś niemożliwego?

Jeżeli zatacza okrąg o średnicy np. 10 metrów - co w pokoju będzie widać właśnie jako naprawdę silne ściąganie w którąś stronę to przy szerokości pojazdu 10cm na trasie rzędu 3m masz różnicę dróg ok. 6cm a to się przekłada na różnicę prędkości obrotowej ok. 2%. Dlaczego miałaby on być stała i liniowa w całym zakresie napięć zasilania? Jaką musisz dać poprawkę w PWM by pojazd jechał prosto? Na to jeszcze nakładają się efekty związane z zasilaniem - ono też przecież zmienia się w zależności od obciążenia a na takie zmiany każdy silnik może reagować trochę inaczej itd. Czy wspomniałem o mostkach, które grzejąc się zmieniają swoje parametry nieliniowo?

Byłoby fajnie, gdyby pooprawka była liniowo zależna od wysterowania silników, ale jeśli tak nie jest, nie doszukiwałbym się błędów w PWM. Niestety, bez informacji zwrotnej o rzeczywistej prędkości każdego koła jesteś skazany na znalezienie charakterystyki każdego napędu osobno i dodawanie poprawek 🙁 lub jeżdżenie po linii. Sprawdź przy różnych poziomach zasilania i dla różnych częstotliwości PWM - wyniki moga być ciekawe.

Link do komentarza
Share on other sites

Dziekuje za zainteresowanie tematem.

Być może oczekujesz czegoś niemożliwego?

Pisząc ten post szukałem rozwiązania, które może mi dac wyregulowanie silników do jazdy na wprost. Bez użycia enkoderów i regulatora staje sie to pewnie niewykonalne, wiec ich użyłem i spełniło to swoją funkcje.

Ściąganie miało coś wspólnego z przekładnią, ale też coś nie tak działo sie przy wypełnieniu na 3/4. Nie mam za bardzo już czasu żeby to wybadac. Nic nie jest idealne.

A znaczne ściąganie to miałem dopiero jak zasiliłem silniki z 14V, robot krecił bączki o średnicy ok. 30cm.

Teraz regulator w przedziale napiec od 6V do 8V radzi sobie z jazdą na wprost.

Pozdrawiam

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

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

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.