SSN-688

Relacje z budowy tych jednostek
ODPOWIEDZ
Awatar użytkownika
antosiek
Posty: 468
Rejestracja: 04 gru 2010, 21:55

Re: SSN-688

Post autor: antosiek »

Nigdy bym nie śmiał namawiać Ciebie na byle jakie wykonanie balastu, tylko o szybkie wyznaczenie jego ciężaru. Wiadomo wtedy ile dokładnie odlać. Odpada piłowanie lub uzupełnianie. Nieprecyzyjnie to wcześniej napisałem.
Co do trymerów i mikserów. Pamiętam, że stosujesz czujniki położenia w dwóch kierunkach podpięte pod procesor. One to mają korygować pochylenie i przechylanie? w czasie pływania. Mi chodziło raczej o próby bez całej automatyki. Podejrzewam, że przy zwiększaniu prędkości mordeczka Laluni będzie się coraz mocniej zanurzać, czyli inaczej bioderka nie będą trzymać poziomu. To tak jak z motorówką ze skośną rufą. Na wstecznym idzie pod wodę aż miło. To samo przy zakręcaniu. Model nie powinien za bardzo się odchylać na zewnątrz. Jeden pionowy ster na rufie może nie wystarczyć jako miecz. I tu przydatne mogą być miksery w aparaturze. Sprzęgasz gaz z głębokością w nadajniku i efekt jest taki, że im więcej dodajesz gazu tym większą korektę masz na głębokości. Przy skręcaniu , żeby model się realistycznie zachowywał pewnie potrzebne by było naprzemienne wychylanie się sterów głębokości sprzęgnięte z kierunkiem. Tylko Ty napędzasz je jednym serwem więc problem nie istnieje. A szkoda, bo byś robił tak realistyczne skręty jak na filmach.
Tak myślę jeszcze o jednym. W lotnictwie każdy autopilot daje się wyłączyć to może w Laluni też dało by się przejść z automatyki na ręczny w razie trudności. Taki jeszcze jeden bezpiecznik.
A w ogóle to czekam z niecierpliwością na kolejne Twoje wpisy bo temat jest naprawdę pasjonujący.
Awatar użytkownika
Andrzej1
Posty: 1568
Rejestracja: 04 gru 2010, 21:56
Lokalizacja: {"name":"Polska Szczecin","desc":"","lat":"","lng":""}

Re: SSN-688

Post autor: Andrzej1 »

Andrzeju

Dzięki za życzliwe przyglądanie się mojemu "Faterloł".
A może odłączyć jeden ster głębokości i sterować tylko jednym, to może dać taki efekt jak oddzielne
sterowanie każdym sterem głębokości.
[Edit]
Jak pomyślałem, to wyszło mi, że to bzdurny pomysł. Przy płynięciu na powierzchnę, jak się dziób zanurzy, nie ma możliwości korekty bez przechyłu na boki.
Pod wodą mam jeszcze stery na kiosku. Ale na powierzchni ...
[End of Edit]
Nad modem testowym, to znaczy takim, który przepuszcza przez procesor sygnały z nadajnika pomyślę. Będzie on (ten mod) dostępny na etapie testowania programu.
Czy potem ? zobaczymy. Dzięki za uwagi.
Inklinometr mierzy przechył i pochylenie (wzdłuż). Z tym, że z przechyłem nic nie robię - nie jest podawany na procesor. Doświadczenie wykaże jak to się zachowuje w wodzie.

Raz jeszcze dziękuję.

Z ukłonami
Andrzej Korycki
Ostatnio zmieniony 08 maja 2011, 12:31 przez Andrzej1, łącznie zmieniany 1 raz.
Awatar użytkownika
Andrzej1
Posty: 1568
Rejestracja: 04 gru 2010, 21:56
Lokalizacja: {"name":"Polska Szczecin","desc":"","lat":"","lng":""}

