enomad

Очередная токарная гитара

24 повідомлення у цій темі

Здравствуйте господа мастеровые.

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

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

гитару делаю на stm32f411, код пишу на Rust. считаю во fraction'ах

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

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

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

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

3

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Нихрена не понятно. Но очень интересно. 

2

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

А зачем энкодеры? Проще с линейками. Там все есть.

И реальное положение отслеживаем.

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

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

27 минут назад, ig3757 сказал:

А зачем энкодеры? Проще с линейками. Там все есть.

И реальное положение отслеживаем.

Весь смысл гитары это синхронизация положения шпинделя с винтом. какие линейки? :)

11 минуту назад, softm сказал:

Заюзать 328p и ее ... ненормальную и некрасивую ...

Речь про атмегу? А в чем преимущества? stm32 как то массовее, поддерживаеме и роднее. и на него есть поддержка Rust

12 минуты назад, softm сказал:

ИМХО - начальную позицию надо определить, а не хранить. А хранить так, на тот случай что ШД не сбивается никогда :) А когда уже сбился рекалибровка.

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

13 минуты назад, softm сказал:

ИМХО а зачем красоты? 2004 таки да, и он умеет помнить. И быстро передается (ну типа).

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

16 минут назад, softm сказал:

0,1% на сотку оборотов ... таки даст ответ.

Ошибки всеравно нужно менеджить, считать. а мне просто лень и я взял безошибочную арифметику :)


я не знаю, умеет ли гитара от Олега в многозаходные резьбы, но вот моя 3 нитки шаг 3

оказалось довольно красиво даже, не пришлось лимиты двигать

 

photo_2021-04-11_15-53-28.jpg

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
50 минут назад, softm сказал:

 

А затем что линейка стоит баблеца неслабо, и ее надо приделать, уметь еще чтобы и в ДРО и туда. И на нее сыпется ...

Делать так по нормальному, линейку поставить совсем не проблема, закрыть тоже. И в ДРО, и туда тоже не совсем сложно. Обороты относительно линейки вот и синхронизация, и подачи, и прочие плюшки. Почти ЧПУ. 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
10 минут назад, ig3757 сказал:

 Обороты относительно линейки вот и синхронизация, и подачи, и прочие плюшки. Почти ЧПУ. 

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

Змінено користувачем enomad
дописаль
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

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

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Ніколи не замислювався створювати гітару я окремий вузол.

Однак проводив деякі експерименти із комплектом - енкодер SICK DRS61 та сервоприводом Unidrive SP+ceрвомотор.

Цей енкодер дозволяє програмно змінювати кількість імпульсів на оберт від 1 до 8192.

Відповідно в Unidrive є вхід енкодера і можливість помножити і поділити отримані імпульси на цілі числа...

Задавав собі завдання прив'язати обертання сервомотора жорстко до обертів енкодера.

Відповідно був приємно вражений роботою комплекта - довільний кут повороту чітко відпрацьовувався сервомотором в обидві сторони.

Тому для електронної гітари ставив би енкодер із програмованою кількістю імпульсів, трошки математики для вибору правильної кількості імпульсів цього енкодера для конкретного завдання і приємні для мікроконтролера дільники 2 в степені n.

 

 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

@kratmel это все не нужно. 
то что вы описали делается на мк десятью строками кода. примерно вот так

loop{
let steps = encoder * ratio
stepper.do_steps(steps)
}

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

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

@softm я ничего не понял. Экран это необходимость или экран рождает необходимость? что за буфера? значений?

С вводом кстати довольно много боли. без нампада никак

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

@softm по какой прчине? ни одного довода я не услышал

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

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

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

@Dykonst это было бы невероятно круто, но это нужно делать https://loginov-rocks.medium.com/how-to-make-a-web-app-for-your-own-bluetooth-low-energy-device-arduino-2af8d16fdbe8

может даже вайфай был бы проще. не знаю. и через телефон.

а мк не особо напрягается, просто невероятно больно на мк делать клавиатуру, вывод, и все остальное...

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Удачи, всё что могу сказать :)

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

@enomad Еще посмотрите на Али так называемые смарт-дисплеи (Stone к примеру), очень существенно ускоряет разработку интерфейса!

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Времени нет совсем. Игрался я с s-curve для движения назад и наконецто вмержил код в саму гитару. вот так это происходит

 

 

1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

photo_2021-05-06_03-14-12.jpg

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

вот такой экранчик будет

photo_2021-05-24_01-08-16.jpg

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
В 19.04.2021 в 15:56, enomad сказал:

Второй самый больной вопрос это как откатывать шаговик в начальную позицию.

Ну чисто как вариант: https://www.cnc-club.ru/forum/viewtopic.php?f=41&t=27212

 

 

Змінено користувачем BlackBeard
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
11 час назад, BlackBeard сказал:

Ну чисто как вариант: https://www.cnc-club.ru/forum/viewtopic.php?f=41&t=27212

 

 

Это вообще не о том. У меня была проблема с тем что движение назад - оно "чпушное", т.е. его нужно моделировать, мы не можем просто подать пару тыщ step-импульсов и все.

собственно эта проблема уже решилась, и в отличии от гитары от олега решилась элитнее )

1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

кажется я понял. надо было просто попиарить свою темку запиливания в энкодер z )

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

 

 

1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Створіть акаунт або увійдіть для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!


Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.


Увійти зараз

  • Зараз на сторінці   0 користувачів

    Немає користувачів, які переглядають цю сторінку