roboforum.ru

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

Концепция ORFA и немного шире

Разработка стандартизированных модулей для домашнего робостроения.
Правила форума
Правила раздела OpenRobotics

Re: Концепция ORFA и немного шире

Сообщение Vooon » 10 мар 2010, 20:29

Не верно! S 40 0d 00 S 41 01 P
Байт выделенный жирно указывает канал с которого начинается чтение.
В принципе его не обязательно посылать каждый раз, но предпочтительно.
Вложения
manual.pdf
(256.82 КиБ) Скачиваний: 5
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Концепция ORFA и немного шире

Сообщение kbnn » 11 мар 2010, 22:25

Есть вопрос.
Вот у меня OR-AVR-M128-S, я пробую читать уровень на входе цифрового порта.
пишу:
<S40 06 00 S40 02 S41 01 P
получаю ответ
SWAASWASR10P
На PORTA у меня ни чего не подцеплено.

Вопрос 1: что значит последня 01 в запросе? В инструкции написано читаемая маска, это что значит? Что мы читаем с вывода PORTA0? Тогда что значит 10 в ответе? Ведь должны быть 00.
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение =DeaD= » 11 мар 2010, 22:48

У меня выдаёт SWAASWASR00P

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

Re: Концепция ORFA и немного шире

Сообщение kbnn » 11 мар 2010, 22:52

Новую не заливал. Та что была.

Добавлено спустя 40 секунд:
А зачем в запросе писать s40 02?
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение Vooon » 11 мар 2010, 22:53

Посмотри таблицу 3.1 из прошлого моего сообщения.
Тут нужно только пояснить что такое <adr+w> и <adr+r>.
adr — старшие 7 бит адреса (I2C адрес), а w/r — младший бит 0/1

А что в порту не по нулям вполне понятно, у тебя же входы в воздухе болтаются.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Концепция ORFA и немного шире

Сообщение kbnn » 11 мар 2010, 23:25

Что бы не болтались мне нужно на "сигнал" (дальний от края) подавать или землю или питание. Разомкнутый сигнал "не предсказуем". Правильно?

Добавлено спустя 22 минуты 20 секунд:
Получилось! Огромное спасибо.
Вот только что же значит S41 01? Если написать 02 то увеличивается количество байт в ответе.
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение Vooon » 11 мар 2010, 23:30

Разомкнутый непредсказуем. Можно включить встроенные подтягивающие резисторы.
Для этого нужно DDRxy = 0, PORTxy = 1 (где x — порт, y — бит)

Т.е. для этого примера: в регистр 0x02 нужно записать 0xFF, в регистр 0x06 — 0x00.
Тогда неиспользуемые биты будут установлены (1).

П.С.: т.к. не приводилась таблица адаптеров возможно номера регистров не верны...

Добавлено спустя 2 минуты 58 секунд:
<count> я думал будет и так понятно...
Это количество запрашиваемых байт.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Концепция ORFA и немного шире

Сообщение kbnn » 11 мар 2010, 23:32

Точно! Все работает. Спасибо большое.
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение Vooon » 11 мар 2010, 23:52

Попробуй еще программу в архиве использовать.
Из консоли lsorfa.exe COMn (для комов 1-9, дальше \\.\COMn)

Это собранная с помощью MinGW liborfa и lsorfa
Вложения
liborfa.zip
(44.36 КиБ) Скачиваний: 3
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Концепция ORFA и немного шире

Сообщение kbnn » 12 мар 2010, 09:27

Спасибо. Дома попробую.
Но на самом деле с цифровыми входами и выходами я уже разобрался. Там все понятно.
В большей части благодаря помощи форума.
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение Vooon » 12 мар 2010, 10:12

Не за что! Наоборот мы нашли и исправили ошибки в документации.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Концепция ORFA и немного шире

Сообщение kbnn » 18 мар 2010, 21:23

Добрый вечер.
Я дошел до сервоприводов...
В описании Руководство пользователя M128M128 -S сказано:

Пример * установки положения 2-го сервопривода в 1200мкс а 3-го сервопривода в положение 1700
<S40 0F 02 04B0 03 06 A4 P
>SWAAAP

Но это не работает, работает только:

<S40 0D 02 04B0 03 06 A4 P

И еще вопрос. У меня сервы модифицированные под длительное вращение (я планирую ставить на них колеса).
Вот по приведенному выше примеру они начинают крутиться, а как их:
1. остановить
2. вращать с заданной скоростью
3. Вращать в другую сторону.
Формула, если честно, не добавляет ясности.

Крутить в другую сторону получается но как то "НАУГАД"
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение kbnn » 18 мар 2010, 21:32

УРА! Получилось "Подбором" 1500мс это СТОП.
Аватара пользователя
kbnn
 
Сообщения: 74
Зарегистрирован: 22 окт 2009, 16:13
Откуда: Дедовск

Re: Концепция ORFA и немного шире

Сообщение =DeaD= » 18 мар 2010, 21:57

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

Re: Концепция ORFA и немного шире

Сообщение =DeaD= » 21 мар 2010, 19:24

Продолжим на тему развития парсера ORFA в сторону более человеческих команд по работе с периферией.

Надо приземлить форматы команд для работы с портами и движками.

Для движков предлагаю следующую команду:
Код: Выделить всёРазвернуть
M <speed1=(-100..100|*)> <speed2=(-100..100|*)>

Т.е. если не хотим менять скорость какого-то мотора - пишем в неё "*"

Для портов ввода-вывода:
Код: Выделить всёРазвернуть
@<port><pin>=(H|L|P|D|A)

H - выставить выход в логическую "1" (уровень напряжения питания);
L - выставить выход в логический "0" (уровень напряжения земли);
P - перевести порт в режим входа и включить подтягивающий резистор;
I - перевести порт в режим входа и выключить подтягивающий резистор;
D - прочитать цифровое значение порта;
A - прочитать аналоговое значение порта;

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

Пред.След.

Вернуться в Open Robotics

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

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

cron