маленький долгострой

Фрезерные и гравировальные станки для обработки мягких материалов (дерево, пластики, мягкие металлы).
Аватара пользователя
crazydnb
Опытный
Сообщения: 164
Зарегистрирован: 01 май 2013, 16:59
Репутация: 100
Настоящее имя: Александр Гончаров
Откуда: Питер
Контактная информация:

Re: маленький долгострой

Сообщение crazydnb »

по моему так и должно быть, когда питания нет двигатель можно крутить плавно на один шаг, при прокрутки включенных двигателях они перескакивают на несколько шагов. нужно двигатели к драйверам подключить и покрутить их программно. имхо. а энкодеры могут направление определять ? может происходит типа "дребезг контактов" свет оптопары попадает на край диска и при попытке покрутить рукой туда сюда ловит импульсы не перескочив при этом на другой шаг.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: маленький долгострой

Сообщение Nick »

С какой скоростью работает считывание энкодера?
Двигатель может достаточно быстро перескакивать с одного шага на другой и контроллер может не успевать считать все импульсы. Плюс проверить на дребезг.
Аватара пользователя
AlexNikov
Мастер
Сообщения: 1212
Зарегистрирован: 05 янв 2014, 20:09
Репутация: 721
Настоящее имя: Алексей
Откуда: Томск
Контактная информация:

Re: маленький долгострой

Сообщение AlexNikov »

gedrolium, доброго дня! Подскажите, а что за насос у вас гоняет охлаждалку к шпинделю?
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

Nick писал(а):С какой скоростью работает считывание энкодера?
Двигатель может достаточно быстро перескакивать с одного шага на другой и контроллер может не успевать считать все импульсы. Плюс проверить на дребезг.
тактовая частота контроллера на 5v 20 МГц или 20 миллионов команд в секунду. Количество строк в в программе 154, соответственно 154 команды, некоторые из них выполняются за 2 такта. Мне неохота разбирать сейчас какие именно поэтому я просто умножу 154 на 2 = 308 команд требуется на один опрос. То есть 308 команд требуется для того чтобы считать один импульс с каждого энкодера, записать в счетчики, сравнить счетчик импульсов.
20 000 000 /308=64 935 опросов совершает за 1 секунду, вот только не помню выключал я стандартный делитель на 8 при прошивке или нет, контроллер с программирован еще в мае, по этому 64 935/8=8 116 опросов в секунду. или 486 960 опросов в минуту.
В энкодере 183 дырочки, контроллер считывает в lдва раза больше т.е за один оборот выдает 366 импульсов.
частота вращения двигателя при 2 метрах минуту составляет 400 оборотв в минуту (2000 мм / на 5 мм шаг винта). Что дает нам 366 на 400 = 146 400 выдает импульсов энкодер. Итого троекратный запас опросов контроллера.
Последний раз редактировалось gedrolium 28 окт 2014, 13:38, всего редактировалось 3 раза.
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

AlexNikov писал(а):gedrolium, доброго дня! Подскажите, а что за насос у вас гоняет охлаждалку к шпинделю?
Обычный циркуляционный насос, которые ставят в системах отопления
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

crazydnb писал(а):по моему так и должно быть, когда питания нет двигатель можно крутить плавно на один шаг, при прокрутки включенных двигателях они перескакивают на несколько шагов. нужно двигатели к драйверам подключить и покрутить их программно. имхо. а энкодеры могут направление определять ? может происходит типа "дребезг контактов" свет оптопары попадает на край диска и при попытке покрутить рукой туда сюда ловит импульсы не перескочив при этом на другой шаг.
нет энкодеры направление определят не могут. Двигатели крутил программно на очень медленных оборотах. Кстати на один из ШД ток удержания поставил маленький поэтому он достаточно легко крутиться, на другой поставил стандартный, прокрутить на шаг нельзя, а вот чуть сдвинуть в полне удается. Вообще по хорошему надо глянуть на сам сигнал, нужен осциллограф
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: маленький долгострой

Сообщение Serg »

gedrolium писал(а):тактовая частота контроллера на 5v 20 МГц или 20 миллионов команд в секунду.
20 МГц - это частота кварца. А тактовая частота МК обычно четверть от частоты кварца...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

UAVpilot писал(а):
gedrolium писал(а):тактовая частота контроллера на 5v 20 МГц или 20 миллионов команд в секунду.
20 МГц - это частота кварца. А тактовая частота МК обычно четверть от частоты кварца...
У этого контроллера внутренний генератор, что если честно не очень хорошо. Скорость работы которого зависит от напряжения, делитель по умолчанию стоит 8. В любом случае его можно заставить работать на такой частоте. сейчас же идут какие то помехи, от которых работает не так как задумано даже на нескольких импульсов.
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: маленький долгострой

Сообщение solanto »

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

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

Нашел в чем была проблема, точнее сказать проблема была не одна. Все что было предложено выше форумчанами оказалось рядом, но не совсем. Было предположение, что модуль срабатывает не правильно из-за перескакивания через несколько отверстий, оно отчасти оказалось верным. Выяснилось, что при включенном двигателе, когда крутишь на один шаг, и правду перескакивает несколько положений диска, однако модуль срабатывал даже при смене одного положения. Включенный двигатель создает неплохие наводки, и им чихать, что датчик оптический. При смене положения, там не один импульс проскакивал, а несколько, что и приводило к сбою. Кстати заземление, ферритовые кольца не помогли, вопрос решился фильтром низких частот, ну а чтобы отсеять прочий хлам, и сделать импульсы более правильными, и убрать случайные дребезги поставил тригер Шмитта. Предполагалось, что при высоких оборотах будут проблемы, проблемы были на небольших меняющихся оборотах, как раз в районе резонансов. Также пришлось увеличить порог срабатывания до 30 импульсов, ибо на некоторых режимах появляются не нужные импульсы от датчиков, а также припаял эти датчики. При помощи пустой кружки с ложкой, отстроил чтобы двигатели работали ровно и плавно, а главное одинаково. Прогнал, несколько программ, сбоев нет, что вообщем, то радует особенно после 4 суток опытов и мозгового штурма.
https://www.youtube.com/watch?v=594-Ef_N_4M
Вложения
CIMG1747.JPG (2752 просмотра) <a class='original' href='./download/file.php?id=35998&mode=view' target=_blank>Загрузить оригинал (1.67 МБ)</a>
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

