Strona 1 z 2

[MOC] Reach Stacker

: 2012-04-04, 21:31
autor: Sariel
Obrazek

Dane techniczne:
Wymiary: dł. 38s (bez masztu) / szer. 22s (bez masztu), wys. 22s
Waga: 1.565 kg
Zawieszenie: brak
Napęd: na przednią oś silnikiem PF XL z redukcją 1.4:1
Silniki: 2 x PF XL, 3 x PF Medium, 2 x Micromotor

Przedstawiam model reach stackera, czyli maszyny która po polsku nie wiem jak się nazywa, ale na logikę powinna nazywać się podnośnikiem kontenerów albo czymś podobnym. Maszyny tego rodzaju są generalnie dalekimi krewnymi telehandlerów o dość wąskiej specjalizacji: używa się ich w terminalach przeładunkowych portów do transportu kontenerów. Co ciekawe, większość czołowych europejskich producentów nie ma takich maszyn w swojej ofercie, z wyjątkiem Liebherra który robi je z łukowato wygiętym bomem, co skutecznie wyleczyło mnie z chęci wzięcia ich stackerów na wzór. Pomysł na taką maszynę chodził za mną od lat i w końcu zmusiłem się do realizacji.
Model miał być z założenia możliwie mały, prosty i funkcjonalny. Wygląd był kompletnie drugorzędny, nie starałem się też odwzorować żadnego konkretnego modelu. Zawieszenia brak - nie byłem w stanie doszukać się czy prawdziwe stackery mają zawieszenie, ale biorąc pod uwagę że są przeznaczone do poruszania się wewnątrz portów po płaskim asfalcie, to chyba mogą obyć się bez niego.

Obrazek Obrazek Obrazek Obrazek Obrazek Obrazek

Jeśli chodzi o funkcje, oprócz napędu przedniej osi i skrętu tylnej mamy podnoszenie bomu dwoma siłownikami śrubowymi, wysuwanie bomu, obracanie głowicy i rozsuwanie szczęk. Dwie ostatnie funkcje realizują micromotory zlokalizowane na samej głowicy i kontrolowane przez kable przechodzące przez bom. Tak jak w prawdziwych maszynach, głowica ma się poziomować pod własnym ciężarem, stąd po jednej jej stronie znajduje się micromotor z prostym mechanizmem rozsuwania szczęk, a z drugiej obciążony klocek dla jego zrównoważenia.
Funkcją którą po długim namyśle wykreśliłem jest przechylanie głowicy. Prawdziwe stackery mogą ją przechylać do przodu, co patrząc na filmy z ich pracy jest funkcją używaną rzadko i z pewną taką nieśmiałością. Ponieważ nie wydawała mi się ona specjalnie potrzebna, a za to tworzyła masę problemów technicznych - np. ciągnięcie przez bom kolejnego kabla do kolejnego silnika, albo przewodów pneumatycznych, ewentualnie rozciąganego wału napędowego - ostatecznie ją zignorowałem. Dodałem za to prosty mechanizm podnoszenia kabiny, który wypadł fatalnie bo z racji małej ilości dostępnego miejsca ma skromniutki zakres ruchu.
Model jest zbudowany całkowicie z liftarmów, z wyjątkiem boków kadłuba które składają się z bricków przypiętych do ramy i wzmacniających ją na krytycznym odcinku między punktem podparcia bomu a punktem podparcia siłowników. Ogólnie model ma solidne podwozie i bom, oraz dość ażurową głowicę i szczęki. Mimo tego podźwignął prawie pół kilograma ładunku, a punktem krytycznym okazał się PF XL oraz sprzęgła w siłownikach śrubowych, jak można zobaczyć na filmie.

Obrazek Obrazek Obrazek Obrazek

Model był również moją pierwszą okazją pobawienia się IR Linkiem - chciałem być drugim Emilusem i zbudowałem sobie pilota NXT z joystickiem i dwoma trybami pracy: do jazdy i do operowania bomem. Niestety, okazało się że IR Link ma nawet gorszy zasięg niż piloty PF i do tego potężne opóźnienia. Mimo wszystko pilot działał, a prosty program który do niego spłodziłem zamieszczam poniżej:

Kod: Zaznacz cały

