Перейти к содержанию

Рекомендуемые сообщения

Давно интересуюсь электроэрозионной обработкой металла.

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

 

Учитывая бурный прогресс в области микропроцессоров давно задумал перенос процесса EDM на базу ARDUINO. Стоит копейки, легко программируется под нужды и т.д.

 

За базу было взято оборудование, имеющееся в наличии:

· Блок питания 40В, 10А

· ARDUINO PRO MICRO Atmega 328, 16MGz

· LCD 16x2

· Стойка от эл.дрели

· Переменные резисторы 10кОм

· Кнопки

· Переключатель

· Запчасти от принтера (электродвигатель постоянного тока 12-24В, шестеренки)

· драйвер шагового двигателя и двигателя постоянного тока на L298N

 

Уговорил старого товарища на написание прошивки для ARDUINO.

 

Устройства управления:

· Регулятор уставки UP, (в %),

· Регулятор уставки DOWN (в %),

· Регулятор скорости электродвигателя (ШИМ)

· Кнопка выбора режима AUTO/MANUAL

· Кнопки UP, DOWN (работают только в ручном режиме)

· Концевики 2 шт UP, DOWN (вход один, норм. состояние – 0, при появлении на нем 1 запрещает работу привода)

· Выход на электродвигатель М1, М2, Enable

 

Подключение:

Электродвигатель подключается через платку драйвера шагового двигателя и двигателя постоянного тока на L298N

 

драйвер имеет 2 канала которые можно параллелить для подключения мощных электродвигателей

к контакту 1, 2 подключаются выводы движка, на контакт 7 подается Enable (ШИМ регулировки скорости - задается регулятором скорости)

 

 

датчик напряжения – простой резистивный делитель напряжения (при 40В выдает 5В для контроллера).

датчик тока – шунтирующее сопротивление 0,5 Ом (при 10А выдает 5В для контроллера).

Вместо шунтирующего сопротивления наверное правильнее применить шунт на 75 мВ с усилителем на операционнике, но руки так и не дошли.

 

 

Алгоритм работы принят такой:

 

Ручной режим: переключатель AUTO/MANUAL в положении ВКЛ.

На экране отображается режим – MAN, Ток, Напряжение, уставки UP, DOWN (в %). Управление подачей электрода от кнопок (Вверх, Вниз).

 

Автоматический режим: переключатель AUTO/MANUAL в положении ОТКЛ.

На экране отображается режим – AUT, Ток, Напряжение, уставки UP, DOWN (в %). Управление подачей электрода - в зависимости от уставок: если ток меньше уставки DOWN – движение электрода Вниз. Если ток больше уставки UP– движение электрода Вверх. Если ток в интервале между уставками UP, DOWN, электрод – стоп.

При возникновении короткого замыкания между электродом и деталью (напряжение на промежутке меньше 1,5В, ток больше 10А) на экран выводится сообщение и выдается звуковой сигнал с поднятием электрода на макс. скорости до устранения условий К.З. после устранения К.З. схема работает в штатном режиме в зависимости от положения переключателя AUTO/MANUAL.

 

Во всех режимах работает ограничитель перемещения электрода – концевики подключенные на вход микроконтроллера LIMIT.

Вход один, но концевиков можно вешать сколько нужно, включая их в параллелью на корпус.

Во всех режимах на экране стрелкой отображается направление движения электрода Вверх / Вниз или --- при остановке электрода, режим работы AUT/MAN, ток через электрод, напряжение на электроде, уставки UP, DN в %.

 

Короче в приложенной модели PROTEUS все видно.

 

Выкладываю модель в PROTEUS и прошивку. http://www.chipmaker...les/file/13260/

 

 

Еще раз: прошивку писал не я, так что без претензий.

post-43189-021186900_1477641926_thumb.jpg

Поделиться сообщением


Ссылка на сообщение

проект еще на закончен - руки не доходят.

схему собрал на макетке - все норм.

сейчас допиливаю механику, в выходные сфоткаю и выложу.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

сейчас сне пишут расширенную версию с изменением уставок, записью их в память.

собрал схему на макетке предыдущую версию

собрал механику

- все работает по плану.

электрод ездит вверх вниз в зависимости от тока в рабочем промежутке.

но все никак не могу выложить видео или фотки.

Поделиться сообщением


Ссылка на сообщение

скетча у меня нет. мне его писали за коньяк.

