Skocz do zawartości

Pomocna odpowiedź

Chciałbym przedstawić swojego pierwszego prostego czworonożnego robota kroczącego powstawał on przez ostatni miesiąc. Cenowo budowa tego robota kosztowała mnie mniej niż 100 zł.  Spełnia on całkowicie moje założenia którymi było chodzenie i niska cena. Do jego budowy wykorzystałem arduino pro mini, płytkę uniwersalną, serwomechanizmy, stabilizator 5 V, złącze arc, przełącznik oraz dwa ogniwa Li-ion o pojemności 3000 mAh wyciągnięte ze starego laptopa. Jak łatwo zauważyć wzorowałem się na innym czworonożnym robocie katce

IMG_20191009_163823.thumb.jpg.6af1c953aa94a8039ed2da691f4fd1d8.jpgIMG_20191009_163745.thumb.jpg.131baf69a0e9fea52cddeee65efc805e.jpgIMG_20191009_163901.thumb.jpg.6cc205110df63561314f6ae4dc7d88f3.jpgIMG_20191009_163926.thumb.jpg.1a14260bcf1b2fca6669867ffc29f06f.jpgIMG_20191009_164033.thumb.jpg.9c8d0df071993a90739f666014c4802c.jpgIMG_20191009_164104.thumb.jpg.e975fa5b5c3ebfd71538ba521d9ca60b.jpg

 Mechanika

Całość została umieszczona na płytce uniwersalnej o wymiarach 5 cm na 7 cm. Serwomechanizmy  TowerPro SG-90 są włożone w specjalnie zrobione otwory i przymocowane hot glue. Nóżki zrobiłem z orczyków połączonych razem śrubami które były w zestawie razem z serwomechanizmami. Obydwa ogniwa Li-ion umieściłem między serwomechanizmami i je także przykleiłem za pomocą hot glue. Największą trudność sprawiło mi umiejscowienie serwomechanizmów oraz ogniw Li-ion.

 Elektronika

Arduino pro mini i serwomechanizmy zasilane są z dwóch ogniw Li-ion połączonych szeregowo znajdujących się pomiędzy serwomechanizmami. Pomiędzy ogniwami a serwomechanizmami wstawiłem stabilizator 5 V o wydajności 1,5 A a także przełącznik przełącznik dwupolowy (jeden do zasilania arduino a drugi do zasilania serwomechanizmów). Kabel od ogniw Li-ion jest zamocowany do płytki za pomocą złącza arc. Przylutowałem większą ilośc gold pinów na wypadek wykorzystania tej płytki w innym projekcie

 KOD

#include <Servo.h>

Servo myservo1;
Servo myservo2;
Servo myservo4;
Servo myservo5;
Servo myservo7;
Servo myservo8;
Servo myservo10;
Servo myservo11;

unsigned long aktualnyCzas = 0;
int q = 0;
int w = 0;
int e = 30;
int t = 0;
int y = 0;
int u = 0;
int i = 0;
int o = 0;
int p = 0;

void setup() {
  myservo1.attach(2);
  myservo2.attach(3);
  myservo4.attach(5);
  myservo5.attach(6);
  myservo7.attach(8);
  myservo8.attach(9);
  myservo10.attach(11);
  myservo11.attach(12);
 
  myservo1.write(99);
  myservo2.write(180);
  myservo4.write(90);
  myservo5.write(20);
  myservo7.write(95);
  myservo8.write(25);
  myservo10.write(90);
  myservo11.write(0);
  delay(2000);
  }
