• 1
  • 2
От мобилни телефони до цифрови камери
Vectra - специалист
Здравейте,
Днес разкостих една стара копирна машина и измъкнах от нея един brushless мотор с драйвера си.
Въпроса ми е някой знае ли предназначението на пиновете на драйвера и как мога да го пусна с регулиране на оборотите? Мисля да ползвам Ардуино за целта. Нямам никакъв опит с безчеткови двигатели (знам само долу-горе принципа им на действие) и ще се радвам някой да помогне.
Моторчето е Nidec 50M DC24V 1.3A 500~2200min-1
Ето и картинка:
Прикачен файл:
IMG_20171004_120421.jpg
Благодаря предварително! :)
jordanvass - майстор
С ардуино не ти трябва собственият драйвер. Но първо виж дали от мотора излизат само трите фази без нулата, или излиза и тя. Тоест виж дали е вързан на триъгълник или звезда. Ако е звезда, става много лесно. В програмата се описват с константи точки от напрежението на синусоидата. Трите фази се отместват на 120 градуса програмно, с константите се управлява коефициентът на запълване на ШИМ изводите на ардуиното, респективно се изменя ефективното напрежение на всяка фаза по синусоида. Зацикляш да се повтаря нонстоп. Слагаш по един транзистор на фаза и си готов. Като сменяш честотата на цикъла, сменяш и оборотите. По-сложно е, ако моторът е свързан в триъгълник. Тогава ще ти трябват по 2 транзистора в мостова схема на всяка фаза и става по-сложно. В триъгълник са моторчетата от хард дисковете, дано твоят е в звезда. Трябва да предвидиш, обаче, едни минимални обороти, под които моторът да не тръгва въобще. Много е полезно, иначе се мъчи.
Ето ти един примерен код за ардуиното:
int levels[48] = {
127, 144, 160, 176, 191, 205, 217, 228, 237,
245, 250, 253, 255, 253, 250, 245, 237, 228,
217, 205, 191, 176, 160, 144, 127, 110, 94,
78, 63, 49, 37, 26, 17, 9, 4, 1,
0, 1, 4, 9, 17, 26, 37, 49, 63,
78, 94, 110};
// These are the pins used to drive the motor.
int pinA = 9;
int pinB = 10;
int pinC = 11;
int step = 0;
// Keeps track of what pulse width to use
unsigned long lastTime = 0; // the time in micros since last
int period = 3000; // set motor speed by defining time between steps

void setup() {
// Set pins as digital outputs
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT); // Set all the pins LOW
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
}

void loop() { // Check if it is time for the next step
if ((micros() - lastTime) >= period) {
// Next three lines send pulse width value for this step.
analogWrite(pinA, levels[step]);
analogWrite(pinB, levels[(step + 16) % 48]);
analogWrite(pinC, levels[(step + 32) % 48]);
// Add one to set (% 48 rolls step back to 0 after it fits 47)
step = (step + 1) % 48; // make note of current time
lastTime = micros(); // ramps up the speed
if (period > 200)
{
period -= 1;
// make speed faster (the period between steps smalled)
}
}
}
Vectra - специалист
Много много тенкю :prayer: :prayer:
От моторчето излизат 4 извода, като най-левия е от 3 усукани заедно проводника. Тоест са в звезда :rock:
Сега другата питанка... какви транзистори да ползвам биполярни или MOSFET? А, и на гърба на платката на оригиналния драйвер точно под мотора (4-те пътечки вдясно на снимката) вървят 4 тънки писти във формата на меандър. Имаш ли идея каква роля играят? Да не би нещо като обратна връзка за реалните обороти? Щото са точно под магнитите.
sstefanov - майстор
На платката си ги пише пиновете.
Може да провериш за описанието на чипа за управление.
alabal - специалист
Първите 4 пина са съответно + и - за 5 и 24V.
От старт/стоп като свържеш към земя пускаш към + спираш.
F/R е назад напред към земя обратно на часовника + по часовника.
LD ти генерира сигнал ако имаш отклонение повече от 6.3% мисля от честотата на въртене за обратна връзка.
CLK включваш външна тактова честота по формулата 60F/20.
L/H избираш кой от двата вътрешни осцилатора да ползваш (ниска/висока честота) когато няма външна.
Vectra - специалист
alabal написа:
Първите 4 пина са съответно + и - за 5 и 24V.
От старт/стоп като свържеш към земя пускаш към + спираш.
F/R е назад напред към земя обратно на часовника + по часовника.
LD ти генерира сигнал ако имаш отклонение повече от 6.3% мисля от честотата на въртене за обратна връзка.
CLK включваш външна тактова честота по формулата 60F/20.
L/H избираш кой от двата вътрешни осцилатора да ползваш (ниска/висока честота) когато няма външна.
Много благодаря за инфото :prayer: :prayer:
Vectra - специалист
Свързах моторчето по схемата на alabal към едно старо комп. захранване. Вярно, не е 24V, но за пробата мисля че не е проблем.
pin1 + 12V
pin2 и 3 - маса
pin4 +5V
pin 6 и 7 - маса
pin 8 и 9 - свободни

при включване на захранването моторчето развърта за около секунда и спира. От липсата на CLK ли е, че нямам генератор под ръка да пробвам. :?

BTW ефекта е същия и без да е включен pin4 към 5-те волта
Последна промяна от Vectra на ср окт 04, 2017 5:21 pm, променено общо 1 път.
plamen6703 - майстор
За кое благодариш :wink:
Само колегата Стефанов ти помага като ти дава в ръката "въдица" да се научиш сам да ловиш риба.... Алабал ти е дал на готово храна, но утре като го няма кой ще ти даде да се нахраниш?
Трябва да се ровиш в книжки и учебници, да търсиш и събираш сам информация, за да може утре да се "храниш" самостоятелно.
Дано ме разбереш правилно какво искам да ти кажа, да не се засегнеш, защото последното нещо, което целя е да те засегна.
Желая ти успех! :partyman:
Vectra - специалист
plamen6703 написа:
За кое благодариш :wink:
Само колегата Стефанов ти помага като ти дава в ръката "въдица" да се научиш сам да ловиш риба.... Алабал ти е дал на готово храна, но утре като го няма кой ще ти даде да се нахраниш?
Трябва да се ровиш в книжки и учебници, да търсиш и събираш сам информация, за да може утре да се "храниш" самостоятелно.
Дано ме разбереш правилно какво искам да ти кажа, да не се засегнеш, защото последното нещо, което целя е да те засегна.
Желая ти успех! :partyman:
Ами не, не се засягам лесно! Достатъчно книжки и учебници съм прочел, в достатъчно datasheet-и съм се ровил. Сега от чисто любопитство се опитвам да подкарам едно моторче и не мисля че си заслужава да ровя толкова надълбоко. И не ми замърсявай темата, ако обичаш НАБОРЕ! Айде със здраве :drinkers:
plamen6703 - майстор
Пий на здраве НАБОРЕ и чакай да ти сервират наготово :-D :partyman:
  • 1
  • 2

Тема "Безчетков мотор" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: