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

Elektroniczny przełącznik - program

elektronik-adam 02 Lis 2009 13:35 3676 12
  • #1 02 Lis 2009 13:35
    elektronik-adam
    Poziom 11  

    Witam Chcę zrobić taki przełącznik jak w linku, oczywiście nie musi to być smd potrzebuje:
    1. Program (najlepiej na atmega8)
    2. jakiś schemacik ideowy do takiego włącznika
    Dla was napisanie takiego programu to pewnie jakieś 5 minut ja jednak nienajlepiej sobie radzę z timerami dlatego zwracam się do was na forum.
    Oto ten link
    http://www.nastik.pl/elektroniczny-przelacznik-sp06-p-2588.html
    Elektroniczny przełącznik - program
    Jeszcze tylko dopisze że taki włącznik będzie podłączony tak jak
    serwo do odbiornika rc.
    Byłbym wdzięczny za taki działający programik.
    Z góry dziękuje za wszelkie odpowiedzi

    0 12
  • Relpol
  • #2 06 Lis 2009 19:54
    m.bartczak
    Poziom 16  

    Ok, ja bym spróbował to rozwiązać następująco:

    Atmega8 - ok, ale musisz w jakiś sposób zapewnić odpowiednie zasilanie tego układu. W nocie katalogowej tego przełącznika jest zakres 3,5-8,4. Atmegę8 możesz zasilić do max 6v. Podaj jakie napięcie stosujesz.

    Ten włącznik załącza całkiem spory prąd, oprócz samej atmegi potrzebny będzie jakiś tranzystor (BD245 ?).

    Ten układ ma jeszcze fajne 'sterowanie' za pomocą potencjometru długości impulsu załączającego.

    Propozycja sofware:
    Potencjometr podłączony do ADC0, odczytywany co jakiś czas, ustawiający 'dodatkowy czas'.
    Przełącznik zakładany na któryś pin, ustawiający tryb rewerse.
    RX podłączone do INT0, ustawiamy przerwania na reakcję na 'każdą zmianę na INT0'.
    Zapisujemy aktualny czas przy każdej zmianie RX, sprawdzamy różnicę czasów między zmianą niski->wysoki->niski
    Porównujemy czy ta różnica czasu jest większa niż zadany czas i za pomocą tranzystora realizujemy włącznik (uwzględniając pin 'reverse' i czas dodawany z potencjometru)

    Problem jest tylko taki:
    * Rozwiązanie robione 'domową metodą' raczej nie będzie ważyło 3g :)
    * Niekoniecznie musi być tańsze, zależy od tego ile sprzętu robiłeś do tej pory

    0
  • Relpol
  • #3 06 Lis 2009 22:02
    Freddy
    Poziom 43  

    Jest taka stronka k-zby.webpark, ale nie działa teraz, nie wiem czemu.
    Tam było coś takiego. Cytuję zawartość bez zmian.

    Code:

    Modelarski przełącznik dwustanowy małej mocy na ATtiny12.

    Układ składa się ze sterownika ATtiny12 pracującego z wewnętrznym oscylatorem RC i tranzystora wyjściowego BC337 wysterowywanego poprzez rezystor 2k. Na płytce umieszczone są jeszcze 2 kondensatory 100nF i 1uF dla odkłócenia zasilania. Dzięki zastosowaniu elementów SMD i rozmieszczeniu ich po obu stronach płytki osiągnięty został bardzo mały rozmiar.

    Tranzystor BC337 umożliwia wysterowanie obciążeń rzędu 300mA. Może to być przekaźnik, żarówka, LEDy itp.

    W udostępnionym programie punkt włączenia leży powyżej 1,5mS. Impuls krótszy powoduje wyłączenie tranzystora wyjściowego. Dodatkowo musi być spełniony warunek aby przed impulsem było co najmniej 10mS przerwy. Jest to bardzo prosty sposób odkłócania wejściowego sygnału sterującego.


    Elektroniczny przełącznik - program

    0
    Załączniki:
  • #4 07 Lis 2009 00:46
    elektronik-adam
    Poziom 11  

    Waga u mnie raczej nie musi być aż taka mała robię pół makietę cessny 182 i męczę się nad takim włącznikiem już dosyć sporo czasu.
    Napięcie do RX to 4.8v ale do sterownika będzie pakiecik 7.2v chyba taki i na wejściu lm 7805 powinno być dobrze.
    Chcę do niego podłączyć sterownik oświetlenia do modelu ale coś mi nie wychodzi w programowaniu ;/
    Za niedługo jeszcze wstawię program ten co próbuje wykonać aby te diody sobie migały tylko problem w tym że nie wiem co ile sekund jakie światła migają w normalnym samolocie no i oczywiście mój program nie działa tak jak ma ;/ albo tak jak bym chciał.

    ~dlaczego niekoniecznie tańsze u mnie w elektroniku atmega8 - 7.65 +całą reszta taka jak potencjometry kondensatory tranzystory myślę max 10 zł tyle że większość mam w domu


    Freddy: jak tylko załatwię sobie attiny12to spróbuje wykonać ten włącznik z twojego postu mam nadzieje że będzie mi to działać.

    Macie może jakiś program na mega8 ze sterownikiem oświetlenia?

    Dziękuję za dotychczasowe odpowiedzi mam nadzieje że będzie ich więcej ;]


    JEST TEN PROGRAM jak dla mnie to jest porażka aż wstyd mi go tu pokazywać

    Code:
    $regfile = "m8def.dat"
    
    $crystal = 8000000
    Config Portb = Output
    Do
    Pinb.0 = 1
    Pinb.1 = 1

    Portb.2 = 0
    Waitms 40
    Portb.2 = 1
    Waitms 100
    Portb.2 = 0
    Waitms 40
    Portb.2 = 1
    Waitms 500
    Loop
    Do
    Portb.3 = 0
    Waitms 50
    Portb.3 = 1
    Waitms 500
    Portb.3 = 0
    Waitms 50
    Portb.3 = 1
    Waitms 200
    Portb.3 = 0
    Waitms 50
    Portb.3 = 1
    Waitms 500
    Loop
    End

    Oczywiście BASCOM

    a tutaj to co właśnie próbowałem wymyślać ale raczej mi się nie uda ;/
    Code:
    $regfile = "m8def.dat"
    
    $crystal = 8000000
    Portd.2 = Input                                             'wejście RX

    Config Int0 = Change                                        'reakcja na każdą zmiane chyba
                  'tu chyba coś musi być ale nie mam pojęcia co ;/


    If Int0 < 1.5 Then                                          'jeśli int0 jest mniejsze od 1.5 ms to
    Portd.0 = 0                                                 'włącz portd.0
    Elseif Int0 > 1.5 Then                                      'jeśli wieksze
    Portd.0 = 1                                                 'wyłącz
    End If                                                      'koniec

    0
  • #5 07 Lis 2009 01:14
    sułek
    Poziom 14  

    Robiłem kiedys coś podobnego. Sterowałem za pomocą nieznacznych zmian na kanale zyroskopu (+/- 1%) układem, który uruchamiał stan wysoki na jednym z 3 wyjść w zależności od tego, czy sygnał odebrany był
    -równy
    - krótszy
    -dłuższy

    od nauczonego (odebranego na kanale ) w momencie załączenia zasilania. Żyroskopowi te +/- 1% nie robiło zadnej różnicy a ja miałem 2 dodatkowe funkcje: pstrykanie zdjęć i zapalania oświetlenia.

    Do rzeczy:

    clue programu stanowiła komenda bascomowa "bitwait". Po odebraniu i uśrednieniu paru początkowych impulsów, był on zapamiętywany i potem w pętli porównywany z kolejnymi nadchodzącymi w kanale. Po porównaniu, następowało uaktywnienie 1 z 3 wyjść.
    To wszystko. Proste, łatwe i krótkie oraz niezawodne.

    Póki co, nie jestem w stanie przytoczyć tego kodu, bo mam go na innym kompie.
    Jakbyś mimo wskazówek nie dał rady, to za ok. tydzień będę w stanie kod ew. podać.

    ps.
    przytoczony przez Ciebie kod, to całkowita porażka. Wywal go i zacznij od nowa. to jest jakiś migacz: coś w rodzakju świateł nawigacyjnych do modelu ale i tak napisany z błędem.

    ps2
    Dopiero teraz dostrzegłem ten drugi kod:
    to "coś", to właśnie "bitwait" Nie rób tego na przerwaniu, bo po co?
    IMO nie trzymaj się kurczowo 1.5ms jako wartości granicznej, bo po co? Niepotrzebnie sobie usztywniasz całą koncepcję programu.
    Jak układ będzie sie uczył wzorcowego impulsu na dzień dobry, to będziesz mógł zwiększyć ilość funkcji, np:
    -zapalanie ośw. nawigacyjnego i dodatkowo oświetlenia do lądowania za pomoca manipulacji tylko na jednym kanale (o ile masz w apce 3 pozycyjny przełącznik na kanale)

    ps3
    Jeśli masz zasilanie pokładowe zrobione na 4x Nimh albo NiCd, to ATMega8L nadaje się do tego idealnie.

    0
  • #6 07 Lis 2009 09:21
    Freddy
    Poziom 43  

    A po co aż ATMega 8, toż to całkowite marnotrawstwo. Wystarczy w zupełności ATTiny 13 lub 15.

    elektronik-adam :arrow: Nie musi ATTiny12, można to zmienić bardzo prosto. Dostałeś przecież kod źródłowy.

    0
  • #7 07 Lis 2009 10:37
    elektronik-adam
    Poziom 11  

    Mam 2 pozycyjny przełącznik w aparaturze chcę nim tylko włączać oświetlenie nawigacyjne bo światła lądowania będą się włączać same ;]
    Chcę zrobić tak że jak model będzie się zbliżał do ziemi to włączą się światła lądowania kupie nadajnik i odbiornik ultradźwięków przymocuje jakoś dyskretnie do podłogi modelu i jak będzie na np. 2m to się włączą światła lądowania tu też pewnie będę miał problem z kodem ale wydaje mi się to nawet ciekawym pomysłem.

    Apropo tego że nie musi być attiny 12 dostałem kod chyba do assemblera niestety nie umiem go obsługiwać no ale spróbuje może coś się uda.

    Co do atmega8 dlatego taka że akurat ją mam ;] a poza tym może jeszcze do tego wszystkiego będę robił wskaźnik temperatury silnika na np.lm35

    Temperatura ponad normę włącza się całe oświetlenie i pozostaje tak nie migając do czasu aż silnik się nie chłodzi.

    Dzięki za odpowiedzi będę próbował zamienić z tym attiny12 na mega8 no i jeszcze z tą instrukcją {bitwait} może coś z tego będzie ;]
    Pozdrawiam Adam

    0
  • #8 07 Lis 2009 10:50
    Freddy
    Poziom 43  

    elektronik-adam napisał:
    ....
    Apropo tego że nie musi być attiny 12 dostałem kod chyba do assemblera niestety nie umiem go obsługiwać no ale spróbuje może coś się uda.
    no to wystarczy zmienić jedną linijkę.
    Cytat:

    Co do atmega8 dlatego taka że akurat ją mam ;] a poza tym może jeszcze do tego wszystkiego będę robił wskaźnik temperatury silnika na np.lm35

    Temperatura ponad normę włącza się całe oświetlenie i pozostaje tak nie migając do czasu aż silnik się nie chłodzi.

    Dzięki za odpowiedzi będę próbował zamienić z tym attiny12 na mega8 no i jeszcze z tą instrukcją {bitwait} może coś z tego będzie ;]
    Pozdrawiam Adam
    No w ATTiny zostały Ci jeszcze 3 wolne porty !

    0
  • #9 07 Lis 2009 16:20
    elektronik-adam
    Poziom 11  

    tak więc jak tylko w poniedziałek uda mi się kupić attiny12 będe próbował a z zamianą tiny 12 na mega 8 chyba nie będzie tak łatwo bo mają inaczej rozmieszczone piny tzn w tiny rx podłączony jest do pb1 a w mega8 będzie chyba gdzie indziej

    0
  • #10 16 Lis 2009 14:30
    elektronik-adam
    Poziom 11  

    a ma ktoś program żeby te diody migały tak jak w normalnym samolocie ?

    0
  • #11 18 Mar 2010 23:24
    elektronik-adam
    Poziom 11  

    odświeżam temat i oczekuje nadal na odpowiedź niestety dalej kombinuje od czasu do czasu ze sterownikiem oświetlenia odpalanym z aparatury

    Post raportowany, proszę zmienić go tak żeby było wiadomo o co koledze chodzi.
    Robak

    0
  • #12 19 Mar 2010 03:13
    emarcus
    Poziom 35  

    elektronik-adam napisał:
    odświeżam temat i oczekuje nadal na odpowiedź niestety dalej kombinuje od czasu do czasu ze sterownikiem oświetlenia odpalanym z aparatury


    Zastosuj wiec ultrasonic distance sensor (taki co ludzie zakladaja w autach jako czujnik cofania); mozna regulolwac odlegloc od obiektu w zakresie 2cm do 3 metrow, inne nawet do 10 metrow. Zasilanie 5V, czyli to samo co uC. Wymaga niewielkiego wysilku w podlaczeniu do processora, ktorego wykorzystujesz do kontroli 'mrugania' oswietleniem.
    Slyszalem ze jest latwo dostepny w Polsce i dosc tani.
    Dla zapoznania sie z tematem zagladnij np. tu:

    http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf

    lub inne podobne strony internetowe.

    Sa jeszcze inne metody wykrywania odleglosci/wysokosci (zwykle optyczne, laserowe, cisnieniowe, itd.) - te sa nie porownywalnie drozsze.

    e marcus

    0
  • #13 19 Mar 2010 09:00
    Freddy
    Poziom 43  

    elektronik-adam napisał:
    odświeżam temat i oczekuje nadal na odpowiedź niestety dalej kombinuje od czasu do czasu ze sterownikiem oświetlenia odpalanym z aparatury

    Kolego, masz podana wersję źródłową i schemat do włączania.
    Napisz sobie tak aby migało, gotowca nie dostaniesz.

    0