Mieszasz. Nie napisałem, że jestem w stanie zrobić to wykonując jedną dodatkową przerwę. Opisałem układ, który za pomocą jednej przerwy załatwia kwestię śpiocha. Tobie na pasuje, bo wykonuje zbędny półobrót (działa zawsze w 1 stronę). Ok - nie, to nie.
Drugie rozwiązanie bazuje na 2 zewnętrznych przełącznikach, tak jak opisałeś - pierwszy oryginalny od świateł (zapalone / zgaszone) i drugi od śpiocha (śpioch / nie-śpioch).
Do tego ścieżki służyłyby za krańcówki - żadnych dodatkowych styczników, krańcówek, ani na lampie, ani na ramieniu.
Przecież zamiast odczytywać stan z jednej trzeba odczytać jednocześnie stan wszytkich 3. W ten sposób możesz zakodować (odczytać) 8 pozycji światła. Do realizacji wnioskowanych przez Ciebie ruchów trzeba rozróżniać 6 pozycji (teoretycznie starczy pierwszych 5):
- światła zamknięte
- nieokreślona pozycja pomiędzy zamkniętym a śpiochem
- śpioch
- nieokreślona pozycja pomiędzy śpiochem a w pełni otwartymi
- otwarte
- dowolny stan po drugiej stronie dysku, nieosiągalny z układu, ale silnik można przestawić ręcznie kręcąc śrubą
Widzisz jakiś problem w odczycie stanu 5 wejść (3 ścieżki i 2 przełączniki) naraz?
Przecież w swoim rozwiązaniu i tak w jakiś sposób musiałbyś wiedzieć, z której z 7 ścieżek aktualnie korzystasz. Chyba, że chcesz po nich - jak w rozwiązaniu fabrycznym - puścić jednocześnie i sterowanie zasilaniem, i samo zasilanie silników. Tylko wtedy żaden układ opóźniający nie zagwarantuje Ci niezwierania układu. Nie widziałeś, jak wolno potrafią otwierać się lampy w Probie, gdy zaczyna coś się dziać. Rozmontowanie ich zimą na ulicy dla przesmarowania można włożyć między bajki. Proba kupiłeś w tym roku, więc doświadczenia w tej kwestii masz zerowe. Swoją drogą zarejestrowałeś się, żeby od razu założyć wątek o swoich problemach - obiecywałeś się przywitać i na obietnicy się skończyło.
Wróćmy do śpiocha.
Przyjmijmy, że zakodowaliśmy na ścieżkach dwójkowo numery pozycji (warto z tymi numerami trochę pomieszać, by zminimalizować ilość przerw, ale dla rozważań teoretycznych można chwilowo przyjąć taki skrót).
A, B, C - ścieżki, od najbardziej znaczącej
W - standardowy włącznik świateł
S - dodatkowy przełącznik śpiocha
X, Y - zasilanie silnika, przyjmijmy, że +12 na X i masa na Y otwiera lampę (w połówce tarczy, po której się poruszamy)
0 - rozłączone (stan wejściowy wyłączony lub brak połączenia na wyjściu)
1 - stan wejściowy włączony (+12V)
. - stan wejściowy nieważny (obojętne, czy zero, czy 1)
- - masa (na wyjściu)
+ - +12V (na wyjściu)
Przykładowo 3 wiersz poniżej (0 0 1 0 1 ) oznacza lampę w pozycji 3 (półotwarta, w pozycji śpiocha), wyłączony przełącznik świateł, włącznik śpiocha w dowolnej pozycji / minus na X i plus na Y (czyli lampa ma się zamykać), 12 wiersz lampę w pozycji 6 (niby nieosiągalnej), światła włączone, śpioch wyłączony / minus na X, plus na Y (jesteśmy na drugiej połowie tarczy, więc de facto lampa się w ten sposób otwiera).
Kod: Zaznacz cały
W S A B C / X Y
0 . 0 0 1 / 0 0
0 . 0 1 0 / - +
0 . 0 1 1 / - +
0 . 1 0 0 / - +
0 . 1 0 1 / - +
0 . 1 1 0 / + -
1 0 0 0 1 / + -
1 0 0 1 0 / + -
1 0 0 1 1 / + -
1 0 1 0 0 / + -
1 0 1 0 1 / 0 0
1 0 1 1 0 / - +
1 1 0 0 1 / + -
1 1 0 1 0 / + -
1 1 0 1 1 / 0 0
1 1 1 0 0 / - +
1 1 1 0 1 / - +
1 1 1 1 0 / + -
Pozycje stabilne to wiersz 1 (zamknięta lampa, oba przełączniki wyłączone), 11 (w pełni otwarta, włączone światła, wyłączony śpioch) i 15 (lampa w pozycji śpiocha, oba przełączniki włączone).
Zaprogramowanie takiego układu wydaje się najprostszym rozwiązaniem. Albo 2 układy - po 1 dla każdej z lamp, albo jeden z 8 wejściami (2 * 3 ścieżki + 2 przełączniki wspólne) i z 4 wyjściami.
adrian_seki pisze:Owszem wspomniałem kilka razy o rozwiązaniu cyfrowym ale tylko i wyłącznie dla kontrolowania sytuacji
No patrz - tylko w tym celu byłby wykorzystywany. 4 przekaźniki na lampę (lub po 2 wielostykowe), które i tak musiałbyś przewidzieć w swoim rozwiązaniu. Żadnych filtrów analogowych, żadnej sztucznej inteligencji, kilka bramek i koniec. No nie mów, że to nie jest banalne. A na pewno wielokrotnie prostsze, niż modyfikacje mechaniczne (dodanie 4 ścieżek ze stykami ślizgowymi, wyprowadzeniami, ...).