galex1981 ты б хоть написал ЧТО непонятно. Ну если ответ "ВСЁ", то попробую обьяснить по-другому:
Главная проблема "не синхонность" - один вал крутится либо быстрее, либо медленнее, из-за этого ноги с одной из сторон движуться быстрее и робот постоянно сворачивает в одну из сторон. Чем больше "не синхронность" тем сильнее поворачивает робот.
Решение проблемы:
Моторы должны "знать" в каком положении находяться ноги и исходя из этого либо вращать вал, либо ждать пока второй мотор "докрутит" ноги до нужного положения.
Вот эти "знания" и будут храниться в тригерах (надеюсь, что это такое не надо обьяснять).
Так уж вышло, что у наших скрепышей ноги двигаются с разницей в 180 градусов (анатомия у них такая), то есть если правые конечности двигаются вперед, то левые назад (верх/низ аналогично).
Благодаря контактам в крайних положения ног, мы и скрепыш будем знать где находятся ноги. Существенным является - дошли они до крайнего положения или ещё в пути. Теперь разберем пример из моего прошлого поста:
- оба движка/вала работают (для примера правый моторчег крутится чуть быстрее);
1. правые ноги заняли крайнее переднее положение;
2. если левые ноги ещё в пути (не дошли до крайнего заднего положения), то ПРАВЫЙ движок останавливается (левый движок продолжает крутиться и двигать ноги назад);
3. как только левые ноги дойдут до крайней задней точки, то включается ПРАВЫЙ моторчик и начинает двигать правые ноги назад, а левый продолжает работать и двигает левые ноги в перед.
4. потом цикл повторяется для левой стороны ... точнее правые ноги займут крайнюю заднюю точку быстрее чем левые переднюю, но суть таже - ПОКА НОГИ НЕ ОКАЖУТСЯ В НУЖНОМ ПОЛОЖЕНИИ, СПЕШАЩИЙ ДВИЖОК ОТКЛЮЧАЕТСЯ.
Ну как-то так.
Лучше обьяснить не смогу. Надеюсь стало понятнее.
Конечно старички сейчас набегут и скажут, что всё это проще сделать на МК. Да проще, но так же можно и на транзисторах (мозг заставляет работать
), и с питанием проще.