Использование двигателя и контроллера не по назначению

SkyAK

Здравствуйте.

Не конструирую модель, поэтому приемника и передатчика в общей схеме нет.

Ситуация:

Двигатель - banned link
с наиболее возможным ускорением раскручивает цилиндрическую болванку (~4 кг.) через двухступенчатый редукрот до 1 000 об./мин. (1 000 об./мин. на цилиндре соотв. 26 000 об./мин. на валу двигателя)
и поддерживает эти обороты при изменяющейся нагрузке - для этой задачи был выбран электронный регулятор скорости - banned link , с режимом гувернера.
Сигнал управления модулируется заранее отрегулированным сервотестером - banned link

Задача такова:

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

Реализовать соответственно нужно попроще и подешевле. Отклонения в скоростях на валу двигателя допускают до 3%.

leprud

Проще всего, наверное, собрать rpm sensor (или оптический метод, или снимать сигналы с 2 фаз), опираясь на данные которого уже управлять внешним устройством.

SkyAK

Леонид, можно пожалуйста поподробнее. Я сам просто инструментальщик и не силен в этих вещах.
Если можно то конкретные устройства и комплектующие. Спасибо.

leprud

Вот пример самодельного неоптического
Делается на коленке из рассыпухи
Есть и готовые (что у них внутри и какой сигнал выдают - не в курсе)
раз два

Оптический работает примерно также: ставится оптодатчик, на выходе которого идет пульс при каждом обороте

Далее считается скорость вращения простым подсчетом количества импульсов в единицу времени

Встречал упоминания о точности в 500rpm…

SkyAK

Насколько я понял, что то вроде этого - banned link

Т.е. на выходе этого датчика, в зависимости от скорости вращения двигателя, изменяется сопротивление?
И как мне теперь осуществить связь сервы с этим датчиком?

P.S. 500 rpm это хорошо

leprud
SkyAK:

в зависимости от скорости вращения двигателя, изменяется сопротивление?

Не совсем, там или PWM на выходе, или пульсации, говорящие о прохождении очередного оборота

SkyAK:

И как мне теперь осуществить связь сервы с этим датчиком?

Микроконтроллером…

SkyAK
leprud:

Не совсем, там или PWM на выходе, или пульсации, говорящие о прохождении очередного оборота
Микроконтроллером…

Какой посоветуете и какую серву (самую мощную), если можно с этого сайта - banned link
Спасибо.

leprud

Да на чем угодно можно сделать то…
Проще всего на ардуине (ибо уже готовая и спаянная).
По сервам не подскажу, плохо в этом аспекте разбираюсь в них.

SkyAK

Для меня это темный лес, но цена и функционал радуют

Допустим я куплю этот сенсор и одну из этих плат Arduino, ну и соответственно сервомашинку

мне понадобится что то ещё?
кстати какую Arduino брать?

9 days later
alex57russ
SkyAK:

Для меня это темный лес, но цена и функционал радуют

Допустим я куплю этот сенсор и одну из этих плат Arduino, ну и соответственно сервомашинку

мне понадобится что то ещё?
кстати какую Arduino брать?

Я думаю лучше взять Arduino nano, там уже встроен USB и програматор

Bare

Я взял arduino (типа uno только чисто китайскую, она дешевле) цепляю библиотеку servo, пишется обработчик прерывания (который считает импульсы с датчика холла), и соответственно высчитывает обороты в минуту (по таймеру). Далее написал программку которая считывает сигнал с приёмника. Теперь пишу логику по стабилизации оборотов. В итоге должен получиться стабилизатор холостых оборотов для бензинычей и других движков с датчиком холла. Далее для облегчения поиска решений куски кода.

Считаем импульсы

void Rpm_int(void) {
  rpm_pulse++;
}

вычисляем обороты в минуту

#define timer_ms 200
void Rpm_calc(void) {
  rpm_now=6000/timer_ms*rpm_pulse;
  rpm_pulse=0;
  rpm_change=true;
}

Так задаем таймер и вешаем на него процедуру

MsTimer2::set(timer_ms, Rpm_calc);
MsTimer2::start();

Вешаем процедуру подсчета импульсов на прерывание

 attachInterrupt(0, Rpm_int, RISING);

Цепляем на 9-й пин серву

   Servo_throt.attach(9,900,2100);

Управляем сервой

 Servo_throt.writeMicroseconds(ch_throttle);

Это только примеры, Точную реализацию надо смотреть в документации.
Если есть опыт в программирование, то должно быть всё понятно. Если нет то сначала RTFM, а потом уже вопросы.

SkyAK

Спасибо! 😃

Обороты двигатели поддерживает контроллер с гувернером, а задачка платы при достижении 1000 об./мин. включать электромагнит

1 month later
SkyAK

уже нашел, теперь никак не найду схема на преобразователь TURNIGY 3A UBEC

здесь уже спрашивали на форуме, но почему то ответ был удален(

ubd

А тебе схему именно этого, или любого импульсного ВЕС на 3А.

SkyAK

А в принципе любого, а на сколько ампер еще есть?

ubd

Вот тут rcopen.com/forum/f8/topic127064/321 в 330 посте я выкладывал схему на 3А по моему или больше. Нужно даташит смотреть на LM2976.
Дросель желательно ставить соответсвующий току.

SkyAK

Спасибо!
Скажите а какой программой лучше открыть и сохранить схему в растре?

targetorsk

а не проще использовать ESC с гувернером? тот же блю сериез умеет или хобивинг платинум (сам такой юзаю)