logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wyświetlacz biegów w motocyklu, ATMEL-pomocy w zaprogramowan

Bidziu 21 Lut 2008 00:19 8263 10
REKLAMA
  • #1 4828610
    Bidziu
    Poziom 11  
    Witam,
    Buduje wyświetlacz biegów do motocykla (honda cbr929rr) Przydaje on się głównie w jeździe po torze. Teraz trochę o samym projekcie. Projekt który chcę Wam pokazać pochodzi od jednego z użytkowników tego forum, jednak nigdy nie zrealizowany i nie sprawdzony. Dodałem jednak do niego od siebie przycisk NEUTRAL (jest to kontrolka luzu). Wyświetlacz ma wyświetlać biegi od 1 do 6. Odpowiadać za s2 – bieg w górę i s1 - bieg w dół mają przyciski krańcowe. Wyjściowym położeniem ma być luz (0) – zwarcie sw2 - NEUTRAL . Po wciśnięciu bieg w dół wskakuje jedynka (niżej zejść nie można, jak jeszcze raz w dół damy to pozostanie nadal jedynka, a jak w górę dwójka i tak aż do szóstki)
    Chodzi o to, że pomiędzy jedynką, a dwójką mamy ten nieszczęsny luz i nie wiem jak program w asemblerze do tego napisać. Coś już próbowałem ale nic sensownego z tego nie wychodzi. Moja wiedza na temat mikroprocesorów kończy się na zakresie technikum elektronicznego w którym jak już na pracowni programowaliśmy 8051 to za pomocą „Edukacyjnego Systemu Programowania 80C51”, który sporo ułatwiał sprawę, no i proste programy w stylu zapal diodę itp. Teraz jestem na 4-tym semestrze elektroniki i telekomunikacji, asemblera jeszcze nie mieliśmy, a przestawiłem się na język C, C++, Delhi i ciężko mi napisać ten program, więc zwracam się do osób które mają więcej doświadczenia w tych sprawach ode mnie o pomoc, o jakiekolwiek wskazówki do napisaniu tego programu.
    Co do samego pisania programu nie wiem jak np uda mi się napisać część programu i w jakiejś komórce albo akumulatorze będę miał liczbę odpowiadającą danemu biegowi jak to wysłać na port P1 (kolejno na P1.7, P1.6 – P1.1 wszystkie potrzebne bity do wyświetlenia odpowiedniej cyfry) I tak dla każdego biegu osobno?

    Zamieszczam schemat i link do pdf’a producenta scalaka.



    http://www.atmel.com/dyn/resources/prod_documents/doc1001.pdf

    Przeniesiono z Programowanie Ogólne. - arnoldziq
  • REKLAMA
  • #2 4833935
    cyberdar
    Poziom 31  
    Witam

    Skoro masz sygnały zmiany biegów (w górę lub w dół) to robisz/deklarujesz licznik. Licznik zlicza powiedzmy od 0 do 6. Problem sprowadza się do tego, że jeśli kod jest np. 0 to wyświetlasz "coś tam" na wyświetlaczu jak 1 to coś innego, jak 2 to jeszcze coś innego, itd. stan licznika nie ma w tym wypadku znaczenia bo i tak wyświetlasz coś innego.

    --
    pozdrawiam
  • REKLAMA
  • #3 4836691
    Bidziu
    Poziom 11  
    No rozumiem, ale problem jest w tym że jak mam 0 i wcisne bieg w dół to mam 1 a nie -1. To zero jest pomiędzy jedynką a dwójką więc to niemoże być zwykły licznik. I w tym problem.
  • REKLAMA
  • #4 4839254
    cyberdar
    Poziom 31  
    Witam

    Trzebaby przyjąć jakieś założenia na początek. Powiedzmy, że zostawiasz motocykl na 1 biegu to po włączeniu zasilania przypisujesz mu powiedzmy 2 jak zrzucasz w dół to dochodzisz do zera a nie do -1.

    --
    pozdrawiam

    PS
    Motocykle to dla mnie czarna magia :) ale jak mogę jakoś zaradzić to bardzo chętnie.
  • #5 4963655
    Dudi_1981
    Poziom 12  
    ja tam elekrtronik nie jestem ale masz sygnal ze skrzyni ze jest N wiec moze to jakos wykorzystaj ...
    Pozdrawiam Yamaha R6 :)
  • #6 5007704
    Marczeli_P
    Poziom 20  
    Coś temat stanął. Może spróbuj skorzystać z dobrodziejstw Bascoma 8051. Zwolni ci to od poznawania zawartości mikrokontrolera. A pisząc kod w asemblerze musisz niestety wiedzieć co siedzi w procku a języki wyższego poziomu dają taką możliwość nieprzejmowania sie wewnętrzną strukturą układu i pozwalają skupić sie na problemie do rozwiązania.
  • #7 5013367
    bolek
    Poziom 35  
    Sygnał z N to zmienna=0, sygnał z dół to zmienn mniejsza o jeden. Sygnał w góre to zmienna większa o jeden.
    No i masz tak:
    255 to 1szy bieg (255 weźmie sie z dekremenacji 0)
    0 to luz
    1 to 2gi bieg
    2 to trzeci bieg
    ...
    Trzeba zrobić ograniczenie żeby wartość nie spadła i nie wzrosła za bardzo.

    Ogólnie, rozwiązanie z dwiema krańcówkami było lipne. Zrobiłem to bez procka- na wyświetlaczu i chyba 50 diodach 1n4148 :)

    Nie wiem jak tam u ciebie wyglada czujnik luzu, ale ja sobie go przerobiłem i miałem maszynke 100% pewności.
    U mnie, czujnik prócz luzu miał 6 wypustów. Przewierciłem je, nagwintowałem i powkręcałem tam śrubki M3, tak że np wbice 1ki zwierało którąś tam śrubke, wbicie 2ki zwierało do masy inna śrubke. Wg mnie jest to jedyne sensowne rozwiązanie
  • REKLAMA
  • #8 5091190
    asembler
    Poziom 32  
    Tylko czujniki kazdego biegu i bez atmelka. Innym problemem bedzie ze procesorki w poblizu uruchomionego motocykla zaczynają wariować.
  • #9 5143193
    Bidziu
    Poziom 11  
    Witam panowie,
    Assemblera mam przestudiowanego. Przeczytałem książkę Piotra i Pawła Gałki - super napisana. Od jakiś dwóch miesięcy mam napisany program, nie miałem ostatnio czasu o tym myśleć, ale zatrzymałem się na szukaniu obudowy do samego wyświetlacza 7-seg. Spróbuje go zamontować w motocyklu. W międzyczasie pojawiła się druga koncepcja która ma pobierać impulsy z prędkościomierza, obrotomierza i czujnika luzu. Dzieląca otrzymane impulsy i przypisująca wynikowi odpowiedni bieg.
    Na taj podstawie działają firmowe liczniki biegów. U mnie nie ma możliwości przerobienia czujnika luzu więc ta opcja odpada. Teraz zamontuje wyświetlacz który zrobiłem i zaprogramowałem, jeśli by były jakieś problemy spróbuje zrealizować mój nowy pomysł.
    Pozdrawiam,
    cbr 929
  • #10 5200500
    miso
    Poziom 11  
    Witam!

    Też intensywnie myślę o liczniku biegów do mojej CBR 900 RR '94. Czy udało Ci się to wszystko poskładać, możesz się podzielić doświadczeniami.

    Pozdrawiam
    Michał
  • #11 7605987
    michal54_87
    Poziom 17  
    witam i jak tam Michale udalo Ci sie ? bo mam wlasnie ta smam honde
REKLAMA