Регулятор вращения мини дрели 27 в. Как устроен регулятор оборотов дрели: схема. Использование дрели в качестве станка

Простой регулятор оборотов для микродрели на ATMEGA88PA.

Регулирование скорости вращения (ШИМ), плавное включение;

Регулирование яркости подсветки (ШИМ), плавное включение/отключение;

Ручное и автоматическое управление;

Автоматическое выключение при простое.

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

Основой для разработки послужил сверлильный станок настольный V1.8 без регулятора (см. фото).

Технические характеристики:

  • постоянное напряжение питания, 5-18 В
  • трехкулачковый патрон с диапазоном зажимаемых диаметров: 0,3-4 мм
  • частота вращения шпинделя: 2000...8000 об/мин
  • максимальный потребляемый ток: 3А
  • перемещение шпинделя: 20 мм
  • габаритные размеры: 220 х 160 х 80 мм
  • масса станка: 1,0 кг

Конструкция станка позволяет легко вмонтировать регулятор под рабочим столиком. А установив микровыключатель под механизм опускания/подъема, получить автоматическое управление.

Основой регулятора служит микроконтроллер ATMEGA88 . Индикатор светодиодный, 3 разряда. Выбор типа индикатора (общий анод или катод) доступен программным способом.

Схема регулятора.

Описание работы.

1. Подсветка рабочего стола.

1.1. Подсветка имеет два режима работы: автоматический (по умолчанию) и ручной.

1.2. Выбор режима работы ручной/автоматический производится в настройках, меню L A (автоматический режим), L r (ручной режим).

1.3. Автоматический режим включения/выключения подсветки.

1.3.1. При подаче питания подсветка рабочего стола плавно включается на заданную в настройках яркость.

1.3.2. Если на протяжении заданного в настройках времени (параметр t ) никаких действий не производится (срабатывание концевого выключателя или нажатие на кнопки регулятора) – подсветка плавно отключается. При этом также отключается индикатор.

1.3.3. Любое воздействие на органы управления приводит к плавному включению подсветки и индикатора.

1.4. Ручной режим включения/выключения подсветки.

1.4.1. Ручное управление подсветкой доступно в меню: Lon – включено, LoF – выключено.

1.4.2. Включение подсветки производится нажатием на кнопку PLUS , выключение – MINUS .

1.5. Скорость нарастания/убывания яркости подсветки устанавливается в настройках (параметр c ).

1.6. Регулирование яркости производится кнопками PLUS / MINUS в настройках (в старшем разряде символ L ).

2. Работа регулятора оборотов.

2.1. Выбор режима работы ручной/автоматический производится в настройках, меню P A (автоматический режим), P r (ручной режим). По умолчанию установлен автоматический режим работы.

2.2. Автоматический режим включения/выключения регулятора оборотов.

2.1.1. При замыкании концевого выключателя START регулятор скорости вращения плавно подаст напряжение питания на электродвигатель.

2.1.2. При размыкании кнопки START питание на электродвигатель отключается.

2.2. Ручной режим включения/выключения регулятора скорости вращения.

2.2.1. Включение/выключение производится из меню Pon – включено, PoF – выключено.

2.2.2. Включение производится нажатием на кнопку PLUS , выключение – MINUS .

2.2.3. Состояние концевого выключателя START регулятора скорости вращения игнорируется.

2.3. Скорость нарастания оборотов задается в настройках, параметр r .

2.4. Скорость вращения устанавливается кнопками PLUS / MINUS из режима отображения выходной мощности регулятора (символ P в старшем разряде).

3. Настройка.

3.1. Выбор параметра для настройки производится нажатием кнопки SET по кругу.

3.2. Параметры для настройки:

3.2.1. Регулирование оборотов. В старшем разряде символ P . Диапазон установки 0 ÷ 99.

3.2.2. Режим работы регулятор скорости вращения. В старшем разряде символ P A , если ручной – символ r .

3.2.3. Ручное управление скоростью вращения. В старшем разряде символ P on , если выключено – символы oF .

3.2.4. Скорость нарастания оборотов при включении. В старшем разряде символ r

3.2.5. Регулирование яркости подсветки. В старшем разряде символ L . Диапазон установки 0 ÷ 99.

3.2.6. Режим работы подсветки. В старшем разряде символ L . В младшем разряде, если режим автоматический – символ A , если ручной – символ r .

