Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Pojazd RC

satanistik 29 Sie 2007 16:57 21363 37
  • Pojazd RC
    Na zdjęciu Satanistik ( długie włosy) i looco5


    Urządzenie powstało ok roku temu kiedy mieliśmy w szkole dni otwarte i trzeba było coś przygotować. Budowa zajęła 2 tygodnie i pochłonęła ok 150zł
    czyli:
    akumulatory żelowe 7ah 12v * 2 39zł
    silnik z przekładnia od kserokopiarki 10zł
    koła od hulajnogi 15zl
    telefon bezprzewodowy 5zł
    pad od psx 10zł
    atmega8 - 6zł * 2
    at90s2313 smd - 3zł
    Pozostałe komponenty udało nam się uzyskać dzięki pomocy nauczycieli z warsztatów szkolnych Zespołu Szkół Elektronicznych przy ulicy Wojciechowskiej w Lublinie

    Do sterowania zaprojektowałem aparaturę opartą o telefon bezprzewodowy zapewniającą 2 kanały proporcjonalne i 8 kanałów 1/0
    Realizowane funkcje to
    Płynna regulacja obrotów silnika w 255krokach (do wyboru prawa lub lewa gałka)
    zmiana kierunku obrotów silnika (przycisk z przodu kontrolera)
    hamowanie po przez zwarcie zacisków silnika (wduszenie dowolnej gałki)
    płynna regulacja konta wychylenia kół skrętnych (255kroków)
    sterowanie światła (stop) 10efektów świetlnych
    klakson
    Pozostałe kanały miały być wykorzystane do sterowania kamerą
    jednak ze względu na brak nadajnika tv pomysł ten nie doczekał się realizacji.
    Do modulacji w nadajniku wykorzystałem generator sinusa w oparciu o zespół liczników i pamięć 27c128 z zapisaną tabelą wartości oraz prostym przetwornikiem z 8 potencjometrów Po przez zmianę stopnia podziału uzyskiwało się odpowiednio 1 lub 2 khz co odpowiadało 0 lub 1 logicznej
    Do korekcji błędów służyła 8 bitowa suma kontrolna dołączana do ramki danych.
    Zasięg tego urządzenia był imponujący i wynosił 300m :D
    A oto kilka błędów które wypłynęły w trakcie budowy i może pomoże to komuś ich w przyszłości uniknąć:
    - teflonowe zębatki w przekładniach łańcuchowych nie sprawdzają się przy konstrukcjach o takiej masie
    -Telefon bezprzewodowy na częstotliwość 900mhz jest dość wrażliwy na kombinacje przy układzie antenowym ( każda zmiana drastycznie obniża zasięg nawet kont antena płytka się liczy)
    -Kauczukowe koła nie nadają się do napędu gdyż nie zapewniają dostatecznej przyczepności)
    -Przy wyborze kontrolera od psx warto zwrócić uwagę na markę
    tylko oryginalne kontrolery SONY mają pełną 8 bitową rozdzielczość przetwornika a nie zubożałą co kilka jednostek)
    Dla zainteresowanych mogę udostępnić program obsługi padu napisany w bascomie )


    Postaram się zamieścić szczegółowe zdjęcia i schematy kiedy tylko je wykonam
    Pojazd



    Pojazd RC


    Fajne!
  • #2 29 Sie 2007 20:05
    mariuz
    Poziom 32  

    1:przerzuć zdjęcie na początek
    2:Jak masz ot umieść schemat aparatury i pojazdu
    3: Filmiki możesz wrzucić na youtube (przyjmuje 3gp bez problemów)

  • #3 29 Sie 2007 21:18
    kroczusiek
    Poziom 13  

    Wow,mogę przyznać że rozwiązanie rewelacyjne-pad od ps'a jest bardzo wygodny.Można by jakiś schemat blokowy?

  • #4 29 Sie 2007 21:22
    DarekMich
    Poziom 15  

    Ja byłbym bardzo zainteresowany obsługą padu od PSX. jak byś mógł to tak jakoś poglądowo wytłumaczyć. Pozatym projekt fajny, ambitny. zamieściłbymtam jeszcze kamerkę, z poglądem wizyjnym, na ekranie wskaźnik prędkości itp. Mail adi116(malpa)wp.pl, albo poprostu zamieść na forum będzie nawet lepiej. Pozdrawiam i życzę dalszych udanych konstrukcji.

  • #5 29 Sie 2007 21:42
    dzikchu
    Poziom 13  

    oj eryk Wy to wariaty jesteście :) a wiecie ze macie ta płytke od monitora moja musicie mi ja oddać, a co po DIY to widziałem co potrafi ten samochodzik najlepsze jest jak rusza tak ze zostawia ślad tzw. palenie gumy :)

  • #7 29 Sie 2007 22:15
    jorgi6
    Poziom 11  

    pomysłowe.za pomyśl i wykonanie5/5 choć faktycznie trzeba by bylo popracować nad tymi niedociągnięciami

  • #8 29 Sie 2007 22:16
    Spiochu
    Poziom 12  

    Hmm.. co to jest" kanał 1/0 " ? (czytam jako 'jeden / zero' ?

  • #9 29 Sie 2007 22:19
    wzagra
    Poziom 33  

    Mam wrażenie, że znam skądś te korytarze ;)). Co tu gadać - Wojciechowska rulez ;)).

    Popraw jeszcze błędy ortograficzne i będzie kul ;)).

  • #10 29 Sie 2007 22:34
    satanistik
    Poziom 27  

    No to tak
    Program w bascomie do sterowania padem od psx dołączam ale proszę go nigdzie nie publikować (nie dotyczy linku do programu )- kto zna te stronę ten zrozumie

    Kamera nie wyszła gdyż nie udało mi się zestroić nadajnika tv na 400mhz - nie dysponuje odpowiednim sprzętem ale udało mi się dokleić obiektyw z kamery vhs do kamery płytkowej i o dziwo zoom wyszedł idealny .

    schemat aparatury postaram się zrobić - w najbliższym czasie blokowy a potem może i cały choć nie jestem pewien czy warto to powielać

    Będę wdzięczny za każdą opinię i komentarz gdyż jest to moje pierwsze publikowane DIY i nie mam doświadczenia w redagowaniu takich artykułów.

  • #11 29 Sie 2007 22:55
    323493
    Użytkownik usunął konto  
  • #12 29 Sie 2007 23:25
    satanistik
    Poziom 27  

    Transmisja wygląda mniej więcej tak:
    najpierw up odbiornika włącza przycisk nawiązania połączenia w słuchawce
    i czeka x sekund na zapalenie się diody sygnalizującej połączenie
    jeżeli to nie nastąpi próbuje ponownie
    W układzie nadajnika pracuje generator kwarcowy wytwarzający sygnał o częstotliwości 7,2mhz który po wstępnym podziale przez 10 a następnie w zależności od stanu wejścia sterującego przez 2 podawany jest na wejście licznika binarnego liczącego do 360. Wyjścia tego licznika sterują wejściami adresowymi układu 27c128 w którym zapisane są wartości sinusa .Linie danych pamięci sterują prostym przetwornikiem c/a zbudowanym w oparciu o 8 rezystorów i 8 potencjometrów. Uzyskujemy w ten sposób przebieg o częstotliwości odpowiednio 1 lub 2 kHz który po przez wzmacniacz operacyjny podawany jest na wejście audio telefonu z pominięciem wzmacniacza mikrofonowego
    1 bit danych to 1 okres przebiegu a jego czas trwania decyduje o wartości bitu
    przesyłane są 4 bajty 3 bajty danych i 1 bajt crc
    W odbiorniku sygnał z głośnika podawany jest na wejście wzmacniacza operacyjnego tak aby jego wartość między szczytowa wynosiła ok 5v
    a następnie na komparator analogowy i na wejście przerwań procesora
    Nie jest to z pewnością układ najdoskonalszy ale wpadłem na ten pomysł przeglądając projekty modemów bbs i jakoś tak musiałem sprawdzić go w praktyce

    Kanał 1/0 to po prostu kanał włączone / wyłączone

  • #14 29 Sie 2007 23:33
    kafka
    Poziom 22  

    Wojciechowska... heh... 7 lat temu sam miałem tam iść. Ambicja jednak wzięła górę. Elektroniki uczyłem się sam, za to matma fiza i inne ścisłe szlifowałem w zamoyu... Tak oto wylądowałem na EiTI na PW w Warszawie... a w zasadzie już kończę. Chociaż tak dobrze pójdzie to i doktoracik kiedyś będzie. To było tak ot.

    A tak pobieżnie przeglądając... kiedyś robiłem coś podobnego, ale 27c128 i ca do sinusa do chyba za duża armata. Wystarczyło NE555 ze zmiennym oporem lub dwa NE555 i wybieranie multiplekserem. Poza tym można dostać moduły radiowe i wtedy już zupełna bajka...

  • #15 29 Sie 2007 23:55
    satanistik
    Poziom 27  

    może i masz rację ale ten układ powstał po to aby
    - wyprobować nowo powstały programator eeprom (wyszło na jaw że zamienione były piny adresu i nie dało się tego wykryć bez użycia innego programatora)
    - zabicia ferii zimowych :D
    - dobrej zabawy
    - miał być częścią projektu synchronizowanej sieci zegarków
    no i najważniejsze po mimo stopnia komplikacji działał a to się liczy
    a no i jeszcze jedno
    dzięki zastosowaniu cyfrowej generacji sinusa każdy okres przebiegu jest kolejnym bitem (można wytworzyć 2 okresy po sobie jeden o czasie trwania
    1/1khz a następny jusz o czasie 1/2khz zapewnia to wzrost prędkości transmisji (tylko 1 okres na bit)

  • #16 30 Sie 2007 00:23
    looco5
    Poziom 16  

    No widze że i ja sie znalazłem na focie wiec coś opowiem o "samochodziku" jest on bardzo zrywny można zawracać nim na miejscu palenie gumy przy ruszani to też nie nowośc dla niego ,pojazd jest poprostu bardzo widowiskowy, bardo ładne można nim krecic "kółeczka" no ale niema sie co przechwalac (my i nasza furka potrafimy więcej )
    rama samochodu jest wykonana z kwadratowych "rurek" cała konstrukcja jest łożyskowana tzn łożyska w kołach łozyska w skręcie itp. to tyle co mi sie narazie przypomniało ale jeszcze bede pisał

    pozdrawiam

  • #17 30 Sie 2007 13:59
    DJKompot
    Poziom 26  

    Witam

    Jak by można było to podaj mi na maila schemat i kod źródłowy bo też pisze w Bascomie i chciałbym zobaczyć twoje rozwiązanie w kompilatorze ale można by było prościej. Np. Dać dwa mikrokontrolery które komunikowały by się ze sobą poprzez nadajnik/odornik (np.) analogowy lub inny po czym według gustu dodatkowo wzmocniony. A tak z ciekawości jaki ma zasięg twój nadajnik w chwili obecnej ?

    Pozdrawiam

  • #18 30 Sie 2007 15:04
    satanistik
    Poziom 27  

    Fragment kodu udostępniłem na początku
    zasięg to ok 300-400m w terenie otartym
    Procesory są 3 ale planuję wyeliminować 1
    Z tego co się zorientowałem to jest to jedno z niewielu rozwiązań prezentowanych na elektrodzie które pozwala komunikować się mikro kontrolerom na taką odległość bez zastosowania gotowych modułów radiowych , daje też dodatkowy kanał zwrotny audio
    Niestety schemat nigdy nie powstał gdyż tworzyłem na bieżąco
    Czekam na wyniki testów padów psx (może ktoś rozgryzie jak uruchomić wibracje)

  • #19 30 Sie 2007 16:12
    _milcek_
    Poziom 19  

    Cześć
    Ostatnio szukałem schemat aparaturki dosyć prostej i taniej twoja spełnia moje moje wymagania w 100% ale mam pytanie:
    jaki jest czas reakcji od wciśnięcia przycisku do wykonania
    jaki telefon bezprzewodowy kupiłeś
    Sam kombinuje z takimi pojazdami ale o niekonwencjonalnym napędzie np. odrzutowy(silnik pulsacyjny), parowy może nawet jonowy.
    Pozdro
    ps. Prosiłbym o schemat nawet ideowy i o wsady do proców

  • #20 30 Sie 2007 18:50
    DJKompot
    Poziom 26  

    Witam
    Co do wibraci to przyszły mi dwa pomysły:
    1. Można by było Zamontować licznik obrotów koła i gdy zostanie przekroczona pewna wartość (która podana do proca pilota) prędkości to poprzez tranzystor (np.) wysteruje silniczki ( stopniowo do przędkości).
    2. Można też do zawieszenia samochodziku (jeżeli posiada) zamontować diode a z drugiej strony foto elemęt lub innaczej co przy wyższym wygięciu zawieszenia spowoduje wysłanie inpulsu dioda-->fotorezystor-->procek-->(pilot) procek który też przez tranzystor wysteruje silniczki.

    Nie wiem dokładnie czy ma pilot osobne wejście psx-a ale tak by to wyglądało ze strony mechanicznej.

    Jeszcze jedno wyślij te pliki bo jakoś nie moge pobrać z rapida coś nie tak chyba z explorerem.

    Pozdrawiam

  • #21 30 Sie 2007 20:38
    TheWiktus
    Poziom 18  

    Taka drobna uwaga co do archiwum ,jest tam jakaś ukryra muzyczka ,co
    skutecznie zwiększa jego rozmiar do prawie 10 mb :D

    Ps .
    Za rok też wybieram się na Wojciechowską. :D

  • #22 31 Sie 2007 14:06
    satanistik
    Poziom 27  

    co do wibracji to zależy mi na sposobie sterowania wbudowanych wibratorów
    w samym padzie .
    Plik audio ukryty w pliku z kodem ma na celu nabijanie punktów na rapidshare ale przecież coś muszę mieć w zamian
    a 10mb to raczej niewiele
    W razie problemów proszę pisząc na gg to prześlę kopię

  • #23 31 Sie 2007 18:34
    TheWiktus
    Poziom 18  

    To chyba zwykłe silniczki ,więc PWM będzie dobrym sposobem.

  • #24 31 Sie 2007 23:37
    satanistik
    Poziom 27  

    Tylko że zastosowałem oryginalny nie przerabiany pad i jego elektronika ma
    możliwość uruchamiania wibracji jednak nie doszedłem jaka to może być komenda (patrz program obsługi padu od psx)


    Oto kolejna porcja filmikow
    http://rapidshare.com/files/52831151/Pulpit.rar

  • #25 04 Wrz 2007 15:33
    J_Bravo
    Poziom 27  

    obsluga padow od PSX w bascom ....

    Code:
    '###############################################################################
    

    '# File Name: PSX_PADInterface.bas # '# Written By: Matt Smith # '# Function: Allows you to hook a Sony PSX handcontroller to a AVR using # '# the Hardware Spi functions in Bascom. It is an awesome tool # '# for lots of different projects. The Analog Red Mode Controller# '# has 14 Buttons and two Joysticks with 8 bit resolution. # '# # '# Note: This software is provided as-is No warranties implied. # '# # '# PSX Pinout looking at the plug. # '# _______________________ # '# Pin 1->| o o o | o o o | o o o | # '# \_____________________/ # '# # '# Pin1 = Data (PSX PAD Data Line Output) Connects to MISO(PB3) # '# Pin2 = Command (PSX PAD Data Line Input) Connects to MOSI(PB2) # '# Pin3 = N/C No Connection # '# Pin4 = GND Obvious # '# Pin5 = Vcc +5Vdc Obvious # '# Pin6 = ATT (Select) Connects to PB4 # '# Pin7 = Clock Line Connects to SCK(PB1) # '# Pin8 = N/C No Connection #

    '# Pin9 = ACK                 No Connection                     #

    '# # '# I used a 16Mhz Crystal and I used pull-up Res 4.7Kohm on PB3 to Vcc(5V) # '# It didn't seem to matter with slower crystals. # '# Have Fun! #

    '###############################################################################

    $REGFILE = "m128DEF.DAT"
    $baud = 19200
    $crystal = 16000000


    dim cmdStart as byte
        cmdStart = &H01
    dim cmdStatus as byte
        cmdStatus = &H42

    'PSX Type ID
    Const cnstID_Digital = &H41
    Const cnstID_NegCon = &H23
    Const cnstID_AnalogRed = &H73
    Const cnstID_AnalogGreen = &H53

    'These are for local storage of last read packet from PSX PAD
     dim PSPAD_Present as byte , PSPAD_MODE as byte
     dim PSPAD_Byte1 as byte , PSPAD_Byte2 as byte

    dim PSPAD_RJoyHPos as byte , PSPAD_LJoyHPos as byte ' 0 = left, 255 = Right
    dim PSPAD_RJoyVPos as byte , PSPAD_LJoyVPos as byte '0 = Up, 255 = Down

    'All Buttons on the controller are active low
    'Easy Reading
     PSPAD_Key_Select alias PSPAD_Byte1.0
     PSPAD_Key_JoyR alias PSPAD_Byte1.1
     PSPAD_Key_JoyL alias PSPAD_Byte1.2
     PSPAD_Key_Start alias PSPAD_Byte1.3
     PSPAD_Key_UP alias PSPAD_Byte1.4
     PSPAD_Key_Right alias PSPAD_Byte1.5
     PSPAD_Key_Down alias PSPAD_Byte1.6
     PSPAD_Key_Left alias PSPAD_Byte1.7

     PSPAD_Key_L2 alias PSPAD_Byte2.0
     PSPAD_Key_R2 alias PSPAD_Byte2.1
     PSPAD_Key_L1 alias PSPAD_Byte2.2
     PSPAD_Key_R1 alias PSPAD_Byte2.3
     PSPAD_Key_Triangle alias PSPAD_Byte2.4
     PSPAD_Key_Circle alias PSPAD_Byte2.5
     PSPAD_Key_X alias PSPAD_Byte2.6
     PSPAD_Key_Square alias PSPAD_Byte2.7

     'Subroutine Declarations
    Declare sub QueryPSPad


    'Configure the SPI in Hardware mode these are the only settings that will work
    Config Spi = hard , Interrupt = Off , Data Order = lsb , Master = Yes , Polarity = high , Phase = 1 , Clockrate = 128

    'init the spi pins
    Spiinit
    'Now configure our pin we will use for the ATT line
    config pinb.4 = output
    Pad_ATT_Line Alias portb.4

    '********************************* Main ****************************************

    do
    'Remember that the buttons are active low
      'We will update slow so that we can test easily in the Terminal Emulator
      waitms 1000
      'Get Current Button states from PSX Controller
      gosub QueryPSPAD
         'Now do something base on the results

    if PSPAD_Present = 1 then                  '0 = not present, 1 = present

              print "Select:" ; PSPAD_Key_Select
              print "JoyR:" ; PSPAD_Key_JoyR
              print "JoyL:" ; PSPAD_Key_JoyL
              print "Start:" ; PSPAD_Key_Start
              print "Up:" ; PSPAD_Key_UP
              print "Right:" ; PSPAD_Key_Right
              print "Down:" ; PSPAD_Key_Down
              print "Left:" ; PSPAD_Key_Left
              print "L2:" ; PSPAD_Key_L2
              print "R2:" ; PSPAD_Key_R2
              print "L1:" ; PSPAD_Key_L1
              print "R1:" ; PSPAD_Key_R1
              print "Triangle:" ; PSPAD_Key_Triangle
              print "Circle:" ; PSPAD_Key_Circle
              print "X Key:" ; PSPAD_Key_X
              print "Square:" ; PSPAD_Key_Square
              print "Right Joystick H Position:" ; PSPAD_RJoyHPos
              print "Right Joystick V Position:" ; PSPAD_RJoyVPos
              print "Left Joystick H Position:" ; PSPAD_LJoyHPos
              print "Left Joystick V Position:" ; PSPAD_LJoyVPos

         else
              Print "No Response From PSX PAD"
         end if


    loop

    '******************************* End Main **************************************

    Sub QueryPSPad

    reset Pad_ATT_Line 'Get PS2PAD Attention

      spiout cmdstart , 1                                      'Send Start

    PSPAD_Mode = spimove(cmdStatus) 'Send Request, Recieve ID Byte '

    spiin PSPAD_Present , 1               'Is PAD Responding

       'Now see if controller is going to send something


    if PSPAD_Present = 90 then '90 = Data on its way!
      PSPAD_Present = 1 'Set the global bit
      spiin PSPAD_Byte1 , 1 'Byte 1 and 2 are always used
      spiin PSPAD_Byte2 , 1
      spiin PSPAD_RJoyHPos , 1 'Byte 3-6 are for Analog modes

            spiin PSPAD_RJoyVPos , 1
            spiin PSPAD_LJoyHPos , 1
            spiin PSPAD_LJoyVPos , 1
            set Pad_Att_Line
       else


    PSPAD_Present = 0 'Set the global state
    set Pad_Att_Line 'Release Attention Line to the PS2 PAD

      end if


    end sub
    '*******************************************************************************


  • #26 05 Wrz 2007 16:27
    satanistik
    Poziom 27  

    Może jest to inny program ale nie ma tam rozwiazania mojego problemu - komend do sterowania wbudowanym w pad układem wibratora

  • #28 12 Wrz 2007 13:23
    piotrkopec
    Poziom 17  

    czy wibracje już działają?
    u dołu strony do której podałem link, znajduje się link do rozpracowanego protokołu. jest tam mowa o dwóch silniczkach, komendzie i danych. to chyba to, czo nie?

  • #29 16 Wrz 2007 00:03
    satanistik
    Poziom 27  

    Wydaje mi się że to to ,jak tylko znajdę odrobinę czasu to postaram się przetestować i dam znać czy coś z tego wyszło

  • #30 20 Lis 2007 15:27
    Grzes_korzen
    Poziom 1  

    jak zbudowałeś ten nadajnik ??? mógłbyś zamieścić jakiś schemat?? i najlepiej zdjęcie otwartego nadajnika