Skocz do zawartości

Prośba o sprawdzenie schematu LF


sosnus

Pomocna odpowiedź

Jeśli robot ma być modyfikowalny to właśnie nie stosuj przetwornic ani stabilizatorów dla silników. PWM'em będziesz sterował ich max napięciem. Przy twoich 3V silnikach PWM będziesz dawał do max 50%, więc napięcie na nich (przy w pełni naładowanym pakiecie 2S) wyniesie ~4,2V. Jak przejdziesz na Pololu to tylko zmieniasz listing i sterujesz PWM'em do 100% (no 100% to trochę za dużo, jeśli jednak planujesz jakiś regulator, to czemu nie 😉 ).

Poza tym to obudowy SO8 banalnie się lutuje. Jedyne na co bym zwrócił uwagę to powiększyć pady lutownicze tak, aby cały pin oblał się cyną (wytrzyma większe obciążenia).

Tranzystor IRF7319 to para MOS-N i MOS-P. Dlatego wystarczą dwa do zbudowania półmostka. Pełny mostek H, służy do sterowania dwoma silnikami.

  • Lubię! 1
Link do komentarza
Share on other sites

sosnus, możesz bez problemu użyć mosfeta, niestety w smd sot23 - TSM2302CX - ten tranzystorek otworzy się bez problemu nawet przy 1V i jest dostępny w tme. Używałem go już wielokrotnie w identycznym zastosowaniu oraz we własnoręcznie robionych przetwornicach do zasilania ledów mocy z 1 akumulatorka litowego albo 2 paluszków.

  • Lubię! 1
Link do komentarza
Share on other sites

Sosnus, może najpierw uściślijmy pojęcia, OK?

"Mostek" to układ czterotranzystorowy, gdzie silnik włączony jest w przekątną, czyli żadnym swoim końcem nie dotyka ani plusa ani masy. Taka konfiguracja umożliwia conajmniej pracę prawo-stop-lewo a przy sterowaniu z PWM jeszcze regulację obrotów. Układ jest fajny ale silnik zawsze "widzi" po drodze dwa tranzystory - oba muszą być dobre by straty były małe. Dodatkowa trudność to sterowanie górnymi tranzystorami. Oczywiście robi się takie mostki (albo kupuje gotowe) ale jakby nie patrzeć są to układy bardziej skomplikowane niż..

"Półmostek" czyli tylko dwa tranzystory z silnikiem włączonym w punkt środkowy i masę lub (częściej) plus zasilania. Takie coś umożłiwia pracę silnika tylko w jedną stronę i oczywiście przy sterowaniu PWM masz regulację prędkości. Odmianą tego układu jest prosty klucz w układzie wspólnego emitera lub źródła - mniej więcej to, co zaproponowałeś na swoim drugim schemacie tylko.. inaczej. Górny tranzystor półmostka zastępujemy diodą i mamy prościutkie sterowanie silnika. Tranzystor "stoi" na masie a w kolektorze/drenie ma silnik.

Jeśli nie potrzebujesz w LFie zmian kierunku obrotów, nie pchaj się w mostki. Weź dwa wyjścia PWM procesora, podłącz do nich bramki dwóch MOSFETów typu N, w dreny wstaw silniki z diodami równolegle i masz całe sterowanie. Wszystkie elementy dostaniesz w SMD w obudowach jakie lubisz.

Zauważ, że nasza dyskusja przeszła miękko nad faktem zmiany wielkości zasilania. Moje uwagi co do trudności w użyciu mostka scalonego dotyczyły zasilania 3V. Teraz mając 5V na procesor i LiPol2S na silniki możesz już "poszaleć". No.. albo przynajmniej w ogóle to zrobić.

