Форум программистов, компьютерный форум, киберфорум
Электродвигатели
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
1

Маленькие электродвигатели 12 - 24 v с плавным стартом и финишем

17.09.2019, 10:27. Просмотров 2210. Ответов 21
Метки нет (Все метки)

Всем привет!
Подскажите пожалуйста, есть ли в природе такие эл двигатели(12-24v), которые плавно разгоняются и с таким же темпом (очень важно) останавливаются?(картинку прикрепил). Желательно готовый, со встроенным УПП.
Или как то так можно шаговый так настроить?
Если есть, можете название написать? Спасибо!
0
Миниатюры
Маленькие электродвигатели 12 - 24 v с плавным стартом и финишем  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2019, 10:27
Ответы с готовыми решениями:

Задача Коммивояжера c фиксированным стартом и финишем
Добрый день. Уже два дня ищу и не могу найти в интернете алгоритм позволяющий решить задачу...

Использование Lerp() с плавным стартом движения
ребята , как можно вписать плавный старт объекта используя метод Lerp() ? что бы интерполяция со...

Нужно определить электродвигатели
Здравствуйте, подскажите пожалуйста что это за электродвигатели(коллекторный?,шаговый?или?)А также...

Опознать, запустить и применить электродвигатели
Есть вот такие ЭД от старого видеомафона. Как их оживить? я начинаю только заниматься...

21
339 / 327 / 68
Регистрация: 18.03.2015
Сообщений: 1,153
17.09.2019, 11:41 2
Со встроенным УПП не встречал.
Что мешает самому сделать? ШИМ (широтно импульсная модуляция) просто реализуется.
Если двигатель совсем слабенький, в качестве ключа, обычный транзистор подойдет. Для более мощных - l293 или l298.
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
17.09.2019, 14:58  [ТС] 3
Спасибо Сергей, через ШИМ, это получается переменный резистор подключать к ардуине?, Скажите, вот есть переменный резистор цифровой, могу я его запрограммировать, зная что будет 12 v, таким образом, что когда питание на него поступит(через реле) он начнет выдавать на мотор напряжение постепенно у величивая до нужного, а когда питание выключится так же плавно остановится?
Допустим, будет пять таких моторов, управлять буду через ардуину, я хочу с ардуины отправлять только сигналы на реле, а плавный разгон и остановку должен сделать цифровой резистор. Вот хотелось бы узнать, при помощи чего такое сделать можно. Спасибо!
0
339 / 327 / 68
Регистрация: 18.03.2015
Сообщений: 1,153
18.09.2019, 11:58 4
Цитата Сообщение от Dimson_ Посмотреть сообщение
ШИМ, это получается переменный резистор подключать к ардуине?
Нет. ШИМ это быстрое включение/выключение питания. Настолько быстрое, что механическое реле не справится с такой скоростью, поэтому используют транзистор.
Если использовать переменный резистор, это не ШИМ, а резистивный способ управления. Часть напряжения «используется» двигателем, другая часть на резисторе превращается в тепло.
Переменный резистор цифровой это конечное исполнительное устройство. Мозгов у него нет, им кто-то должен управлять. Запрограммировать его не получится.
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
18.09.2019, 20:06  [ТС] 5
Я правильно понимаю, что подавая сигнал на транзисторы (2 шт для одного БК двигателя) определённым образом, можно плавно ускорять и замедлять вращение? То есть, как-то в цикле ide это все прописывается? Тут мне ещё нужно разобраться с разными типами двигателей.
На данный момент думаю пробовать с шаговым, скажите, а с шаговым двигателем можно такое реализовать, через ШИМ? Спасибо!
0
Эксперт .NET
6850 / 4457 / 1068
Регистрация: 25.05.2015
Сообщений: 13,626
Записей в блоге: 13
18.09.2019, 20:23 6
Цитата Сообщение от Dimson_ Посмотреть сообщение
На данный момент думаю пробовать с шаговым, скажите, а с шаговым двигателем можно такое реализовать, через ШИМ?
Для шаговых двигателей есть специализированные микросхемы - драйверы. Без них не пытайтесь.
Их угол поворота зависит от того, сколько импульсов будет подано. Ещё направление можно менять.
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
19.09.2019, 05:56  [ТС] 7
Хорошо, спасибо!, тогда для моей задачи в единичном экземпляре, мне понадобится:
1) Шаговый двигатель - 1 шт
2) Драйвер шагового двигателя - 1 шт
3) Блок питания - 1 шт
4) Контроллер (Arduino) - 1 шт
Ничего не забыл? Нужен ли транзистор или драйвер может выполнить его функции?
0
Эксперт .NET
6850 / 4457 / 1068
Регистрация: 25.05.2015
Сообщений: 13,626
Записей в блоге: 13
19.09.2019, 06:01 8
Драйвер в виде модуля (платы) уже всё содержит.
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
19.09.2019, 06:54  [ТС] 9
Ну вроде бы все понятно теперь, буду пробовать, спасибо большое всем за ответы!!
0
Модератор
8198 / 6069 / 810
Регистрация: 14.02.2011
Сообщений: 21,049
19.09.2019, 07:06 10
Цитата Сообщение от Dimson_ Посмотреть сообщение
2) Драйвер шагового двигателя - 1 шт
лучше 2 штуки, одну можно и сжечь, а запасной не будет
и второе под словом драйвер подразумевают и микросхему управления двигателем, и готовую плату типа такой
https://ru.aliexpress.com/item... b201603_53
тебе лучше взять плату
1
339 / 327 / 68
Регистрация: 18.03.2015
Сообщений: 1,153
19.09.2019, 10:24 11
Цитата Сообщение от Dimson_ Посмотреть сообщение
с шаговым двигателем можно такое реализовать, через ШИМ?
Подвес для фотоаппарата
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
22.09.2019, 13:25  [ТС] 12
Составил список. Теперь из ходя из моего небольшого опыта с arduino uno, я заметил, что иногда из 32 КБ у меня забивались 40-50 процентов памяти. Тут думаю будет больше кода и соответственно может не хватить. Придумал следующее: Один основной контроллер(due, 512кб) + дополнительно 2 или 3(nano) видно будет потом. Вообщем я хотел отправлять с due на nano сигнал, по которому nano будет управлять двигателем(или несколькоми).
Теперь читаю информацию по Due, там говорится, что выходное напряжение 3.3 в., не подскажите никаких проблем не будет?

