Бесколлекторные Двигатели Купить

Управляем бесколлекторными двигателями, господа из песочницы  Октябрь 4, 2013 – 09:20

imageПривет Хабровчане!
Решил я рассказать «всему свету» о проблеме, с которой столкнулся при постройке своего проекта, и как мне удалось её решить.

А речь сегодня пойдет о бесколлекторных двигателях, о регуляторах хода и как ими управлять.
Что же такое бесколлекторный двигатель, я не буду долго расписывать (сами можете посмотреть Wiki), а скажу в 2х словах, это 3х фазный двигатель постоянного тока.

И приводится в движение сие чудо благодаря специальному регулятору, который последовательно переключает обмотки с определенной частотой.
Управляя частотой переключения обмоток мы управляем скоростью вращения ротора.
Ну что же, надеюсь тут все понято, идем дальше.
Первые проблемы
Были закуплены 2 комплекта двигатель + регулятор, ждал около месяца, пришли.

Мною овладел приступ безудержного веселья по этому поводу, но, к сожалению, это было ненадолго….
Рассмотрев эти чудеса техники я решил подключить их к источнику питания, и тут то первое разочарование, тихий хлопок (как от КЗ) и тишина, светодиоды не горят, писка нет (а он должен быть), только крутится кулер на регуле, беда…
Побежал в ближайший Хобби магазин, и добрый консультант вынес вердикт: сгорел!

imageСо вторым такая же история, в общем ребята, не повезло, оба бракованные…
Ну хоть кошечка порадовалась:

Пришлось раскошелиться и купить у них регулятор по цене обоих комплектов (поджимали сроки).
Купил, подключил, все пищит, горит, работает, прям аж душа радуется! (на фото он выделен):

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

Перелопатив тонны сайтов, перечитав сотни форумов и ответов на мой вопрос, так как же управлять этим регулятором я слышать только одно: «…чувак да там простой ШИМ…», «… ШИМ тебе в помощь…».
Ну ШИМ, так ШИМ.
Написал простенькую программу:

#include Servo motor; int mot_pin = 7; //Подключаем левый мотор к пину 7 int js_position = 800; int max_position = 3000; void setup { motor_teft.attach(mot_pin, js_position, max_position); //Инициальзация мотора } void loop { motor.write(1800); //Записываем положение и отправляем на регулятор }

Залил, ноль эмоций…

Бился 2 дня, пока не наткнулся на случайный пост, о том, что у регулятора есть защита, и он начинает функционировать только при подаче на его вход ШИМ сигнала 1, 5 мс.
Окей, будет сделано.

Дальше я подцепил обыкновенный резистор через АЦП, и опытным путем подобрал крайние значения ШИМ регулятора.

image image

Источник: habrahabr.ru