Jeśli do pomysłu systemu 3V jesteś jakoś przywiązany, to przyponij sobie jak pisałem, byś poszukał dobrych tranzystorów. Znalazłeś bipolarne i o tym później dyskutowaliśmy ale Xweldog podał Ci na tacy fajne MOSFETy załączające się od 1V. Nie sprawdzę tego teraz ale mam nadzieję, Xweldog, że wiesz co piszesz 😉 Wstawiając je (do mostka jak radzi Xweldog czy półmostka jeśli tylko w jedną stronę) możesz zrobić driver silników pracujący przy 3V co było Twoim celem na samym początku. Jak widzisz, rozwiązania pojawiają się z czasem i jest ich dużo. Przy dzisiejszym stanie techniki praktycznie wszystko, co nie jest sprzeczne z prawami fizyki da się zrobić. To tylko kwestia czasu i kosztów badań, poszukiwań, projektu itp.

I jeszcze jedno. Chciałbym, żebyś dokładnie zrozumiał to, co napisał Piotrek. Zrezygnowałeś ze stabilizatora liniowego (uff..) ale wciąż chcesz wstawiać przetwornicę obniżającą napięcie do silników. A co taka przetwornica będzie rzeczywiście robiła? Wyprodukuje sobie PWM o jakimś wypełnieniu i przepuści go przez cewkę żeby zrobić napięcie jakie jej zadałeś. A co ma robić Twój driver silnka? Ma wygenerować PWM, przepuścić go przez cewkę (silnika) i zrobić napięcie jakie mu zadałeś. Hm... Łapiesz? No to może dwa-w-jednym? Rozumiesz już, dlaczego przetwornica zasilająca silniki jest zbędna? Bo sam driver taką "przetwornicą" jest. Przecież to Twój procesor będzie sterował wypełnieniem, czyli średnim prądem cewki. Dysponując ponad 7V dasz 100% PWM przez minutę i pewnie będzie po silnikach ale spróbuj uwierzyć w siebie i napisać funkcje regulujące PWM tak, by silnika nie załatwić a jedocześnie mieć duży zapas na sytuacje, gdy będzie to potrzebne. Myślisz, że przetwrnica scalona robi inaczej? Gdy obciążenie jest małe, jej PWM ledwo widać ale kiedy obciążysz ją na poważnie, wypełnienie rośnie po to by skompensować wzrost strat w cewce, kluczu, diodzie, kondensatorach itp. Ty zrób tak samo, bierz przykład z lepszych. Normalnie steruj silniki np. do 50% - to i tak będzie szybko jak na prostego LFa, może nawet do 30% ale z czasem, gdy nauczysz się więcej, zaczniesz świadomie sięgać po wyższe zakresy. Hamowanie na zakręcie a potem szybki odjazd wymagają dużej dynamiki i zawsze będziesz tu górą w porównaniu z zachowawczymi projektami dysponującymi grzecznym, stabilizowanym zasilaniem jak mama przykazała. Po prostu odpalisz 100% na pół sekundy dostaniesz takiego kopa, jakiego żaden silnik sterowany z nominalnego napięcia nie osiągnie. Rozumiesz? Dzisiaj to tylko potencjalna możliwość, ale już ją masz. Duża różnica między 3V napięciem silników a 7V zasilaniem jest tu ogromną zaletą. Nie zmarnuj tego.

  • Lubię! 2
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

Marek1707, czyżbyś gdzieś znalazł jakąś mą złą podpowiedź że musisz je sprawdzać ? Zwłaszcza nt. mostków ? Pod rys.3 w art. H-bridge pisze, że zrobiłem taki na b.male U ( na zbliżonych strukturach ) więc jest dokładnie tak, jak napisałem.

Link do komentarza
Share on other sites

marek1707, całkowicie się z Tobą zgadzam, ale chyba muszę coś dać (przetwornicę lub stabilizator) między lipolem a silniczkami, aby robot się nie rozregulowywał podczas rozładowania akumulatora?

Link do komentarza
Share on other sites

To już zrealizujesz programowo. Powiedzmy, że dasz dzielnik napięciowy (stosunek napięcia przed stabilizatorem do napięcia, które podasz na pin ADC uC będzie wynosił 2:1). Napięcie na dzielniku spada np. o 1V, czyli napięcie akumulatora spadło o 2V. Proste i logiczne. Potem w programie realizujesz podnoszenie wartości PWM o określoną ilość, tak aby napięcie na silnikach było na tym samym poziomie, niezależnie od napięcia akumulatora 😉

Link do komentarza
Share on other sites

