# Smartb motors - how it works

&lt;Do przeredagowania i translacji&gt;

Sterowanie silnikami w smartb bazuje na pomiarze prądu i czasach ruchu. Nie ma w tym układzie krańcówek położenia skrajnego.

Działa to tak, że logika wysterowuje ruch silnika w zadanym kierunku i czeka aż na silniku wystąpi pomiar prądu powyżej **1A** (tzn, że coś blokuje dalszy ruch silnika, albo jest to odbojnik skrajny w urządzeniu albo coś innego)

Dodatkowo na początku ruchu uruchamiany jest timer który odlicza do **1s**, jeżeli silnik nie osiągnie prądu powyżej **1A** w czasie krótszym niż **1s** to jest emitowy błąd **TIMEOUT (S003).** Źródłem braku prądu w czasie 1s może być awaria silnika lub silnik nie jest podłączony.

Zwykle normalny ruch silnika trwa ok. **600ms**.

Jeżeli silnik osiągnie prąd **1A** w czasie krótszym niż **450ms** to zwykle znaczy, ze coś blokuje jego ruch. Jeżeli taki stan (osiągnięcie prądu poniżej 450ms) wystąpi **3x** pod rząd to emituje błąd **UNDERTIME (S002)**

Po wystąpieniu błędu **TIMEOUT** lub **UNDERTIME** silnik zatrzymuje się i LED świeci się na żółto.

<p class="callout info">Co ważne, po wejściu w tryb serwisowy wszystkie silniki kasują swoją flagę o błędzie i próbują wykonać ruch ponownie wg. w/w opisu.</p>