Пока я плохо понимаю как выглядеть будет код, алгоритм примерно такой: nano должна постоянно опрашивать два входных пина, если сигнал на 1пин - вращение в одну сторону, если на 2pin - в другую (скорость замедления и повышения, будет прописана в nano)
0
Модератор
8198 / 6069 / 810
Регистрация: 14.02.2011
Сообщений: 21,049
22.09.2019, 13:32 13
Цитата Сообщение от Dimson_ Посмотреть сообщение
Тут думаю будет больше кода и соответственно может не хватить.
ты сначала напиши а потом уже расстраивайся, может и хватит

Добавлено через 37 секунд
Цитата Сообщение от Dimson_ Посмотреть сообщение
два входных пина, если сигнал на 1пин - вращение в одну сторону, если на 2pin - в другую
а если на обоих?
1
339 / 327 / 68
Регистрация: 18.03.2015
Сообщений: 1,153
22.09.2019, 13:33 14
Цитата Сообщение от Dimson_ Посмотреть сообщение
памяти... может не хватить
Цитата Сообщение от Dimson_ Посмотреть сообщение
Один основной контроллер(due, 512кб) + дополнительно 2 или 3(nano)
Может, сразу ESP32 поставить?
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
22.09.2019, 19:50  [ТС] 15
Сергей 190, почитал про него, чет мне кажется рано мне ещё за другие МК кроме ардуины браться)), пишут, что у него какие-то проблемы с датчиками, но по цене разница между due и esp 32 большая, попробую, буду разбираться, спасибо!
ValeryS, на два сразу - не должно быть так по идеи

Еще хотел спросить про arduino due, в описании пишут, что вход/выход не более 3.3v, и если использовать датчик (например препятствий), он будет при срабатывании давать сигнал на arduino напряжением которым я его запитал?, правильно? У датчика от 3.3 до 5v питание. Просто хотел уточнить.
0
Эксперт .NET
6850 / 4457 / 1068
Регистрация: 25.05.2015
Сообщений: 13,626
Записей в блоге: 13
22.09.2019, 19:52 16
Dimson_, ардуина это не МК, а платформа для новичков, на базе МК.
Если вы на МК той же платы сотрёте ардуину и будете программировать напрямую МК, то у вас будет больше ресурсов, и ставить 3 платы может и не понадобится.
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
22.09.2019, 22:14  [ТС] 17
Rius, да, это в принципе понятно. Просто собирать самому мне ещё тяжело будет)), по этому делать буду из готовых решений
0
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
15.01.2020, 07:11  [ТС] 18
Снова всем привет! Немного завис я по времени, но вот теперь есть все для тестов.
Шаговые двигатели - 24BYJ 2 phase 4wire (в драйвере 5 проводов, методом тыка подобрал)
Драйвер - ULN2003
Контролер - Ардуино Нано