3.2.7. Ручное управление подсветкой. В старшем разряде символ L . В младших разрядах, если включено – символы on , если выключено – символы oF .

3.2.8. Скорость нарастания/убывания яркости при включении/отключении. В старшем разряде символ c . Диапазон установки 0 ÷ 99. Чем больше параметр, тем меньше скорость.

3.2.9. Время до отключения подсветки и индикатора. В старшем разряде символ t . Диапазон установки 1 ÷ 99 минут.

3.3. Через 10 сек от последнего нажатия на кнопки новые параметры запишутся в память. Если на индикаторе мигающий параметр, то прибор переходит в основной режим (выходная мощность).

4. Особенности схемы.

4.1. Для выбора типа индикатора (общий анод или катод) нужно перед подачей питания нажать и удерживать нажатой кнопку PLUS , если индикатор с общим анодом, или MINUS , если с общим катодом. Подать питание. Если тип индикатора выбран правильно, на индикаторе появятся символы CC , для индикатора с общим катодом и CA для общего анода. Отпустить кнопку. Если на индикаторе непонятные символы, значит выбран неправильный тип индикатора. Необходимо повторить операцию.

4.2. При прошивке МК следует установить FUSE для работы от внутреннего тактового генератора частотой 8 МГц.

4.3. Частота ШИМ управления около 32 кГц.

4.4. Силовые ключи могут быть другого типа в зависимости от необходимого тока и напряжения нагрузки.

4.5. Диод D 2 предназначен для защиты от неправильной полярности питающего напряжения. Установлен навесным монтажом – в разрыв провода питания.

4.6. Конструктивно регулятор собран на двух платах. На основной плате расположены микроконтроллер, индикатор, кнопки и силовые ключи. На второй плате светодиоды подсветки рабочего стола и микровыключатель. Вторая плата закреплена рядом с электродвигателем таким образом, чтобы свет был направлен на рабочую зону стола, а контакты микровыключателя замыкались при опускании дрели.

4.7. Схема и платы разрабатывались под детали, имеющиеся в наличии. Схема не критична к номиналам деталей и наладки не требует.

Внешний вид станка до

и после доработки.

Здоровья всем читателям Муськи!
Благодаря этому замечательному сайту обзавелся множеством полезных вещей и знаний и в ответ решил написать первый отчет о недавно разработанном устройстве. В процессе разработки устройства столкнулся с рядом проблем и успешно их разрешил. Возможно, кому-то из коллег-новичков описание некоторых решений поможет в творчестве.
Для изготовления печатных плат обзавелся микродрелью и стойкой для нее, превращающей дрельку в сверлильный микростанок. Необходимость этого возникла после кучки переломанных сверл 0.5-1мм при использовании в шуруповерте и китайском дремеле. Но, как оказалось, пользоваться таким инструментом без регулятора оборотов невозможно. Регулятор решил сделать самостоятельно, попутно получив новые знания.

Радиолюбительский опыт у меня небольшой. В детстве по книге Борисова собрал несколько приемников, да моргалок на мультивибраторах. Потом пошли другие увлечения и дела.
А тут по случаю заметил Arduino, лихо наваял макетов метеостанций, роботов, и захотелось автоматизировать при помощи микроконтроллеров все, до чего дотянусь. Размеры контроллеров шли по убыванию размеров и облегчению встраивания – Arduino UNO, Arduino Pro Mini, потом кучка ATMega328P, и для самых мелких и простых устройств приобрел ATtiny85.
Тиньки покупал более года назад и они лежали и ждали свой очереди.

Скриншот заказа


(там еще термоусадка в заказе была, потому общая цена выше)


МК приехали как обычно в пакете с пупыркой, сами кучкой в отдельном полиэтиленовом пакетике. Лучше бы конечно в жестком коробке или в пенке, но и так ничего не погнулось и все рабочие.

Поначалу паял схемки на макетных платах, но почитав про ЛУТ, понял, что вполне реально и гораздо удобнее все собирать на нормальных печатных платах.
Также понемногу начал собирать полезный инструмент, среди которого оказалась микродрелька МД-3 с цанговым патроном и станочком для сверления мелких отверстий. Можно было бы конечно купить только цангу, а двигатель откуда-нибудь выковырять, но решил приобрести готовое в местном магазине.

Печатаем на лазернике рисунок на глянцевой фотобумаге Lomond для струйной печати. Но совать в новенький принтер совсем не предназначенную для него бумагу было стремно. Нашел в сети предупреждения, что глянцевое покрытие струйной бумаги может расплавиться, прилипнуть к печке и угробить принтер. Для уверенности провел эксперимент - покатал по поверхности этой бумаги нагретый до 200С паяльник (точную температуру печки так и не нашел, но около того), бумага чуть покоробилась, но ничего не плавилось и не прилипало - значит можно и в принтер.

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

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

Перекись взял из аптечки, куплена была года 3 назад, срок годности вышел года 2 как, думал уже выдохлась и работать вообще не будет. Однако ошибся, плату протравило весьма бодро - минуты за три. Вот результат:

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

Плату залудил паяльником с применением оплетки. Напаял детали.




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

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

Конденсатор C2 на схеме подключенный к Reset запаивать не стал, т.к. он хоть и повышает надежность запуска устройства, но при перепрошивке МК может помешаться.

Микроконтроллер запаивал в последнюю очередь, перед этим подключив плату к БП и убедившись, что ничего сразу не выгорит и стабилизатор выдаст штатные 5В. Ничего не задымилось и потому подключаем на штырьки ICSP программатор и заливаем тестовую прошивку.

Прошивку для устройства будем писать в знакомой многим среде программирования Arduino, предварительно добавив в нее поддержку микроконтроллеров ATtiny, скачав и распаковав их в папку Arduino/hardware.

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

Все заработало как и ожидалось, за исключением одного - не читалась кнопка, подключенная к одному каналу с зеленым светодиодом, а светодиод горел заметно ярче красного. Замеры тестером показали, что в состонии PB0 в качестве выхода через светодиод течет более 20мА и на нем падает всего 2.1В. А в состоянии входа с внутренней подтяжкой на ноге всего 1.74В при отпущеной кнопке и 0.6В при нажатой. Неудивительно, что постоянно читается 0. Низковольтный зеленый светодиод даже не светясь при протекании микроамперного тока просаживал напряжение на ноге. Теперь понятно для чего в исходной статье последовательно подключали 2 светодиода.

Но ставить второй светодиод светить внутрь коробки тупо в качестве балласта (и на лицевой панели 2 одинаковых тоже не нужны) показалось несколько кривым решением. Задумался как еще можно приподнять напряжение в цепи светодиода и вспомнил про ВАХ стабилитрона. Если подключить последовательно со светодиодом встречно ему стабилитрон на 2В (чтобы работал штатно, на обратной ветви ВАХ), то получится как раз то, что нам надо. Когда горит светодиод на токе 10мА - стабилитрон пробивается и не мешает протеканию тока, а лишь стабилизирует падающее на нем напряжение на заданном уровне. Нужно лишь заменить токоограничивающий резистор, из расчета, что нужно уже подавить напряжение Uрез=5В-2.1В-2.0В=0.9В на 10мА, т.е. R=90 Ом. А когда нога переключена на вход с подтяжкой - благодаря крутизне ветви ВАХ до момента пробоя перехода, стабилитрон эквивалентен высокоомному резистору и на нем упадет опять же около 2В, подняв напряжение на ноге МК при отпущеной кнопке до 4В, что уже прочитается как TRUE. При нажатии кнопки нога окажется подтянутой к 5В внутренним резистором сопротивленим около 40КОм (по моим расчетам), а к земле - резистором 5КОм (который зашунтирует цепь светодиода), т.е. на ней будет те же 0.6В и считается FALSE.
Подпаял стабилитрон навесом последовательно с резистором и кнопка заработала как надо.

Теперь настала очередь проверки работы ШИМ и тут тоже возникли проблемы. Стандартная ардуинская команда AnalogWrite(нога, заполнение) работать не желала. Значит что-то не так с библиотекой для тиньки. Полез шерстить даташит на МК и просторы интернета.

Выяснилось интересное:
- на выводы 5, 6 (PB0, PB1) могут быть выведены 2 канала ШИМ (OC0A, OC0B) работающие каждый со своей уставкой заполнения (но одинаковой частотой) от Таймера 0;
- на выводы 2, 3 (PB3, PB4) может быть выведен третий канал ШИМ работающий от Таймера 1, причем на ногу 3 может быть выведен прямой сигнал ШИМ (OC1B), а на ногу 2 - его же инверсная версия (/OC1B). Но вывод идет либо только на 3 ногу, либо на обе сразу. А нам надо ШИМ на 2 ноге, хотя бы инверсный (программно его инвертируем обратно), так что придется конфигурировать вывод на 2 и 3 ноги, и на 3 сигнал не пройдет только потому, что она объявлена входом.

Так вот, насколько я понял, в пакете поддержки ATtiny для Ардуино канал ШИМ от Таймера 1 может выводиться только на ногу 3. Видимо вывод его же инверсной версии посчитали излишеством. Придется сконфигурировать таймер и ШИМ самостоятельно (см. код, функция PWM3_init), вместо использования AnalogWrite.

Еще заметил, что при перенастройке Таймера 1 сбивается работа функции millis() – оказывается, по умолчанию для внутренних часов используется Таймер 1. Но можно перенастроить время на Таймер 0 при помощи макроопределения в файле Arduino\hardware\tiny\cores\tiny\core_build_options.h
/* For various reasons, Timer 1 is a better choice for the millis timer on the "85 processor. */ #define TIMER_TO_USE_FOR_MILLIS 0
Чем мы и воспользуемся, поскольку Таймер 0 в этом проекте как раз полностью свободен.

Также возник вопрос по диапазону уставки оборотов, читаемой с переменного резистора. Автор исходной схемы добавил последовательно с переменником 10K постоянный резистор 36K, видимо из расчета чтобы код АЦП вписался в диапазон 0-255. Реально получилось 0-230, причем максимум плавал. А хотелось бы именно 0-255 для соответствия полной шкалы уставки с 8-битным ШИМом. Для этого я выпаял постоянник и заменил перемычкой на +5В, АЦП стал читать весь диапазон, а 4 младших бита отбрасываем программно. И зачем нужна была лишняя деталь?

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

Текст программы

// Attiny85 at 1MHz // Не забыть задать таймер 0 для millis и др! // Arduino\hardware\tiny\cores\tiny\core_build_options.h -> TIMER_TO_USE_FOR_MILLIS 0 #include // Подключения #define MODE_LED_PIN PIN_B0 #define MODE_BUT_PIN MODE_LED_PIN #define PWM_LED_PIN PIN_B3 #define AM_PIN PIN_B1 #define SP_PIN A1 #define CUR_PIN A2 // Состояния #define MODE_MANUAL 0 #define MODE_WAITING 1 #define MODE_SETUP_XX 2 #define MODE_SETUP_MAX 3 #define MODE_START 4 #define MODE_DRILLING 5 #define MODE_STOP 6 // Переменные byte Mode = MODE_MANUAL; byte ModeLedVal = LOW; byte SetPoint = 0; int CurrentFiltered = 0; byte CurrentU8 = 0; byte AMButton; byte AMButtonFlt = LOW; static byte ModeButton; static byte ModeButtonFlt = HIGH; // начальные значение для static byte ModeButtonOld = LOW; // исключения срабатывания при старте static byte SetupStep = false; unsigned long BlinkFromMs; unsigned long StartFromMs; unsigned long ModeFromMs; byte W, W0, W1, W2, Wxx, Wmax, Uxx, Uon, Uoff; void PWM3_init() { // Настройка ШИМ на PB3 (pin 2) используя Таймер 1 TCCR1 = _BV (CS11) | _BV (CS10); // prescaler /4 GTCCR = _BV (COM1B0) | _BV (PWM1B); // clear OC1B on compare OCR1B = 255; // начальное заполнение 0% (используем инверсный выход!) OCR1C = 255; // частота ШИМ = 1КГц (1 000 000 /4 /256) } void analogWrite_PB3(uint8_t duty_value) { // analogWrite на PIN_B3 OCR1B = 255-duty_value; // заполнение 0-255 (0-100%) (используем инверсный выход!) } byte ScanButton(void) { // Чтение кнопки подключенной к одному выходу со светодиодом // Ускоренная версия с восстановлением выхода и без отключений ШИМ byte value,port_bak; port_bak = PORTB; // сохранить выход DDRB &= ~(1<interval)){ \ outvar = varname;\ }\ }\ else {\ __lastChange_##varname=millis();\ } // Инициализация void setup() { pinMode(MODE_LED_PIN, OUTPUT); // основное состоние - индикация pinMode(PWM_LED_PIN, OUTPUT); PWM3_init(); // восстанавливанием настройки из EEPROM если они там есть if (EEPROM.read(11)==0xAA) { Wxx = EEPROM.read(0); Wmax = EEPROM.read(1); Uon = EEPROM.read(2); Uoff = EEPROM.read(3); } else { // значения по-умолчанию Wxx = 1; Wmax = 255; Uon = 255; // исключает старт до проведения настройки Uoff = 0; } // Плавный разгон до холостого хода или ручной настройки if (digitalRead(AM_PIN)==HIGH) W0 = Wxx; else { W0 = 255- (analogRead(SP_PIN) >> 2); // 0-255, переменный резистор у нас инверсным получился } W1 = 0; for(W=0 ; W<=W0; W++) { analogWrite_PB3(W); W1 = W1 + 4; delay(W1); } delay(800); Mode = MODE_WAITING; } // Рабочий цикл void loop() { // Индикация текущего режима морганием switch (Mode) { case MODE_MANUAL: ModeLedVal = LOW; // выключено break; case MODE_WAITING: (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; // в полнакала break; case MODE_START: case MODE_DRILLING: case MODE_STOP: ModeLedVal = HIGH; // на полную break; case MODE_SETUP_XX: if ((millis()-BlinkFromMs > 400)) { // редко (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; BlinkFromMs = millis(); } break; case MODE_SETUP_MAX: if ((millis()-BlinkFromMs > 100)) { // часто (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; BlinkFromMs = millis(); } break; } digitalWrite (MODE_LED_PIN, ModeLedVal); // Тумблер Auto/Manual, в Auto размыкается и читается HIGH AMButton = digitalRead(AM_PIN); Debounce(AMButton, AMButtonFlt, 200); // Кнопка настройки, читается спецпроцедурой т.к. совмещена со светодиодом, при нажатии читается LOW ModeButton = ScanButton(); Debounce(ModeButton, ModeButtonFlt, 200); SetupStep = (ModeButtonFlt==LOW) && (ModeButtonOld==HIGH); ModeButtonOld = ModeButtonFlt; // Крутилка SetPoint = 255- (analogRead(SP_PIN) >> 2); // 0-255, переменный резистор у нас инверсным получился // Ток мотора // Основной фильтр RC-цепочка 36K+68nF (постоянная времени 2.5мс, частота среза 65Гц) // но на всякий дополним программным // БИХ-фильтр НЧ первого порядка y(i) = y(i-1) + alpha*(x(i)-y(i-1)) // (он же Экспоненциальное скользящее среднее, EMA) // в фильтре вместо float используем повышенную точность int, для чего сдвигаем влево на свободные 5 бит (знак еще пригодится) // умножение на дробный коэффициент alpha заменяем сдвигом вправо // (6 = /64 = *0.016) 100 циклов - 80% значения, 200 циклов - 96% значения, 369 циклов - 99.6% значения // (5 = /32 = *0.031) 50 циклов - 80% значения, 100 циклов - 96% значения, 179 циклов - 99.6% значения // (4 = /16 = *0.063) 25 циклов - 80% значения, 50 циклов - 96% значения, 90 циклов - 99.6% значения // (3 = /8 = *0.125) 12 циклов - 80% значения, 25 циклов - 96% значения, 45 циклов - 99.6% значения // период работы = АЦП 110мкс + программа = 0,2мс // постоянная времени = 8*0,2мс = 1,6мс, частота среза 625Гц CurrentFiltered = CurrentFiltered + (((analogRead(CUR_PIN) << 5) - CurrentFiltered) >> 3); // для простоты использования приводим к 0-255 // (сдвиг обратно на 5 бит и 2 старших отбрасываем т.к. все интересное (холостой ход) <1В) CurrentU8 = byte (CurrentFiltered >> 5); // если >1В чтобы не перепутать с малыми if ((CurrentFiltered >> 5) & 0x7F00) CurrentU8=255; // Автомат состояний switch (Mode) { case MODE_MANUAL: // Ручное регулирование крутилкой analogWrite_PB3(SetPoint); if (SetupStep) Mode = MODE_SETUP_XX; if (AMButtonFlt==HIGH) { // При переходе в автомат притормозим analogWrite_PB3(Wxx); StartFromMs = millis(); Mode = MODE_STOP; } break; case MODE_WAITING: // Ждем роста тока if (CurrentU8 > Uon) { // Запуск StartFromMs = millis(); analogWrite_PB3(Wmax); Mode = MODE_START; } if (SetupStep) Mode = MODE_SETUP_XX; if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_START: // Раскрутка if (millis()-StartFromMs > 300) Mode = MODE_DRILLING; if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_DRILLING: // Сверлим, ждем падения тока if (CurrentU8 < Uoff) { // Тормозим analogWrite_PB3(Wxx); Mode = MODE_STOP; } if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_STOP: // Тормозим и ждем пока выйдем на ток ХХ if (CurrentU8 < Uon) { // Замедлились if (millis()-StartFromMs > 300) // надежно Mode = MODE_WAITING; } else { StartFromMs = millis(); } if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_SETUP_XX: // Настройка холостого хода Wxx = SetPoint; analogWrite_PB3(Wxx); if (SetupStep) { Uon = byte(1.1 * CurrentU8); EEPROM.write(0,Wxx); EEPROM.write(2,Uon); Mode = MODE_SETUP_MAX; } break; case MODE_SETUP_MAX: // Настройка макс.оборотов Wmax = SetPoint; analogWrite_PB3(Wmax); if (SetupStep) { Uoff = byte(1.1 * CurrentU8); EEPROM.write(1,Wmax); EEPROM.write(3,Uoff); EEPROM.write(11,0xAA); // Тормозим analogWrite_PB3(Wxx); StartFromMs = millis(); Mode = MODE_STOP; } break; default: Mode = MODE_WAITING; return; } }


Подключаем в качестве шунта 5 ваттный резистор 2.2 Ом. Для защиты схемы от индуктивных выбросов напряжения на заднем фронте ШИМ подключаем параллельно мотору диод Шоттки SS34, а для подавления помех от коммутации обмоток – конденсатор 100нФ. И начинаем испытания по управлению мотором дрели.

Сразу достает зубодробильный вой ШИМа на 4КГц (1МГц/256). Добавляем настройку делителя /4 - сразу полегчало, хотя писк никуда не делся, но 1КГц почему-то переносится гораздо легче даже при продолжительной работе.

В ручном режиме обороты мотора нормально регулируются 0-100%, а в автоматическом АЦП цепи обратной связи все время читает MAX значение и ничего не работает. Попутно замечаю, что плата громко пищит даже при отключенном моторе. WTF?

Берем тестер, откапываем осциллограф и начинаем изучать, что же мы выдаем и чего получаем. И роняем челюсть. На шунте вместо пологих волн тока через индуктивность в начале импульсов ШИМ видим иголки в десятки вольт. Значит, через шунт течет импульсный ток в десяток ампер! Причем даже при отключенном двигателе. Не удивительно, что плата зазвенела. Но что же замыкает цепь без двигателя? Крошечный конденсатор 100нФ! Помехи при коммутации обмоток он может и подавит, а пока устраивает кратковременное КЗ на каждом периоде ШИМ! Вывод - помехоподавлящий конденсатор не совместим с ШИМ управлением и контролем с помощью шунта, надо убирать.

И тут до меня доходит, что эти высоковольтные выбросы идут почти прямо на АЦП тиньки (т.к. тут амплитудный детектор, то конденсатор на ноге заряжается до максимального напряжения в иголке и благополучно хранит его, т.к. разряд только через утечку диода). Тинька вроде пока помирать не собирается, но что с ее ногой? Приборы показывают постоянное напряжение на ноге 5.2В, выше напряжения питания, но куда делось остальное? Вспоминаем - для борьбы с перенапряжениями в нем есть специально обученные диоды на «+» и «-« питания, стравливающие излишек в БП. Но встроенные диоды хилые и сильно рассчитывать на них не стоит.

Убираем чертов конденсатор, меряем ногой напряжения - работает! Надежные МК делает Atmel! Видимо спасло, что емкость конденсаторов невысока была, немного заряда прокачивали.

Без конденсатора иголки пропали, плата перестала музицировать, нога вроде реально меряет амплитуду тока ШИМ импульса. Запускаем процедуру настройки и пробуем сверлить. Вроде все как надо - при нагрузке добавляет обороты, при выходе сверла сбрасывает. Но не только - несколько раз в минуту самопроизвольно без нагрузки разгоняется и тормозится. Почему непонятно, приборы ничего не показывают. То ли нога подгорела, то ли емкость проводов генерит незаметные иголки как тот кондер, то ли помехи от того же коллектора лезут.