void ngp(int a, int b){
  myservo1.write(map(a, 0, 100, 0, 180));
  myservo2.write(map(b, 0, 100, 0, 180)); 
}
void ntl(int a, int b){
  myservo4.write(map(a, 0, 100, 0, 180));
  myservo5.write(map(b, 0, 100, 0, 180));
}
void ngl(int a, int b){
  myservo7.write(map(a, 0, 100, 0, 180));
  myservo8.write(map(b, 0, 100, 0, 180)); 
}
void ntp(int a, int b){
  myservo10.write(map(a, 0, 100, 0, 180));
  myservo11.write(map(b, 0, 100, 0, 180));
}
void prawa1() {//chodzi do przodu
  ngp(20+q,100-w);
  q++;
  delay(10);
  if(q==35) {
   q=0;
   w=e;
   delay(10);
  }
  if(w>=0){
    w--;
    delay(10);
 }
}
void lewa2(){
  ntl(25+t,0+y);
  t++;
  delay(10);
  if(t==45){
   t=0;
   y=e;
   delay(10);
  }
  if(y>0){
   y--;
   delay(10);
 } 
}
void lewa1(){
 ngl(20+u,0+i);
 u++;
 delay(10);
 if(u==35){
  u=0;
  i=e;
  delay(10);
 }
 if(i>0){
  i--;
  delay(10);
 }
}
void prawa2(){
 ntp(25+o,0+p);
 o++;
 delay(10);
 if(o==45){
  o=0;
  p=e;
  delay(10);
 }
 if(p>0){
  p--;
  delay(10);
 }
}
void loop(){
  aktualnyCzas = millis();
  if(aktualnyCzas>=2000UL){
    prawa1();
  }
  if(aktualnyCzas>=2250UL){
    lewa2();
  }
  if(aktualnyCzas>=2500UL){
    lewa1();
  }
  if(aktualnyCzas>=2750UL){
    prawa2();
  }
}

Jak widać sam kod jest tak samo prosty jak i budowa mechaniczna.

Film

 

Z góry przepraszam z jakość filmu i drganie. Jak widać na filmie robot chodzi aczkolwiek nie za szybko i mocno się ślizga.Prosiłbym w komentarzach o wszelkiej maści porady co i jak można by było poprawić i w jaki sposób zaradzić ślizganiu. Zgóry dziękuję za wszelkie porady.

Edytowano przez takinijaki
Chęć przystąpienia do akcji rabatowej
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@takinijaki witam na forum! Gratuluję pierwsze robota - zachęcam też do dalszych prac nad konstrukcją. Na pewno dasz rade wycisnąć z niej znacznie więcej, bo w tej chwili poruszanie robota robota jest dość mocno umowne. Chyba przyznasz, że do sensownego chodzenia jeszcze sporo brakuje 😉 Na pewno antypoślizgowe nóżki to podstawa, zobacz jak ładnie mogą radzić sobie inne konstrukcje tego typu:

Zachęcam również do przejrzenia tagu z robotami kroczącymi - znajdziesz tam jeszcze więcej konstrukcji.

Dnia 9.10.2019 o 17:44, takinijaki napisał:

Pomiędzy ogniwami a serwomechanizmami wstawiłem stabilizator 5 V o wydajności 1,5 A...

Czy to nie jest trochę za mała wydajność jak na 8 serw? Testowałeś w praktyce jakie napięcie tam uzyskujesz, gdy robot się porusza?

Udostępnij ten post


Link to post
Share on other sites

Przyznaję i dziękuje za przykłady do czerpania inspiracji.Co do wydajności to faktycznie zmierzyłem i wyszło mi maksymalnie 1,6 A aczkolwiek nic złego się nie działo.

Udostępnij ten post


Link to post
Share on other sites
13 godzin temu, takinijaki napisał:

Co do wydajności to faktycznie zmierzyłem i wyszło mi maksymalnie 1,6 A aczkolwiek nic złego się nie działo.

Na przyszłość warto pamiętać, aby jednak rozwiązać to zasilanie trochę lepiej. Weź pod uwagę, że miernikiem nie zmierzysz chwilowych pików, w których prąd może być znacznie większy. Może to prowadzić to niestabilnego działania całego układu, resetów i drgania serw 😉

Udostępnij ten post


Link to post
Share on other sites

Dzięki za radę w następnej wersji potworka przerobię zasilane oraz sam chód postaram się zrobić lepiej.

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!

Gość
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...