 | cimirek 16.04.2023 08:10 Bydliště: Střední Čechy
|
| Rozvaha:
Osm stupňů přepínání, tam a zpět, tedy 16kroků. 50Hz, 16*50=800 sepnutí/s, 1/800=0.00125s je doba jednoho kroku. překrytí sousedních kroků cca 0.00025s
Nejjednodušší řešení by byla aplikace nějakého mikroprocesoru (třeba Arduino, PICAXE či jiný)
Při použití čítače 4017, by byly třeba dva kusy, spojené "do série", takže by počítaly 1-16 a znovu dokola.
Pozice 1-8 zvyšuje třeba zleva doprava, pozice 9- 16 snižje zprava doleva.
Dále by na výstupy 4017 navazovaly klopné obvody. Každý KO, se sepne(S) signálem z čítače 4017 a vypne(R) signálem sepnutí následujícího kroku 4017.
Na výstupy KO by navazovaly přes optospínače výkonové prvky.
Při tomto řešení by nebylo třeba komplikované synchronizace. Překrytí sousedních spínačů je možné minimální, leč zaručené.
-----------------
Dále jsem požádal umělou inteligenci o vytvoření kódu pro arduino s tímto zadáním.
Výsledek v příloze ať posoudí někdo znalejší.
Navrhni kód pro arduino mini pro 328P.
Cyklus programu probíhá tak, že v první polovině se spínají postupně výstupy 1 až 8 a ve druhé polovině cyklu 8 až 1.
Potom se vše opakuje od začátku.
Výstupy se spínají na dobu 0,00125s a to tak, že když následující sepne, tak poté předchozí vypne.
Čas překrytí, než se předchozí vypne po zapnutí následujícího je 0.00025s.
........................
odpověď od UI
Tady je kód, který splňuje vaše požadavky. Výstupy 1 až 8 se postupně zapínají a vypínají s překryvem 0.00025s a trvají 0.00125s.
Poté se výstupy 8 až 1 zapínají a vypínají stejným způsobem a cyklus se opakuje:
Tento kód využívá funkci delayMicroseconds() k řízení času zapnutí a vypnutí výstupů s překryvem 0.00025s.
Upozorňujeme, že tato přesnost by mohla být ovlivněna dalšími procesy, které běží na Arduinu.
--------------------------
Podobně by zřejmě bylo možné získat k=o i pro jiné mikročipy.
 | 
(Dostupné jen pro přihlášené uživatele fóra) |
|
|