Re: SSN-688

Post autor: Andrzej1 »

Witam

Skręciłem LAlunię i wrzuciłem ją do wody.
Teraz wygląda to tak :

01.JPG


02.JPG
02.JPG (31.06 KiB) Przejrzano 4886 razy


Wydaje się, że tak może być.

Z ukłonami
Andrzej Korycki
Awatar użytkownika
Andrzej1
Posty: 1568
Rejestracja: 04 gru 2010, 21:56
Lokalizacja: {"name":"Polska Szczecin","desc":"","lat":"","lng":""}

Re: SSN-688

Post autor: Andrzej1 »

Witam

Tą razą bez zdjęć i filmów. Nie będę Wam pokazywał mojego oparzonego palucha.
A było to tak :
Napisałem cudny program, który :
1. Inicjuje zbiorniki
2. Czeka na włożenie okrętu do wody
3. Okręt w wodzie, czeka 5 sekund
4. Zanurza okręt na 10 cm
5. Utrzymuje go w poziomie przez 30 sekund
6. Wynurza okręt
7. Kończy prace
I tu Gura Procesorowa wyraziła swoją wątpliwość co do poprawnego działania czujników
wykrywających wodę (zresztą autorstwa Gury). Nakazała napisanie prostszego programu, który :
1. Wykonuje test zbiorników, otwiera zawór napowietrzania
2. Czeka na wlożenie okrętu do wody
3. Zanurza okręt, aż do otrzymania sygnału, że okręt zanurzony, zamyka zawór napowietrzania
4. Wynurza okręt otwierajac zawor
Pilnowane jest przechylenie dziób/rufa okrętu

Bowiem testowanie jest łatwiejsze na małych kawałkach.
Napisałem ten program. Próba uruchomienia go skończyła się tym, że tranzystory sterujące silnikami
zbiorników rozgrzały się do temperatury powodującej widoczne obrażenia na palcach programisty,
natomiast silniki zbiorników nie ruszyły. Okazało się, że na akumulatorach mocy napięcie spadło
poniżej 7V. Tak nie może być, bo zamiast się wyłączyć, okręt się spali gdy akumulatory się rozładują.
Ale jeden, czy dwa eksperymenty na świeżo naładowanym akumulatorze można przeprowadzić.

Sam program (POPRAWNY) wyglądał tak :

Kod: Zaznacz cały

