roboforum.ru

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

Управление сервопривода от компьютера

AlphA » 24 окт 2005, 11:06

KiCom писал(а):...в адресс оперативки с адресом 378 так ?


Не оперативки! Это адрес порта. Вещи разные.

KiCom » 24 окт 2005, 11:42

Такс, преплыли теперь я вообще нечего не понимаю, как я собирался это сделать на си:

int *p;
p=0x378;
*p=255;

Вопрос к тем кто знает си, это так делаеться или нет, если нет то как?

Tracer » 24 окт 2005, 12:38

Так ты запишеш в я чейку памяти с адресом 0х378
А тебе нужно написать в порт номер 0х378

Пространство адресов ячеек памяти и пространство портов различны
Для записи (чтения) в (из) порта используют outp() (inp())

Посмотри здесь вроде как в тему
http://users.swing.be/philippe.jadin/servoen.htm

setar » 24 окт 2005, 17:50

8) готовый девайс http://www.rentron.com/SerialServo.htm
управление 8ю сервами через rs232

KiCom » 24 окт 2005, 19:02

rs232 меня сейчас мало интересует т.к. надо еще прошивать чип, мне бы с LPT разобраться, кстати никто не знает как можно в си организовать задержку равную например 1.23 милесекунде?

-= Александр =- » 25 окт 2005, 01:09

Ищи пример работы с системмным таймером...

ASin » 25 окт 2005, 01:36

KiCom писал(а):rs232 меня сейчас мало интересует т.к. надо еще прошивать чип, мне бы с LPT разобраться, кстати никто не знает как можно в си организовать задержку равную например 1.23 милесекунде?


Стандарта, вроде, нет. В WinAPI есть функция Sleep(long msec);
Точность, соответственно, до миллисекунды.
В линукс/BSD есть usleep, в микросекундах.
Только это всё безнадёга, тем более в виндах... Задержка будет не менее заданной, а на самом деле -- как бог на душу наложит. Для точности надо real-time систему ставить.
Имхо, самое оно -- выделить под серву отдельный контроллер.

KiCom » 25 окт 2005, 14:31

Ну ладно допустим микроконтролер, как его сделать? Как я понимаю нужно где-то найти програмку (прошивку) и зашить ее в чип, для того чтобы зашить в чип нужна "прошивалка". Где-то я тут слышал про пять проводков что такое незнаю, для того чтобы прошивалка работала ей нужен какойто софт где его можно взять? Вообще разясните если не трудно.

-= Александр =- » 25 окт 2005, 19:57

1)Компилятор для контроллера создает прошивку (я юзаю ICC http://www.imagecraft.com)
2)Прошивалка состоит из 5 проводков от LPT к контроллеру.
3)Прога для прошивалки http://www.lancos.net Хотя компилер и сам прошить может.
Все просто!  :wink:

KiCom » 26 окт 2005, 17:15

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

-= Александр =- » 26 окт 2005, 18:35

1) Контроллер. Для начала вполне хватит ATTINY2313
Если такого нет - ATMEGA8 (стоит дороже)
или ATMEGA48 (может не поддерживаться старыми компилерами!!!)
2)Кварц на 11.059 МГц
3)2 кондера 22 пикофарада (керамика)
4)Пару электролитов на 10 мкФ
5)Микросхема MAX232 желательно с буквами CPE
6)5 электролитов на 1 мкФ 16 вольт (для этой микросхемы)

Если обратной связи делать не будешь и жаба душит - пункты 5 и 6 замени на резистор 22 кОм.

7)кусок провода (3 или 4-жильного) и разъем в COM-порт (DB9 мама)
8 )стабилизатор 7805
9)еще советую десяток самых дешевых светодиодов, резисторов на 100 ом и 1 кОм и кнопачек несколько, для освоения контроллера и вообще для отладки пригодятся...

Для программатора:
1)Разъем в LPT (DB25 папа)
2)пара метров шлейфа на 10 проводов
3)разъем врезной (вроде называется IDC10) на шлейф (мама)
4)полсочку контактов на плату к этому разъему (PLS или DPL)

Советую на все разъемы (кроме IDC) купить корпуса, удобнее будет втыкать и отключать...

Ну и естественно понадобится текстолит, припой и флюс (рекомендую ЛТИ-120).  Паяльник должен быть не больше 20ти ватт, а то поджаришь контроллер! Схемка тут простая, так что можешь собирать на макетной плате. Но она дорого стоит (в 10 раз дороже) или покупай просто текстолит, хлорное железо и хороший маркер чтоб разводку рисовать...

Схема будет похожа на эту:

Изображение

Рублей эдак в 200-250 должно уложиться.

По поводу сигналов с компа не волнуйся, это все хардово реализовано, ты в контроллере получишь готовые байты, те что с компа отправишь.

Как все купишь - скажи. Дам ссылочки откуда софт качать и лом к нему пришлю.  :wink: Если выберешь ICCAVR - там все это в примерах будет (работа с портом и с сервой) останется только соединить в одну программу.

А какова конечная цель, если не секрет?

KiCom » 27 окт 2005, 12:08

Все купил кроме кварца, на эту частоту немогу найти, нет но есть на 11,990 может он подойдет? Конечная цель это манипулятор. Вообще до того как я нашел этот форум я думал что програмирование контролеров это вообще темный лес, а оказываеться все достаточо просто и понятно.

ASin » 27 окт 2005, 12:10

KiCom писал(а):Все купил кроме кварца, на эту частоту немогу найти, нет но есть на 11,990 может он подойдет? Конечная цель это манипулятор. Вообще до того как я нашел этот форум я думал что програмирование контролеров это вообще темный лес, а оказываеться все достаточо просто и понятно.


А какой контроллер?
tiny/mega и без кварца заработают

KiCom » 27 окт 2005, 12:12

Контролер ATTYNI2313

-= Александр =- » 27 окт 2005, 12:30

Без кварца конечно заработает, но для связи по COM-порту надо частоту специфическую иметь...

Подойдет любой из вот этих:

4.9152
7.3728
9.2160
11.0592
14.7456
18.432 (если проц на нем может работать. Т2313 может, М8 не может)


Rambler\'s Top100 Mail.ru counter