Zaraz, a co to znaczy "rozregulowywał", hę? W LFie masz jeździć po linii najszybciej jak się da. Jeśli nie zrobisz nic więcej oprócz sterowania silnikami w otwartej pętli (czyli bez znajomości informacji zwrotnej o prędkości obrotowej) to fakt, będą kręciły się wolniej ale co z tego? Przecież nos twojego robota ma jechać po linii - to jest główny cel. Algorytm hamowania i przyśpieszania odpowiednigo koła będzie działał nadal, mimo rozładowania akumulatorków. Dając wciąż 30% PWM robot będzie jechał to trochę wolniej niż na początku ale to niczego nie zmienia - może nawet lepiej, bo łatwiej utrzymać kierunek. Możesz też napięcie akumulatora po prostu mierzyć i uwzględniać tę poprawkę do wysterowania PWM kluczy.

Jeżeli natomiast myślisz o wypasionym LFie z super-dostrojonym PIDem, nad którym spędzisz dziesiątki godzin strojenia i któremu do optymalnej pracy zaszkodzi zmiana dynamiki napędu (a tak będzie) to albo zrób PID z automatyczną regulacją współczynników albo.. wstaw enkodery na silniki. Niech one zamkną pętlę regulacji i niezależnie od spadku napięcia utrzymają obroty na niezmienionym poziomie. Dodatkowe straty na stabilizatorze napięcia nie bronią się w żadnym wypadku. Jeżeli chcesz mieć zamkniętą pętlę - zamykaj ją na niskomocowych sygnałach niosących informację a nie na szynie zasilania.

EDIT: Piotrek, ile Ty piszesz znaków na sekundę? Nie muszisz spać, jeść? A może odrobić lekcje? 😃 Spoko, niezły jesteś.

  • Lubię! 1
Link do komentarza
Share on other sites

Potem w programie realizujesz podnoszenie wartości PWM o określoną ilość, tak aby napięcie na silnikach było na tym samym poziomie, niezależnie od napięcia akumulatora 😉

Stabilizator (np. na 5v) wydawał mi się prostszym rozwiązaniem. Skąd będę wiedział, że mam (i o ile?) podnieść pwm?

EDIT: Czyli stabilizator LM1117 na 5v na logikę tak, a na silniki żadnego stabilizatora ani przetwornicy, tak?

Link do komentarza
Share on other sites

Masz zrobić "stabilizator" prądu silnika, tak? Napięcie spadnie np. z 8.2V do 6V - ile to procent? O tyle samo procent podnosisz wypełnienie PWM. Tym samy masz dwa skrajne punkty regulacji. We wszystkich pośrednich napięciach akumulatora rozwiązujesz równanie y=ax+b Robisz to "na ślepo", ale przybliżenie będzie dobre. Oczywiście eksperyment jest ostatecznym weryfikatorem i jeśli okaże się, że prędkość przysiada bardziej lub mniej, zmienisz lekko współczynniki równania. W końcu masz procesor - sterownik, kalkulator i analizator danych w jednym. Nie pozwól mu się nudzić 🙂

Link do komentarza
Share on other sites

Ok, to zasilanie już całkowicie rozumiem.

A co z tym mostkiem?

Piotreks-89, w jednym chipie są dwa, chanel P i N, do pół mostka wystarczy jeden, dwa na cały.

Mam go zrobić z dwóch tranzystorów IRF7317?

Link do komentarza
Share on other sites

No właśnie, co z tym mostkiem? Chcesz go robić? Chcesz mieć obroty przód-tył? Jeśli tak, to go rób. Jeśli nie, wystarczy jeden tranzystor na silnik. Może zadaj bardziej konkretne pytanie, np:

Zdecydowałem się na zasilanie silników wprost z baterii LiPol2S i chcę mieć proporcjonalne sterowanie dwukierunkowe. Jak mam zrobić mostek do silników z 3V prądem zwarciowym 1.6A?

Albo:

Zdecydowałem się na zasilanie silników wprost z baterii LiPol2S i chcę mieć proporcjonalne sterowanie jednokierunkowe. Jak mam zrobić sterowanie silników z 3V prądem zwarciowym 1.6A?

