Skocz do zawartości

Robot Yeti-5000 - przestrzegam wszystkich przed zakupem bubla!


Pomocna odpowiedź

Pod koniec stycznia zakupiłem w sklepie Conrad zestaw do złożenia robota tzw. robot kit Yeti- 5000.

Sam zestaw dotarł do mnie wybrakowany, poza brakiem kilku rezystorów i kondensatorów (z tym sobie poradziłem, bo mam ich zapas) brakuje 2 ważnych elementów tzw. Screw- rod connector.

Obsługa sklepu odesłała mnie do wypełnienia formularza gwarancyjnego, co uczyniłem, ale na razie nie otrzymałem żadnej odpowiedzi.

Mój błąd jest taki, że przed złożeniem zestawu nie policzyłem czy wszystkie części wymienione w instrukcji są obecne w przesłanym mi zestawie, ale zarówno Arexx jak i sam sklep Conrad wydawały mi się poważnymi i godnymi zaufania markami.

Odesłać robota będzie mi już ciężko, bo po pierwsze wszystkie jego elementy już polutowałem, a części mechaniczne poskładałem, gdyby nie brak 2 elementów robot byłby teoretycznie gotowy do użycia. No właśnie.... teoretycznie, gdyż w międzyczasie wyszły kolejne niedociągnięcia producenta. Do zestawu dołączony jest tzw USB-IR-Transceiver, które przynajmniej pod windowsem 7 nie działa prawidłowo, przez co nie ma możliwości przesłania do robota oprogramowania sterującego.

Problem ten znalazłem opisany na zagranicznym forum: http://www.arexx.com/forum/viewtopic.php?f=9&t=1296 , gdyż sklep nie raczy o tym poinformować w opisie produktu. Nie informuje również, iż dołączona instrukcja nie jest napisana po polsku - choć to akurat najmniejszy problem.

Czekam na odpowiedź sklepu na reklamację. Czasu nie cofnę, ale chciałbym przynajmniej uzyskać brakujące w zestawie elementy. Cena robota to 466,96 zł , co jest kpiną w porównaniu z tym co uzyskujemy w niekompletnym i niedopracowanym zestawie. Stanowczo odradzam.

Link do komentarza
Share on other sites

Szkoda, że się za to wszystko zabrałeś bo jeszcze jedna ważna rzecz:

Zgodne z ustawą z dnia 27 lipca 2002 r. o szczególnych warunkach sprzedaży konsumenckiej oraz o zmianie kodeksu cywilnego (Dz. U. 02.141.1176.) „sprzedawca dokonujący sprzedaży w Rzeczpospolitej Polskiej jest obowiązany udzielić kupującemu jasnych, zrozumiałych i nie wprowadzających w błąd informacji w języku polskim, wystarczających do prawidłowego i pełnego korzystania ze sprzedanego towaru konsumpcyjnego (art. 3 ustawy).

Ponadto sprzedawca jest obowiązany wydać kupującemu wraz z towarem konsumpcyjnym wszystkie elementy jego wyposażenia oraz sporządzone w języku polskim instrukcję obsługi, konserwacji i inne dokumenty wymagane przez odrębne przepisy" (art. 3 ust. 5).

To oznacza, że brak instrukcji obsługi w języku polskim, ale także nieprawdziwe informacje udzielone przez sprzedawcę, mogą być podstawą do złożenia reklamacji z tytułu niezgodności towaru z umową.

Podstawa prawna: Ustawa z dnia 27 lipca 2002 r. o szczególnych warunkach sprzedaży konsumenckiej oraz o zmianie Kodeksu cywilnego, art. 3 ust 1 i ust. 5 (tekst jednolity: Dz. U. z 2002r., Nr 141, poz.1176 ze zm.).

ŹRÓDŁO

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Mam nauczkę na przyszłość. Już nawet nie chcę o tym myśleć. Pogodziłem się już, że dałem foula, ale myślę teraz jak w przyszłości programować tego robota poprzez kabel, który jest do niego dołączony tzw. Flat cable connections:

Pin 1 SCL Serial Clock (for I2C communication)

Pin 2 SDA Serial Data (voor I2C communication)

Pin 3 PC3(ADC3) Digital input/output or analog monitor input

Pin 4 PC2(ADC2) Digital input/output or analog monitor input

Pin 5 PC1(ADC1) Digital input/output or analog monitor input

Pin 6 PC0(ADC0) Digital input/output or analog monitor input

Pin 7 GND GND (several connectors to prevent signal noise)

Pin 8 GND GND (several connectors to prevent signal noise)

Pin 9 AVCC Analog reference-voltage for AD-converters

Pin 10 PC6(RESET) Microcontroller reset pin

