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.

Pomiar impulsów przerwania

konstruktor_123456 10 Lis 2008 20:24 848 5
  • #1 10 Lis 2008 20:24
    konstruktor_123456
    Poziom 14  

    Chciałem urzyć mikrokontrolera do pomiary drogi w 3 plaszczyznach przestawianej pily. Karzda plaszczyzna ma miec ilpulsator. Powiedzcie mi jak to zrobić i jaki procesor wykorzystać bo potrzebował bym conajmniej 3 linie przerwań zewnetrzych i jeszcze jakies wewnetrzne?


    post raportowany
    proszę poprawić błędy i literówki !
    And!

    0 5
  • #2 10 Lis 2008 21:29
    mirekk36
    Poziom 42  

    Jaki procesor? - praktycznie prawie dowolny do takich ogólnych i prostych założeń. Wystarczy zajrzeć w noty PDF AVRów, PICów, czy '51dynek - zobaczyć, które mają co najmniej 3 wejścia przerwań (a o to nie trudno zapewniam cię)

    a co do podania tobie gotowca na tacy - to odradzałbym to zarówno tobie - bo mało się nauczysz ale także chętnym do zrobienia dla ciebie gotowca na podstawie takich mizernych założeń - bo jeszcze ci ta piła palce urżnie i kto potem będzie za nie odpowiadał ? ;)

    0
  • #3 11 Lis 2008 02:51
    kedzi1
    Poziom 18  

    A ja podpowiem że nie potrzebujesz trzech wejść przerwań. Wystarczy jedno do którego podłączymy wszystkie trzy linie przez diody (tak żeby ich nie zewrzeć a każde powodowało przerwanie) i każdą z nich niezależnie łączymy ze zwykłym wejściem.

    Oj, ale wy ludziska lubicie robić sobie pod górkę, a co jak by było dziesięć linii do monitorowania? Dziesięć przerwań? ;)

    0
  • #4 11 Lis 2008 09:41
    konstruktor_123456
    Poziom 14  

    Do kedzi1
    Nie bardzo wiem, co masz na myśli mówiąc, że należy wykorzystać 3 normalne wejścia. Z tymi diodami i jednym wejściem od przerwania wykorzystanym to wiem. Jak 3 sygnały będą trafiały pod jedno przerwanie jak uzyskać niezależne zliczanie z tych trzech impulsatorów? Napisz coś jaśniej jak możesz o Twoim rozwiązaniu.
    Dzięki

    0
  • #5 11 Lis 2008 12:06
    koleszka
    Poziom 24  

    Z tego co wiem to w ATmega-ch raczej trudno o możliwość zliczania impulsów z 3 niezależnych źródeł zewnętrznych i generowania dla każdego z osobna przerwania (chyba że powyżej ATmega32, ale w grę wchodzi wtedy wysoka cena). Pytanie czy konieczne jest takie rozwiązanie jak zaproponowałeś? Przy pracy uC z prędkością 8MHz (np. jak dla ATmega8, ATmega16 bez konieczności dołączania zewnętrznego rezonatora) myślę, że wystarczy podłączyć te 3 czujniki do portów skonfigurowanych jako wejścia. Programowo zliczać ilość impulsów i porównywać z ilością zadana w pętli, po wykryciu zgodności z wartością zadaną wykonać skok do podprogramu obsługi . Jeśli jednak koniecznie chcesz na przerwaniach, to możesz Wykorzystać ATmega16 i możliwość taktowania 2 timerów sygnałem zewnętrznym. Natomiast sygnał z trzeciego czujnika obsługiwać programowo. Wtedy uC w pętli głównej programu będzie się zajmował tylko jednym czujnikiem a pozostałe 2 będą obsługiwane po zgłoszeniu przerwania przez timery.

    0
  • #6 11 Lis 2008 13:04
    kedzi1
    Poziom 18  

    Jeżeli już wiesz o co chodzi z diodami to OK. Teraz wyobraź sobie że każdy impulsator dodatkowo dołączony jest jeszcze do zwykłego wejścia. Jak na którymś z wejść pojawi się impuls to wywoływane jest przerwanie. W podprogramie obsługi przerwania sprawdzasz właśnie te trzy zwykłe wejścia żeby dowiedzieć się który z impulsatorów wywołał przerwanie.

    Tak sie zastanawiam teraz że dobrze było by, gdyby program reagował na oba zbocza. Należy przy tym zapamiętywać stan bieżący wszystkich wejść, żeby przy następnym przerwaniu wiedzieć które z wejść zmieniły swój stan. W ten sposób układ prawidłowo będzie reagował na dwa impulsy z różnych wejść występujące niemal jednocześnie.

    0
  Szukaj w 5mln produktów