Skocz do zawartości
Zaloguj się, aby obserwować  
komanche

L293D - silniki straciły moc, układ się grzeje.

Pomocna odpowiedź

Witam!

Jestem w trakcie budowy prostego robota o bliżej nie określonym zastosowaniu (na razie).

W tej chwili skończyłem budowę elektroniki na płytce uniwersalnej (wolę sprawdzić jak co działa i dopiero robić druk), jako "napęd" podłączyłem dwa identyczne silniczki. Podłączone bezpośrednio do baterii mają "kopa". Jednak podłączone przez L293D sterowany atmegą8 (pwm=255, wypełnienie 100%) zupełnie tracą moment obrotowy, zatrzymuje je nawet lekkie dotknięcie, mimo napięcia zwiększonego dwukrotnie niż bez L293D. Równocześnie, układ L293D prawie się gotuje.

Program, który wgrany jest na atmegę to pobrany z sieci test_motor.bas z Konar.

(zmieniłem tam tylko porty w aliasach, by pasowały do mojej konstrukcji).

Nie zamieszczę go, bo nie znam licencji na niego, a nie chciałbym robić moderatorowi roboty z kasowaniem tego.

Przy pwm = 100 silniczki nie mają siły nawet obrócić się bez obciążenia, tylko brzęczą dźwiękiem odpowiadającym częstotliwości PWM. I oczywiście - L293D osiąga 60 stopni.

Oto schemat podłączenia:

(Kondensatory bez opisu to 100nF ceramiczne)

Czy czeka mnie budowa mostka H na elementach dyskretnych, dla silników, które biorą raptem 200mA w czasie pracy i 2A przy całkowitym zatrzymaniu? To by było bez sensu. Docelowo napędem będą dwa serwa z wyciętym ogranicznikiem i elektroniką, jednak wciąż czekam aż przyjdą pocztą. (kupione z allegro po 10zł/szt) a zasilaniem silników będą modelarskie pakiety 7,2V 800mAh (które też jeszcze nie doszły...). Zasilanie elektroniki - bez zmian, bateria "płaska" jest wspaniała i tania. I dostępna.

Proszę o pomoc przy znalezieniu przyczyny, dla której ten mostek scalony tak pogarsza parametry silników i się grzeje.

Udostępnij ten post


Link to post
Share on other sites

Spróbuj taki program:

Config Portb = Output
Config Portd = Output

Portb.0 = 1
Portd.7 = 0

Portd.5 = 1
portd.6 = 0

Spróbuj usunąć kondensatory przy silnikach w ramach testu. teoretycznie nie powinny przeszkadzać, ale możliwe, że ta kostka nie lubi z nimi współpracować.

Minimalne napięcie logiki to 4,5v - dlatego zasilanie logiki z 1 baterii 4,5v się nie nadaje, ponieważ rozładowana bateria ma napięcie duuużo mniejsze - użycie aku 7,2v spokojnie wystarczy - logikę zasil ze stabilizatora 5v.

A jak bezpośrednio podasz sygnały na l293D (bez procesora - kabelkami do zasilania) to problem też wstępuje?

Możesz mieć też uszkodzoną kostkę.

Udostępnij ten post


Link to post
Share on other sites

Sprawdź, czy dobrze wysterowałeś piny 1A, 2A, itd. (portb.0, portd.7).

Poza tym może być zwykły błąd w połączeniach - odłącz silniki i zobacz, czy L293 się nie grzeje.

Ja planuję dzisiaj wieczorem uruchamiać ukłąd na L293, schemat podłączenia właściwie identyczny, więc zobaczę co się u mnie będzie działo.

Udostępnij ten post


Link to post
Share on other sites

Bateria w tej chwili ma 5,16V i jej napięcie raczej nie jest problemem. Zaraz wgram nowy program, dodam tylko jeszcze stan wysoki na porty B.1 i B.2, które podłączone są do wejść 1-2EN i 3-4EN.

Edycja:

Wgrałem program, bez pwm i zmian kierunków i... w czasie pracy silników układ zimny. Bez silników - jak można się domyślić - układ zimny. Moment nadal gdzieś w okolicach 10% podłączenia bez układu. Byle by serwa chciały działać jak trzeba...

Bez pwm (pomimo wypełnienia 255) siła trochę wzrosła (czemu?).

Udostępnij ten post


Link to post
Share on other sites

