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

Намоточный станок на Arduino версия 2.0


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

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

IMG_5922.JPG

IMG_5923.JPG

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

По моему кроме меня никто не делает намоточного станка:)

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

IMG_5954.JPG

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Добрый вечер, я хотел знать, возможно ли изменить эскиз, чтобы он стал автоматическим, выполняя различные шаги непрерывно.
(Например, если я установил 4 ОБОРОТА, намотчик должен продолжаться до конца, не нажимайте PRESS CONTINUE каждый раз.)

Ссылка на комментарий
Поделиться на другие сайты

Так установить 800 витков и он будет непрерывно считать эти 800, пост внимательно читайте. А вообще на макете все становится понятно. Про доработки уже говорилось. Да, выкладывал схему счетчика на PIC628, после неоднократной работы не понравился ( часто глючил). Переделал на 2313. пока полет нормальный.

Изменено пользователем Balent
Ссылка на комментарий
Поделиться на другие сайты

Наконец руки дошли до подключения моторов. И тут появилась проблема с управлением кнопками. Платку с кнопками не использовал, сделал по схеме с 5-й страницы. Кстати, там есть ошибочка. Подтягивающий резистор на кнопках нужно ставить 2к. Предварительно загнал программку и определил значения для каждой кнопки. С моими номиналами получилось:

LEFT - 23, UP - 149, DOWN - 344, RIGHT - 509, SEL - 741

Как я понял, а я в программировании практически ноль, за нажатие кнопок отвечает этот фрагмент программы

{
Buttons_ADC = analogRead(A0);          
if      (Buttons_ADC > 700) {if (AutoWindStart == false) digitalWrite(EN_STEP, HIGH); else digitalWrite(EN_STEP, LOW);} // ButtonNONE Если автонамотка то не снимаем с удержания
else if (Buttons_ADC < 17)  {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_Z, LOW);  digitalWrite(STEP_Z, HIGH); delayMicroseconds(1000); digitalWrite(STEP_Z, LOW);} // ButtonLEFT; 
else if (Buttons_ADC < 68)  {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_A, LOW);  digitalWrite(STEP_A, HIGH); delayMicroseconds(50); digitalWrite(STEP_A, LOW);}   // ButtonUP;  
else if (Buttons_ADC < 154) {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_A, HIGH); digitalWrite(STEP_A, HIGH); delayMicroseconds(50); digitalWrite(STEP_A, LOW);}   // ButtonDOWN; 
else if (Buttons_ADC < 358) {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_Z, HIGH); digitalWrite(STEP_Z, HIGH); delayMicroseconds(1000); digitalWrite(STEP_Z, LOW);} // ButtonRIGHT; 
else if (Buttons_ADC < 700) {digitalWrite(EN_STEP, HIGH);} // ButtonSELECT;
if (AutoWindStart == true) {digitalWrite(DIR_Z, HIGH); if (Steppers_Dir == 1) PORTB &= 0b11011111; else if (Steppers_Dir == -1) PORTB |= 0b00100000;} 
// если автонамотка то принимаем указанные ранее направления вращения
}

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

А теперь проблема. При нажатии кнопок LEFT и DOWN крутится в разные стороны мотор укладчика, при нажатии кнопки UP крутится мотор намотки. На кнопку RIGHT никакой реакции. Предназначение кнопки SEL я пока не понял, мне кажется она останавливает оба мотора при автонамотке, поэтому пока не могу сказать, срабатывает она или нет.

Мой мозг сломан... В программе написано одно, реакция на кнопки совершенно другая.

Ссылка на комментарий
Поделиться на другие сайты

Кнопки победил. Теперь они работают нормально. Для этого слегка изменил фрагмент, отвечающий за обработку кнопок.

{
Buttons_ADC = analogRead(A0);          
if      (Buttons_ADC > 780) {if (AutoWindStart == false) digitalWrite(EN_STEP, HIGH); else digitalWrite(EN_STEP, LOW);} // ButtonNONE Если автонамотка то не снимаем с удержания
else if (Buttons_ADC < 50)  {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_A, HIGH);  digitalWrite(STEP_A, HIGH); delayMicroseconds(50); digitalWrite(STEP_A, LOW);}   // ButtonLEFT;  
else if (Buttons_ADC < 180)  {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_Z, LOW);  digitalWrite(STEP_Z, HIGH); delayMicroseconds(1000); digitalWrite(STEP_Z, LOW);} // ButtonUP; 
else if (Buttons_ADC < 350) {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_Z, HIGH); digitalWrite(STEP_Z, HIGH); delayMicroseconds(1000); digitalWrite(STEP_Z, LOW);} // ButtonDOWN;
else if (Buttons_ADC < 550) {digitalWrite(EN_STEP, LOW); digitalWrite(DIR_A, LOW); digitalWrite(STEP_A, HIGH); delayMicroseconds(50); digitalWrite(STEP_A, LOW);}   // ButtonRIGHT; 
else if (Buttons_ADC < 780) {digitalWrite(EN_STEP, HIGH);} // ButtonSELECT;
if (AutoWindStart == true) {digitalWrite(DIR_Z, HIGH); if (Steppers_Dir == 1) PORTB &= 0b11011111; else if (Steppers_Dir == -1) PORTB |= 0b00100000;} 
// если автонамотка то принимаем указанные ранее направления вращения
}

 

Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, Mech51 сказал:

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

Изменено пользователем Balent
Ссылка на комментарий
Поделиться на другие сайты

Всем привет. Помогите разобраться с шагами укладчика.
У меня четырёхзаходная шпилька с ходом 8мм на оборот.
У драйвера А4988 поставил три перемычки, вроде так надо на 1/16 шаг.

Выставил вот такие параметры:
#define ShaftStep  400 // ShaftStep = Шаг резьбы*50
#define MicroStepsN 16 // Число микрошагов на шаг
#define StepsForTurn 200 // число шагов для одного оборота основного двигателя (200 = 1,8° на шаг)
но укладчик что то далеко убегает. Где или что накосячил, подскажите.

photo_2020-08-09_20-17-16.jpg

Изменено пользователем audix54
Ссылка на комментарий
Поделиться на другие сайты

Если не вдаваться в подробности программы, то ( допустим) на 10 оборотов намотчика, какое расстояние прошел укладчик? Из этого и считай. Должно получаться кратное число для уменьшения 2,4,8,16.( и делить на 10 по примеру) А вообще проблема поднималась , по-моему стр 6-8, почитай. И шаг 8мм  для шпильки укладчика не есть гуд. Я поставил обыкновенную резьбовую диаметром 6мм, и проблема снялась! Почитай сначала посты! А чего перемычки паяешь?:huh:, а стандартных с плат наковыряй, легче же работать.

Изменено пользователем Balent
Ссылка на комментарий
Поделиться на другие сайты

Если не вдаваться в подробности программы...
Да, тема с шагом не нова... прочитал всё вдоль и поперёк... но единственное что нашёл, это когда устанавливаю STEP 0.1, при намотке ST выдаёт 0.28... придётся вычислять.

Ссылка на комментарий
Поделиться на другие сайты

У меня была такая же проблема с 8мм шагом, поменял на 1 или 2мм (6мм шпилька) и все работает тип топ, а почему...?

Изменено пользователем Balent
Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте!

Решил сделать себе станок для намотки ТВЗ. До этого с arduino не был знаком,по этому программу писать не умею.Приобрел arduino nano, плату расширения wh-702 и drv8825 которые не подошли к wh-702. Пришлось сделать плату отдельно под драйвера ШД, так как не захотел переделывать wh-702. Прошил Arduino_winding_machine_21b. Укладчик работает точно с EM-181. А вот основной ШД 1.8 103G770-1843 делает 2 оборота место одного! Пытался играться с микро шагами ни чего не получается. Объясните можно если и где изменить программу под этот двигатель?

efyS_SE-HJA.jpg

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, Андрей Дашков сказал:

Объясните можно если и где изменить программу под этот двигатель?

Тебе на CNC Shild надо установить шаг 1/16 (похоже у тебя стоит 1/8) для твоего драйвера и должно быть всё хорошо.

Может кто в курсе, где подправить скетч...

С укладчиком выяснил. У шпильки с шагом 8 мм  действительно должно быть 400/16/200 (ШД 200/1.8град.) Укладчик отрабатывает правильно, но проблема в другом.

При установки параметров намотки... если в STEP указать 0,1008, то при намотке ST становиться 0.28!!!  
Может кто в курсе как победить эту проблему?

Изменено пользователем audix54
Ссылка на комментарий
Поделиться на другие сайты

У меня на CNC Shild установлено 1\16 и делает 2 оборота место одного,если 1\8 то делает 4 оборота, 1\4-8 и так далее.Минимально чего добился это 2 оборота место одного. Не хочется делать редуктор 1\2, можно конечно сделать на шкивах.

 

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Вот у меня по такой схеме. 1/32 пробовал двигатель молчит и вращается от руки,на него напряжения не поступает.

btuS9IK3wryXi4PI8gDk5PZL4o8ur2FlvtrHTcF8.png

Пробовал такую схему, место одного 4..8..16 оборотов делает

minimal-wiring-diagram-for-connecting-a-microcontroller-to-a-drv8825.jpg

Ссылка на комментарий
Поделиться на другие сайты

6 hours ago, Balent said:

Непонятно, что с программой.

С программой всё нормально, ну почти... Так и не получилось при шаге шпильки укладчика в 8 мм, сделать правильную установку шага в STEP.  Пришлось методом "научного тыка" подбирать.
Учитывая что станок ещё требует доработки, но пробный заезд получился нормальным.

Попробовал на проводе 0.15 и 0.56 мм.

1.jpg

2.jpg

3.jpg

4.jpg

Изменено пользователем audix54
Ссылка на комментарий
Поделиться на другие сайты

23 часа назад, Андрей Дашков сказал:

А вот основной ШД 1.8 103G770-1843 делает 2 оборота место одного! Пытался играться с микро шагами ни чего не получается. Объясните можно если и где изменить программу под этот двигатель

работает этот двигатель без проблем.

IMG_20200811_212928.jpg

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

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

  • Сообщения

    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
    • Типа такого: https://aliexpress.ru/item/2044864227.html?sku_id=58855020183
×
×
  • Создать...