Witam.
Na elektronice nie bardzo sie znam. Problem mam następujący:
Pewne urządzenie steruje innym urządzeniem (wykonawczym) przy pomocy czasu trwania sygnału. Czas ten jest programowalny w urządzeniu sterujacym (z klawiatury) z dokładnością do jednej sekundy.
Urządzenie wykonawcze obsługuje dwadzieścia różnych sygnałów (i wykonuje dalsze czynności wg. dwudziestu różnych algorytmów). Sygnał 1-sekundowy z urządzenia sterujacego powoduje wykonanie algorytmu pierwszego w urządzeniu wykonawczym, sygnał 2-sekundowy - algorytmu 2-go itd.
Problemem jest fakt, że urządzenie sterujące czasem "oszukuje": mimo zaprogramowanego sygnału np 8-sekundowego podaje czasem impuls 9-sekundowy lub tez 7-sekundowy, choć w większości przypadków sygnał jest prawidłowy. (W każdym razie tak sygnały identyfikowane są przez urządzenie wykonawcze, ale ono dokładnie "mierzy" czas). Długość sygnału jest - jak sądzę - fałszowana o +- niecałą sekundę.
Rozwiązanie obecnie stosowane to ograniczenie sie do sześciu algorytmów działania urządzenia sterujacego. Algorytm pierwszy wpisany jest w urządzeniu sterowanym trzy razy: pod jedną, dwie i trzy sekundy, algorytm drugi - pod 4, 5, 6 itd.
Minusy tego rozwiązania są dwa:
- zmniejszenie ilości możliwych do wykorzystania algorytmów z 20 do 6 (ewentualnie 7)
- konieczność programowania (dość uciążliwego) 3 razy większej liczby algorytmów niz faktycznie potrzebnych.
Wymyśliłem, że gdyby zastosować układ, który po podaniu sygnału na wejście, po jego zakończeniu wysyłałby na wyjściu sygnał o czasie trwania równym połowie wejściwego - programowałbym w urządzeniu sterującym sygnał o długości dwukrotnej w stosunku do wymaganej i powinno być OK. (ewentualnie dzielący przez 3)
Czy istnieje jakiś układ (najchętniej gotowy, do kupienia) który by to realizował? Oczywiśie im prostszy (i tańszy) tym lepiej. Sygnał to 230V AC, ale urządzenie wykonawcze zaakceptuje też 24V DC.
Może jakieś inne koncepcje rozwiązania problemu?