58. . Projekt Robot - sterownik L298N i omijanie przeszkód
Вставка
- Опубліковано 11 лют 2025
- Ciąg dalszy zabawy z robotem (a właściwie tylko z podwoziem). Dziś dorzucam czujnik ultradźwiękowy dzięki czemu robocik przestanie walić głową w przeszkody :)
PS. Sorry za moje "yyyyy" którego jest w filmie cała masa i zauważyłem to dopiero po nakręceniu całego materiału. Postaram się poprawić w przyszłości.
Schemat i sketch na Google Drive: drive.google.c...
Użyty sterownik do silników:
www.ebay.com/it...
Podwozie robota:
www.icstation.c...
Facebook: / elektromaras
Muza:
"Dance of the Sugar Plum Fairy" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
creativecommons...
Tym driver'kiem można sterować prędkością. Do tego służy pin enable A (ENA) i enable B (ENB), które są wpięte jumperem do sygnału 5V. Ale możesz ten jumper wypiąć i wpiąć sygnał PWM z pinu Arduino i za pomocą sygnału PWM sterować prędkością silnika. Zarówno kanałem A jak i B. Pozdrawiam. Fajna prezentacji.
Na prawdę prosty i skuteczny sposób na takiego robota. Świetna robota
Super projekt, tak jak wszystkie inne. Na polskim You Tube nie ma alternatywy dla tego kanału :)
@Elektro Maras co to bylo za zasilanie do arduino ( to czarne pod driverem ). dasz mi linka do tego pls
Genialne jednym słowem.
Obejżałem prawie końcówke filmu wydaje mi się że jednak masz czache na czasie, szkoda tylko że tak mało w polsce jest tak mało robodriverów japonia i stany wyprzedzają nas o wiek do przodu.
witam mam pytanie czy zamiast rozpisanoa tego powtarzalności nie można użyć opcji FOR ? podając częstotliwości powtórzeń proszę o odpowiedź. Zamierzam odwzorac Pana robota dla dziecka pod choinkę ( może uda się ) dopiero zaczynam przygode
proszę również o pomoc w zapisie takiej myśli ( robot jedzie do przodu bez podania czasu w ms tylko zamiast ms podać do momentu napotkania przeszkody wtedy ma zrobić stop. więc w miejscu dealy podać pin echo ?
Koła to ma zajebiste :o
Konkret ja zaczynam dopiero kupilem i ucze sie.jest w tym moc
Witam, na początku złożyłem układ z samym czujnikiem ultradźwiękowym, działał wyśmienicie, następnie złożyłem robota według powyższych wytycznych ( jedyna różnica to to że użyłem sterownika chińskiego tego z początku filmu, innego nie miałem :) ), po wgraniu programu robot co mniej więcej sekundę wykonuje sekwencje omijania pomimo iż niema przed sobą żadnych przeszkód ;). Pomyślałem ze czujnik ultradźwiękowy się zepsuł wiec znowu złożyłem układ z samym czujnikiem który działa, kolejno złożyłem robota i znów to samo :) Co począć ?
Elektro Maras mam do ciebie wielka prośbę czy mógłbyś do tego pojazdu zamontować moduł bluetooth i sterować samochodzikiem z tabletu czy tez smartphone byłbym bardzo wdzięczny.Pozdrawiam
I know że ten film był dawni temu ale to informacja dla innych osób co to oglądają ten sterownik prezentowany na filmie ma możliwość sterowania PWM tak gdzie są te zwory to jedna z nich to 5v a druga jest to sygnał PWM do sterownika wystarczy zdjąć zwore i podłączyć odpowiedni pin do adruino
Nareszcie filmik z robotem . Ja już swojego robota męczę parę tygodni , zrobiłem mu sterowanie na bluetooth oraz czujniki tcrt5000 i czujnik ultradźwiękowy i tu pojawił się problem jak na razie nie do przeskoczenia , gdy fale dźwiękowe czujnika ultradźwiękowego nie mają się od czego odbić ( odległość pomiaru ponad 4m) to robot zachowuje się tak jak by wykrył przeszkodę i cofa do tyłu .Elektro Marasie pomóż rozwiązać ten problem :)
Daj jakiś namiar to Ci pomogę
mateusz.gt540@gmail.com albo gg 17631162
+Tomasz Wasiński (wasyl2007) mialem taki sam problem i pomoglo resetowanie czujnika przez tranzystor (chwilowe odciecie od niego napiecia). jeśli znasz jakies lepsze rozwiazanie to podziel sie tutaj.
Witam, oglądam Pana filmiki i dlatego chciałbym się doradzić jaki że jest już Pan doświadczony. Czy na takiej płytce Arduino i z większymi silnikami mógłbym zrobić taki pojazd wielkości ' krzesła '? trochę śmiesznie brzmi ale właśnie chodzi mi o taki większy projekt i taka płytka mogła by sterować większym pojazdem ? Proszę mi doradzić 🙂
Tak z czystej ciekawości... chociaż pewnie odkopię mocno film. Co by było gdyby pomiędzy outputem z płytki, a silnikiem wmontować jakiś potencjometr/rezystor ? Z mojej wiedzy wynika, że uzyskamy sterowanie ilością obrotów/zmniejszymy obroty ale nie jestem do końca pewien.
Tak ale lepiej zrób PWM. będziesz mógł z poziomu arduino tym sterować.
Jak to nie można regulować prędkością obrotową silników w tym L298N? A PWM to co? Nie wprowadzaj ludzi w błąd.
dokładnie, te piny boczne na których są zworki to piny do regulacji pwm z tego co pamiętam
Krzysztof Trybuła Te piny boczne to ENA i ENB. Bo usunięciu zworki odłącza się dany silnik (A lub B).
Co do wprowadzania w błąd - nie miałem i nie mam takiego zamiaru. Ale w opisie do tego drivera nigdzie nie znalazłem informacji na temat regulacji prędkości (tak to jest z opisami na Ebay). Sprawdzę to w każdym razie i jeśli będzie działać to nie omieszkam sprostować tego faktu w następnym filmie z robotem :)
Elektro Maras tak po usunięciu zworki silniki nie pracują bo to pin pwm i jest wtedy 0, podłącz te dwa piny do pinów pwm na arduino i podaj na nie analogWrite od 0 do 255 i tak możesz regulować prędkość :) jeśli masz włożoną zworkę to na pinie masz stałe 5v więc 255 w pwm
Elektro Maras Każdy mostek H działa podobnie: pin ENA i ENB umożliwiają sterowanie silników z użyciem PWM - funkcja wykorzystywana jest np. do płynnego startu lub regulacji prędkości. Podajemy na to wejście sygnał prostokątny o regulowanej szerokości impulsów i czym szersze impulsy (większe wypełnienie przebiegu) tym większa moc idąca na silniki.
***** +Krzysztof Trybuła Dzięki Wam obu za podpowiedź :) Teraz już ogarnę całość bez kopania w necie. Pobawię się tym i w następnym filmie dodam tą funkcję. Jeśli nie macie nic przeciwko to chetnie wspomne o Was w filmie.
Będzie działało na jednym zasilaniu (4 x aku. 1,5V)?
Witam,
Mam pytanie, dopiero zaczynam przygodę z arduino i mam proste pytanie. Chciałbym się dowiedzieć czy język w jakim Pan programuje to "uproszczone C dla Arduino"??
Byłbym wdzięczny za odpowiedź, w szkole programuje w C++ i uczenie się nowego języka średnio mi sie widzi. A jeżeli Pana projekty są pisane w C to bardzo by mi to ułatwiło życie.
Pozdrawiam!!
+Seldo To jest C jak najbardziej. Tak jak napisałeś, jest nieco uproszczone ale wszystkie zasady są te same.
naucz się tylko o pinach i to tyle z różnic
Fajowa jazda :)
PS.
Miałem podobnie, czyli kiedy całą konstrukcje pojazdu złożyłem, wypadła mi z rąk i piękny kawał pleksi odłupał się. Tyle, że moje pojazdy wycinam sobie sam z płyty, którą kupiłem w budowlanym markecie za 70 zł - więc mam z czego dorobić platformę w razie takich awarii.
Super film.
A jeśli by wykorzystać sterowanie ze starego Helikoptera???
Czyli mamy dwa silniczki.
Drążek przód = oba maja wyoki
Drążek tył = oba silniki niski
lewo = jeden z silników ma wysoki a drugi średni (czyli nie pełne wypełnienie)
analogicznie prawy
Problem jest tylko taki ze napięcie na wyjściu jest "PWM" czy arduino sobie z tym poradzi jak napisać do takich odczytów program??
Spokojnie sobie Arduino da radę z odzytem sygnału PWM. Możesz skorzystać z funkcji pulseIn - ona zmierzy szerokość sygnału PWM i będziesz mógł to przekształcić na sugnał podawany na silniki
Na elektrodzie założyłem nowy temat:
Opisany ze zdjęciami i kodem na Arduino.
Prosił bym jeśli Pan znajdzie wolną chwile o pomoc, dokładnie co zmienić w kodzie.
www.elektroda.pl/rtvforum/topic3304962.html
Z góry dzięki.
Pozdrawiam
Marku, mogę Cię prosić o zrobienie podwójnego potencjometru cyfrowego? Chociażby na układzie mcp42050.
szukam drivera, na 5 silników do "robotic arm" polecacie coś?
Witam,
Czy mógłbyś wrzucić obrazkowy schemat połączeń? bo szukam na twoim dysku i niestety ale nic tam nie ma...
No bo chyba nie zrobiłem nic takiego. Uznałem że po obejrzeniu poprzednich filmów każdy ogarnia gdzie co jest podłączone... Sorry ale to było prawie 2 lata temu i już mi wyparowało z głowy na dobre...
@@elektromaras Czy kod w tym filie jest w języku C ?
@@MarMarBB1 nie, to język do Arduino
aby zasilić arduino do jakiego pina należy wpiąć kabelek? 5V czy do masy?
5V do 5V a masę do masy
Poza tym, że kod dość biednie pokomentowany i trzeba się domyślać co i jak(szczególnie jak ktoś nie zna dokładnej specyfiki arduino), to bardzo ładny mikroprojekt. Gratuluję, na pewno ostatnie filmiki lepsze od kilku poprzednich.
Własny pomysł, czy oparty na czyichś rozwiązaniach?
Oj tam, oj tam. Przy 58 projekcie to już mam nadzieję że każdy już ogarnia digitalWrite().
Poza tym jest w filmie odnośnik do czujnika ultradźwiękowego więc pożna podejrzeć jak się oblicza odległość.
Tak naprawdę to akurat oceniam ten projekt jako jeden z prostszych i myślę że stać mnie na coś ambitniejszego (ale wszystko po kolei).
A co do jakości filmów - nauka nie idzie w las i wychodzi na to że coś jednak przyswajam :)
Pomysł? Wlasny. Ale wdziałem już tyle podobnych rozwiązań i filmów że pewnie dało by się to wpasować w czyjś projekt. Tak jak mówiłem - nie ma ty odkrywania Ameryki tylko trochę zabawy :)
Elektro Maras Musiałem zerknąć do opisu tej funkcji, żeby wiedzieć jak działa i jest to dość ciekawe. W każdym razie, w C to jakoś schludniej wygląda.
Im większy poziom abstrakcji języka programowania, tym bardziej liczą się dobre nawyki programistyczne. Chociaż i w assemblerze należy sporo komentować.
Co do pinów, to:
1. Dużo lepiej, żeby to była stała: arduino.cc/en/Reference/Define Kompilator oczywiście powinien to przerobić na stałą, ale w przypadku próby modyfikacji, to zacznie mocno protestować
2. Typ int to nie za dużo? Wydawałoby się, że bajt starczy. W przypadku mikrokontrolerów takie nadmiary są niezdrowym nawykiem
3. Nazwy tych pinów jednak mogłyby być większe, bardziej oczywiste przy czytaniu kodu.
Co do odmierzania czasu:
Nie lepiej użyć do tego timerów? Zasilanie masz z baterii, to w sumie w takim przypadku rozrzutność jakim jest korzystanie z funkcji delay(); jest raczej złym nawykiem. Szczególnie, jak w tym przypadku, że procesor robi coś konkretnego bardzo rzadko.
Wybacz, ale ten kod jest raczej mało schludny, warto przejrzeć kilka ładnych projektów. Podejrzeć techniki innych programistów.
Pan Ziemniak
1, 2. Tak, lepiej byłoby użyć stałej preprocesora do tego celu, a nie zużywać pamięć mikrokontrolera, aczkolwiek to prosty projekt i w tym wypadku nie ma czym się przejmować. Szczególnie jeżeli weźmiemy pod uwagę zasoby sprzętowe At328.
mkconel Nie zrozumiał Pan, kompilator to i tak potraktuje jako stałą. To jest po prostu zła praktyka i lubi prowadzić do błędów. Np. użycie "=" zamiast "==" i szukaj tu błędu, ciężko, prawda?
Swoją drogą to wszystkie LUT też lepiej umieszczać w pamięci programu, ponieważ po prostu szkoda RAMu.
Co do podpunktu drugiego, to uwaga tyczyła się ogólnie używania zbyt dużych typów danych. Przy małych projektach i dużych zasobach to nie gra roli, ale procesory serii ATtiny łatwo zapchać, prawda? Wystarczą same liczby zmiennoprzecinkowe.
Złe praktyki należy tępić w zarodku, bo później przysparzają wiele problemów programiście i innym.
Moc pobierana przez układ, to w rozwiązaniach mobilnych palący problem, niepotrzebne obliczenia, to morderstwo.
Pan Ziemniak Wiadomość z ostatniej chwili! Dzisiaj miałem pierwsze zajęcia w nowym semestrze z programowania. Tyle że zamiast Processingu przechodzimy na mikrokontrolery. Będą timery, dobre praktyki i w ogóle wygląda na to że będzie ciekawie :) No to i jakość moich skeczy sie pewnie poprawi. A jak coś zrobię nie tak to nie będę mógł się tłumaczyć że jestem amatorem... Więcej szczegółów opowiem na drugim kanale, na początklu przyszłego tygodnia.
coś na tym google drive nie moge odszukać skatcha, mozesz go zamiescic, albo ktos inny mi go moze podesłać?
wchodzisz w link wybierasz projekty z filmów od 51 do 100 potem 58 projekt robot i tam masz
... właśnie zobaczyłem że ten komentarz został dodany 3 lata temu ... : |
Sprawdziłem, da radę zasilać najpierw sterowanie silników poprzez 8 baterii AA, a następnie ze sterowania wyprowadzić 5V na płytkę Arduino.
Ja zrobiłem to tak, że podpiąłem dwa pojemniki na 4 baterie każdy do wejść 12V i GND. Następnie do GND podpiąłem jeszcze kabel masy mający za zadanie zasilać Arduino (czyli w sumie do tego wejścia podpięte są 3 kable, jakimś cudem weszły) oraz do wyjścia 5V kabel zasilania do Arduino.
Tak, da się. Tylko że mi to nie chciało działać. Niby Arduino się świeci, bluetooth świeci ale nie reaguje na komendy z tableta
Zrobiłem podobnego robota i zmieniłem trochę program i teraz ma funkcję strażnika lub sterowanie gestami a w programie zmieniłem tylko to >
fajny projekt
A gdyby tak podlaczyc do niego kompas jazda jegi byla by bardziej przewidywalna i dajaca sie programowac
Mateusz pomyśl nad tym daj to w void loop
if(dist < 0) dist = 500;
ZDUPINO UNO dobry jesteś :D
Maras możesz coś poradzić bo czujnik często zwraca mi wartość 0 np. 40 45 46 44 0 44 45 43 i mi się gubi robot. Próbowałem też na innym czujniku też hc 04 (chyba taka była nazwa :) )
Zbierz z 5 wyników i wylicz średnią. W takiej sytuacji nawet jak masz 40,45,46,44,i 0 to średnia wyjdzie 35 i nie będzie aż tak wariował.
Robiłem to ale 1 na 6/7 wyników to 0 :( zastanawiam się nad lepszym czujnikiem, ale jaki ? Dobrze by było aby miał do 1.5m działanie
MartinerPL
Mam ten sam problem. Zrób pętle która mierzy odległość do póki nie będzie ona różna od zera.
dawałem warunek if x
a mi ten sterownik śmiga jednak z Arduino nie puszczam maksymalnego napięcia tylko ustawiam przykładowo analogwrite(pin,240)
kuadam100 Kolego, analogWrite() nie ma nic wspólnego z napięciem. Wartość parametru podana do tej funkcji powoduje odpowiednie wypełnienie sygnału PWM, gdzie wartość napięcia jest i tak zawsze 5VDC.
Przykładowo: jeżeli podasz do tej funkcji wartość 127, to uzyskasz połowę wypełnienia, ale napięcie dalej pozostanie to samo - sprawdź na oscyloskopie jak wygląda sygnał PWM.
Elektro Maras spalił układ zapewne poprzez puszczenie za dużego prądu do silnika, którego owy układ nie był w stanie przetrzymać.
mkconel Pewnie tak tyle że według noty producenta te silniki nie są niby w stanie wykończyć tego drivera. Same silniki ciągną od 70 do 250mA max. Driver (przynajmniej w teorii) może dostarczyć do 800mA na kanał. No niestety zderzenie praktyki z teorią wyszło na niekorzyść drivera...
mkconel Teoria sygnałów- w zasadzie każdy sygnał można rozłożyć na wartość stałą i harmoniczne. Po odfiltrowaniu harmonicznych, zostaje nam sama wartość średnia, czyli PWM ma dużo do zmiennego napięcia.
Postać czasowa natomiast, racja, to sygnał unipolarny.
Inna sprawa, że niektórym tutaj zdarza się nie do końca rozumieć co robią.
mam problem ze swoim robotem: zasilając mostek 4x AA nic się nie dzieje, a po podłączeniu zasilacza 12V 2A silniczki jedynie buczą, nie kręcą się. Arduino zasilane oddzielnie z USB. Silniczki podłączane na krótko do baterii kręcą się. Arduino podmieniałem. Rozumiem, że problem leży po stronie wadliwego układu L298N?
Spróbuj powiększyć jego widoczność umieść trzy czujki i połącz je razem jako jedną
Jaka jest pełna nazwa tej płytki UNO
?????
Zdupino... w jednym z filmow jest wyjsnione a orginał arduino uno
Tomasz Twaróg To nic innego, jak klon Arduino UNO. Wpisz sobie tę frazę na Ebayu, a znadziesz ich setki. Oryginalne UNO poznasz od razu po cenie, chociaż i najtańsze kopie powinny działać podobnie do oryginału.
Dzìękuje wam obaj za info
Pomogłeś, dzięki , nie musze już myc podłogi, film w nie długim czasie, to nie są jaja
czemu jak mam wszystko zrobione tak samo to mi nie działa
Wiem, że 2 lata temu ale może znajdzie się ktoś kto wie jaki maks prąd może wejść do sterownika l298n pokazanego w filmie? Mam zasilacz 2A i nie chce popalić :\
Teoretycznie na botlandzie jest napisane że 12V ale na tej samej stronie jak zjedziesz niżej jest 46V
Wolał bym jednak żeby w polsce powstał program wojny robotów
Wiecie może w jakim języku jest ten kod ? C ?
To jest język do Arduino, podobny do c
Zrobisz kiedyś filmik o ESP8266 (tani moduł wi-fi)
Czym go sterujesz :)
arduino
ma ktoś schemat?
Ja doszedlem do wniosku ze lepiej robic samemu! Nie dosc ze sie czlowiek nauczy przy tym (niz kupowanie gotowca) to jeszcze wiem dokladnie z jakich elementow sie sklada i znam wrecz na pamiec wszystkie parametry to jeszcze tak jest w ch... TANIEJ!!!!!!!!!! Jesli cos mi ktos przesyla z Chin bez szczegolowej dokumentacji to wlasciwie sie nadaje do kosza! Skad mam wiedziec np. do ile amperow taki sterownik wytryma (jesli sprzdawca nie dostarczy takiej informacji, czasem pisza chociaz na stronie itd.), Kiedys jak puscilem 4 ampery przez jeden sterownik to tranzystory niemal eksplodowaly hahah :D Te mniejsz sterowniki sa pewnie do okolo 600 mA...co przy skladaniu wlasnego dronia jest smiesznie malo jak 2 silniki tylko potrafia zuzyc 4 ampery a co dopiero 4 !!!
Ten sterownik wytrzymuje do 35V i 2A nie 12V
mozna zrobic taki sterownik na tranzystorach ?
Omijanie przeszkód na instrukcji if? Mogę wam odplatnie napisać regulator do 5 czujników
kto z 2020 :)
#Pierwszy
Nie lepiej by było kupić koszyk na 8 baterii
widze ze jedna osoba wymysla te uklady a pozniej jedno i to samo na wszelkich mozliwych aukacjach i sklepach internetowych tyle ze cena rozni sie 20 x buahahaha koszt wyprodukowania tego to pewnie 0.5 euro ;P
Молодцом!
Я даже что то понял.
Polecam thepihut.com/ tam dostępne są części :)
290 wyświetleń
przypadek?
:)
łetam mój robot jest bez żadnych sterów i hula , to znaczy ma, tylko czujnik ruchu ua-cam.com/video/o5f16nidUXo/v-deo.html
4 pożniej ale dwa lata wcześniej :) i steczna a jest lipiec 12 51 i 40 sekund
35 898 wyś 343 w górę i 5 w dół kinka osub bez oceny
są tam elementy smd morze spróbuj je naprawić czyli wymienić
Andrea PL MOŻE zamiast naprawiać płytkę, to wystarczy zakupić kolejny gotowy układ (ile on może kosztować - 1-2 USD)?
Zawsze MOŻESZ zbudować swój własny układ typu H-Bridge.
ja nieweim moż