Albo.....

itd.

EDIT: Tak jak napisał Xweldog, na jeden mostek musisz użyć dwóch takich struktur bo każda zawiera 2 tranzystory a musisz mieć w sumie 4. Zajrzyj do karty katalogowej tego elementu - wszystko stanie się jasne.

Link do komentarza
Share on other sites

Zdecydowałem się na zasilanie silników wprost z baterii LiPol2S i chcę mieć proporcjonalne sterowanie jednokierunkowe.

dokładnie 😃

EDIT: Ale jak mam to zrobić?

Link do komentarza
Share on other sites

marek1707, podłożę gardło pod nóż i nie zgodzę się z Tobą co do pewnej rzeczy 😋

Jeżeli natomiast myślisz o wypasionym LFie z super-dostrojonym PIDem, nad którym spędzisz dziesiątki godzin strojenia i któremu do optymalnej pracy zaszkodzi zmiana dynamiki napędu (a tak będzie) to albo zrób PID z automatyczną regulacją współczynników albo.. wstaw enkodery na silniki.

Nie buduję już FTL od dawna, ale obserwując konstrukcje na forum co nieco się dowiaduję. Z tego co zaobserwowałem, konstruktorzy starają się jak najbardziej odciążyć procesor, między innymi korzystając z komparatorów dla czujników zamiast ADC (choć ma to na pewno także inne zalety). Nie wszystko trzeba przecież robić programowo, może się ze mną nie zgodzisz, ale wg mnie prościej jest dołożyć 5 części i nie martwić się zmienianiem parametrów podczas rozładowywania akku niż dopisywać dodatkowe linijki kodu i regulatory, albo montować enkodery do tego celu.

W LFie masz jeździć po linii najszybciej jak się da.

Ale mało kto wykorzystuje obecnie maksymalne możliwości swoich silników, odkąd łatwo dostępne stały się Pololki. Dlatego właśnie najszybciej jak się da to nie znaczy zasilać silniki maksymalnym napięciem, tylko największym przy którym da się jeszcze opanować robota.

Oczywiście wszystko co napisałem nie ma sensu, jeśli się nie planuje do robota zaimplementować PD albo PID, ale wydaje mi się że warto taką ewentualność przewidzieć.

Link do komentarza
Share on other sites

O rajciu, i pewnie podejrzewasz, że to ja mam ten nóż?

Nie wiem co Ci odpowiedzieć. Przecież nie będę spierał się o jedynie słuszne poglądy na temat konstruowania urządzeń bo takich nie ma. Każdy ma jakieś własne doświadczenia, ulubione rozwiązania i przetarte ścieżki. Powiem Ci, co ja myślę.

Z tym odciążeniem procesora to chyba takie przymrużanie oka, prawda? 16 MIPSowy układzik, nawet jeśli jest 8-bitowym procesorkiem po prostu będzie sie nudził a przynajmniej na pewno nie jest przeciążony w najbardziej nawet wypasionym LFie. To chyba kwestia podziału zadań i ogólnego spojrzenia na program. Jeśli pisany jest w formie jednej dużej pętli, opóźnień i nawet przerwań do obsługi przetworników czy enkoderów, wciąż będzie tylko prymitywnym programikiem. A już stosowanie tam ARMów tłumaczę sobie tylko chęcią nauczenia się tej technologii - co samo w sobie nie jest niczym złym. Dopiero rozpisanie tego na współbieżnie wykonywane zadania, ich komunikację, kolejki komunikatów, bufory, semafory, algorytmy z dużym i małym priorytetem, tagowane strumienie I/O itp robi z tego poważniejszy problem programistyczny ale też i bardziej elastyczne rozwiązanie. Szczerze mówiąc nie zauważyłem żadnych takich przykładów na Forum choć wierzę, że najlepsi z Was takie programy tworzą. Jak bardzo jest źle pokazuje niedawno założony przez jednego z Kolegów wątek o systemach czasu rzeczywistego - choć akurat w LFie byłaby to motyka.. nie zaraz, armata na wróbla. Pomysł komparatorów "przyśpieszających" działanie czujników uważam osobiście za kuriozum ale jest z pewnością wielu wyznawców tej teorii - nie będę się spierał (albo w innym wątku, gdyby ktoś miał ochotę 😃 ).

