Сервомашинка HS-311

Распечатать

PLC похачил, защита там оказалась даже не детской — идиотской, пароль шел от PLC в комп открытым текстом и сверялся с введеным уже в софте. Так что RS232 сниффер это наше все :) Рубанул капусты и решил ее куда нибудь потратить. На глаза попалась сервомашинка HS-311. Вот и прикупил ее показать что это за зверь.

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

В основном все управление тут стандартизировано (если есть тут RCшники, то может добавите свои пять копеек?) и сервомашинки, по большей части, различаются усилием на валу, быстродействием, точностью управления, габаритами, весом и материалом изготовления шестеренок. Цена колеблется от 200-300 рублей за самую дешевую и до бесконечности за ультрамегатехнологичные девайсы. Как и в любой фанатской области, верхняя планка цен тут не ограничена и наверняка под потолком в ход идут какие нибудь шестерни из перфорированного титана и карбоновые корпуса с обратной связью через миллионимпульсный оптический энкодер =) В общем, всегда можно чем нибудь померяться.

Я же не стал выпендриваться и взял пока самую дешевую, самую распространенную HS-311. Тем более у меня уже есть планы по ее переделке.
Характеристики HS-311

  • Момент на валу: 3кг*см
  • Размеры: 41x20x37 мм
  • Вес: 44.5 гр
  • Скорость поворота вала на 60 градусов: 0.19 сек
  • Управление импульсное
  • Цена: 350-450р


Сама серва как таковая мне особо не нужна, а вот редуктор из нее вполне сгодится. Тем более я видел UpgradeKit для нее с металлическими шестеренками :) Впрочем, под мои задачи и пластик сгодится.

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

Если выкрутить винт из оси, то колесо снимается и становится видно, что вал зазубренный — не будет прокручивать.

Если выкрутить четыре винта, то можно снять крышку редуктора:

Как видно, тут четырехступечнатый цилиндрический редуктор. Передаточное число не скажу, но большое.

Сняв нижнуюю крышку можно увидеть плату управления:

Видно четыре транзистора, образующие H-мост позволяющий реверсить движок и микросхему логики. Микруха, кстати, их разработки. Так что даташит на нее фиг найдешь. Дальше разобрать не удалось. Движок там словно вклеен, а плата сделана из такого говнистого гетинакса, что я чуть не разломал ее пополам когда пытался выковырять. Поскольку пока окончательно ломать родную логику в мои планы не входило я не стал вторгаться в моторный отсек. Тем более ничего интересного там нет.

Если снять все шестеренки, то видно вал резистора обратной связи по положению:

Примерный конструктив можно увидеть на схеме которую я тут по быстрому набросал:

Выходной вал намертво связан с валом переменного резистора обратной связи. Поэтому серва всегда знает в каком она положении в данный момент. Из минусов — невозможность сделать полный оборот. Например эта может крутить валом не больше чем на 180 градусов. Впрочем, можно выломать ограничительный упор, а резистор путем хирургического вмешательства превратить в энкодер (кто там возмущался, что идея энкодера из резистора бесполезна? ;) Попробуй те ка подобрать энкодер в аккурат чтобы встал вместо сервовского?) Родную плату при этом конечно придется выбросить, но мы ведь легких путей не ищем? В общем, скоро займусь апгрейдом этого девайса и превращением сервомашинки в серводвигатель.

Управление:
С конструктивом все понятно, теперь о том как же этим зверем рулить. У из сервомашинки торчит три провода. Земля (черный), Питание 5 вольт (красный) и сигнальный (желтый или белый).

Управление у нее импульсное, по сигнальному проводу. Для того, чтобы повернуть серву на нужный угол ей надо на вход подавать импульс с нужной длительностью.

0.8мс это примерно 0 градусов, крайне левое положение. 2.3мс это около 170 градусов — крайне правое. 1.5мс — среднее положение. Между импульсами производитель рекомендует давать 20мс. Но это не критично и машинку можно разогнать.

Работа контрольной логики
Как работает управление? Да просто! Когда на вход приходит импульс, то он своим передним фронтом запускает одновибратор внутри сервомашинки. Одновибратор это блок выдающий один импульс заданной длительности по запускающему фронту. Длительность этого внутреннего импульса зависит исключительно от положения переменного резистора, т.е. от текущего положения выходного вала.

Далее эти два импульса сравниваются на тупейшей логике. Если внешний импульс короче внутреннего, то эта разность подасться на двигатель в одной полярности. Если внешний импульс длинней внутреннего, то полярность подачи на движок будет другой. Под действием одного импульса движок дернется в сторону уменьшения разности. А поскольку импульсы идут часто (20мс между каждым) то на двигло идет подобие ШИМа. И чем больше разность между заданием и текущим положением, тем больше коэффициент заполнения и движок активней стремится эту разность ликвидировать.
В итоге, когда импульсы задающие и внутренние сравняются по длительности движок или остановится или, что вероятней, т.к. схема не идеальная — переменный резистор дребезжит, поэтому идеального равенства не будет, начнет «рыскать». Подрагивая то в одну то в другую сторону. Чем более убитый резистор или хуже задающие импульсы, тем больше эти рыскания.

На картинке я изобразил два случая когда задающий импульс длинней внутреннего и когда короче. А внизу показал как выглядит сигнал на движке при выходе на заданую точку. Это, собственно, классический случай пропорционального управления.
Частота следования импульсов определяет быстроту с которой сервомашинка будет вращать валом. Минимальный интервал, выше которого скорость перестает возрастать, а дребезг усиливается это порядка 5-8мс. Ниже 20мс серва становится задумчиво тормозной. ИМХО оптимальная пауза около 10-15мс.

Для того, чтобы поиграть сим девайсом я по быстрому накидал программку на Mega16 своем ядре. Правда высчитывать полный диапазон от 0.8 до 2.3 мне было влом. Посчитал для 1…2мс импульса. Это где то 100 градусов.

Сделано все на RTOS, поэтому я опишу только прерывания и задачи.
Задача сканирования АЦП — раз в 10мс запускает АЦП на преобразование. Можно конечно было бы Freerunning mode (режим непрерывного преобразования) сделать, но я не хотел, чтобы МК дергался каждые несколько микросекунд на прерывание.

1
2
3
ScanADC:	SetTimerTask	TS_ScanADC,10
		OUTI	ADCSRA,(1<<ADEN)|(1<<ADIE)|(1<<ADSC)|(0<<ADATE)|(3<<ADPS0)
		RET

По прерыванию от АЦП просто складыается данные из АЦП в ячейку ОЗУ:

1
2
3
4
5
ADC_INT:	PUSH	OSRG
		IN	OSRG,ADCH
		STS	ADC_Data,OSRG
		POP	OSRG
		RETI

Это просто функция контроля. Снятые с АЦП данные отправляет в USART, где я их наблюдаю в терминалке.

1
2
3
4
Send:		SetTimerTask	TS_Send,50
		LDS	OSRG,ADC_Data
		OUT	UDR,OSRG
		RET

А вот, собственно, главная задача — именно она формирует импульс на основании взятых из АЦП данных. Эта задача крутится фоном и вызывается диспетчером раз в 20мс, впрочем, частоту можно поменять. Вывод CTR (PB4) покдлючен к сигнальному входу сервы. При запуске задачи выставляется 1 на входе сервы и запускается таймер. Когда таймер сработает то в его прерывании нога опустится в 0. В результате будет получена точная выдержка. По расчетам число тиков таймера должно быть от 120 до 250 для крайних положений сервы.

1
2
3
4
5
6
7
8
9
10
11
12
Control:	 SetTimerTask	TS_Control,20	; Вызов каждые 20мс
		SBI	CTR_P,CTR		; CTR в 1 - начало импульса.
		LDS	OSRG,ADC_Data		; Взять данные с АЦП замера (из ОЗУ)
 
		LSR	OSRG			; Обрезать один бит, лишние шумы нафиг.
		SUBI	OSRG,-120		; Прибавить 120 -- начальная точка.
		LDI	Tmp2,255		; Инвертируем число, т.к. таймер считает
		SUB	Tmp2,OSRG		; не от числа до 0, а от числа до 255.
 
		OUT	TCNT0,Tmp2		; Загружаем счетный регистр таймера
		OUTI	TCCR0,3			; Запускаем таймер
		RET				; Выход в диспетчер.

Остальное завершит прерывание.

1
2
3
4
5
Timer0_OVF:	PUSH	OSRG		; Сохраняем OSRG 
		CBI	CTR_P,CTR	; CTR в 0 - конец импульса
		OUTI	TCCR0,0		; Таймер выкл
		POP	OSRG		; Восстанавливаем OSRG
		RETI			; Выход.

Четко, фоном берем данные из АЦП — которая повешана на переменный резистор и выдаем на серву. В итоге, крутим резистор — крутится серва. Красота! Вот и видео для полной картины:

Вот, собственно и все. Проект со всеми исходниками целиком, как всегда, доступен по ссылке:
Demo16-RTOS.rar

Запись опубликована в рубрике Робототехника с метками , , , . Добавьте в закладки постоянную ссылку.

108 комментариев: Сервомашинка HS-311

  1. Levsha100 говорит:

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

    • DI HALT говорит:

      Что там за движок ХЗ, я до него так и не добрался. Что то мелкое. Максимальный ток который я от него увидел — 500мА и то это было недолго, при особо агрессивном рысканьи, когда он и пускового режима не выходил. А так не более 100-30мА.

      Серва ставится ради контроля положения. Например при пропорциональном управлении. Ну и редуктор. Моторы в советских игрушках говно редкостное — КПД у них ни к черту.

    • SWG говорит:

      Движки там хорошие, и довольно экономичные. Например, на авиамоделях используют до 6 и более серв (руль направления, высоты, элероны — часто по серве на каждый, закрылки, шасси, регулятор газа, если движок внутренного сгорания). И все это на маленький аккумулятор. Кроме того, движки обычно малоинерционные. В более — менее дорогих используется двигатель с чашечным ротором. Надежные щетки и коллектор, часто посеребренные. Хорошие, безлюфтовые редукторы. Усилие на рычаге даже самых маленьких серв, весом 5-8 грамм (серия «Pico»), от килограмма и более.

  2. Levsha100 говорит:

    >>Серва ставится ради контроля положения. Например при пропорциональном управлении.
    Да, но просто часто вижу как серву используют как ДВИГЛО — срезают ограничитель и отключают переменник(запаивают статику)…
    Редукторы это да…
    >>Моторы в советских игрушках говно редкостное — КПД у них ни к черту.
    Ну это к примеру :)

    • DI HALT говорит:

      Ну дык. Моторчик+редуктор+удобный корпус с крепежными ушами. О чем еще можно мечтать?

      Я под это дело тоже хочу пару серв купить. А где еще взять удобный моторредуктор?

      • SWG говорит:

        Часто для роботов их двухсторонним скотчем склеивают донышками вместе, ставят колеса, сверху крепят плату, батарейки, датчики. Получается просто, жестко и компактно.

  3. Alexmod говорит:

    Еще есть цифровые сервомашинки. С точки зрения управления ими, ничего «цифрового» там нет. Управление так же импульсами. Просто увеличина частота следования этих самых импульсов. Пауза сокращена с 20мс до где-то 3мс. Получаем при этом отклик намного быстрее. На некоторых цифровых можно с помощью программатора задовать разные фичи, типа — крайние положения вала, центральное положение, скорость.

  4. SiemX говорит:

    Моторчик там похож на те что в китайских игрушках только меньше. Просто застопореный моторчик бел управляющей схемы кушает около 1А, на холостом около 80ма. В серву очень хорошо влезает энкодер из мышки. Надо подобрать гвоздик чтоб плотно влазил в дырку энкодера и чтоб при кручений гвоздя энкодер крутился. У гвоздя обрезается шляпка и он вбивается в шестерню-вал и выходит там где был переменный резистор. На гвоздь надевается энкодер. Получается компактный мотор редуктор с энкодером

  5. Fox_Alex говорит:

    Думаю про http://www.openservo.com/ упомянуть будет не лишним. Суть — берем серву, выкидываем родную электронику и втыкаем в нее атмегу. Ну далее думаю понятно что будет. ;)

    • SWG говорит:

      Черт те что будет. Вместо простого и стандартного для серв трехпроводного подключения — 10 контактный разьем с собственным, несовместимым с модельной аппаратурой протоколом. Это уже не серва. И кому это нужно? А кому нужно, проще было не курочить серву, а сделать на том же AVR контроллере просто переходник с интерфейса сервы на то, что хотел автор.

      • Fox_Alex говорит:

        Это дает цифровую ОС о положении вала. Серве ты дал сигнал и не знаешь что она и как. Может ее вообще заклинило… А тут все видно.

        • SWG говорит:

          А где увидишь? С каждой моделью (даже летающей) будешь постоянно рядом держать рядом на проводе 2-3 метра компьютер? Или городить двухстороннюю многоканальную телеметрию? Так аппаратуоу для нее не всякая модель поднимет. А стандартные системы радиоуправления работают в одну сторону. И приемную аппаратуру стараются упростить и облегчить до максимума. А с другой стороны, узнаешь ты, что заклинило, к примеру, руль высоты при отклонении вниз. Прежде, чем ты успеешь считать эту информацию, модель войдет в пике и превратится в кучу хлама. Да и зная, что руль заклинило, что ты сможешь сделать, если модель в воздухе или на земле, но недоступна? А о неправильной работе сервы и так ясно по поведению модели. А к примеру, в сложном роботе со многими степенями свободы и кучей серв, и без того найдется куча датчиков, отслеживающих положение рабочих органов, и заводить дополнительные контуры еще и с серв никчему. Ведь может и просто качалка у сервы сломаться. Серва работать будет, и докладывать что все в норме, а механизм — нет.
          В общем, штука сложная и в большинстве случаев бесполезная. А внутренняя ОС по положению вала в любой серве и так есть. На то она и серва.
          Другое дело — простые контроллеры, наподобие тех, ссылки на которые я давал выше. В них программно можно улучшить работу серв, (например, используя ПИД), не нарушая стандартов, и при очень простой схемной и программной реализации.

          • Fox_Alex говорит:

            Так это и не предпологается для моделей. В модельном плане серва уже доведена до совершенства. :) А вот для домашней робототехники эта штука очень удобная, т.к. дома на табуретке угловой енкодер параллельно приводу поставить ой как непросто…

  6. SWG говорит:

    Простенькие кодеры — декодеры для серв на 4 канала можете глянуть тут:
    http://www.lytnev.newmail.ru/shemes/telemeh/ModDem.htm
    Также там есть и другие простые устройства для пропорционального управления:
    http://www.lytnev.newmail.ru/shemes.htm
    Например, схемы сервомашинок: http://www.lytnev.newmail.ru/shemes/telemeh/servo.htm
    В том числе и на микроконтроллерах. Ну а если хотите поподробней и покруче — есть много специализированных сайтов по радиоуправляемым моделям и аппаратуре для них, все перечислять нет смысла.
    Еще была прекрасная книга, в которой все описано от и до, —
    Я. Войцеховский Дистанционное управление моделями изд. Связь Москва 1977. 432стр. Книга просто насыщена схемами заводской и любительской аппаратуры и подробным описанием процессов и устройств для моделей. Несмотря на довольно давний год издания, есть немало схем и с микросхемами. (Правда, еще без микроконтроллеров).
    Немного попроще книги Гюнтера Миля. Тоже часто еще используются. Найти в Интернете не проблема (ссылки часто попадались).

  7. http://mskin.blogspot.com/ говорит:

    У ребенка такая штукенция в приводе рулем и парусами игрушечно яхты стоит.

  8. nestandart говорит:

    просто тиресно. ему позволяют тут совать ссылки на свои безграмотные портянки ? :)

  9. xamillion говорит:

    У нас, в корпусе окраски Калины, похожие сервопривода используются для регулирования заслонки подачи газа и воздуха в горелке http://www.weishaupt.ru/. Вот выйду с отпуска , попробую стенд для проверки сварганить, летят как семечки :)

  10. Melted Metal говорит:

    А 3кг*см это много?

    • DI HALT говорит:

      Представь себе барабан диаметром 1см. Так вот эта серва легко на этот барабан намотает тросик с грузом 3кг на конце.

      • Lerman говорит:

        Врядли легко.

        • DI HALT говорит:

          Заявленный момент 3.2кг*см. Я просто округлил. Так что думаю таки намотает. Тем более усилие там и вправду значительное получается — я диск руками остановить не могу. Вот насколько шестерни/мост/движок/ выдержат такой жесткий режим это уже другой разговор.

      • Melted Metal говорит:

        Ага, спасибо! А если увеличить диаметр барабана до 2 см, то макс. груз уменьшиться в 2 раза? Или тут число Пи замешано?

        • DI HALT говорит:

          M=R*F
          R — радиус плеча
          F — сила.
          Сопромат/Теормех наше все :)

          • Melted Metal говорит:

            Спасибо! А Ньютон*метр это сколько)

          • DI HALT говорит:

            Сначала надо представить себе что такое Ньютон.

            Гиря массой 1кг давит на подвес с силой mg = 10Н (примерно). Соответственно 1ньютон это примерно как 100грамм.

            А теперь возьми метровую линейку. Поставь на край стопку водки и попробуй поднять зубами за другой конец линейки. На твою челюсть будет действовать момент в 1нм.

          • Melted Metal говорит:

            …И если я челюстями буду создавать момент больше 1Нм, то стопка поползет вверх?

          • DI HALT говорит:

            Именно

          • Melted Metal говорит:

            Ага… Линейка по сути — рычаг. Точка опоры это зубы. Стопка давит с одной стороны, а что двигается тогда с другой?

          • DI HALT говорит:

            А с другой стороны зубы создают момент реакции опоры который уравновешивает момент от стопки*рычаг.

            Если один из моментов перевесит другой то система придет в движение.

          • Melted Metal говорит:

            Во! Все понял) Спасибо.

          • Убил :)
            У меня жена с ребёнком спали :)

          • SWG говорит:

            Ньютон равен килограмму, деленному на ускорение свободного падения g (~9,8), в итоге около 108 грамм.

          • SWG говорит:

            Кажись, соврал. Наверно, получится ~102 грамма. В справочники лезть лень, а по памяти точно уже не помню, редко пользуюсь, да и обычно большая точность не нужна, 5-10% для прикидок хватает.

      • Savenkot говорит:

        Представь себе барабан диаметром 1см
        Не диаметром а радиусом

    • SWG говорит:

      «А 3кг*см это много?»
      Все относительно. Если использовать рычаг (качалку) с плечом, например, 2см, получится уже 1,5кг усилия. Для небольшой авиамодели — достаточно, а вот, например, в рулевом управлении крупной гоночной автомодели монстра — внедорожника, например, массштаба 1:8 или 1:10 — мало. Там и 15-16 кг на см много не бывает. Обычно превышение указанного паспортного значения вызывает повышенный износ и может привести к поломке. Для разных применений выпускаются сервы разного размера, веса, и с разным моментом. В дорогих — еще и металлические шестерни, и вал на подшипниках.

  11. hexFF говорит:

    народ, а если заюзать восьмибитный ШИМ для генерации импульсов (под шестнадцатибитный не считал)?
    Значится, если хтал 8 мегагерц, запускаем ШИМ с прескалером /512, то на выходе получаем 61 с копейками герц, это примерно 16 милисекунд между фронтами импульсов.
    А управление- просто закидывать в регистр сравнения нужное значение.
    У кого какие мысли на сей счет?

  12. http://shura.luberetsky.ru/ говорит:

    По поводу длины импульса «нейтрального положения». У некоторых сервомашинок (в основном — немецкой фирмы Multiplex) его длина соcтавляет не 1,5 мс, а 1,6 мс.

    20 мс между импульсами «не с ветра взяты» — именно такова длина полного PPM-сигнала с импульсами для 8 сервомашинок и более длинным (около 2,5-3 мс) импульсом синхронизации.

    Есть хорошая статья про это на rcdesign — http://www.rcdesign.ru/articles/radio/tx_intro#eztoc9044_6

  13. Stalker46 говорит:

    Ди, а что должно входить в интерфейс платы? например RS232 — я так понял, что реализован на микросхеме MAX232, мне на отладочную плату. Что еще надо? какие интерфейсы? жтаг есть, что такое уарт — читать неохота, только скажи, под него разъем нужен?

  14. Stalker46 говорит:

    Так что мне делать? Какие должны быть интерфейсы? если можешь, скажи, какие у тебя на отладочной плате?

  15. Stalker46 говорит:

    Кароче я хочу связать МК и комп. Говорят, что надо MAX232. Но куда выходы с этой микросхеме = хз. на сом порт? а по какой схеме?
    изивини за тупые вопросы)

    • DI HALT говорит:

      В моем курсе AVR уже давно было все сказано. Ищи. Там даже два или три поста по этой теме было. Конкретно про UART, про MAX232 и про связь с компом в виде примера.

  16. Stalker46 говорит:

    Спасибо, посмотрел))) а можно вот такой рс232 поставить?

    первая схема))) на макс232)))

    http://www.societyofrobots.com/microcontroller_uart.shtml

  17. Stalker46 говорит:

    спасибо) а что вот эти светодиоды индицируют? (этот переходник собирать буду)

    http://www.8051projects.net/forum-t16801-20.html

  18. irrealix говорит:

    DI HALT, как думаешь, реально ли сделать на такой машинке реально плавное вращение (без ограничений по углу поворота)?
    даже вопрос не касательно этой конкретной машинки а вообще о связке двиг + обратная связь (резистор или энкодер).

    надо мне это для привода операторской тележки.
    в данный момент использую шаговый двигатель с микрошаговым драйвером.
    скорости использую от бесконечно малых до нескольких сотен оборотов в секунду.
    недостатки у меня сейчас — дискретность на сверхмалых скоростях (оборот за час).
    и низкий момент на больших скоростях.
    шаговый двигатель большей мощности поставить нет возможности да и более глубокий микрошаг решит только одну проблему.

    так вот почитав статью задался вопросом поможет ли мне это решение?
    большие скорости я так понимаю не проблема а вот сверхмалые?

    и еще может мне использовать помимо обратной связи еще и безколлекторный двигатель?

    • DI HALT говорит:

      Может, но нужно два (а лучше даже три) контура обратной связи.
      По скорости, положению и моменту (току якоря). Ну и регулятор хотя бы ПИ, лучше наверное будет ПИД.

      Я сам видел (на лабах по приводу) Как якорь движка с приличным моментом совершал вращение на скорости 1 оборот в минуту — все за счет ОС по скорости и моменту. Так что это не проблема.

      Гугли на:
      Электропривод с подчиненным регулированием, СУЭП,
      прямоугольная механическая характеристика

      • irrealix говорит:

        ПИД — Оказывается я все это проходил в университете много лет назад ))

        по ОС — скорость и положение — это понятно как мерить,
        а вот как мерить момент(ток якоря)?

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

  19. Stalker46 говорит:

    DI HALT, пооги мне встроить переменный резистор. НЕ могу. Расстояние между выводами для крепления по даташите — 9,8мм, межвыводоное расстояние основных выводов — 2,54мм. Не могу нарисовать. Я гляжу у тебя переменный резистор припаян на крепления. Если можешь, дай макрос такого резистора…

  20. kkozyrev говорит:

    а у всех серв одинаковое питание и одинаковые параметры управляющего сигнала???

  21. vadim33 говорит:

    DI HALT, возникла потребность в серве мощной для детской большой РУ машинки весом 30 кг. где-то. Можно ли взять HS-311, например, и подключить мощный Н-мост на 12 вольт? Есть ли там какие-то ОС, кроме положения выходного вала?

  22. IDOL 1234 говорит:

    hitec hs-82mg постоянно убегает в сторону и упирается в ограничитель. Подскажите пожалуйста, что я не так делаю?
    1:
    порт-высокий сигнал
    ждем 1 мс
    ждём 500 мкс
    порт-низкий сигнал
    ждём 10 мс
    goto 1:

    • DI HALT говорит:

      А машинка точно исправна? Она так убегает когда на нее сигнала нет либо он не доходит. А сигнал точно с меги выходит? Осциллографом смотрел?

      • IDOL 1234 говорит:

        Про осциллограф — хорошая шутка..)
        Машинка исправна. Только у неё почему-то центр на 600мс. Может, питание не то? У неё вроде 4 с копейками, а я подал чуть меньше 5

        • DI HALT говорит:

          А чо шутка то. Я серьезно. Если ты себе не намутил хотя бы показометр осцилографический (какой нибудь старый советский, хотя бы на 5мгц и 1 канал, он щас рублей 200 стоит с рук) то пора заиметь.

          А питание почти в норме. Я питал от 5 вольт.

          А если она уезжает, то только от того, что задание не совпадает с внутренним сигналом. Т.е. у тебя импульс по какой то причине не той ширины. Может прога где тупит.

          • IDOL 1234 говорит:

            а осциллограф на ПК со входом через порт микрофона — никак?

          • DI HALT говорит:

            Частота там 50гц. Микрофонный порт сожрет и до 10-20кгц так что покатит.

          • IDOL 1234 говорит:

            ой. Я про реализацию. Где-то на форуме люди писАли, что проще, лучше и дешевле купить нормальный.

  23. Foxmen говорит:

    DI HALT, подскажите, что можно сделать с машинкой чтобы увеличить угол поворота хотябы до -+90 град от цент положения?

  24. SergeyB говорит:

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

    • DI HALT говорит:

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

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

    • DI HALT говорит:

      Сигнал должен идти непрерывно. Если его прекратить, то машинка уйдет в крайнее положение и может сама себя сломать.

      В режиме ожидания, когда сигнал не меняется, то потребление тоже есть. Т.к. серва рыскает и чем качественней серва тем меньше рысканье и меньше потребление.

      • то есть использовать серву вместо стрелки индикаторной нифига не получится?

        • DI HALT говорит:

          Можно, но не в автономном приборе с батарейным питанием.

          • а чтобы не дрыгалась? (ну, например, стрелкой указывать на используемый в данный момент датчик — улица, комната, чердак, подвал)
            будет работать такой алгоритм? подал управляющий сигнал, включил питание (через транзистор), подождал секунду-другую, пока отработает стрелка, отключил питание, отключил управляющий сигнал.
            какие проблемы прогнозируются при таком раскладе?

          • DI HALT говорит:

            Выключить можно, если стрелка не тяжелая и не способна провернуть серву самостоятельно. Проблема тут в том, что ты не сможешь контролировать положение в тот момент когда питание выключено. Если стрелка легкая, то проблем быть не должно. А выход на позицию можно засекать по снижению тока и появлению рывков тока (рыскание)

  26. SilAs говорит:

    А где можно посмотреть схему управления Сервой с помощью переменного резистора ? как на видюхе ?

  27. Anton говорит:

    Вчера весь вечер маялся с подобными устройствами (2 аналоговые JR и 1 цифровая e-sky). написал програму, промоделировал в Proteus, вроде все хорошо. Подключаю машинку — не работает… Сегодня на работе проверил осциллографом — все в действительности работает как задумано, но серва не реагирует (серва 100% рабочая). Грешу на то что ей не хватает тока питания, т.к. за неимением отладочной платы подключаю напрямую к ногам МК. Документации на них естественно не нашел, кроме скорости и усилия на валу которое пишется в интернет магазинах… Вы свою серву подключали напрямую к МК или все таки через транзистор?

  28. Anton говорит:

    Здравствуйте. Подскажите а серву подключали напрямую к МК или через транзистор?

  29. Anton говорит:

    Из за неразберихи с коментариями спрашивал одно и тоже по несколько раз…. прошу прощения!

Добавить комментарий