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

Programowalny zespół wyłączników (ATmega8)

perlon 01 Lut 2012 21:44 1664 0
  • #1 01 Lut 2012 21:44
    perlon
    Poziom 19  

    Dzień dobry.
    Na początek zaznaczam, że jestem absolutnie początkującym amatorem bez wykształcenia związanego z prądem Wink. Mam w domu oświetlenie załączane włącznikami bistabilnymi. Niestety nagminnie się sypią więc postanowiłem je wymienić. Urodził się więc pomysł wielokanałowego włącznika z możliwością załączania w trybie bistabilnym, astabilnym, ze zwłoką, załączaniem/wyłączaniem grupowym, być może jeszcze coś. Sterownik ma załączać oświetlenie w domku. Rozrysowałem schemat i zaprojektowałem płytkę ale nie mam pojęcia czy się to uda uruchomić. Program mam w 80% napisany i testowany na płytce stykowej bez triaków tylko diody LED. Układ jest wynikiem lektury tego co znalazłem w necie. Układ ma więcej wejść niż wyjść ponieważ przyciski mogą być w układzie 1-1 lub grupowe. Taki zapasik funkcjonalny. Wejścia optotriaków wychodzą na pojedyńcze goldpiny do których będą podłączone diody LED ze wspólną masą i z powrotem do goldpina na GND. Nie wiem jak to dobrze narysować w Eaglu. Proszę o sprawdzenie schematu i płytki oraz odpowiedź na kilka pytań.
    1. Wymyśliłem sobie że upchnę 8 kanałów w obudowie Z-101 na szynę (6 modułów). Stąd tak ciasno na płytce i elementy SMD1206. Czy w przy optotriakach to dobry pomysł?
    2. Jak cienkie i jak blisko siebie mogą być ścieżki z sygnałem sterującym triaki BT136?
    3. Czy przy kontrolerze zamiast kondensatorów typu pastylka mogę zastosować kondensatory SMD? Są tańsze i odpada mi kilka wierceń, ale czy spełnią swoje zadanie?
    4. Czy transformator 9V 2VA mi to uciągnie? Rezystory na wyjściach kontrolera dobrałem doświadczalnie, żeby uzyskać prąd na poziomie 10-12mA * 8 daje ok.100mA. Transformator ma wydajność ok.200mA czy 100mA wystarczy na resztę ( stabilizator i obsługę wewnętrzną kontrolera )? Mam jeszcze transformator 9V 1,3VA 130mA ale czy to nie będzie już totalna ekstrema?
    5. Zakładam że wydajność prądowa każdego wyjścia to ok.1A ( 3x żarówki 60W na kanał) czy triaki dadzą radę bez radiatorów?
    6. Wymyśliłem, że ścieżki wyjściowe dość grubo pociągnę cyną. Czy taka ścieżka da radę przyjąć prąd ok.4A? Mam tak rozpisany sposób zasilania triaków.
    7. Co do samego programu to pisany jest w C, a matryca połączeń we/wy i funkcjonalności wyjść będzie siedziała w EEPROM. Jak zrealizować dostęp do tej pamięci z komputera PC. Jak widać mam tylko złącze SPI i widzę tylko możliwość zczytania EEPROM obróbka pliku *eep na PC jakimś programikiem ( z tym akurat to sobie poradzę ) i ponowne zaprogramowanie EEPROM. Może jakieś inne pomysły lub gotowe rozwiązania bez programatora?

    Wszelkie uwagi mile widziane.

    Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8)






    [M]

    Wprowadziłem niewielkie zmiany w schemacie i rozdzieliłem układ na dwie płytki. Mniejsza jak widać na poniższych zdjęciach jako podstawa sygnalizatorów LED i gniazd ISP i UART. To drugie złącze będzie przydatne w przyszłości jak opanuję sprawę bootloadera i programowania EEPROM przez UART. Na tą chwilę programowanie odbywa się za pomocą programatora USBASP i AVRDUDE.
    Włącznik posiada 14 wejść i 8 wyjść. Dowolne wejście można powiązać z dowolnym wyjściem w 5 trybach. Tryb astabilny/wyłącz/włącz/bistabilny1/bistabilny2.
    Tryb astabilny wiadomo jak wciśnięty wyjście załączone, puszczamy wyjście wyłączone. Wyłącz/włącz wiadomo. Bistabilny1/bistabilny2 załączenie wejścia załącza wyjście, powtórne załączenie wejścia wyjście wyłącza. Z trybami bistabilnymi powiązane są timery, które po zadanym czasie wyjście wyłączą. Timer odlicza czas w sekundach i mieści liczbę dwubajtową. Tryb bistabilny1 przy ustawionym timerze ma możliwość zablokowania odliczania czasu do wyłączenia poprzez ponowne załączenie wejścia przed upływem 1s od załączenia. Tryb bistabilny2 nie posiada dwukliku. Jeżeli timer równy zero wyjście nie będzie wyłączone automatycznie. Każde wejście może być powiązane z dowolnym wyjściem innym trybem i innym timerem, czyli każde z wejść może jednocześnie niektóre wyjścia załączać w różnych trybach a inne jednocześnie wyłączać. Przy zbiegu akcji na wyjściu z różnych wejść priorytet ma wyłączenie wyjścia. Przewidziałem również macierz wykluczeń tzn. że niedopuszczalna jest aktywność powiązanych wyjść. Przykład : dwa wyjścia obsługują roletę góra/dół więc nie może wystąpić sytuacja jednoczesnego działania tych wyjść. W takim przypadku przy działającym wyjściu góra próba aktywacji dół spowoduje jedynie wyłączenie wyjścia góra. Ponowne załączenie dół dopiero uaktywni wyjście dół. Zabezpiecza to przed natychmiastową zmianą kierunku działania silnika rolety lub zwarciem. Macierze trybów, timerów i wykluczeń są zapisane w pamięci EEPROM. Do konfiguracji napisałem program edytujący zrzut pamięci w pliku *.eep. Do odczytywania i zapisywania pamięci kontrolera na razie używam AVRDUDE i programatora USBASP. Po ustawieniu konfiguracji w programie i zapisaniu na dysk wgrywam plik eep do kontrolera.
    Poniżej obrazki wykonanego prototypu i zrzutka okna programu konfiguracyjnego.

    Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8) Programowalny zespół wyłączników (ATmega8)
    Programowalny zespół wyłączników (ATmega8)

    0 0
  • Mitronik