A dokładanie części na zewnątrz? To też jest kwestią indywidualnej oceny autora. Jeśli miałbym robić jakieś zadanie programowo to przede wszystkim próbuję oczacować, jaki procent mocy obliczeniowej mi połknie. Jeśli miałoby to być np. zliczanie odległości między impulsami 10kHz to będzie to duży procent, bo zadanie niby proste ale tak często wykonywane, że nie zostanie wiele czasu na resztę. Napisałbym krótką funkcję która jednak robiłaby to co chcę, przepuścił ją przez symulator lub jakąś prostą płytkę i miał przynajmniej szacunek, jak bardzo jest źle. A tutaj, w przypadku kompensacji napięcia baterii? Wystarczy je mierzyć no, powiedzmy 2-10 razy na sekundę. Tyle samo razy możemy obliczać prościutki interpolator liniowy - może jedno mnożenie (albo przesunięcie jak się postaramy) i jedno dodawanie. Czy to jest jakieś obciążenie układu, który może wykonać 16 milionów instrukcji na sekundę? Żadne. W zasadzie przyjmuję, że nad takimi powolnymi procesami podczas szacowania obciążenia procesora w ogóle się nie pochylam. Z drugiej strony jeśli coś byłoby programowo zrobić trudno w AVR, np. oversampling i filtr rekonstrukcyjny do wyjściowego PWMa sterującego jakimś audio, to wolałbym zrobić filtr analogowy, nawet 6-rzędu niż upychać kolanem czas i współczynniki dla arytmetyki zmiennoprzecinkowej lub tracić pamięć na FIR. Inna sprawa, że pewnie wtedy zmieniłbym procesor na DSP 🙂

Te 5 części o których mówisz to przetwornica? To prawda, ani kosztowo ani "miejscowo" to nie jest dużo w jednostkowym projekcie ale jestem jej przeciwny z zupełnie innego powodu. Prostą decyzją zamykasz sobie drogę do fajnych eksperymentów. Skoro możesz mieć dużo wyższą dynamikę napędu to dlaczego to ograniczać? Bo na dzień dzisiejszy nie wiesz jak napisać program? Ja wiem, ze dałbym radę, więc z mojego punktu widzenia to proste zadanie. Jeśli młody chłopak nie ma tej pewności, niech napisze kawałek kodu zanim zrobi płytkę. Przecież nikt nie powiedział, że jedyną prawidłową kolejnością jest schemat-płytka-program. Niech projekt powstaje równolegle - być może będzie lepszy.

Właśnie z uwagi na PID uważam, że duży zapas dynamiki przyda się bardziej niż zachowawczy stabilizator. Mając drugie tyle napięcia (a może i więcej skoro piszesz, że ludzie nie jeżdżą na maksa) robot będzie miał szansę szybciej reagować na linię. A to chyba chodzi?

Teraz powstaje pytanie czy to wgóle ma sens (te duże osiągi silników) w sytuacji, gdy i tak dużo wcześniej tracimy przyczepność. Tego nie wiem. Być może wszystko zależy od przyszłego rozwoju tej konstrukcji. Jeśli trafimy na grabie związane z poślizgami, można pracowac na oponami, algorytmami przyśpieszania ale wciąż mamy szansę na coś lepszego. Z graniczonym napięciem - jesteśmy bardzo blisko granicy możliwości układu.

Nie uważam, że obecność przetwornicy będzie istotną wadą projektu. Będzie to działanie zachowawcze i z punktu widzenia całości - nieekonomiczne, ale nie będzie błędem. Jedną "przetwornicę" musimy i tak zrobić - to driver silnika. Co za różnica, czy będzie pracowała na 10-100% czy na 3-30% ? I tak dużo więcej problemów będzie z opanowaniem algorytmów optymalizacji prędkości, śledzenia linii, powrotu na trasę. Problem przeskalowania PWMa silników będzie naprawdę marginalny.

Uff... Zaraz, co tym nożem? Gdzieś tu leżał... 😉

Link do komentarza
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.

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