Тут решил бороться с проблемой кардинально, ибо обратил внимание, что больше ни в одной схеме пиковый детектор не используется. Наоборот, везде контролируется интегральное значение тока, пропущенное через RC-фильтры. И такие измерения как раз нечувствительны к помехам в виде единичных выбросов. Меняем диод на резистор - и амплитудный детектор превращается в ФНЧ.

Изменяемое АЦП напряжение упало сразу на порядок - действующее напряжение гораздо ниже амплитудного в случае сигнала в виде пологих волн с паузами между ними. Ловить пришлось напряжение около 0.2 В. Можно конечно было увеличить сопротивление шунта, но для того ли мы городили ШИМ, чтобы греть атмосферу. А еще при большом заполнении ШИМ и нагрузке на мотор можно получить перенапряжение. Потому придется работать с низким U холостого хода.

Реакция на нагрузку похоже тоже замедлилась. Разгон начинается примерно через полсекунды, но большой проблемы в этом не вижу - как раз сверло выставится и пройдет медь на малых оборотах. И больше никаких ложных стартов. Можно работать.

Финальная схема устройства:


Устройство было смонтировано в корпусе, в роли которого выступила герметичная электромонтажная «Коробка Тусо распаечная пластиковая без сальников 120х80х50 мм, IP55 серая 67052 Рувинил Россия». Хотелось найти более плоскую, но ничего типа 110*60*30 не нашел. Чтобы не разводить гирлянды на столе, скрутил регулятор с БП в единое целое. Кирпич получился знатный, но нам его и не в кармане носить. И хотя после сверления пары десятков отверстий, сколько-нибудь заметного наощупь нагрева ключевого полевика, шунта и стабилизатора заметно не было, насверлил немного вентиляции на дне и задней стенке.







С тех пор станочек с регулятором участвовал в создании еще 2 плат (сколько ему потребовалось сверлить можете глянуть по словам «AVR Fusebit Doctor». Его работой весьма доволен.

Еще хочу отметить, что твердосплавные сверла с Али имеют хвостовик 3.2 мм, а цанги были только 3.0 и 3.5 - в одну сверло не лезет, а в другой не зажимается. Намотал на сверло медной проволоки и кое-как вставил в 3.5 мм, но некрасиво. Если кто встречал цангу на 3.2 диаметром 6 мм (везде разве что дремелевские, со сточенным до 5мм хвостом), подскажите.

При смене сверл процедуру настройки приходится проходить заново – видимо на токе двигателя сказывается разный момент инерции «тощего» обычного сверла и твердосплавного с утолщенным хвостовиком. Но это делается быстро и не напрягает. Желающие могут добавить в прошивку сохранение профилей сверл:)

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

И еще одно лирическое отступление, про мелкий крепеж.

В устройство решил поставить разъем питания типа «DS-225, Гнездо питания на панель». Для его крепления требовались винтики с гайками с резьбой 2.5мм. В кладовке ничего подходящего не нашлось, а тут еще вспомнил, что в другое поделие 2мм винтики требуются. Значит стоит пополнить коллекцию крепежа, чтобы в следующий раз ради гаечки на другой конец области не лететь. В строительных магазинах ничего меньше M3 не попадалось, значит надо искать специализированные.

Первым относительно удобным магазином оказался сетевой
Внутри глаза разбежались от всяких полезностей, но вот незадача – самые малые винтики были только M2.5 одной длины, а вот гаек и шайб к ним нет и не бывает! Впечатлила продажа гаечек поштучно за 2р/шт и ссыпание всего купленного в один мешок-майку (мелких пакетиков для разных размеров не было). Опять же накладно брать про запас разных размеров.

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

Планирую купить +67 Добавить в избранное Обзор понравился +76 +152

Схема регулятора оборотов микродрели

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

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

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

Схема устройства:



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

Это главный ответ на вопрос как сделать что бы при сверлении обороты повышались

Печатная плата



Радиодетали для регулятора

Микросхему LM317 необходимо установить на радиатор в избежание перегрева. Установка куллера нетребуется
Конденсаторы электролитические на номинальное напряжение 16В.
Диоды 1N4007 можно заменить на любые другие рассчитанные на ток не менее 1А.
Светодиод АЛ307 любой другой. Печатная плата выполнена на одностороннем стеклотекстолите.
Резистор R5 мощностью не менее 2Вт, или проволочный.

