roboforum.ru

Технический форум по робототехнике.

Hexapod

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Re: Hexapod

Сообщение blindman » 10 июн 2008, 13:27

Можно. Как-то попадались статьи, в которых говорилось, что верхний предел около 40. Да и сам эксперементировал, при 40 работало нормально, при 50 - начинала дергаться. Хотя, конечно, это может зависеть от модели сервы.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Hexapod

Сообщение ksp » 10 июн 2008, 13:57

Будем пробовать.
Аватара пользователя
ksp
 
Сообщения: 10
Зарегистрирован: 09 июн 2008, 16:47
Откуда: Зеленоград
Skype: kspzel
прог. языки: c++ delphi php

Re: Hexapod

Сообщение =DeaD= » 10 июн 2008, 15:24

Лучше не экспериментировать с изменением частоты (период с 20мс), запаритесь потом глюки искать, если начнут вылезать.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Hexapod

Сообщение blindman » 10 июн 2008, 15:48

А какие могут быть глюки? По-моему, данная конкретная серва или работает при определенном периоде импульсов, или нет.

Конечно, следует стремиться к 20мс, особенно если требуется повторяемость конструкции. Если же девайс в одном - двух экземплярах, достаточно проверить, какой период держат имеющиеся сервы
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Hexapod

Сообщение =DeaD= » 10 июн 2008, 16:21

Да элементарные - у сервы есть входной параметр второй кроме сигнала - напряжение, может она при текущем напряжении работает, подсядет чуть аккум и не будет работать, или наоборот, шумы опять же в питании разные при разном количестве включенных серв и т.п. - нет, если есть желание потратить лишние несколько часов в отладке - всегда пожалуйста, нарушайте установленные спецификации, придумывайте свои фишки, которые у вас сработали, и хорошие шансы на увлекательное времяпрепровождение вам обеспечены :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Hexapod

Сообщение blindman » 10 июн 2008, 16:42

DeaD, спасибо за совет. А то сижу, не знаю чем себя развлечь :D
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Hexapod

Сообщение ksp » 10 июн 2008, 21:37

Попробывал тут использовать оба модуля таймера. Оказалось, что хоть регистры сравнения разные, но регистор счётчика всё-таки один. А он там обнуляется на каждом прерывании...
Короче мне пока не ясно как это всё реализовать. Подскажите?
Аватара пользователя
ksp
 
Сообщения: 10
Зарегистрирован: 09 июн 2008, 16:47
Откуда: Зеленоград
Skype: kspzel
прог. языки: c++ delphi php

Re: Hexapod

Сообщение =DeaD= » 10 июн 2008, 22:50

Дык написано ж - вешаетесь на прерывание каждые 160 тактов например, это у вас разрешение получится 1/100 000 секунды, то есть 10мкс, то есть 100 шагов от 1000мкс до 2000мкс.

Запускаете счетчик от 0 до 2000, в тики 0..199 управляете первой-второй-третьей сервой, в тики 200..399 управляете 4-5-6 сервами и т.д. хоть 24 хоть 30 серв можно рулить. Всё это на одном прерывании делается.

Под "управляете 1-2-3 сервами" имеется в виду при значении счетчика 0 ставите на все три сервы на выход единичку, а обнуляете её тогда когда нужно в тик с 100 по 199 - в зависимости от требуемого угла.

Меньше чем 160 тактов сделать конечно можно чтобы повысить разрешение сервы, но тогда надо очень аккуратно программить, чтобы вписаться в обработку прерывания за это количество тактов, и оставить еще времени МК на другие задачи.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Hexapod

Сообщение Сергей » 10 июн 2008, 23:03

а мне всетаки кажеца что таким образом только геморой себе наживаем. Проще сделать с той схемкой что я приводил.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Hexapod

Сообщение Digit » 11 июн 2008, 08:26

Сергей, а как с помощью cd4015B сделать? :oops:
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Hexapod

Сообщение =DeaD= » 11 июн 2008, 08:30

Сергей писал(а):а мне всетаки кажеца что таким образом только геморой себе наживаем. Проще сделать с той схемкой что я приводил.

Ну да, можно всё аппаратно реализовывать - это такая гибкость что просто кирдык :) как раз для этого МК с миллионами операций в секунду и придумывали 8)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Hexapod

Сообщение blindman » 11 июн 2008, 09:12

Наверное, их придумали для того, чтобы каждые 200 тактов вызывать обработчик прерываний, в котором только вызов, сохранение и восстановление регистров занимают свыше 90 тактов? Я могу найти процессору лучшее применение.

DeaD, ты же должен прекрасно понимать, что тот метод, что используешь ты - не панацея. У каждого метода есть свои достоинства и недостатки, и их надо учитывать в каждом конкретном случае.

Я сегодня немного поправил статью "[[Управления сервами с МК]]" в вики - добавил достоинства и недостатки методов, и описание метода с внешними регистрами. Писатель из меня не очень, у кого есть мысли, как написать точнее и понятнее - милости просим

Добавлено спустя 1 минуту 57 секунд:
Позже добавлю примеры кода для иллюстрации каждого метода
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Hexapod

Сообщение EdGull » 11 июн 2008, 09:34

а почему не добавить несколько мег48? ведь их стоимость не в какое сравнение не идет со стоимостью потеряного времени
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Hexapod

Сообщение blindman » 11 июн 2008, 09:56

Не надо добавлять никаких мег. одна 4017 стоит раз в 7 дешевле этой меги. И времени человек потратит куда больше на то, чтобы отлаживать на нескольких контроллерах программы и их взаимодействие. И вообще, для управления сервами любые внешние компоненты нужны только в одном случае - когда не хватает ног контроллера

Добавлено спустя 6 минут 24 секунды:
Или когда серв много и нужно высокое разрешение
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Hexapod

Сообщение EdGull » 11 июн 2008, 10:49

Да хоть в 10 раз! В деньгах-то это не больше 100р.!!! Но в итоге имеем полностью настраиваемую систему это раз. БОльшинству программить намного легче чем с аппаратной логикой разбираться это два.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Пред.След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11