реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Управление двумя сервоприводами через ПК
mega2560
сообщение Mar 17 2015, 09:57
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 17-03-15
Пользователь №: 85 726



Всем привет. Собрал проект управления сервоприводом через ПК сам код и пример взял из этой статьи : Управление сервоприводом при помощи Arduino и Java приложения Серва работает на ура, теперь хочу управлять сразу двумя сервоприводами, одну привязать на координату x другую на координату y. только вот не совсем пойму как это программно сделать, нужно придумать какой то протокол передачи координат на ПК и разбирать его в ардуине. Кто нибудь делал подобное?
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Mar 17 2015, 12:48
Сообщение #2


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Не придумывайте протокол, возьмите с успехом используемый в подобных задачах. Например, стоит присмотреться к управлению в 3D принтерах, стоит почитать здесь и здесь


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
kleverd
сообщение Apr 13 2015, 20:06
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



Если для образовательных нужд, то протокол как таковой не нужен. UART тебе в помощь.
Надо пересылать не один байт, а два байта. Первый байт будет для одной сервы, второй, для другой.
Ну можно пересылать в конце третий байт для контроля завершения команды.
Собственно все.
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Apr 14 2015, 00:12
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Координировать надо в реалтайме а ПС для этих целей не очень.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
kleverd
сообщение Apr 14 2015, 22:03
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



Цитата(A. Fig Lee @ Apr 14 2015, 04:12) *
Координировать надо в реалтайме а ПС для этих целей не очень.


Реалтайм реалтайму рознь.

Если объект, на который будут воздействовать сервы не подвержен быстроменяющимся внешним воздействиям, то и ПК сойдет.
Для товарища, задавшего вопрос, я думаю этого будет достаточно.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 15 2015, 02:35
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(kleverd @ Apr 14 2015, 02:06) *
Надо пересылать не один байт, а два байта. Первый байт будет для одной сервы, второй, для другой.
Ну можно пересылать в конце третий байт для контроля завершения команды.

Как управляемое устройство будет узнавать где 1й, а где 2й байт?
Не бывает связи без протокола. Как не может быть разговора без языка.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Apr 15 2015, 08:52
Сообщение #7


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Полностью согласен с jcxz. Как только пакет больше одного байта, нужно иметь возможность определить, кто первый, если система асинхронная sm.gif


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 15 2015, 11:36
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(jcxz @ Apr 15 2015, 03:35) *
Как управляемое устройство будет узнавать где 1й, а где 2й байт?

0 или 1 в старшем бите ? и 7 бит данных
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 17 2015, 01:44
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Apr 15 2015, 17:36) *
0 или 1 в старшем бите ? и 7 бит данных

А вот это уже называется "протокол обмена" wink.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Apr 17 2015, 13:20
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



но всё ещё с пакетом не более одного байта

Сообщение отредактировал Огурцов - Apr 17 2015, 13:21
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 18 2015, 07:15
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Apr 17 2015, 19:20) *
но всё ещё с пакетом не более одного байта

Отчего-ж? Если есть возможность определить границы пакета, значит он может быть многобайтовым.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Apr 18 2015, 07:22
Сообщение #12


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Цитата(Огурцов @ Apr 17 2015, 16:20) *
но всё ещё с пакетом не более одного байта

Если продолжать спор только ради спора, тогда можно продолжать доказывать, что в одном байте можно закодировать и синхро-сигнал, и контрольную сумму и данные. Ведь в 8-ми битах по два-три бита может уместиться разной информации.
Вопрос: зачем делать сразу плохо, если плохо получается обычно без каких-либо усилий?


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th April 2024 - 16:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01483 секунд с 7
ELECTRONIX ©2004-2016