В общем в целом с 1шт разобрался, использовал AccelStepper.
Не подскажите, для управления 2-мя и более с одной платы, какую лучше библиотеку использовать?
Например нужно так: запускаются 2 двиг. одновременно, срабатывает датчик - 1-й останавливается, 2-й дальше крутится.
Такие вот тесты с 2-мя, как-то не получились. Спасибо!
0
339 / 327 / 68
Регистрация: 18.03.2015
Сообщений: 1,153
15.01.2020, 12:24 19
Цитата Сообщение от Dimson_ Посмотреть сообщение
тесты с 2-мя, как-то не получились
А код то где?
Цитата Сообщение от Dimson_ Посмотреть сообщение
какую лучше библиотеку использовать?
Можно вообще без библиотек. Самому считать, когда на какой пин что подать.
Только у Ардуино Нано аппаратных ШИМов на два двигателя не хватит.
1
3 / 2 / 1
Регистрация: 02.11.2016
Сообщений: 110
17.01.2020, 10:51  [ТС] 20
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <AccelStepper.h>
 
 
int checkStop = 3;     // датчик
int checkStop2 = 4;   // датчик
int checkStart = 10;  // кнопка старт
int pinUp = 12;         // кнопка вверх
int pinDown = 11;     // кнопка вниз
 
int set1 = 0;
 
 AccelStepper stepper(8, 5, 6, 7, 8);
 AccelStepper stepper2(8, A1, A2, A3, A4);
 
void setup() {
 
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  pinMode(A4, OUTPUT);
  
  pinMode(pinUp, INPUT);
  pinMode(pinDown, INPUT);
  pinMode(checkStop, INPUT);
  pinMode(checkStop2, INPUT);
  pinMode(checkStart, INPUT);
  
  stepper.setMaxSpeed(800);
  stepper.setAcceleration(170);
  stepper.setSpeed(150);
  stepper.moveTo(20000);
 
  stepper2.setMaxSpeed(800);
  stepper2.setAcceleration(170);
  stepper2.setSpeed(150);
  stepper2.moveTo(20000);
}
 
void loop() {
  
  int Up = digitalRead(pinUp);
  int Down = digitalRead(pinDown);
  int check = digitalRead(checkStop);
  int check2 = digitalRead(checkStop2);
  int Start = digitalRead(checkStart); 
 
  if(Start == 1) {  // кнопка старт
    set1 = 1;         
  }
  if(set1 == 1) {  // после первого запуска дв-ли стартуют, потом нет, как можно сделать, чтобы каждый раз запускала по нажатию?, (эксперименты свои убрал из кода, все равно не получилось)
  stepper.run();   
  stepper2.run();
  }
 
 
   //1
  if(check == 0) {  // когда срабатывает этот датчик для stepper, stepper2 тоже останавливается почему-то... потом после -1000 stepper'а продолжает run
  stepper.stop();
  stepper.setCurrentPosition(0); 
  stepper.moveTo(-1000);
  stepper.runToPosition();
  stepper.setCurrentPosition(0);
  }
  //2
  if(check2 == 0) { // когда срабатывает этот датчик для stepper2, stepper так же останавливается... 
  stepper2.stop();
  stepper2.setCurrentPosition(0); 
  stepper2.moveTo(-1000);
  stepper2.runToPosition();
  stepper2.setCurrentPosition(0);
  }
 
  if(Up == 1){    // после остановки, запускаю с этой кнопки, при срабатывании check, он не останавливается, идет до 3000 и только потом -1000,  почему сразу не останавливается?
  stepper.moveTo(3000);
  stepper2.moveTo(3000);
  stepper.runToPosition();
  stepper2.runToPosition(); 
  stepper.setCurrentPosition(0);
  stepper2.setCurrentPosition(0);
  }
 
  if(Down == 1){   // тоже самое как в Up == 1
  stepper.moveTo(-1000);
  stepper2.moveTo(-1000);
  stepper.runToPosition();
  stepper2.runToPosition();
  stepper.setCurrentPosition(0);
  stepper2.setCurrentPosition(0);
  }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2020, 10:51

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

Как преобразовать в строке все маленькие буквы в большие а большие в маленькие?
Дана строка .Преобразовать в ней все маленькие буквы в большие а большие в маленькие. Вот что я...

Игра. Символ х должен передвигаться по textbox с помощью кнопок button. Одно из textbox является финишем
создать в windows forms 10x10 textbox и 4 button! Символ х должен передвигаться по textbox с...

Помогите со стартом
Ребята помогите мне надо написать игры например танчики на C# Windows Forms и простенкую но незнаю...

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

Проблема со стартом компа

График tg(x) не получается плавным
Основная процедура: procedure TForm1.FormCreate(Sender: TObject); var x, a, b, dx: real;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.