#pragma config(Sensor, S1, HTIRL, sensorI2CCustom)
#pragma config(Sensor,S3,touch1,sensorTouch)
#pragma config(Sensor,S4,touch2,sensorTouch)
#include "drivers/HTIRL-driver.h"
bool sending = false;
bool drivemode = true;
tPFmotor DriveMotor = pfmotor_S1_C1_A;
tPFmotor SteeringMotor = pfmotor_S1_C1_B;
tPFmotor BoomElevationMotor = pfmotor_S1_C2_A;
tPFmotor BoomExtensionMotor = pfmotor_S1_C2_B;
tPFmotor CabinMotor = pfmotor_S1_C3_A;
tPFmotor HeadCatchMotor = pfmotor_S1_C4_A;
tPFmotor HeadRotationMotor = pfmotor_S1_C4_B;

task Buttons()
{
  nNxtButtonTask  = -2;
  nNxtExitClicks = 2;
  nxtDisplayCenteredTextLine(0, "Not sending...");
  while(true)
  {
    if(nNxtButtonPressed == 3)
    {
      PlaySound(soundBeepBeep);
      if(sending == false){
        sending = true;
        nxtDisplayCenteredTextLine(0, "Sending...");
      }
      else{
        sending = false;
        nxtDisplayCenteredTextLine(0, "Not sending...");
      }
    }

    if(nNxtButtonPressed == 1)
    {
        drivemode = false;
        nxtDisplayCenteredTextLine(2, " DRIVE [BOOM]");
    }

    if(nNxtButtonPressed == 2)
    {
        drivemode = true;
        nxtDisplayCenteredTextLine(2, "[DRIVE] BOOM ");
    }

    if(nNxtButtonPressed == 0)
    {
      sending = false;
      PlaySound(soundBeepBeep);
      wait1Msec(400);
      PFMotor(DriveMotor, 0);
      PFMotor(SteeringMotor, 0);
      PFMotor(BoomElevationMotor, 0);
      PFMotor(BoomExtensionMotor, 0);
      PFMotor(HeadCatchMotor, 0);
      PFMotor(HeadRotationMotor, 0);
      PFMotor(CabinMotor, 0);
      StopAllTasks();
    }

    wait1Msec(400);
  }
}

task main()
{
  StartTask(Buttons);
  nxtDisplayCenteredTextLine(2, "[DRIVE] BOOM ");
  int LeftMotor = 0;
  int RightMotor = 0;
  int UpperMotor = 0;
  int RightButtons = 0;



  while (true) {
    if(drivemode == true)
    {
      LeftMotor = (nMotorEncoder[motorA] / 7) * -1;
      if (LeftMotor > 7) LeftMotor = 7;
      else if &#40;LeftMotor < -7&#41; LeftMotor = -7;

      RightMotor = &#40;nMotorEncoder&#91;motorC&#93; / 10&#41; * -1;
      if &#40;RightMotor > 2&#41; RightMotor = 2;
      else if &#40;RightMotor < -2&#41; RightMotor = -2;

      if &#40;SensorValue&#40;touch1&#41; == 1&#41; RightButtons = 7;
      else if &#40;SensorValue&#40;touch2&#41; == 1&#41; RightButtons = -7;
      else RightButtons = 0;

      nxtDisplayTextLine&#40;4, "Left motor&#58; %d", LeftMotor&#41;;
      nxtDisplayTextLine&#40;5, "Right motor&#58; %d", RightMotor&#41;;
      nxtDisplayTextLine&#40;6, "Buttons&#58; %d", RightButtons&#41;;
      nxtDisplayClearTextLine&#40;7&#41;;

      if &#40;sending == true&#41;
      &#123;
        PFMotor&#40;DriveMotor, LeftMotor&#41;;
        PFMotor&#40;SteeringMotor, RightMotor&#41;;
        PFMotor&#40;CabinMotor, RightButtons&#41;;
      &#125;
    &#125;
    else
    &#123;
      LeftMotor = nMotorEncoder&#91;motorA&#93; / 20;
      if &#40;LeftMotor > 0&#41; LeftMotor = 7;
      else if &#40;LeftMotor < 0&#41; LeftMotor = -7;

      UpperMotor = nMotorEncoder&#91;motorB&#93; / 20;
      if &#40;UpperMotor > 0&#41; UpperMotor = 7;
      else if &#40;UpperMotor < 0&#41; UpperMotor = -7;

      RightMotor = &#40;nMotorEncoder&#91;motorC&#93; / 20&#41; * -1;
      if &#40;RightMotor > 0&#41; RightMotor = 7;
      else if &#40;RightMotor < 0&#41; RightMotor = -7;

      if &#40;SensorValue&#40;touch1&#41; == 1&#41; RightButtons = 7;
      else if &#40;SensorValue&#40;touch2&#41; == 1&#41; RightButtons = -7;
      else RightButtons = 0;

      nxtDisplayTextLine&#40;4, "Left motor&#58; %d", LeftMotor&#41;;
      nxtDisplayTextLine&#40;5, "Right motor&#58; %d", RightMotor&#41;;
      nxtDisplayTextLine&#40;6, "Upper motor&#58; %d", UpperMotor&#41;;
      nxtDisplayTextLine&#40;7, "Buttons&#58; %d", RightButtons&#41;;

      if &#40;sending == true&#41;
      &#123;
        PFMotor&#40;BoomExtensionMotor, LeftMotor&#41;;
        PFMotor&#40;BoomElevationMotor, UpperMotor&#41;;
        PFMotor&#40;HeadRotationMotor, RightMotor&#41;;
        PFMotor&#40;HeadCatchMotor, RightButtons&#41;;
      &#125;

    &#125;
    wait1Msec&#40;200&#41;;
  &#125;
&#125;
Foty:
Obrazek Obrazek Obrazek Obrazek

Galeria: http://www.brickshelf.com/cgi-bin/gallery.cgi?f=500743

I obowiązkowy film, tym razem z roli spasionego gryzonia występuje Kulka:
[youtube]http://www.youtube.com/watch?v=M_mBMhGTnrg[/youtube]

: 2012-04-04, 21:49
autor: misiek
Pierwszy.


Zacznę od końca. Gdzie film z jakimś wypadkiem?? Na pewno coś się musiało stać :)
I dlaczego nie pokusiłeś się o zbudowanie lepszego kontenera?

Wracając do modelu. Funkcjonalnie fajny. W NXT nie wnikam, bo to nie moja działka. Wszystko chodzi płynnie, prawie jak w prawdziwym podnośniku. Co mi się nie podoba: te dwa wiszące kabelki przy bomie, trochę rażą, ale możemy uznać że to przewody od hydrauliki. Druga rzecz, sam bom przy podnoszeniu na pusto strasznie się wygina. Wygląda jakby zaraz miał się poddać. Skoro jest to w kategorii Technic to wyglądu się nie czepiam.

Cały model jest ok. Zaraz pewnie będą linki z tBB albo EB, albo TB :)

: 2012-04-04, 22:03
autor: 3dom
Drugi. Dopiszę coś jutro :P

: 2012-04-04, 22:24
autor: Sariel
Oj tam model. O chomiku byście coś napisali :P
PS. Nie zauważyłem żeby bom się wyginał. Ośki łączące go z siłownikami tak, no ale to już kwestia materiału i jego obciążenia.

Re: Reach Stacker

: 2012-04-05, 07:50
autor: solic
Twój model jest bardzo ciekawie zrobiony. Pełna funkcjonalność w tej skali to duży plus. Przy takim zagęszczeniu funkcji na stud kwadratowy konstrukcji nie rażą kable ani silniki na wierzchu.
Podoba mi się mały promień skrętu. Fajny też jest wysięgnik z paneli (wprawdzie większość stackerów ma wysięgniki o przekroju prostokątnym, ale to drobiazg).
Kontroler świetny pomimo opóźnienia na IR linku.
Co ciekawe, większość czołowych europejskich producentów nie ma takich maszyn w swojej ofercie
Przepraszam, zboczenie zawodowe, ale pozwolę się nie zgodzić z powyższym. Jeśli chodzi o producentów maszyn budowlanych to mniej więcej tak wygląda, jednak istnieje co najmniej kilku uznanych europejskich producentów stackerów, np. PPM Terex, Fantuzzi, a przede wszystkim Linde i Kalmar.
nie byłem w stanie doszukać się czy prawdziwe stackery mają zawieszenie
W przypadku maszyn Linde tylna oś jest wahliwa, z przodu istotnie, zawieszenia brak. Za to kabina jest "full suspension":) Pozostali producenci pewnie mają podobnie.

