ВОПРОС Токарный станок

  • Последнее редактирование:
Последнее редактирование:
Для моего станочка эта ошибка составляет ~0.6 мкм. Стоит ли овчинка выделки?
Это мелочи, по сравнению со станками которые режут дюймовую резьбу с пересчетом 128, вместо 127. И, да, простое округление несовпадения, таки вернет резец в русло, может и с отрицательным смещением, а упругости сгладят дискретности. Линейное перемещение с дискретной подачей, в принципе невозможно, обязательно будут девиации.
Кстати, у тебя энкодер, насколько помню 2000 LPR, если на прерывания направить учетверенное число, т. е. по каждому фронту и спаду обоих (A и B каналов) с помощью мелкосхемы LS79084, довольно неслабо получается 8000 прерываний на оборот шпинделя. А их уже и делить по шагу резьбы.
Да, поначалу, до применения этой мелкосхемы, и у меня не всегда отрабатывало правильно, были потери, как в том ролике.
 
Кстати, у тебя энкодер, насколько помню 2000 LPR, если на прерывания направить учетверенное число, т. е. по каждому фронту и спаду обоих (A и B каналов) с помощью мелкосхемы LS7984, довольно неслабо получается 8000 прерываний на оборот шпинделя. А их уже и делить по шагу резьбы.
Володь, это самообман, физического разрешения энкодера не улучшит. А вот качество работы в реальном времени может ухудшить. Из-за того, что потребуется доп. время на считывание второго канала энкодера. Да и разрешения 2000 больше чем достаточно для получения микронных точностей.
 
Из-за того, что потребуется доп. время на считывание второго канала энкодера.
О каком времени считывания ты говоришь? Ты хоть глянул, что это за мелкосхема? Она аппаратно читает не тратя никакое время два канала и на выходе дает STEP с единичной (только по фронту А или по фронтам и спадам А и В) и DIR.. А вот по STEP уже прерываемся, учитывая состояние DIR, и считаем реверсивно импульсы, и ни один не потеряем, всё будет учтено.
 

Вложения

  • LS7083N_LS7084N.pdf
    460.1 KB · Просмотры: 1
  • Последнее редактирование:
Последнее редактирование:
Что Вам хочу сказать друзья?
Любая система слежения основана на прерываниях.
Ну, а как за скоростью следить?
Просто -ds/dt.
Другое дело в вопросах о прерывании.
1- время реагирования на аппаратный запрос на прерывание.( да -наносекунды) ,но после окончания и исполнения текущей команды.
2. Сохранить в памяти\стеке все регистры участвующие в текущем прерывании.(на уровне асембрера- можно отследить.) на уровне Си и прочих- там всё в память и стек.
3. После завершения задачи прерывания- идёт восстановление регистров\стеков\памяти.
Вопрос ко всем?
На ЕСП 32 добивался максимум 50 кгц на прерываниях с минимумом булевой задачи.
Может где то ошибся?
 
Любая система слежения основана на прерываниях.
не согласен, Мы на STM32 следим за током и фазой(между током и напряжением) сигнала частотой 45-100 кГц без всяких прерываний. Хватает аппаратных средств МК.
 
не согласен, Мы на STM32 следим за током и фазой(между током и напряжением) сигнала частотой 45-100 кГц без всяких прерываний. Хватает аппаратных средств МК.
Про что это? По конкретней можно? Без прерываний синхронизировать шпиндель и винт малореально, там помимо счета и других функций хватает, а прерывания это в первую очередь как минимум двухзадачность с приоритетом, чтобы минимизировать потерю событий. Как организовать приоритетность по другому, мало представляю.
 
  • Последнее редактирование:
Последнее редактирование:
О каком времени считывания ты говоришь?
Об этом: "т. е. по каждому фронту и спаду обоих (A и B каналов)".