Pin 11 PB5(SCK) Digital input/output

Pin 12 PB4(MISO) Digital input/output or I2C function pin

Pin 13 PB3(MOSI/OC2) Digital input/output or I2C function pin or Timer2 pin

Pin 14 PD3(INT1) Digital input/output or external interrupt

Pin 15 PD6(AIN0) Digital input/output or analog testinput

Pin 16 D7(AIN1) Digital input/output or analog testinput

Pin 17 PD0(RXD) Digital input/output or RS232 input

Pin 18 PD1(TXD) Digital input/output or RS232 input

Pin 19 VCC VCC

Pin 20 GND GND (several connectors to prevent signal noise)

Kolega marek1707 podpowiedział mi kilka rozwiązań, ale muszę zrobić kilka dni przerwy za nim się za to wezmę, bo z tego wszystkiego nie mogę już patrzeć na ten cały zestaw...

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

tak, właśnie Marek podpowiedział mi programator zgodny z ISP.

Ja wcześniej myślałem jeszcze o zdecydowanie mniej eleganckim rozwiązaniu: wyjąć procesor z robota i programować go przez arduino, ale wiązałoby się to z rozkręcaniem robota, wyjmowaniem i ponownym wkładaniem procka za każdym razem, gdy chciałbym zmieniać sketcha. To już byłby całkowity przerost formy nad treścią.

Zamówiłem już 2szt. mocowania boldwena, to mogę i dokupić tani programator. Koszty robota ciągle rosną, a efektu finalnego nie widać.... ale hobby ma to do siebie, że pieniądze nie są tu priorytetem 😉

Link do komentarza
Share on other sites

deshipu, też tak już właśnie do tego podchodzę.

No cóż, miałem zrobić kilka dni przerwy od Yeti, ale za bardzo mnie nosi jak o nim myślę. Wsiadłem w samochód, podjechałem do jedynego znanego mi w Szczecinie sklepu z małą elektroniką i zakupiłem już o to taki programator AVR USBASP:

Pytanie moje na obecną chwilę jest takie czy wystarczy jak z programatora do Flat cable connection podepnę piny: MOSI, RST, SCK, MISO i GND ??

na moją laicką logikę VCC idzie sobie osobno z zasilania robota dla jego procka, no i z USB dla programatora, co nie?

Link do komentarza
Share on other sites

Oczywiście najlepiej, gdybyś przeczytał dokumentację, ale pin Vcc na złączu programatora jest nie od parady. On "informuje" programator z jakim napięciem zasilania pracuje Twój procesor. 5-woltowy dostanie sygnały 5V a 3-woltowy, 3V. Czasem zamiast tego jest zworka w samym programatorze 3V-nic-5V, ale to chyba nie ten przypadek. W każdym razie bez podpiętego Vcc część programatora - ta związana z interfejsem SPI - może nie działać poprawnie.

EDIT: A swoją drogą co to za czasy: w sklepie z małą elektroniką zamiast latarki i radia tranzystorowego można kupić programator procesorów. Każdy normalny popukałby się w głowę: A co to, to tam to, takie niebieskie na półce? Prog.. co?? Acha, pewnie do pralki, tak?

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

Dobra, więc Vcc też podłączę na wszelki wypadek. Tak wygląda robot przed próbą generalną użycia programatora 😉 Lecę zjeść obiad, a po nim nastąpi ta próba, której wynikiem oczywiście się tutaj podzielę.

P.S. z tym sklepem z "małą elektroniką" to może trochę pojechałem, ale to bardzo mały sklepik - można tam kupić kable, żarówki, diody, przejściówki na złącza, przekaźniki etc. no i jest tam malutka witrynka z arduino i pochodnymi "tematami" 😉 Dobry sklep jeśli zależy komuś na czasie i nie uśmiecha mu się czekać na paczkę. Generalnie jednak towar, który tam mają, można sobie kupić 50% taniej na ebayu - tylko trzeba czekać 2-3 tygodnie na przesyłkę- ot takie czasy 😉

P.S. No i dupa narazie, bo po zainstalowaniu sterowników programatora, komputer przestał pokazywać nr portu do jakiego jest podpięty i tym bardziej nie widzi go IDE, na którym nie można ustawić nr niewiadomego portu :/ nie wiecie przypadkiem jak temu zaradzić???

Link do komentarza
Share on other sites

ok, tak zrobiłem, ale teraz wywala mi następujące błędy:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

avrdude: error: programm enable: target doesn't answer. 1

avrdude: initialization failed, rc=-1

Double check connections and try again, or use -F to override

this check.