Jeszcze mała uwaga do funkcjonowania modelu - stacker powinien umieć podnieść kontener z poziomu podłoża, ewentualnie kontener mógłby być troszkę większy, żeby nie były potrzebne podstawki pod kontener.
Robiłeś testy podnoszenia przy wysuniętym wysięgniku?


Mam podobną maszynę w planach, w trochę większej skali. Póki co utknąłem na podnoszeniu wysięgnika - niestety siłowniki śrubowe nie dają rady przy planowanej masie i trzeba coś innego wymyśleć.

: 2012-04-05, 08:21
autor: Havoc
Nareszcie znajoma tematyka :)
Gdyby tylko chwytanie kontenerów stackerem było takie proste...proszę o mechanizm chwytania czterema śrubami :) Może trudniejszy do zrobienia ale przecież z pewnością dasz radę ;)

: 2012-04-05, 08:22
autor: Jetboy
Zmniejsz opóźnienie w głównej pętli z 200 do np. 20 i sprawdź jak to wplynie na lag.

Model jak zwykle świetny, co tu komentować... a tak! Chomika! Chomik jest niewątpliwa gwiazdą tego filmu! Tylko dlaczego jest widać go tak krótko? Więcej Chomików w filmach z Lego Technic!

;)

Re: Reach Stacker

: 2012-04-05, 09:17
autor: Sariel
solic pisze:Robiłeś testy podnoszenia przy wysuniętym wysięgniku?
Nie, jestem całkiem pewien że to by się skończyło rozczepieniem się obudowy bomu.
Havoc pisze:Gdyby tylko chwytanie kontenerów stackerem było takie proste...proszę o mechanizm chwytania czterema śrubami :)
O nie :P Przyjrzałem się temu mechanizmowi i jest kompletnie szalony.
Jetboy pisze:Zmniejsz opóźnienie w głównej pętli z 200 do np. 20 i sprawdź jak to wplynie na lag.
Zaczynałem od 20 i szedłem w górę, generalnie nie robiło to żadnej różnicy. Myślałem że może opóźnienie wynika z nadawania na wszystkich kanałach PF, bo odbiorniki IR wtedy zamulają, ale w praktyce kontroler nie nadaje więcej niż na dwóch jednocześnie.

: 2012-04-05, 15:02
autor: 3dom
Kurcze Sariel przez to, że ten model oglądałem od dawna na Twoim profilu na FB to mam wrażenie, jakby już mi się trochę opatrzył...:P Jednak publikacja znienacka robi większe wrażenie. Pewnie z białą ciężarówką będzie podobnie ;)

Że model jest dopracowany i fajnie działa chyba pisać nie trzeba. Ciekawi mnie czy prawdziwe wózki wysokiego składowania* też mają tak ekstremalnie skrętne koła? Lepiej od tego skręcają chyba tylko wózki z hipermarketu :)

________
* - tak google tłumaczy reach stacker ale linka wkleić się nie da bo zawiera taki znaczek: '|'

: 2012-04-05, 15:15
autor: Sariel
3dom pisze:Ciekawi mnie czy prawdziwe wózki wysokiego składowania* też mają tak ekstremalnie skrętne koła?
Mają:

Obrazek

: 2012-04-06, 13:18
autor: kris kelvin
Sariel pisze:Oj tam model. O chomiku byście coś napisali :P
Czy ta maszyneria potrafi złapać i podnieść chomika?

: 2012-04-06, 13:58
autor: Sariel
Złapać to może nie, ale jeśli chomik da się zwabić do kontenera, to podnosi go tak jak na filmie.

: 2012-04-06, 14:30
autor: zgrredek
Myślę, że po drobnej przeróbce chwytaków dałoby radę zrobić z tego przyrząd do łapania chomików.

: 2012-04-06, 17:16
autor: piotrek839
Fajny MOC . Trochę napaliłem się na tego pilota , że sam sobie zrobie coś podobnego . Szkoda , że ma takie opóźnienia . Może uda Ci się jakoś to poprawić . Trzymam kciuki .

: 2012-04-06, 18:11
autor: Sariel
zgrredek pisze:Myślę, że po drobnej przeróbce chwytaków dałoby radę zrobić z tego przyrząd do łapania chomików.
Hmm, tak, to mógłby być pierwszy etap linii do produkcji futrzanych mufek...