Właśnie podłączyłem u mnie L293D. Działa bez problemu. Co prawda przy zasilaniu 5V na silniku jest tylko 3,7V, ale to już urok tego układu.

Na razie nie używałem PWM-a, na piny EN dałem 1, na 3A->0, 4A->1 i silnik się kręci.

W moim układzie nie dałem kondensatorów, ale one raczej pomogą, niż zaszkodzą.

Sprawdź miernikiem piny układu L293, czy są napięcia jak powinny, zobacz, czy nie masz gdzieś zwarcia. Poza tym nie mam pomysłu dlaczego nie działa.

Udostępnij ten post


Link to post
Share on other sites

Nie mam zwarcia nigdzie, pomimo robienia bez schematu i na płytce uniwersalnej (co estetyką dorównuje pająkowi) staram się unikać błędów i sprawdzać wszystko kilka razy.

Może mi się wydaje, że silniki są słabe? Może taki ich urok... Tak, czy owak - sterownik już mam. Tematu na razie nie zamykam, bo problem może wrócić przy zabawie z serwami.

Pozdrawiam, w razie problemów z programowaniem w BASCOM AVR i/lub zachowaniem uC atmega chętnie służę pomocą.

Udostępnij ten post


Link to post
Share on other sites

Dopiero teraz przeczytałem edycję posta. Wygląda mi na problem z indukcją silnika.

Na pewno masz ukłąd L293D - chodzi o D ? Bo inne wersje nie mają diód i trzeba dodać na zewnątrz.

Na próbę możesz takie diody dodać, najlepiej schotky. Kiedyś miałem podobny problem z silnikiem krokowym i sterowaniem przez MOSFETa. Indukowało się ponad 100V.

Udostępnij ten post


Link to post
Share on other sites

Układ produkcji ST, L293D, pod spodem numer: 89112/

Diód szybkich nie mam na stanie, a sklep elektroniczny jest... 90km od mojej obecnej lokalizacji. Ale wersja D ma te diody w strukturze, przynajmniej wg. datasheeta.

Grzanie się podczas hamowania silnikiem jest dla mnie zrozumiałe. Jednak podczas regulacji obrotów za pomocą PWM układ powinien być zimny a moment powinien być stały (założenia PWM). A tak nie jest.

Pozdrawiam i dziękuję za zainteresowanie tematem.

Udostępnij ten post


Link to post
Share on other sites

Jaki prąd jedzą silniki?

Udostępnij ten post


Link to post
Share on other sites

Pisałem w pierwszym poście, 200mA w biegu jałowym (a tak właśnie chodzą teraz) pod obciążeniem w postaci pojazdu składającego się z baterii i silniczka (+ przekładnia i koła) wynosi 500mA. Przy całkowitym zatrzymaniu silnika - 2A. Pomiary robione bez układu, podłączone do baterii na krótko.

Udostępnij ten post


Link to post
Share on other sites

Więcej już głowy nie zawracam, ale jeszcze jedna możliwość. Podłączyłeś do B.1 i B.2, czyli Timer1. Timer1 jest 16-bitowy, więc max. wartość pwm może być inna niż 255.

Udostępnij ten post


Link to post
Share on other sites
Więcej już głowy nie zawracam, ale jeszcze jedna możliwość. Podłączyłeś do B.1 i B.2, czyli Timer1. Timer1 jest 16-bitowy, więc max. wartość pwm może być inna niż 255.

Generator PWM zrobiony na Timer1 jest 8 lub 10 bitowy. Dla PWM 8 bitowego wartość maksymalna wynosi 255, a dla 10 bitowego 1023.

Udostępnij ten post


Link to post
Share on other sites

Z tego co mi wiadomo timer1 jest 16-bitowy, ale dzieli swoje możliwości na dwa pwm'y. Sprzętowo z timera1 można uzyskać pwm 10-bitowy i potem "dodać" mu jeszcze dwa bity rozdzielczości programowo, ale... po pierwsze - przy wykorzystaniu tylko jednego PWM z jednego timera, po drugie - jest to dziwna zagrywka, bo doświadczalnie zauważyłem, że przy 12 bitach rozdzielczości PWM wszystko działa powiedzmy niestabilnie i niedokładnie a po trzecie - produkuję się nad zagadnieniem nie związanym z tematem, ale edukacja jest ważna.

Pozdrawiam i dziękuję za sugestie.

Edit:

Pawel, wyprzedziłeś mnie 🙂

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!

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.

Zaloguj się, aby obserwować  

×
×
  • Utwórz nowe...