z tego co rozumiem, nie ma odpowiedzi ze strony robota i powinienem sprawdzić połączenia, ale sęk w tym, że wszystko podpiąłem ok - tzn. MOSI, RST, SCK, MISO i GND zgodnie z dokumentacją Yeti i programatora 🙁

Link do komentarza
Share on other sites

Programator okazał się felerny, przynajmniej z windowsami 7 i 10 nie można za bardzo na niego liczyć... Po dwóch dniach walki udało mi się pójść o jeden mały kroczek do przodu.

Wyjąłem płytkę robota, którą podpiąłem do Arduino Mega, wgrałem sketcha ISP, a następnie podpinając się do płytki robota wgrałem mu sketcha poprzez funkcję "załaduj używając programatora" w IDE i o dziwo się udało 🤯🙂

Teraz tylko mam 2 nowe dość irytujące problemy :/ Pierwszy to taki, że kod na płytce robota działa do momentu jak mam go podpiętego pod Arduino Mega, gdy przechodzi na własne zasilanie bateryjne milknie. Tak jakby ten kod sterujący zostawał w Arduino, a płytka robota była jedynie jako taki "slave" dla Arduino Mega.

Drugi problem jest jeszcze bardziej smutny - po podłączeniu serw do płytki i wgraniu kodu wg którego robot ma zrobić 10 kroków (czyli muszą pracować oba serwa) - w rzeczywistość jedno z nich robi minimalne ruchy, a drugie tylko buczy 🙁 czy takie zachowanie może być np spowodowane tym, że na lutowanej płytce źle zostały dobrane wartości rezystorów i/lub kondensatorów. W zestawie np były kondensatory 220ὴF na 25V, podczas gdy w instrukcji jest napisane, że powinny być one na 16V. Co do montowanych rezystorów też mogły być minimalne odstępstwa np zamiast deklarowanego w instrukcii 120K/0.25A/1% znalazł się 100K/0.25A/5%. Na R7 jest też chyba ciut większy opornik, bo dioda świeci słabiej ... Czy to może mieć wpływ na pracę tych serwa tak "jakby chciały a nie mogły"??

Jakby komuś nasunęły się pomysły co mogłem spartaczyć ja i/ lub producent to proszę o info. Poniżej jakby ktoś chciał rzucić okiem wklejam zdjęcie płytki, spis części do niej oraz schemat Yeti w przypadku gdyby ktoś zechciał bardziej się wgłębić w problem 🙁

Wklejam też kod "10 kroków, choć on tutaj chyba niczemu nie winien 🙁

#include <Servo.h>
#include <Wire.h>
#include <Yeti.h>                //include the yeti library
#include <EEPROM.h>

/*
Sketch written to test the yeti library, not to be released
*/

yeti robot;                    //create a yeti object

int rightLED = 8;              //pin connected to the right led
int leftLED = 2;               //pin connected to the left led

//variables for heartbeat function
uint8_t hbval=128;
int8_t hbdelta=8;
int timeInterval = 20;
int timePrevious = 0;

void setup()
{
 robot.initYeti();              //initialize the yeti program
 robot.initPing();              //initialize and enable the display
 robot.initDisplay();           //initialize and enable the display

 pinMode(rightLED, OUTPUT);     //set the pin attached to right led to output
 pinMode(leftLED, OUTPUT);      //set the pin attached to left led to output
 digitalWrite(rightLED, HIGH);  //switch the led on
 digitalWrite(leftLED, HIGH);   //switch other LED on as well 

 robot.moveForwardX(10);        //make Yeti take 10 steps forward
}

void loop()
{
 //make Yeti's LEDs show a heartbeat
 if(millis() - timePrevious > timeInterval)
 {
   if (hbval > 192) 
     hbdelta = -hbdelta;
   if (hbval < 16) 
     hbdelta = -hbdelta;
   hbval += hbdelta;
   timePrevious = millis();
 }
 //no PWM available, this calls for a bit of creativity. This is normally not 
 //a very good way to do this, because it uses the delay function, but since
 //the heartbeat is the only thing being executed, it's not important it is blocking
 digitalWrite(rightLED, HIGH);
 digitalWrite(leftLED, LOW);
 delayMicroseconds(255-hbval);
 digitalWrite(rightLED, LOW);
 digitalWrite(leftLED, HIGH);
 delayMicroseconds(hbval);
}
Link do komentarza
Share on other sites

To nie problem z częściami, ani ze "slave", tylko z tym, że serwomechanizmy dostają sygnał o złej częstotliwości. Spróbuj skompilować kod dla innej częstotliwości procesora -- najlepiej wyczytaj jaki kwarc tam jest włożony i skompiluj na taką.

EDIT: Na schemacie widać kwarc 8Mhz, więc taką częstotliwość musisz z menu wybrać.

  • Pomogłeś! 1
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.