Каким образом сделать так, чтобы управляющая программа выполнялась только после того, как шпиндель раскрутился до нужных оборотов? То есть после подачи сигнала готовности от шпинделя на один из входов lpt
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: маленький долгострой

Сообщение Сергей Саныч »

gedrolium писал(а):Каким образом сделать так, чтобы управляющая программа выполнялась только после того, как шпиндель раскрутился до нужных оборотов? То есть после подачи сигнала готовности от шпинделя на один из входов lpt
Нужно подключить этот сигнал на motion.spindle-at-speed
http://linuxcnc.org/docs/html/man/man9/motion.9.html
Чудес не бывает. Бывают фокусы.
Аватара пользователя
nERV
Мастер
Сообщения: 1519
Зарегистрирован: 27 сен 2013, 19:00
Репутация: 624
Настоящее имя: Александр
Откуда: Ульяновск
Контактная информация:

Re: маленький долгострой

Сообщение nERV »

Я просто использую задержку.
M3 s12000
G4 p7
G1......
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: маленький долгострой

Сообщение Сергей Саныч »

nERV писал(а):Я просто использую задержку.
Можно. Но так неинтересно :)
Тем более, когда есть нужный сигнал. Тут смысл еще в чем. motion.spindle-at-speed не тормозит холостые перемещения (G0), и когда шпиндель раскручивается, он может двигаться к месту обработки

M3 s12000 (начали разгон)
G0 X100. Y200. (мы едем, а шпиндель раскручивается)
G0 Z0.5 (приближаемся к заготовке, шпиндель продолжает разгоняться)
G1...... (а вот перед этой командой подождем,если еще не набрал обороты)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
nERV
Мастер
Сообщения: 1519
Зарегистрирован: 27 сен 2013, 19:00
Репутация: 624
Настоящее имя: Александр
Откуда: Ульяновск
Контактная информация:

Re: маленький долгострой

Сообщение nERV »

Да, но время разгона шпинделя фиксированное и забивается в частотнике. А вот входных пинов в лпт не так много. Лучше завести ошибку шпинделя/аварию.
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

Война с инвертором все продолжается, пин я вывел все работает. Теперь наткнулся на другую проблему, пытался подключить частотник через modbus, по этой статье http://www.cnc-club.ru/forum/viewtopic. ... 540#p27540, однако из этого мало что вышло, ибо аппарат скорее всего имеет собственный набор команд. Данных по командам нет, как их искать на что ссылаться, не знаю. Единственное что удалось сделать, это найти под "форточки" прогу которая может рулить частотником через modbus. Благодаря ей и сниферу удалось узнать байты команд для управления частотой шпинделя и остановки, с командами от частоника пока сложнее. Так вот у меня есть несколько идей как это использовать
1. прописать байты в файлы из поста указанного выше, но куда их там лепить ума не приложу...
2. подключаться через PLC, тут я вообще как свинья в апельсинах...
3. брать данные по командам S1500 M03 и при помощи самопальной проги отправлять их на ком порт. ну а от частотника ждать команду готовности, но тут я не знаю как считать эти команды....

байты которые уходят на частотник от
01 10 20 00 00 02 04 00 12 00 64 CB 80
до
01 10 20 00 00 02 04 00 12 9C 40 A2 9B
жирным выделены те байты которые несут информацию по частоте, мало того данные должны периодически отправляться, если частотник периодически не получает команду, он останавливает шпиндель и ждет дальнейших указаний.

пока идей больше нет.
частотник easydrive 3100

заранее спасибо.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: маленький долгострой

Сообщение Nick »

А в частотнике нет управления по 0..10В? Может через него проще будет?
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

Nick писал(а):А в частотнике нет управления по 0..10В? Может через него проще будет?
есть , даже по току упрваление имеется, но у меня конвертора нет
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: маленький долгострой

Сообщение Сергей Саныч »

Nick писал(а):А в частотнике нет управления по 0..10В? Может через него проще будет?
Да как-то не по феншую :)
Особенно, если учесть, что modbus уже подключен и где-то даже работает. Остается только узнать систему команд и переписать софт.
Чудес не бывает. Бывают фокусы.
gedrolium
Кандидат
Сообщения: 59
Зарегистрирован: 18 янв 2014, 20:07
Репутация: 16
Контактная информация:

Re: маленький долгострой

Сообщение gedrolium »

не получается перебросить данные в python для обработки
в hal пропысываю строчки

loadusr -Wn test python test.py
net in <= motion.spindle-speed-out-rps

в самом пользовательском компоненте

Код: Выделить всё

#!/usr/bin/python
import hal, time
file = open("/home/usercnc/linuxcnc/configs/cnc/speed.txt", 'w')
h = hal.component("test")
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
#h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT)
h.ready()
try:
    while 1:
        time.sleep(1)
        z= h['in']
        write(z)
except KeyboardInterrupt:
    raise SystemExit
т.е по идее частоты шпинделя дожны сохранятся в файле speed. txt
однако там пусто
Ответить

Вернуться в «Фрезерные станки по дереву и пластикам, гравировальные станки, роутеры»