void TestSIWiSUW20110509( void )
{
/*Funkcja :
1. Wykonuje test zbiornikow, otwiera zawor napowietrzania
2. Czeka na wlozenie okretu do wody
3. Zanurza okret, az do otrzymania sygnału, ze okret zanurzony, zamyka zawor napowietrzania
4. Wynurza okret otwierajac zawor
Pilnowane jest przechylenie dzob/rufa okretu
*/
   unsigned char inclination;
   unsigned int czasStart;

   InitZbiornik( ZBIORNIK_RUFOWY );
   
   InitZbiornik( ZBIORNIK_DZIOBOWY );
   NapowietrzanieOpen();
   // Zapalenie białego leda na rufie.
   PORTA &= ~_BV(LED_WHITE);
   
// Czekanie na wlozenie okretu do wody
   while( !ShipInTheWater() )
   {
   }
// Gdy okret w wodzie, to zanurzanie okretu   
   KierunekObrotowSilnikaZbiornika( ZBIORNIK_RUFOWY, NAPELNIAJ_ZBIORNIK);
   KierunekObrotowSilnikaZbiornika( ZBIORNIK_DZIOBOWY, NAPELNIAJ_ZBIORNIK);
   while( IsSilnikZbiornikaBusy( ZBIORNIK_RUFOWY ) );
   while( IsSilnikZbiornikaBusy( ZBIORNIK_DZIOBOWY ) );
   SilnikZbiornikaOn( ZBIORNIK_RUFOWY );
   SilnikZbiornikaOn( ZBIORNIK_DZIOBOWY );
   czasStart = GetIntSecondMain();
/* Zanurzanie */
   while( !ShipUnderTheWater() )
   {
      if ( IsInclinationValid() )
      {
         inclination = GetInclinationAbs();
      }
      else
      {
         continue;
      }
      // Raz na sekunde korekcja polozenia okretu
      if ( GetIntSecondMain() - czasStart > 0 )
      {
         czasStart = GetIntSecondMain();
         if ( inclination > 0 )
         {// Dzob okretu w gore - zatrzymac napelnianie zbiornika rufowego
          // lub uruchomic napelnianie dziobowego
            switch( StanSilnika( ZBIORNIK_DZIOBOWY ) )
            {
            case SILNIK_STOI:
               SilnikZbiornikaOn( ZBIORNIK_DZIOBOWY );
               continue;
            case SILNIK_BUSY:
               break;
            case SILNIK_NAPELNIA:
               break;
            case SILNIK_OPROZNIA:
               SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
               break;
            }
            
            switch( StanSilnika( ZBIORNIK_RUFOWY ) )
            {
            case SILNIK_STOI:
               SilnikZbiornikaOn( ZBIORNIK_RUFOWY );
               continue;
            case SILNIK_BUSY:
               break;
            case SILNIK_NAPELNIA:
               break;
            case SILNIK_OPROZNIA:
               SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
               break;
            }
            
         }
         else if ( 0 == inclination )
         {// Okret na rownej stepce. Jezeli ktorys z silnikow wylaczony, to go wlaczyc
            switch( StanSilnika( ZBIORNIK_DZIOBOWY ) )
            {
            case SILNIK_STOI:
               SilnikZbiornikaOn( ZBIORNIK_DZIOBOWY );
               continue;
            case SILNIK_BUSY:
               break;
            case SILNIK_NAPELNIA:
               break;
            case SILNIK_OPROZNIA:
               SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
               break;
            }
            
            switch( StanSilnika( ZBIORNIK_RUFOWY ) )
            {
            case SILNIK_STOI:
               SilnikZbiornikaOn( ZBIORNIK_RUFOWY );
               continue;
            case SILNIK_BUSY:
               break;
            case SILNIK_NAPELNIA:
               break;
            case SILNIK_OPROZNIA:
               SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
               break;
            }
         }
         else if ( inclination < 0 )
         {// rufa okretu w gore - zatrzymac napelnianie zbiornika dziobowego
            switch( StanSilnika( ZBIORNIK_DZIOBOWY ) )
            {
            case SILNIK_STOI:
               break;
            case SILNIK_BUSY:
               break;
            case SILNIK_NAPELNIA:
               SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
               break;
            case SILNIK_OPROZNIA:
               SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
               break;
            }
         
            switch( StanSilnika( ZBIORNIK_RUFOWY ) )
            {
            case SILNIK_STOI:
               SilnikZbiornikaOn( ZBIORNIK_RUFOWY );
               continue;
            case SILNIK_BUSY:
               break;
            case SILNIK_NAPELNIA:
               break;
            case SILNIK_OPROZNIA:
               SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
               break;
            }
         }
         
      }
   
   }
   
   SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
   SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
   
   NapowietrzanieClose();
   
   while( IsSilnikZbiornikaBusy( ZBIORNIK_RUFOWY ) );   
   while( IsSilnikZbiornikaBusy( ZBIORNIK_DZIOBOWY ) );
   
   KierunekObrotowSilnikaZbiornika( ZBIORNIK_RUFOWY, OPROZNIAJ_ZBIORNIK);
   KierunekObrotowSilnikaZbiornika( ZBIORNIK_DZIOBOWY, OPROZNIAJ_ZBIORNIK);
   
   while( (!KrancowkaSilnikaZbiornika( ZBIORNIK_DZIOBOWY ) ) | ( !KrancowkaSilnikaZbiornika( ZBIORNIK_RUFOWY ) ) )
   {
      if ( !ShipUnderTheWater() )
      {
         NapowietrzanieClose();
      }
      
      if ( KrancowkaSilnikaZbiornika( ZBIORNIK_DZIOBOWY ) )
      {
         switch( StanSilnika( ZBIORNIK_DZIOBOWY ) )
         {
         case SILNIK_STOI:
            break;
         case SILNIK_BUSY:
            break;
         case SILNIK_NAPELNIA:
            SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
            break;
         case SILNIK_OPROZNIA:
            SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
            break;
         }
      
      }
      else
      {
         switch( StanSilnika( ZBIORNIK_DZIOBOWY ) )
         {
         case SILNIK_STOI:
            SilnikZbiornikaOn( ZBIORNIK_DZIOBOWY );
            break;
         case SILNIK_BUSY:
            break;
         case SILNIK_NAPELNIA:
            SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
            break;
         case SILNIK_OPROZNIA:
            break;
         }
      }
      
      if ( KrancowkaSilnikaZbiornika( ZBIORNIK_RUFOWY ) )
      {
         switch( StanSilnika( ZBIORNIK_RUFOWY ) )
         {
         case SILNIK_STOI:
            break;
         case SILNIK_BUSY:
            break;
         case SILNIK_NAPELNIA:
            SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
            break;
         case SILNIK_OPROZNIA:
            SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
            break;
         }
      }
      else
      {
         switch( StanSilnika( ZBIORNIK_RUFOWY ) )
         {
         case SILNIK_STOI:
            SilnikZbiornikaOn( ZBIORNIK_RUFOWY );
            break;
         case SILNIK_BUSY:
            break;
         case SILNIK_NAPELNIA:
            SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
            break;
         case SILNIK_OPROZNIA:
            break;
         }
      }
   
   }
   
   SilnikZbiornikaOff( ZBIORNIK_DZIOBOWY );
   SilnikZbiornikaOff( ZBIORNIK_RUFOWY );
   
   for(;;);

}



