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

Mały samochodzik do rozbudowy

12 Sie 2007 22:20 4394 11
  • Poziom 14  
    Witam!! Niedawno skończyłem budowę takiego czegoś :)
    Chciałem, aby cała elektronika nadawała sie do rozbudowy oraz żeby samochodzik nie był za dużych rozmiarów(75mm x 75mm).
    Jak na razie sercem układu jest ATTiny2313, steruje on scalonym
    mostkiem H. Układ napędowy posiada dodatkowo sprzężenie zwrotne w postaci rolek z myszki komputerowej, dzięki temu można dokładnie zaplanować jego trasę. Samochodzik zasilany jest 4 bateriami AA.Napęd stanowią 2 silniczki (pobór prądu bez obciążenia 50mA
    , z obciążeniem max. 120mA).

    Jak na razie nie mam do niego mądrego programu, ponieważ nie miałem na to czasu, ale jak tylko będzie to go zaprezentuje.
    Czekam na wasze opinie, pomysły i sugestie :)
    Dołączam parę zdjęć:
  • Poziom 12  
    samochodzik bardzo ładny. czy posiada on inne funkcje niż jazda po zadanej trasie? Ja bym jeszcze wykonał do niego obudowę np z laminatu. jaka prędkość max osiąga?

    Ps mam pytanie do czego Ci służy ta duża niebieska wtyczka?
  • Poziom 25  
    Janek05 napisał:

    Ps mam pytanie do czego Ci służy ta duża niebieska wtyczka?
    Prawdopodobnie to złącze ISP 2x5, :D ale nie wiem w 100%, może konstruktor używa jej do czego innego.

    Pozdrawiam
  • Poziom 10  
    No ładny ,ładny.Czy możesz podać części i schemat ?To tak dla wiedzy .
  • Poziom 14  
    To złącze jest do programowanie , jak zauważył kolega...:)
    Zamieszczam schemat, jest na nim jeszcze czujnik podczerwieni , lecz jeszcze go nie złożyłem z braku czasu.
  • Poziom 21  
    Umieśc schemat w pliku graficznym żeby każdy go sobie mógł zobaczyc.

    Pozdrawiam
  • VIP Zasłużony dla elektroda
    Konstrukcja zgrabna i estetyczna, gratuluję.

    Umieść link do tego tematu w przyklejonym wątku "Nasze roboty" wtedy będzie go łatwiej odnaleźć
  • Poziom 39  
    kilka uwag do schematu , jako mostek H masz niby LDxxx , z schematu wynika że to L293D nie jest dobry rozwiązaniem zasilanie części cyfrowej razem z stopniem mocy mostka H , nie masz żadnego stabilizatora z czego rozumie że całość jest zasilana z 6V , pomijając zakłócenia wnoszone przez silniki dochodzi spadek napięcia w momentu kiedy napięcie będzie zbyt niskie zaczną się cuda w układzie logiki
    zastosowałeś układ z strony http://www.lynxmotion.com/images/data/irpd.pdf , również użyłem go w swojej konstrukcji jednak są z nim problemy o których pisałem , szczególnie dotyczy to TSOP którego zachowanie jest nie do określenia , druga sprawa to stosując układ serii ALS możesz mieć kłopoty z generatorem fali nośnej 38kHz zastosuj serię HC lub HCT
    jeżeli nie planujesz transmisji danych , to układ rezonatora kwarcowego jest zbędny , również nie warto zostawiać wiszącego w powietrzu wejścia reset
  • Poziom 14  
    Dzięki Bogdan za trafne uwagi..
    Zwłaszcza za zwrócenie uwagi na ten problem z TOSP, bo miałem się brać
    za robienie tego układu :).
    Co do zasilania, to nie zauważyłem z tego powodu żadnych problemów. Dołożyłem jeszcze kondensator na zasilanie uC. Może dlatego.
    Lecz pojawił się problem:
    napisałem program, który ma zajmować się prostą jazdą tego ustrojstwa,
    lecz tak nie jest.
    Pojazd pokonuje wyznaczoną odległość (200 impulsów) zatrzymuje sie , ale się "zatacza'(na prawo i lewo) podczas jazdy i to dość znacznie. Nie wiem do końca czym to jest spowodowane..
    Wydaje mi się, że to wina napędu "gumowego" to znaczy rozciągliwości gumy, przez to jeśli się silnik zatrzyma lub ruszy koło nie zareaguje od razu tylko z opóźnieniem, lub oczywiście program jest źle napisany. Co o tym sądzicie????

    Załączam źródło w Bascom-ie

    Code:
    Config Portb = &B11111111
    
            Portb = &B11111111

            Enable Interrupts
            Enable Int0
            Enable Int1
            Config Int0 = Falling
            Config Int1 = Falling

            On Int0 Impuls_prawy
            On Int1 Impuls_lewy

    Dim Ile_impulsow_prawy As Integer
    Dim Ile_impulsow_lewy As Integer
    Dim Jazda As Bit
    Dim Sprawdzenie_stanu As Bit
    Dim Zgodnosc_pp As Integer
    Dim Zgodnosc_pt As Integer
    Dim Zgodnosc_tp As Integer
    Dim Prawy_stan As Bit
    Dim Lewy_stan As Bit

    Prawy_przod Alias Portb.5
    Prawy_tyl Alias Portb.4
    Prawy_pwm Alias Portb.3
    Lewy_przod Alias Portb.2
    Lewy_tyl Alias Portb.1
    Lewy_pwm Alias Portb.0

    Ile_impulsow_prawy = 200
    Ile_impulsow_lewy = 200

    Jazda = 1
    Sprawdzenie_stanu = 1


    Do
                'Czy zlecona jes jazda??'
    '**********************************************
    If Jazda = 1 Then


                'Włączanie silników'
    '=================================================
        If Sprawdzenie_stanu = 1 Then
    '----------------------------------------------
      Select Case Ile_impulsow_prawy

        Case Is > 0 : Prawy_przod = 0
                       Prawy_stan = 1
        Case Is < 0 : Prawy_tyl = 0
                       Prawy_stan = 0
      End Select
    '----------------------------------------------
      Select Case Ile_impulsow_lewy

        Case Is > 0 : Lewy_przod = 0
                       Lewy_stan = 1
        Case Is < 0 : Lewy_tyl = 0
                       Lewy_stan = 0
      End Select
    '----------------------------------------------
        Sprawdzenie_stanu = 0
        End If
    '=================================================
        'Sprawdzanie prędkości?? ( jazda do przodu)'
    '=================================================
           If Prawy_stan = 1 And Lewy_stan = 1 Then
        Zgodnosc_pp = Ile_impulsow_prawy - Ile_impulsow_lewy
    '----------------------------------------------
     Select Case Zgodnosc_pp

        Case 0 : Lewy_przod = 0
                  Prawy_przod = 0
        Case Is < 0 : Prawy_przod = 1
        Case Is > 0 : Lewy_przod = 1

     End Select
    '----------------------------------------------
            End If
    '=================================================
         'Sprawdzanie prędkości?? ( jazda w lewo)'
    '=================================================
            If Prawy_stan = 1 And Lewy_stan = 0 Then
        Zgodnosc_pt = Ile_impulsow_prawy + Ile_impulsow_lewy
    '----------------------------------------------
     Select Case Zgodnosc_pt

        Case 0 : Prawy_przod = 0
                  Lewy_tyl = 0
        Case Is < 0 : Prawy_przod = 1
        Case Is > 0 : Lewy_tyl = 1

     End Select
    '----------------------------------------------
            End If
    '================================================
         'Sprawdzanie prędkości?? ( jazda w prawo)'
    '================================================
            If Prawy_stan = 0 And Lewy_stan = 1 Then
        Zgodnosc_tp = Ile_impulsow_lewy - Ile_impulsow_prawy
    '----------------------------------------------
     Select Case Zgodnosc_tp

        Case 0 : Prawy_tyl = 0
                  Lewy_przod = 0
        Case Is < 0 : Lewy_przod = 1
        Case Is > 0 : Prawy_tyl = 0

     End Select
    '----------------------------------------------
            End If
    '================================================
         'Sprawdzanie czy zakończyć jazde??'
    '================================================
            If Ile_impulsow_prawy = 0 Then
            If Ile_impulsow_lewy = 0 Then
                Jazda = 0
            End If
            End If
    '================================================
    End If
    '*********************************************
    Loop





                    'Przerwania'
    '*********************************************
    Impuls_prawy:
    Ile_impulsow_prawy = Ile_impulsow_prawy - 1

    Return

    Impuls_lewy:
    Ile_impulsow_lewy = Ile_impulsow_lewy - 1

    Return
    '*********************************************
  • Poziom 39  
    nie jestem zwolennikiem stosowania takie właśnie napędu , jedyna jego zaleta to koszt dużo lepiej jest zastosować przerobione serwo
    proponuje sprawdzenie zacznij od umieszczenia silnika na jakiej platformie tak aby koła obracały się swobodnie , uruchom pojazd i zobacz zachowanie układu jezdnego , możesz również napisać prosty program tylko do jazdy prosto i zobaczyć jego zachowanie , innym sposobem jest zastąpienie silników układem 2przeciwnie połączonych Led z opornikiem ograniczającym pozwoli to sprawdzić poprawność programu
    w końcu może okazać się że powodem są zakłócenia od silników , sposób zasilnie o którym pisałem wcześniej jak również wiszący w powietrzu reset , jeszcze jedno ATTiny 2313 nie jest na 6V !
    – ATtiny2313V: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V
    – ATtiny2313: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
  • Poziom 14  
    Jeśli uniosę pojazd do góry i koła się obracają swobodnie to wszystko działa jak powinno, dlatego wydaje mi się ,że to przez ten napęd "gumowy".
  • Poziom 39  
    nie koniecznie , ponieważ silniki pracują na luzie zupełnie inna sytuacja występuje pod obciążeniem i to pod względem mechanicznym jak i elektrycznym