На А и В вешаются прерывания. Каждое прерывание идет с частотой 200Кгц. Затем считываешь с каждого из каналов состояние пина. У ЕСП время считывания пина ~ 500nc. Пришло прерывание на isr канала А. Ты проверяешь состояние пина. На проверку тратится время 500nc. Что будет делать МК, если за это время изменилось состояние пина канала В?
Ваши сообщения автоматически объединены:

Ссыдка закрытая, браузер не пропускает.
Там описаны результаты экспериментов с изменением конфигурации GPIO. Осциллограф показывает, что частота увеличилась до 3Мгц. На github есть коды.
Ваши сообщения автоматически объединены:

Без прерываний синхронизировать шпиндель и винт малореально
В принципе, можно. Задав приоритетность считываний программными задержками. Но эффективность такого подхода намного ниже, чем в случае аппаратных прерываний. А отличие эффективности двух методов можно наблюдать на практике при работе с пробником в Grbl. Где из-за программных прерываний происходит задержка в остановке движения пробника после касания детали.
 
Дядя Валера, у тебя датчик шпинделя один? Один оборот = 1 импульс, так?
 
Дядя Валера, у тебя датчик шпинделя один? Один оборот = 1 импульс, так?
У меня абсолютный энкодер. В котором два канала: абсолютный - 1 имп/об и высокого разрешения: 2000 имп/об
 
На А и В вешаются прерывания. Каждое прерывание идет с частотой 200Кгц. Затем считываешь с каждого из каналов состояние пина. У ЕСП время считывания пина ~ 500nc.
Получается, что 240МГц это фикция? Даже АТМега328 по прерываниям ложит на лопатки ESP32? Давай прикинем:
(3 000RPM÷60)×(1 200LPR×4) = 240 000 прерываний в секунду. Т. е. период чуть более 4 мкС, а это 66 тактов. Считает, однако!
Это у меня так, и подача едет без проблем, с резьбами несколько хуже, но там с пересчетом уже проблемы.
 
  • Последнее редактирование:
Последнее редактирование:
не согласен, Мы на STM32 следим за током и фазой(между током и напряжением) сигнала частотой 45-100 кГц без всяких прерываний. Хватает аппаратных средств МК.
Не совсем понятно.
Какое отношение имеет соотношение фаз и напряжения к прерываниям на STM32 ???
Ваши сообщения автоматически объединены:

Дефолтная частота - 200кгц. Можно повысить на порядок, но кто знает, как это скажется на стабильности в реальной работе...
А можно поделиться исходниками??? или аппаратной частью???+исходники???
Дело в том, что всё завязано на промышленных материнских платах.
Все ЦНС CNC основаны на них.
 
  • Последнее редактирование:
Последнее редактирование:
Получается, что 240МГц это фикция? Даже АТМега328 по прерываниям ложит на лопатки ESP32?
240МГц - это тактовая частота. Тогда как частота прерываний может быть назначена. Китайцы поставили дефолтную частоту 200Кгц. И в документации они об этом упоминают, говоря о 2-3us периоде.

Увеличить частоту прерываний можно, изменяя назначения GPIO. Что человек и сделал, разгнав до 3МГц. Но вот тут и возникает вопрос стабильности работы прерываний на таких частотах. Китайцы пишут, что isr для высокочастотных прерываний надо писать не на С, а на ассемблере. Ну а т.к. народ в основном пишет на С, китайцы подстраховались, ограничив дефолтную частоту.
Ваши сообщения автоматически объединены:

А можно поделиться исходниками???
Здесь есть пример назначений для повышения частоты прерываний.
Ваши сообщения автоматически объединены:

Это у меня так, и подача едет без проблем, с резьбами несколько хуже, но там с пересчетом уже проблемы.
Для правильной нарезки резьбы необходимо ускорение с последующей синхронизацией по трем параметрам: положения резца, угла шпинделя и скорости резца в начале резьбы. Что в условиях даже небольших девиаций скорости шпинделя требует неслабых вычислений с алгоритмами экстраполяции (не Брезенхем :) ).
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

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

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать