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

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


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

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

02.12.2019 в 23:10, Falconist сказал:

И ни хрена себе ШАГ!!! Это какой же тогда диаметр у этого вала должен быть?

Ф 8 мм.

https://ru.aliexpress.com/item/32995046498.html?spm=2114.13010708.0.0.4cfb33edLtN5MR

02.12.2019 в 20:55, VOIVOD сказал:

Точно. У меня не шпилька, а шд с винтом. Увинта шаг 8 мм.. Мне не понятно откуда взялась цифра 50? Что это за коэффициент такой ? То что получилось 400 я и так расчитал. Это 400 импульсов на 1 мм. прохода сделает мой шд. 

400 импульсов с учетом 1:16, а если 1:1 25 импульсов. И мне пе понятно какое значение записывать в ShaftStep. Как скетч организован тоже непонятно. В скетче есть перерасщет на 1:16 или нет. Хочу сделать ременную передачу от шд к валу, что бы не менять шд на более мощный как предусмотрено в новой версии, шкивы 20 и 60 зубьев т.е. 1:3

Вот строка из скетча (переменная):

uint8_t MicroSteps = 16;

if (NSteps < 200 * MicroSteps)

Она омножает на 16 ?

Тогда в ShaftStep мне нужно писать не 400, а 25.

Предлагаю ввести еще одну глобальную переменную на шд Z

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

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

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

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

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

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

@VOIVOD , а Вы хоть понимаете разницу между ДИАМЕТРОМ стержня и ШАГОМ резьбы на нем? :acute:

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

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

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

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

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

2 часа назад, Falconist сказал:

@VOIVOD , а Вы хоть понимаете разницу между ДИАМЕТРОМ стержня и ШАГОМ резьбы на нем? :acute:

у винтика VOIVOD и шаг и диаметр 8мм. нормальная многозаходовая резьба.

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

Ну, разве что так. Но о многозаходовости не было ни гу-гу.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

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

Скрытый текст

2057535166_.2.JPG.f7822113fbd3632ba746105f0028165d.JPG

Вот винт, такой же как у @VOIVOD , а шаг у него 2 мм, а многозаходность это немного другое. Поэтому и вопросы были. Шаг меряется между витками резьбы.

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

у VOIVODa винт как раз многозаходовый - вот скриншот с его ссылки и вот как многозаходовость определяется. Я такие винтики использую часто. У однозаходной резьбы шаг и ход одинаковы,  у многозаходных резьб  шаг и ход различны. Часто "по-простому" шаг и ход имеют ввиду как одно и тоже, поэтому я и упростил в раннем посте это понятие, подразумевая именно ход.

винт.jpg

резьба.jpg

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

А зачем? Чтобы @VOIVOD ещё больше запутать? В скетче фигурирует шаг, понятия ход в скетче нет. @VOIVOD , померьте линейкой расстояние между соседними витками резьбы на винте. Это и будет шаг резьбы винта, который надо вставлять в скетч.

12 часов назад, Vladimir Rybakov сказал:

я и упростил в раннем посте это понятие, подразумевая именно ход.

 

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

в скетче фигурирует шаг, подразумевается ход. Не надо путать.Если использовать простую шпильку, то на один оборот гайка сдвинется на 1мм (если шаг/ход равен 1 мм).  В случае винта с алиэкспресса на один оборот гайка сдвинется на 8 мм при шаге этого винта 2 мм и ходе 8 мм.

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

21 час назад, Vladimir Rybakov сказал:

у VOIVODa винт как раз многозаходовый - вот скриншот с его ссылки и вот как многозаходовость определяется. Я такие винтики использую часто. У однозаходной резьбы шаг и ход одинаковы,  у многозаходных резьб  шаг и ход различны. Часто "по-простому" шаг и ход имеют ввиду как одно и тоже, поэтому я и упростил в раннем посте это понятие, подразумевая именно ход.

винт.jpg

резьба.jpg

Многозаходовый, а точнее трехзаходная.

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

А зачем? Чтобы @VOIVOD ещё больше запутать? В скетче фигурирует шаг, понятия ход в скетче нет. @VOIVOD , померьте линейкой расстояние между соседними витками резьбы на винте. Это и будет шаг резьбы винта, который надо вставлять в скетч.

Почти у всех шд один импульс равен 1,8 градуса. Полный оборот винта (гайки) составляет 360 градусов ( за полный оборот гайка пройдет 8 мм) , здесь шаг и ход одно и тоже. 360 делим на 1.8 получаем 200 импульсов должен сделать шд на полный оборот винта (гайки), 200 импульсов делим на 8мм. получаем 25 импульсов должен сделать шд для хода гайки на 1мм., это если 1 к 1, а если 1 к 16, 25 умножаем на 16 получаем 400.

Вопрос остается открытым, что писать в ShaftStep когда есть момментарий  "ShaftStep = Шаг резьбы*50" ?

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

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

  Здавствуйте уважаемое сообщество!

Собираю схему на Arduino Nano V3.0 и CNC шилде.Скетч автора залитый в мою плату работает. После изменения номеров пинов - отказывается работать.

#define DIR_Z     2 // Даем имена номерам пинов
#define DIR_A     3  
#define STOP_BT   4  
#define STEP_Z    5   
#define STEP_A    6  
#define BUZZ_OUT  7  
#define EN_STEP   8  
#define ENC_CLK   9
#define ENC_SW    10
#define ENC_DT    11
#define RS        14
#define EN        15
#define D4        16
#define D5        17
#define D6        18
#define D7        19

Подскажите что не так.

IMG_20191215_123055.jpg

IMG_20191215_123103.jpg

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

@Mech51 спасибо за ответ! К индикатору вопросов нет, всё работает(имена пинов совпадают с авторским вариантом скетча). Неработает енкодер при изменении имён пинов(при записи авторского варианта скетча и соответственного  подключения энкодер работает) Мне нужно изменить имена пинов, как это указано в куске скетча постом выше(так разведены дорожки в CNCshieldV4).После изменения имён пинов индикатор работает, энкодер - нет.Может подскажите куда рыть.Перекраивать плату CNCshield нехочу.

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

18 часов назад, хВедя сказал:

@Mech51 спасибо за ответ! К индикатору вопросов нет, всё работает(имена пинов совпадают с авторским вариантом скетча). Неработает енкодер при изменении имён пинов(при записи авторского варианта скетча и соответственного  подключения энкодер работает) Мне нужно изменить имена пинов, как это указано в куске скетча постом выше(так разведены дорожки в CNCshieldV4).После изменения имён пинов индикатор работает, энкодер - нет.Может подскажите куда рыть.Перекраивать плату CNCshield нехочу.

Перекраивать придется. Энкодер работает по прерываниям, а входы внешних прерываний - это второй и третий.

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

3 часа назад, NIKOLAI44 сказал:

Перекраивать придется. Энкодер работает по прерываниям, а входы внешних прерываний - это второй и третий.

@NIKOLAI44 спасибо! Видимо Вы правы- займусь переделкой платы!

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

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

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

Всем добрый день. Собрал сей станочек, чтобы перемотать катушку зажигания магнето BOSCH времен войны. Итог, намотал около 8000 витков проводом ПЭТВ-2 0,09 мм с межслойными изоляциями. В общем и целом хорошо, но при намотке тонким проводом, при переходе на следующий слой приходится корректировать угол намотки (сдвигать укладчик в противоположном укладке направлении), иначе в начале слоя витки перехлестываются. Это не очень удобно. Неплохо было бы сделать возможность позиционировать укладчик в паузе между слоями, или ввести угол намотки в меню автонамотки. Тормоз подающей катушки нужно делать серьезный. У меня была фетровая шайба с пружиной. По мере расходования провода меняется усилие натяжения, что не очень хорошо для тонкого провода. Пока все. Всем удачи и с приближающимся Новым Годом! Успехов, подарков и апельсинов с мандаринами! 

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

11 часов назад, NIKOLAI44 сказал:

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

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

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

10 часов назад, swma сказал:

луДший

Ню-ню... "Мизера парами ходят". Безграмотность = бестолковости в технике.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

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

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

 

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

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

сомневаетесь не пользуйтесь, "пьянка дело добровольное".

да и что в вашем понимании "профессиональный уровен" очень уж у вас не понятнтны й алгоритм определения имено этого критерия.

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

А чем пользоваться -то?

12 часов назад, swma сказал:

моторчик щетоный включеный в обратную сторону через шим

Где схема? Кроме общих фраз - ничего конкретного. Лишь бы ляпнуть что-нибудь.

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Релюхи не причём. При неисправности релюх симптомы были бы другие. И ИБП даже не клацает когда переходит в  "аварию".   Да. Аккум новый. Более того - 2 новых пробовал. И без АКБ тоже. Не влияет.
    • #include <Wire.h> #include <Oregon_TM.h> #include <BME280I2C.h> //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Скетч для устройства, передающего данные датчика BME280 в формате Oregon Scientific THGN132N //Принципиальная схема прилагается. //Для работы необходима библиотека https://github.com/finitespace/BME280/ //Устройство работает от 3-ех пальчиковых батареек, для экономии электричества заливать скетч нужно через ISP //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Также возможна передача данных в формате - THP (температура, влажность, давление, напряжение батареи) //Пример с приёмником поддерживает расшифоовку THP //////////////////////////////////////////////////////////////////////////////////////////////////////////// # define THGN_SEND 1 // Передавать ли данные в формате THGN132 # define THP_SEND 0 // Передавать ли данные в формате THP # define DEVICE_LOG 1 //Писать ли лог В Serial # define DONE_PIN 15 // вывод сигнала об окончании работы на таймер # define BME_WAIT 10 // Сколько мс ожидать датчик BME # define BATTERY_THR 3.5 // Порог напряжения для выставляения флага разряда батарейки (THGN) ///////////////////////////////////////////////////////////////////////////////////////////////// //Ниблы датчика THP //Во всех полях младшие ниблы идут вперёд!!! // 1-2 - тип (55) // 3 - канал (0-7) // 4-6 - (температура от -100С) * 10. Т.е. +25.1С = 1251 = 4E3h // 7-9 - Влажность *10 Т.е. 25.1% = 251 = 0FBh // 10-12 - (давление от 500ммртст) * 10. Т.е. 765мм = 2650 = A5Ah // 13-15 - данные с АЦП (A0) // 16-17 - CheckSUM // 18-19 - CRC8 (poly 0x07 start 0x00) ///////////////////////////////////////////////////////////////////////////////////////////////// Oregon_TM transmitter(4); BME280I2C bme; bool bme_present = false; float bme_temp(NAN), bme_hum(NAN), bme_pres(NAN); ///////////////////////////////////////////////////////////////////////////////////////////////// void setup() { digitalWrite(DONE_PIN, LOW); pinMode(DONE_PIN, OUTPUT); #ifdef DEVICE_LOG Serial.begin(115200); Serial.println("Waiting for BMEsensor..."); #endif //Обмен данными с BME////////////////////////////////// Wire.begin(); while(!bme.begin()) { if (millis() > BME_WAIT) break; } if (!bme.begin()) { #ifdef DEVICE_LOG Serial.println("No BME sensor found"); #endif bme_present = false; } else { switch(bme.chipModel()) { case BME280::ChipModel_BME280: bme_present = true; bme.read(bme_pres, bme_temp, bme_hum); #ifdef DEVICE_LOG Serial.println("Found BME280 sensor! Success."); Serial.print("Temperature = "); Serial.print(bme_temp, 1); Serial.println("C"); Serial.print("Humidity = "); Serial.print(bme_hum, 1); Serial.println("%"); Serial.print("Pressure = "); Serial.print(bme_pres * 0.75, 1); Serial.println("mmHg"); #endif break; default: #ifdef DEVICE_LOG Serial.println("Found UNKNOWN sensor! Error!"); #endif bme_present = false; } } //Напряжения батареи/////////////////////////////////////////// word battvotage = (word)(((float)(1.1 * 16368) / Vbg()) * 100); #ifdef DEVICE_LOG Serial.print("Battery voltage = "); Serial.println(battvotage,HEX); #endif //Подготовка и отправка данных THGN////////////////////////////////////// transmitter.protocol == 2; if (THGN_SEND) { transmitter.setType(THGN132); transmitter.setChannel(3); transmitter.setBatteryFlag(battvotage < BATTERY_THR); if (bme_present) { if (bme_hum > 98) bme_hum = 98; if (bme_hum < 2) bme_hum = 2; if (bme_temp > 70) bme_temp = 70; if (bme_temp < -50) bme_temp = -50; transmitter.setTemperature(bme_temp); transmitter.setHumidity(bme_hum); transmitter.setComfort(bme_temp, bme_hum); } else { transmitter.setTemperature(-49.9); transmitter.setHumidity(2); transmitter.setComfort(-49.9, 2); } transmitter.SendPacket(); } // Если отправляются оба формата пакетов, межу ними надо выдержать паузу if (THP_SEND && THGN_SEND) delay(100); //Подготовка и отправка данных THP////////////////////////////////////// if (THP_SEND) { transmitter.setType(THP); transmitter.setChannelTHP(1); transmitter.setBatteryTHP( battvotage); if (bme_present) { transmitter.setTemperatureTHP(bme_temp); transmitter.setHumidityTHP(bme_hum); transmitter.setPressureTHP(bme_pres * 0.75); // перевод Pa в mmHg } else { transmitter.setErrorTHP(); } transmitter.SendPacket(); } #ifdef DEVICE_LOG Serial.println(); Serial.print(millis()); Serial.println("ms"); Serial.println(); #endif //Команда на отключение питания digitalWrite(DONE_PIN, HIGH); } ///////////////////////////////////////////////////////////////////////////////////////////////// void loop(){} ///////////////////////////////////////////////////////////////////////////////////////////////// int Vbg() { ADMUX = (1<<REFS0)|(0<<REFS1)|(1<<MUX3)|(1<<MUX2)|(1<<MUX1)|(0<<MUX0); long buffersamp=0; for (int n=0x0; n<=0xff; n++ ) { ADCSRA = 0xc7; while (bit_is_set(ADCSRA,ADSC)); buffersamp += ADC; } buffersamp >>=4; //16368 full scale 14bit ADCSRA &= ~(1 << ADEN); // отключаем АЦП return buffersamp; } Вот код программы. Пробовал по разному и от 5в запитывал и всю систему от 3,3 в. Причем голая ардуинка с таймером работает в нормальном режиме некоторое время, но потом все равно слетает и начинает питать мк постоянно( Причем это происходит всегда через разный промежуток времени.
    • На фото может быть название , характеристики и т.д. И по этому фото я смогу выбрать такой же в инете.. самому мне не собрать..
    • А что даст фотка? Тот же щуп, только чуть крупнее и с проводами питания.
    • Для меня наверное лучше купить готовый.. цель повысить чувствительность до 1 mV.. Наверное на Авто стоит покупать , мне бы фотку какую нить..такого активного щупа..))
    • Так на схемах обозначается подключение к сети 220 В.
×
×
  • Создать...