Форум myROBOT.ru » Роботы и робототехника » Обо всем » сервоприводы

Страниц (4): [1] 2 3 4 »
 

1. strelok - 04 Августа, 2011 - 14:55:49 - перейти к сообщению
Здраствуйте. Помогите с таким вопросом, в разделе Шаг за шагом Часть 4, простой робот на микроконтроллере (Часть 1). Управляем электромоторами.Недавно купил 2 сервы и попробовал их подключить к этой схеме но без результатно, слышал надо применять Широтно-Импульсную Модуляцию и писать прогу но как?
2. nest - 04 Августа, 2011 - 15:11:18 - перейти к сообщению
Читаем, например, тут :
В простейших аналоговых сервах угол задаётся длительностью импульсов идуших с определённой частотой
Управлять сервой очень просто — у неё есть три провода:
Управление импульсное — по сигнальному проводу.
Особая прелесть состоит в том, что сигнальный провод слаботочный — импульсы можно давать непосредственно с ноги микроконтроллера, а вот по силовому «питанию» просасывается приличный ток.
Чтобы повернуть серву на нужный угол – нужно на сигнальный вход подавать импульс с нужной длительностью.
Чтобы удерживать определённую позицию – импульс должен повторяться.



Можете ещё тут почитать.


В общем, если у вас нет опыта в программировании - лучше пока заняться чем то более простым.
Но раз уж купили - переделать сервы для постоянного вращения ...
3. nestandart - 04 Августа, 2011 - 15:16:40 - перейти к сообщению
Почему бы не превратить сервы в мотор- редукторы.
Просто выпаять плату , снять потенциометр , выкусить (снять) ограничитель.
И управлять через драйвер как обычными мотрами.
Я именно так и сделал (не хватило ШИМ портов).
В любой момент все ето можно поставить на место.
4. Роботов - 04 Августа, 2011 - 16:04:13 - перейти к сообщению
nestandart пишет:
Почему бы не превратить сервы в мотор- редукторы.
Просто выпаять плату , снять потенциометр , выкусить (снять) ограничитель.
И управлять через драйвер как обычными мотрами.

+1
Этот вариант проще, и скорость двигателей с помощью ШИМ изменять проще, хотя требует установки внешних драйверов двигателей.
5. strelok - 04 Августа, 2011 - 16:08:24 - перейти к сообщению
а может у когото есть пример проги Programmers Notepad [WinAVR] на серву хотябы понять смысл
(Добавление)
есть ли вообще схемы по управлению сервами на меге 8 и прогу на неё
6. nest - 04 Августа, 2011 - 17:34:13 - перейти к сообщению
strelok, а что вы уже умеете делать на меге8 ?
7. strelok - 04 Августа, 2011 - 17:53:35 - перейти к сообщению
то что есть на вашем сайте в рубреке шаг за шагом проделал все и вот захотелось зделать на сервах взял за основу схему на меге 8 и драйвере L293 так как на сервах уже вмонтирован драйвер с усилителем то решил выкинуть L293 и пробовать управлять импульсами но сервы работают плохо, может кто то сталкивался с этим и обьяснит принцип програмирование сервы
8. nest - 04 Августа, 2011 - 19:31:56 - перейти к сообщению
strelok пишет:
может кто то обьяснит принцип програмирование сервы
Учитесь генерировать частоту около 50 Гц на аппаратных таймерах. А дальше уже рукой подать.
9. strelok - 04 Августа, 2011 - 20:04:44 - перейти к сообщению
сгенирировать f=50Гц с интервалом импульса t=20мс высший восторг
10. Роботов - 04 Августа, 2011 - 21:36:29 - перейти к сообщению
strelok пишет:
сгенирировать f=50Гц с интервалом импульса t=20мс

Не просто сгенерировать импульс с интервалом 20мс, но и изменять его длительность от 0,8мс (одно крайнее положение) до2,2 мс.(другое крайное положение). В среднем положении качалки длительность равна 1,5мс.
11. strelok - 05 Августа, 2011 - 01:47:33 - перейти к сообщению
спасибо большое
(Добавление)
кстати вот смотрел на youTube про Платы Freeduino/Arduino и там стоит мк мега 8 и есть пример проги на 2 сервы, пробовал прогу запустить через Programmers Notepad [WinAVR] ни чего не получилось хотя алгоритм програмирования С++ должен быть одинаковый могу ошибатся
12. nest - 05 Августа, 2011 - 02:27:13 - перейти к сообщению
у ъduino там свой язык СИ подобный. На любителя.
13. nestandart - 05 Августа, 2011 - 05:14:31 - перейти к сообщению
Цитата:
у ъduino там свой язык СИ подобный. На любителя.

Подключаешь библиотеку и задаешь простые команды (угол поворота)
14. -dead- - 05 Августа, 2011 - 07:44:46 - перейти к сообщению
nest пишет:
у ъduino там свой язык СИ подобный. На любителя.

И чем он отличается от Си? Надеюсь наличие библиотек уже не делает язык другим?

strelok пишет:
пробовал прогу запустить через Programmers Notepad [WinAVR] ни чего не получилось хотя алгоритм програмирования С++ должен быть одинаковый могу ошибатся

Алгоритм это абстрактное описание, программа для Arduino IDE скорее всего опиралась на встроенные в Arduino IDE библиотеки, которые вы просто не подключили в WinAVR.

Что-бы окончательно развеять предположения о специфичном языке Arduino IDE - скачайте и установите WinAVR и Arduino IDE, зайдите в Arduino IDE в каталог /hardware/tools/avr и сравнив содержимое с каталогом WinAVR, попробуйте найти отличия. Там даже WinAVR-20081205-uninstall.exe сохранен.
15. nestandart - 05 Августа, 2011 - 10:36:22 - перейти к сообщению
Цитата:
Что-бы окончательно развеять предположения о специфичном языке Arduino IDE

Но все же программы на чистом СИ , IDE компилировать отказывается.