расширенную версию с изменением уставок (коэф. делителя по напряжению и току, Umin, Umax)

и записью их в память мне пишут за деньги

тогда схема будет подходить под любые источники питания

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

времени катастрофически не хватает

Поделиться сообщением


Ссылка на сообщение

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

А по напряжению все работает нормально, главное чтоб у механики была хорошая точность, нормально у меня работал двигатель постоянного тока с редуктором 1 к 750 и шаговый дши 203 с делением шага на 16....

 

расширенную версию с изменением установок (коэф. делителя по напряжению и току, Umin, Umax)

Немного не понятно зачем вам устанавливать коэффициенты деления в программе. Если на ардуину при максимальном напряжении на искровом промежутке будет приходить меньше 5 вольт вы сильно потеряете в точности, если на ногу ардуины будет приходить например от 2,5 - 0 вольт то вы используете только половину аналогово цифрового преобразователя и точность уменьшиться вдвое по этому делители подстраиваются физически...

 

скетча у меня нет.

А логику роботы вы можете описать?

 

Видео только на ютуб....

Поделиться сообщением


Ссылка на сообщение

110 вольт на электродах...

Зачем такое высокое напряжение?

Поделиться сообщением


Ссылка на сообщение

Зачем такое высокое напряжение?

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

Поделиться сообщением


Ссылка на сообщение

Логика описана в 1посте данной темы

Делитель введён для отображения на экране фактического напряжения и тока

На работу он не влияет только для опреления КЗ

В прошивке я привязался к току и по нему отслеживаю процесс

Как я понял это не правильно? Надо к напряжению в зазоре?

Ток все равно нужен для опреления КЗ по Umin + I max

 

Поделиться сообщением


Ссылка на сообщение

На шаговом с редуктором я думал

Но не хватает ножек у ардуино а переходить на мегу ещё рано

 

Поделиться сообщением


Ссылка на сообщение
Дата: (изменено)

В прошивке я привязался к току и по нему отслеживаю процесс

Как я понял это не правильно? Надо к напряжению в зазоре?

У тока нет линейной зависимости - пока горит дуга ток более менее стабилен, когда дуга разорвана ток падает до нуля а при кз растет до максимума ограниченного резистором.

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

 

Делитель введён для отображения на экране фактического напряжения и тока

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

Изменено пользователем alex_Z

Поделиться сообщением


Ссылка на сообщение

Сейчас мне пишут прошивку и есть возможность поменять алгоритм

Какой по вашему мнению он должен быть?

Если по напряжению то какие уставки?

Буду черезвычайно признателен за консультацию

Программисту пофигу он от тех задания работает

Поделиться сообщением


Ссылка на сообщение

К скачкам тока

При работе через соленоид (сегодняшняя моя установка) ток меряется китайским электронным амперметром на семисегментных индикаторах

Показания тока скачут в единицах ампера т.е. 5-6, или 8-9 ампер я думаю это терпимо

Поделиться сообщением


Ссылка на сообщение

я правильно понял алгоритм привязки к напряжению МЭП ?

задаются уставки по мин. напряжению и по макс. напряжению МЭП (какие они?)

 

при напряжении больше Umax - электрод вниз

пр напряжении меньше Umin - электрод вверх

при U в промежутке между ними - электрод стоп

при Imax и Umin - К.З. электрод вверх

Поделиться сообщением


Ссылка на сообщение

При работе через соленоид (сегодняшняя моя установка) ток меряется китайским электронным амперметром на семисегментных индикаторах

Показания тока скачут в единицах ампера т.е. 5-6, или 8-9 ампер я думаю это терпимо

 

Жк индикатор намного медленнее обновляет картинку...

 

я правильно понял алгоритм привязки к напряжению МЭП ?

задаются уставки по мин. напряжению и по макс. напряжению МЭП (какие они?)

 

У меня стоит два регулятора, один устанавливает напряжение стабилизации от нуля до 150 вольт (я еще не определился ставить транс на 110 вольт или 70 по этому сделал побольше), второй регулятор настраивает гистерезис от нуля до 25 вольт, программа сравнивает напряжение на меп и установленное мной и решает в какую сторону двигаться, также программа смотрит на сколько велика разница между напряжениями и если разница превышает значение гистерезиса включается двигатель...

Если установленное напряжение 70 вольт а гистерезис 5 вольт то

при напряжении на меп 76 и больше вольт- уменьшаем зазор

при напряжении на меп 64 и меньше вольт- увеличиваем зазор

при напряжении на меп от 65 до 75 ничего не делаем так как попадаем в зону гистерезиса

при кз напряжение упадет ниже 65 и зазор начнет увеличиваться по этому следить за током нет смысла

 

 

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

 

LiquidCrystal_I2C lcd(0x27,16,2); // устанавливаем адрес 0x27, и дисплей 16 символов в 2 строки (16х2)

//даные на экран отправляются по I2C

 

 

int IN1 = 2;

int IN2 = 3; //пины двигателя step, dir, en

int IN3 = 4;

 

int D = 1; //задержка

 

int Bs;

int Cs;

 

 

int napR = A0;

int napZ = A1;

int gist = A2;

 

void setup()

{

 

Serial.begin(9600);

 

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(IN3, OUTPUT);

 

pinMode (napR, INPUT);

pinMode (napZ, INPUT);

pinMode (gist, INPUT);

 

 

lcd.begin();

lcd.backlight();

lcd.clear();

 

 

digitalWrite(IN3, HIGH);

 

}

 

void loop()

{

 

int A = analogRead(napR); //считываем напряжение меп

A = A * 0.2;

A = constrain (A, 0, 200);

 

int B = analogRead(napZ); //задаем напряжение

B = map (B, 0, 1015, 0, 150);

B = constrain (B, 0, 150);

 

int C = analogRead(gist); //задаем гистерезис

C = map (C, 0, 1015, 0, 25);

C = constrain (C, 0, 25);

 

 

 

int rnap = abs (A - B);

 

 

 

if ((A > B) & (rnap > C))

{

digitalWrite(IN1, HIGH);

digitalWrite(IN2, HIGH);

delay(D);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

delay(D);

}

 

if ((A < B)&(rnap > C))

{

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

delay(D);

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

delay(D);

}

 

 

 

if ((Bs != B)||(Cs != C)) // работаем с экраном только когда меняются значения...

{

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Nap");

lcd.setCursor(4, 0);

lcd.print(B);

lcd.setCursor(9, 0);

lcd.print("Gist");

lcd.setCursor(14, 0);

lcd.print (С);

}

 

Bs = B;

Cs = C;

 

 

}

Поделиться сообщением


Ссылка на сообщение

Вот спасибо!

А есть видео работы?

 

Поделиться сообщением


Ссылка на сообщение

На выходных сделаю, если будет время.....

Поделиться сообщением


Ссылка на сообщение
Дата: (изменено)

alex_Z,

Схему составляли? Хотелось бы посмотреть. Отличную вы ведь сделали! Тоже хочется видео посмотреть!

Изменено пользователем Colin7795

Поделиться сообщением


Ссылка на сообщение

схему можно из скетча вытянуть

Поделиться сообщением


Ссылка на сообщение

arduino PIN назначение

 

шаговый двигатель подключается через драйвер, в драйвер заводятся сигналы step (шаг), dir (направление), enable (разрешение) по схемам1 и 2

2 step

3 dir,

4 enable

 

экран по I2C адрес 0x27, и дисплей 16 символов в 2 строки (16х2) на ARDUINO все подписано

A4 SDA,

A5 SCL

 

АЦП----------------------------

A0 напряжение на зазоре;

A1 напряжение уставки;

A2 напряжение гистерезиса;

post-43189-015766900_1480148526_thumb.jpg

post-43189-012077400_1480148535_thumb.gif

Поделиться сообщением


Ссылка на сообщение

У меня, завалялось несколько шаговиков биполярных, и униполярных. Если буду делать то на униполярном, так как меньше ключей в драйвер ставить, вроде 4 ключа. Когда на биполярный нужно 8 ключей, или же покупать микросхему драйвер. Но нет желания, так как есть биполярные транзисторы, еще советские их с легкостью можно применить в драйвер, да и нужно их всего 4 штуки.

Поделиться сообщением


Ссылка на сообщение

Проще на платке драйвера на фото в 1 посте. Стоит около 200 руб. Движки до 2-х ампер держит. К не присобачить контроллер на i297 около 150 руб

Поделиться сообщением


Ссылка на сообщение

Да проще купить готовое! Но зачем будут пропадать такие движки?

Поделиться сообщением


Ссылка на сообщение

А вот как мой советский станок прёт на 30% мощности:

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу


×
×
  • Создать...

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.