БП должен иметь запас по току, на напряжение 12В. Регулятор работоспособен при напряжении 12-30В, но свыше 14В придется заменить конденсаторы на соответствующие по напряжению.
Готовое устройство после сборки начинает работать сразу.

Налаживание и мелочи в работе

Резистором P1 выставляем требуемую частоту вращения на холостом ходу. Резистор P2 служит для установки чувствительности к нагрузке, им выбираем нужный момент увеличения оборотов. Если увеличить емкость конденсатора C4, то увеличится время задержки высоких оборотов или если двигатель работает рывками.
Я увеличил емкость до 47uF.
Двигатель для устройства не критичен. Только необходимо чтобы он был в хорошем состоянии.
Я долго мучился, уже подумал, что у схемы был глюк, что она непонятно как регулирует обороты, или уменьшает обороты во время сверления.
Но разобрал двигатель, прочистил коллектор, подточил графитовые щетки, смазал подшипники, собрал.
Установил искрогасящие конденсаторы. Схема заработала прекрасно.
Теперь не нужен неудобный выключатель на корпусе микродрели.

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.



Автоматический регулятор оборотов работает следующим образом - на холостых оборотах сверло вращается со скоростью 15-20 оборотов/мин., как только сверло касается заготовки для сверления, обороты двигателя увеличиваются до максимальных. Когда отверстие просверлено и нагрузка на двигатель ослабевает, обороты вновь падают до 15-20 оборотов/мин.

Схема автоматического регулятора оборотов двигателя и светодиодной подсветки:

Транзистор КТ805 можно заменить на КТ815, КТ817, КТ819.

КТ837 можно заменить на КТ814, КТ816, КТ818.

Подбором резистора R3 устанавливаются минимальные обороты двигателя на холостом ходу.

Подбором конденсатора С1 регулируется задержка включения максимальных оборотов двигателя при появлении нагрузки в двигателе.

Транзистор Т1 обязательно размещать на радиаторе, греется довольно сильно.

Резистор R4 подбирается в зависимости от используемого напряжения для питания станка по максимальному свечению светодиодов.

Я собрал схему с указанными номиналами и меня работа автоматики вполне устроила, единственное конденсатор С1 заменил на два конденсатора по 470мкф включенных параллельно (они были меньше габаритами).

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

Светодиоды закреплены на двигателе для подсветки места сверления.

Печатная плата моей конструкции регулятора выглядит вот так.

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

Решение проблемы напрашивается следующее: нужно сделать так, чтобы микродрель имела маленькие обороты на холостом режиме, а при нагрузке частота вращения сверла увеличивалась. Таким образом, нужно реализовать следующий алгоритм работы: без нагрузки - патрон крутится медленно, свело попало в кернение - обороты возросли, прошло насквозь - обороты снова упали. Самое главное, что это очень удобно, во-вторых двигатель работает в облегченном режиме, с меньшим нагревом и износом щеток.

Ниже приведена схема такого автоматического регулятора оборотов, обнаруженная в интернете и немного доработанная для расширения функционала:

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

Автоматический регулятор оборотов работает следующим образом — на холостых оборотах сверло вращается со скоростью 15-20 оборотов/мин., как только сверло касается заготовки для сверления, обороты двигателя увеличиваются до максимальных. Когда отверстие просверлено и нагрузка на двигатель ослабевает, обороты вновь падают до 15-20 оборотов/мин.

Собранное устройство выглядит следующим образом:

На вход подается напряжение от 12 до 35 вольт, к выходу подключается микродрель, после чего резистором R3 выставляется требуемая частота вращения на холостом ходу и можно приступать к работе. Здесь следует отметить, что для разных двигателей регулировка будет отличаться, т.к. в нашей версии схемы был упразднен резистор, который требовалось подбирать для установки порога увеличения оборотов.

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

Ёмкость конденсатора C1 влияет на время задержки включения и отключения высоких оборотов и требует увеличения если двигатель работает рывками.

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

Печатная плата регулятора имеет размеры 40 х 30 мм и выглядит следующим образом:


Скачать рисунок платы в формате PDF для ЛУТ: «скачать» (При печати указывайте масштаб 100%).

Весь процесс изготовления и сборки регулятора для минидрели занимает около часа.

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



Затем дорожки и контактные площадки покрываются флюсом, что очень удобно делать при помощи флюс-аппликатора, при этом достаточно флюса СКФ или раствора канифоли в спирте.


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


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