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

Mini Komputer samochodowy, prośba o sprawdzenie schematu

darrrrek 06 Lis 2007 23:59 10792 82
  • #31
    Mr_T_
    Poziom 15  
    Aha. Pytałem się bo nie widzę czegokolwiek podłączonego do procka w miejscu gdzie niby ma być rezonator.
  • Computer Controls
  • #32
    darrrrek
    Poziom 22  
    nie dopisalem ze chodzi na wewnetrznym :)
  • Computer Controls
  • #33
    Lewho
    Poziom 15  
    Koraliki to na szyje :) , a kondensator 100 nF spokojnie wystarcza. Problem leży w tym, że gdy w trakcie przesyłania danych (szeregowo - SPI) do wyświetlacza nastąpi przerwanie, to będą wyświetlane śmieci, bo tej transmisji nie można przerywać w dowolnym momencie. Można to rozwiązać przez podział czasowy pracy procesora na pomiar i wyświetlanie (zablokowany system obsługi przerwań).

    Jeśli chodzi o schemat, to możesz zrezygnować z diod i kondensatorów przy switchach, bo drgania styków to się eliminuje programowo.

    PS Słyszę Comę :)
  • #34
    darrrrek
    Poziom 22  
    diody musza byc bo chce odbierac klawiature w przerwaniu :). Na plytke wyswietlacza wrzuce jakis maly uC w wersji smd, moze Attiny15 wystarczy i bede mu wysylal uartem dane ktore chce wyswietlac, bo przerwan nie moge blokowac, procek na bierzaco ma liczyc ile auto pochłoneło juz paliwa.

    Dodano po 18 [sekundy]:

    tak to Coma :P
  • #35
    sitec
    Poziom 13  
    Mr_T_ napisał:
    Tylko czy w ten sposób mierzony będzie prawidłowy czas otwarcia wtrysku? Wtrysk jest otwierany przez chwilę dłuższym sygnałem, a potem podtrzymywany przez krótkie szpilki.
    A i jak zmierzyć czas ten za pomocą ICP bo za bardzo nie rozumiem. Rozumiem rozwiązanie z użyciem dwóch wejść przerwać, które reagują na przeciwne zbocza.


    Dlatego napisałem że warto użyć układ 74HC14 który wyeliminuje wszystkie zakłucenia powstałe przez indukcyjność wtrysków.

    Mr_T_ napisał:
    i jak zmierzyć czas ten za pomocą ICP bo za bardzo nie rozumiem.


    Czas wystąpienia stanu niskiego łatwo zmierzysz poprzez np Timer0. Musisz podpiąć się pod T0 lub T1 i ustawić Timer jako Counter. Podczas wystąpienia stanu niskiego będzie Ci on zliczał ilość taktów zegara, a wtedy łatwo już możesz policzyć czas wtrysku.
  • #36
    darrrrek
    Poziom 22  
    ile wtrysków naraz dziala w silniku ?? 2 czy 4 ?? bo wyniki na moim komputerku mam o połowe wieksze.
  • #37
    Dr_DEAD
    Poziom 28  
    Teoretycznie tylko jeden tłok naraz jest w fazie ssania świerzej mieszanki jeżeli mamy 4 cylindry. Sama nazwa mówi: Silnik 4-ro suwowy, czyli jeden tłok w suwie ssania, a pozostałe 3 w pozostałych 3-ch suwach.
  • #38
    darrrrek
    Poziom 22  
    no niby tak ale z tego co widze to za kazdym razem otwierane sa wszystkie wtryski. Stała moich wtrysków to 0,00441 L/s (1 wtrysk) jest ich 4 sztuki. Odczytuje czas otwarcia jednego z nich, obliczam jak dlugo byl otwarty, wyliczam ile wlecialo paliwa i mnoże wynik x 4. Ale wynik wyglada jakby był o polowe za duzy, tzn po przejechaniu 3km na wyswietlaczu pojawila sie wartosc 0,47 litra czyli dla 12 km niecale 2 Litry by spalil, a to nie mozliwe bo wiem ze przy 12 km pali mi niecaly 1 litr (w miescie) moze zamiast mnozyc wynik x 4 powinienem go pomnozyc x2 ?? nie wiem co robie zle ??
  • #39
    Mr_T_
    Poziom 15  
    Mi nasuwa się pytanie czy do każdego tłoka wpada tyle samo paliwa. Przecież jak mierzysz tylko na 1, i jest różny czas otwarcia wtrysku to tutaj niestety ale chyba trzeba mierzyć czas otwarcia wszystkich wtryskiwaczy, tzn. chyba każdego z osobna.
  • #40
    darrrrek
    Poziom 22  
    jeszcze nie widzialem projektu komputera samochodowego ktory by mierzyl czas wtrysku dla kazdego tloka. Kazdy mierzy tylko jednego wtrysku
  • #41
    Mr_T_
    Poziom 15  
    Ja tylko logicznie podchodzę do tego.
    Z tego co wiemy to komputer dobiera ilość paliwa do bieżącego stanu silnika (obciążenia, temp, prędkości itp.), czyli jeżeli na bieżąco tzn, że dla każdego wtryskiwacza są dobierane parametry wtrysku.

    Może fakt nie widziałeś... Mnie ten temat też interesuje i co do tej pory patrzyłem na schematy to widziałem właśnie tylko 1 wejście od wtryskiwacza, ale też nie wiem czy do jedno- czy wielo- punktowego wtrysku były projektowane.

    Teraz jeszcze napisz proszę czy ten pomiar zawierał w sobie moment odpalenia samochodu czy nie.
  • #42
    romario4
    Poziom 16  
    Mr_T_ napisał:
    Tylko czy w ten sposób mierzony będzie prawidłowy czas otwarcia wtrysku? Wtrysk jest otwierany przez chwilę dłuższym sygnałem, a potem podtrzymywany przez krótkie szpilki.
    A i jak zmierzyć czas ten za pomocą ICP bo za bardzo nie rozumiem. Rozumiem rozwiązanie z użyciem dwóch wejść przerwać, które reagują na przeciwne zbocza.

    Witam!
    Z wswoim projekcie sygnał z wtryskiwacza podaję poprzez dzielnik rezystorowy bezpośrednio na wej mikrokontrolera, a dokładnie na dwa wej - int1, inicjujące cykl zliczania przez timer1, oraz icp - kończące cykl zliczania. przy okazj pomiaru spalania mierzone są również obroty. Gdyby występowały jakieś zakłocenia, szpilki to ilość zliczonych impulsów fałszowała by znacząco wynik pomiarów obrotów - a tak nie jest (przynajmniej w moim przypadku). Jedyne co zauważyłem to w przypadku bardzop gwałtownego przyspieszania obroty zmierzone w ten sposób są dwukrotnie większe od rzeczywistych, oraz gdy hamujemy silnikeim obroty spadają do zera ale to jest zrozumiałe, wtryski wyłączone to i brak impulsów do zliczania. Kidedyś w EP był projekt komputerka samochodowego i o ile dobrze pamiętam to tam też układy pośredniczące pomiędzy wtryskiem a uc też nie były jakoś zbytnio rozbudowane.
    Pozdrawiam.
  • #43
    darrrrek
    Poziom 22  
    Mr_T_ napisał:
    Teraz jeszcze napisz proszę czy ten pomiar zawierał w sobie moment odpalenia samochodu czy nie.


    nie zawierał momentu odpalenia silnika, odpalilem uC (zasilany z baterii) w momencie kiedy silnik był juz uruchomiony. Wtryskiwacz jest włączany na 3ms jeżeli auto jest na "luzie" przy okolo 800 obr/min.
  • #44
    Mr_T_
    Poziom 15  
    Nie mam pojęcia jak sprawdzić pomiar na każdym wtrysku z osobna. Nie uzyskasz tych samych parametrów jazdy przy każdej trasie, ale chociaż może spróbuj zrobić pomiary na innych wtryskiwaczach. Wtedy choć trochę można porównać parametry.
  • #45
    darrrrek
    Poziom 22  
    Licze na pomoc osób ktore wykonaly takie projekty, przesylam procedure obliczania aktualnie spalonego paliwa:

    Code:
    $regfile = "m48def.dat"
    
    $crystal = 8000000
    $lib "LCD-pcf8833.LBX"
    $include "color8x82.font"
    $baud = 38400


    Config Timer1 = Timer , Prescale = 1
    Config Graphlcd = Color , Controlport = Portd , Cs = 5 , Rs = 6 , Scl = 7 , Sda = 4
    On Timer1 Czas
    Enable Timer1

    Config Int0 = Falling                                       'reakcja na zbocze opadajace
    On Int0 Zbocze
    Enable Int0
    Enable Interrupts

    Timer1 = 0
    Stop Timer1

    Dim Przelad As Word
    Dim Ilecykli As Word
    Dim Suma As Long , Wartosc As Long
    Dim Spalbenz As Single


    Config Pind.2 = Input : Portd.2 = 1
    Into Alias Pind.2



    Do
    Wait 1
    Lcdat 10 , 1 , Spalbenz ; "    " , Black , White
    Loop

    Czas:
    Incr Przelad
    Return

    Zbocze:
    If Into = 0 Then
     Start Timer1
     Config Int0 = Rising 'zmiana reakcji int0 na zbocze narastajace
     If Wartosc >= 8000000 Then 'Jeżeli łaczny czas otwarcia wtryskow = 1sekunda to zwiększ licznik spalonej benzyny
     Wartosc = Wartosc - 8000000
     Spalbenz = Spalbenz + 0.01764 'dla stałej wtrysku 0,00441 L/s (4x0,00441) dla 4 wtrysków
     End If
    End If
    If Into = 1 Then
     Stop Timer1
     Ilecykli = Timer1
     Timer1 = 0
     Suma = 65535 * Przelad
     Przelad = 0
     Suma = Suma + Ilecykli 'Czas trwania ostatniego wtrysku
     Wartosc = Wartosc + Suma 'Suma czasu trwania wszystkich poprzednich wtrysków
     Config Int0 = Falling  'zmiana reakcji int0 na zbocze opadajace
    End If
    Return



    Bede wdzięczny za wskazówki gdzie robie błąd w obliczeniach.
    Pozdrawiam !
  • #46
    darrrrek
    Poziom 22  
    Budowa mojego komputerka troche poszla do przodu. Sesja sie skonczyla wiec mysle ze niebawem go zakoncze. Przesylam fotke menu, szata graficzna nie za fajna ale jak narazie taka musi byc. Soft juz mam calkowicie gotowy musze tylko wszystko sklecic w calosc bo pisalem na atmege48, jednak jej pamiec byla za mala teraz musze upchnac wszystko razem do Atmegi32. Podswietlenie wyswietlacza rozwiazalem na 2 ledach, swieci mocniej jak w Nokii :) moj Siemens S55 tez wymięka. Aha no i wymienilem ekranik na oryginalny bo podroby z allegro nie sa warte nawet 5 zł :///////
  • #47
    darrrrek
    Poziom 22  
    dla zainteresowanych postępami:



    Komputerek juz wszystko poprawnie liczy, czeka mnie teraz wykonanie plytki i obudowa :)

    Pozdrawiam
  • #48
    sitec
    Poziom 13  
    Witam...masz może doświadczenie z LCD z siemensa s65???? Ja obecnie przerabiam swój komputerek do obsługi właśnie tego LCD. Problem polega na tym że zbyt wolno się wyświetlają dane na lcd.
  • #49
    don diego
    Poziom 32  
    Witam. Również bawię się obecnie wyświetlaczem z siemensa. Szybsze wyświetlanie można osiągnąć zwiększając szybkość magistrali SPI, ewentualnie optymalizacja programu. Pracuję na AT91SAM7S256 Atmela.

    P.S. Masz może jakiś programik do przerabiania grafik dla tego wyświetlacza?
  • #50
    darrrrek
    Poziom 22  
    sitec --> wlasnie czekam na LCD z siemensa S65, bo juz mam program pod niego napisany, a powiedz..przy ilu MHz idzie Ci wolno wyswietlanie ?? minimum to chyba procek na 16MHz i wiecej, czytalem ze niektorzy bawili sie na 24MHz.

    Dodano po 2 [minuty]:

    don diego --> ile klatek na sekunde wycisles z tego procka ??:) czy widac efekt "rysowania" grafiki ?? (widoczne przy wolnej transmisji)
  • #51
    don diego
    Poziom 32  
    Na razie mam tylko wypełnianie kolorami całego wyświetlacza i nie wygląda to za dobrze. Widać proces zapełniania ekranu. Co prawda przy zwiększaniu taktowania(do około 60MHz, SPI działa na połowie tej prędkości) jest znaczna poprawa, ale nie będę żyłował procka dla samego wyświetlacza.
  • #52
    darrrrek
    Poziom 22  
    don diego, jeszcze pytanko czy masz wyswietlacz LS020 czy moze L2F50 ?
  • #53
    don diego
    Poziom 32  
    L2F50
    /EDIT/
    Przy SPI z baudrate 30MHz wyświetlacz działa jeszcze stabilnie i prawie nie widać efektu wypełniania ekranu. Przy 36MHz pojawiają się błędy w transmisji, ale odświeżanie jest bardzo szybkie.
  • #54
    darrrrek
    Poziom 22  
    to ciekawe jaka predkosc transmisji jest w Siemensie S65, bo nie widac jak wyswietlacz jest wypelniany
  • #55
    don diego
    Poziom 32  
    Też się zastanawiam. Myślę, że tam są inaczej przesyłane dane i inaczej konfigurowany wyświetlacz.
  • #57
    don diego
    Poziom 32  
    Póki co mogę wyświetlać tekst, o wybranym kolorze czcionki i tła, w dowolnym miejscu na ekranie. Walczę z wyświetlaniem obrazów.
  • #58
    darrrrek
    Poziom 22  
    jezeli nie wiesz a Cie to interesuje to Ci pokaze jak mozna dowolną grafike wielkosci 176x132px przygotowac do postaci 16bit: 5R 6G 5B

    Dodano po 2 [minuty]:

    boje sie myslec jak bedzie wygladac w moim przypadku, zapelnianie kolorem ekranu i rysowanie tekstu, przy 16 MHz na Atmedze heh...
  • #59
    don diego
    Poziom 32  
    Konwerter już mam, ale problem jest z samym programem. Programujesz może SAM7 Atmela? Jak mam kod powyżej kilkunastu kilobajtów, to mi CrossStudio wywala błąd "memory is locked". Dopiero raczkuję w tej materii.
  • #60
    sitec
    Poziom 13  
    Przyczyna wolnego wyświetlania nie lezy w samej magistrali SPI. Bo przy 8Mhz taktowaniu nie powinno być efektu wypełniania pixlami.

    Problem leży w kodzie, a szczególnie w wysyłaniu danych. Bascom odpada. Trzeba odchudzić kod który ma za zadanie odczyt i przetwarzanie danych. Posiadam biblioteke do bascoma ale jeszcze jej nie testowałem bo zasilacza nie mam chwilowo. Podejrzewam że przy pomocy tej biblioteki osiągniemy większe prędkość.

    http://ledeffects.net/pages/?id=12 <<< a tu mamy biblioteke

    koledzy jak już sprawdzicie jej działanie to proszę o jakieś komentarze

    pozdrawiam

    PS: Don Diego nie mam programu. Ale chyba Ty już jakiś posiadasz - jaki???