Objawił się jeszcze jeden problem - okręt się nie chce programować przez wtyczkę. Trzeba skrócić
kable.

Dalsza część eksperymentów - wieczorem.
Z ukłonami
Andrzej Korycki

Dopisane wieczorem: Ze dwie godziny zajęło mi skręcanie i rozkręcanie okrętu. To to trzeba było
poprawić to tamto. Uruchomiłem światłowód abym wiedział, że komputer jest wyłączony. Ale aby
lampka świeciła trzeba było zmienić program. Ale, aby zmienić program bez rozkręcania okrętu
trzeba było skrócić kable we wtyczce. Na koniec już wszystko było gotowe i pozostało tylko
uszczelnienie kiosku. Ale kable wychodzące z kiosku uniemożliwiały to uszczelnienie. Musiałem
rozkręcić rurę po raz piąty. Teraz wyszło, że śruby trzymające stery głębokości na kiosku się
poluzowały. Unieruchomiłem śruby w jednej połówce preparatem Loctitle . Na drugą nie starczyło
energii. Ze złości ładuję akumulator. To wszystko z dala od wody. Na jutro pozostała druga połówka
kiosku i można do wody.

Z ukłonami
Andrzej Korycki
Awatar użytkownika
Andrzej1
Posty: 1568
Rejestracja: 04 gru 2010, 21:56
Lokalizacja: {"name":"Polska Szczecin","desc":"","lat":"","lng":""}

Re: SSN-688

Post autor: Andrzej1 »

Witam

Pierwsze zanurzenie za mną.
Okręt był sterowany przez program (autonomiczny).
Program realizował następujące funkcje :
1. Inicjalizacja zbiorników.
2. Otwarcie zaworu napowietrzania
3. Zapalenie białej lampki na ogonie
4. Czekanie na włożenie okrętu do wody
5. Nabieranie wody, aż do uzyskania sygnału : okręt zanurzony.
Sygnał ten wysyłają elekrody na kiosku zanurzone w wodzie
6. Wynurzanie okrętu z pilnowaniem przechyłu dziób/rufa.
Pomiar przechyłu wykonywany co 1 sekundę ( za rzadko jak widać na filmie ).

Włączenie programu przy okręcie w wodzie powoduje pominięcie punktu 4. .

Adres filmu : http://www.youtube.com/watch?v=SvoY0p01R84
Wybaczcie jakość filmu. Ale to pierwszy mój krótkometrażowy film o okręcie podwodnym.

W trakcie prób okręt nabrał trochę wody, ale nie wyrządziła ona widocznych szkód
i okazało się, że jedna ze śrub była niedokręcona.

Następna próba będzie taka :
1. Okręt ma się zanurzyć na 5-7 cm (kiosk wystaje z wody, może nie całkowicie)
2. Ma trzymać zadane zanurzenie z kontrolą przechyłu dziób/rufa przez 30 sekund
3. ma się wynurzyć.

Z ukłonami
Andrzej Korycki
Awatar użytkownika
oksal
Posty: 1893
Rejestracja: 04 gru 2010, 21:55

Re: SSN-688

Post autor: oksal »

No tak, Chłopaki topią LAlę przy/ przed czy po wódce?;) Film Was obciąża i ten kieliszek, chyba ze to wybrana woda z wnętrza LAli:)))

Taplanie robi wrażenie.
Awatar użytkownika
ryszardw
Posty: 922
Rejestracja: 04 gru 2010, 21:56

Re: SSN-688

Post autor: ryszardw »

A co to jest jak ją pomiziasz po dziobku to się zanurza.Wrażliwa na pieszczoty.Ma charakter.R.
Awatar użytkownika
grzegorz75
Posty: 674
Rejestracja: 04 gru 2010, 21:55

Re: SSN-688

Post autor: grzegorz75 »

No właśnie , jest miziu miziu i dopiero włączata ten respirator co w kadłubie jest . 8-)
http://www.iik.suzuki.pl/
Awatar użytkownika
Andrzej1
Posty: 1568
Rejestracja: 04 gru 2010, 21:56
Lokalizacja: {"name":"Polska Szczecin","desc":"","lat":"","lng":""}

Re: SSN-688

Post autor: Andrzej1 »

Witam

Misianie, czy też, mizianie powoduje, że LAla zaczyna się zachowywać dobrze. No, w zasadzie,
w ogóle, zaczyna się zachowywać jakoś.

A kieliszeczek to był dla kurażu ( tylko jeden, bo to czwartek ). Na całkiem "cześwo" nie stało
mi odwagi wrzucać komputera do rybkariuma.

Adamie - a na filmie, to fajka była.

Z ukłonami
Andrzej Korycki

P.S.
Nowy "pogrom" się pisze.
Ostatnio zmieniony 14 maja 2011, 01:38 przez Andrzej1, łącznie zmieniany 1 raz.
Awatar użytkownika
stefan
Posty: 1155
Rejestracja: 04 gru 2010, 21:55

Re: SSN-688

Post autor: stefan »

Hmmm... no nie wiem kurde, ja sie na rybkariumach nie znam, a jeszcze mniej na okrętach co sie samowolnie topiom. Na ten tomiast, jak to jest końpiuter co go topiom to juz wogle jest do bani...znaczy się dla mie, laikonka.
Ale, ale, skoro to jest okręt podwodny ( znaczy się model takowego) no to jest OK ale nie do końca. To,że uf wynalazek ( bez obrazy, fany cygar z niego) jest podwodny to widać, topi sie ale czemu kurna taki głośny??? Na kopalni ... sejsmografy zarejestrowały trzęsienie rybkariumu w szczecinie...
ODPOWIEDZ