Страница 3 из 4
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 15 авг 2021, 00:40
tsipa740
Сергей Саныч писал(а): ↑14 авг 2021, 20:26
Чем измеряли сопротивление? Обычным мультиметром?
Угу. Секрет полишинеля раскрылся уже - там диод зенера стоит и мультиметр не в состоянии показать как он себя ведёт при 24вольтах. Выше ссылку кинули на тред релевантный. Сейчас к этому устройству у меня нет особых претензий, я _думаю_ что то что у меня на коробке несёт надпись HB860H на самом деле является HBS86H.
Сергей Саныч писал(а): ↑14 авг 2021, 20:26
Что, вот так прямо ноги МК на RJ12? Насколько помню, в HBS86H (не 860) на выходе TX были честные +-10В. То есть схему "слегка" упростили, выбросив приемопередатчик?
Да, напрямую. Не смотрел что там на HB860H, который скорее всего HBS86H т.к. мне кажется что это не приблизит меня к решению проблемы.
Я нашел одного джентльмена(Nikkon_KRPSC) с форума чипмейкер.ру, он говорил что успешно подключался к hbs860h используя распиновку 4-5-6 (что тождественно 3-4-5 т.к. 6 дублирует 3) используя софт с приветствием с футпринтом
Судя всему у него это реально работало и сейчас самый правдоподобный вывод это что я спалил драйвер. С другой стороны я на 100% уверен что я пробовал этот софт с распиновкой из доки(3-4-5) до того как начать странные эксперименты.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 15 авг 2021, 07:20
tsipa740
Написал вот такой скрипт
Код: Выделить всё
import serial
import copy
import sys
# 01 03 00 fd 00 01 15 fa
# 02 03 00 fd 00 01 15 c9
# 01 03 00 47 00 01 34 1f
# 01 03 00 7b 00 01 f4 13
# 02 03 00 7b 00 01 f4 20
# 03 03 00 7b 00 01 f5 f1
# (0x) 03 00 7b(xx) 00 01 f4(xx) 13(xx)
#pattern = [0, (0,3), 0, 3, 0, 0, 15, 13, 0, 0, 0, 1, 1, 5, 12, (5,10)]
pattern = [ 0, (0,15), 0, 3, 0, 0, (0,15), (0,15), 0, 0, 0, 1, (0,15), (0,15), (0,15), (0,15) ]
pattern.reverse()
s = serial.Serial('COM3', 38400, timeout=0.01)
def probe(current_state):
current_state.reverse()
h = ''.join([format(x, 'x') for x in current_state])
byts = bytes.fromhex((h))
print(h)
print(f"probing {byts}")
s.write(byts)
ret = s.read(8)
if ret:
print(f"WERKS: {current_state} ret: {ret}", current_state)
sys.exit(0)
#res = s.read()
def stack(state):
# import pdb; pdb.set_trace()
n = len(state)
if n == len(pattern):
probe(state)
return
current_state = copy.copy(state)
while n<len(pattern) and isinstance(pattern[n], int):
current_state.append(pattern[n])
n += 1
if n<len(pattern) and not isinstance(pattern[n], int):
# go deeper in the stack
for f in range(pattern[n][0],pattern[n][1]):
stack(current_state + [f])
else:
stack(current_state)
stack([])
и прогнал по HBS860H - без результата, волшебную последовательность байтов подобрать не получилось. На HB860H скрипт проверил, он работает и к нему последовательность подобрал.
Есть ещё очень жиденькая гипотеза что нужно кабель уменьшить, ато у меня пять метров почти, но чот я плохо верю в эту гипотезу, проверю только если ну совсем будет лишнее время.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 15 авг 2021, 10:10
Сергей Саныч
А с уровнями лог.0 и 1 пробовали разбираться? Может, этот драйвер принимает уровни RS232-TTL, которые инвертированы относительно стандарта?
Мне у разных адаптеров встречались такие варианты:
Код: Выделить всё
RS232(Станд.) RS232-TTL(1) RS232-TTL(2)
лог.0(В) +10 0 +5
лог.1(В) -10 +5 0
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 15 авг 2021, 11:37
tsipa740
Сергей Саныч писал(а): ↑15 авг 2021, 10:10
А с уровнями лог.0 и 1 пробовали разбираться? Может, этот драйвер принимает уровни RS232-TTL, которые инвертированы относительно стандарта?
Мне у разных адаптеров встречались такие варианты:
Код: Выделить всё
RS232(Станд.) RS232-TTL(1) RS232-TTL(2)
лог.0(В) +10 0 +5
лог.1(В) -10 +5 0
Я взял другой свисток - ттл вместо rs232 и оно заработало сходу из коробки. Итить я баран, даже лень что-то в своё оправдание придумывать. Большое спасибо что спасли кучу моего времени.
Для потомков - rj12 4-gnd; 5-tx; 6-rx.
Рабочий софт в аттаче, я поискал по форуму "ProTunerV135" и не нашел, походу все у китайцев спрашивают. В архиве в конфиге поменяна циферка чтобы он стал английским.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 21 авг 2021, 09:46
V1tamin
Похожая проблема которую не могу решить. Никак не связывается драйвер HB860H V1.0. какие только распиновки не пробовал, потом уже и вскрывал, прозванивал до микросхемы MAX232EC. Может и сжег ее не правильным подключением ранее. С драйверами HBS86H проблем с подключением не было.
tsipa740 писал(а):
Я взял другой свисток - ттл вместо rs232 и оно заработало сходу из коробки.
Кстати, изменения сохраняются в драйвере? Находил информацию что считать можно а изменить и сохранить нельзя на драйверах HBS860H
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 24 авг 2021, 13:11
tsipa740
V1tamin писал(а): ↑21 авг 2021, 09:46
Никак не связывается драйвер HB860H V1.0. какие только распиновки не пробовал, потом уже и вскрывал, прозванивал до микросхемы MAX232EC. Может и сжег ее не правильным подключением ранее. С драйверами HBS86H проблем с подключением не было.
Вот именно HB860H у меня работал со свистком rs232 с чипом FTDI, не ттл.
HBS860H работал именно с ттл, и не работал с rs232.
Кроме того, это я уже на гаражном комплюктере успел вступить в эту проблему, софт который именуется "ProTunerV135" идёт с батником который регистрирует библиотеку в винде. Я не знаю о чём там думали желтолицые программисты, но по задумке автора исполняемый файл этого протюнера вызывает батник, и если исполняемый файл запущен не из под администратора то он не может либу зарегестрировать и молча проглатывает ошибку.
Короче нужно хотябы раз запустить этот "ProTunerV135" из под администратора.
V1tamin писал(а): ↑21 авг 2021, 09:46
Кстати, изменения сохраняются в драйвере? Находил информацию что считать можно а изменить и сохранить нельзя на драйверах HBS860H
Да, но софт там это просто слёзы - ничего не работает. График ошибок позиционирования посмотреть нельзя и постоянно обсирается какими-то ошибками на китайском. Нужно постоянно открывать-закрывать т.к. в какой-то момент крутилки через этот софт перестают работать. Короче я такое устройство не рекомендую.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 24 авг 2021, 23:23
Сергей Саныч
V1tamin писал(а): ↑
прозванивал до микросхемы MAX232EC.
Насколько я понял, у tsipa740 никаких MAX232 не было. Если она есть, то должно работать по стандартному RS232. Если интерфейсный разъем подключен прямо к контактам МК, то TTL.
V1tamin писал(а): ↑
Может и сжег ее не правильным подключением ранее.
Спалить MAX232 неправильным подключением интерфейса достаточно трудно. А если не подавать на интерфейсные контакты напряжения выше +-12В, то практически невозможно. В отличие от МК.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 25 авг 2021, 00:11
tsipa740
На HB860H я не смотрел, но он работал с rs232, так что могу предположить что на HB860H она была. На HB
S860H точно небыло.
UPD: нашел фотку HB860H, там она видна
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 25 авг 2021, 20:06
V1tamin
Интересная фигня, на max232 питание в районе 4.5В, как только подключаю провод к переходнику usb-rs232 оно проседает до 3В, микра с таким напряжением работать не может. пробовал и внешнее питание 5В подавать, не помогает. Перепаивал max232, еще хуже стало. Видать где то кз. Что интересно у обоих драйверов схожие симптомы. В общем плюнул и заказал HBS86H..
Я бы и вообще не пытался подключать и настраивать, да вместо кругов эллипсы рисует.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 25 авг 2021, 21:49
tsipa740
V1tamin писал(а): ↑25 авг 2021, 20:06
вместо кругов эллипсы рисует.
Немного вопрос мимо кассы - а HBS86H у вас триггерит ошибку позиционирования если ось физически заблокировать или там скорость поставить первую космческую чтобы мотор гарантированно пропустил пару шагов?
Не искусственно через отключение энкодера а именно физически.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 25 авг 2021, 22:14
Сергей Саныч
Ошибку фиксирует, если она превышает заданное значение. Заводская установка, по-моему, 1000 переходов энкодера, т.е. четверть оборота. Реально работает, как при блокировке оси, так и при превышении скорости или ускорения.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 26 авг 2021, 21:11
V1tamin
Ошибку вывает при отставании на 1000 делений как выше написали, только это полный оборот. Или я чего не правильно понимаю. Помню пробовал ключем разводным проварачивать
Этот параметр настроить кстати можно чтоб на небольшое количество срабатывал, но слишком мало лучше не делать. Я ничего из этого не настраивал, и сигнал ошибки на e-stop не выводил, а было бы неплохо. Может кто и подскажет как это сделать? Как я понял на выходе аларма оптрон, и подключать его как концевик но с подтяжкой через резистор?
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 27 авг 2021, 08:00
nik1
Да,там оптрон
Если алм - подключить к минусу питания, то при сработке аларма на алм+ будет выдавать минус
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 27 авг 2021, 13:41
Сергей Саныч
V1tamin писал(а): ↑
Ошибку вывает при отставании на 1000 делений
1 оборот квадратурного энкодера на 1000 делений = 4000 переходов. По факту достаточно было рассогласования на четверть оборота. То есть 1000 - это именно переходов, а не делений.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 27 авг 2021, 13:48
Сергей Саныч
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 27 авг 2021, 16:15
V1tamin
Всем спасибо за ответ по подключению! Когда нибудь подключу)
В ближайшее время придут наборы сервошаговых двигателей 23го размера, могу на них глянуть при каком угле проворота ошибку выдадут.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 30 авг 2021, 11:22
tsipa740
Мне доехал последний драйвер, потерянный.
Я честно все драйвера заказывал HBS86H, но теперь у меня есть:
- HB860H
- HBS860H
- HBS86H
V1tamin писал(а): ↑
Как я понял на выходе аларма оптрон, и подключать его как концевик но с подтяжкой через резистор
Для HBS860H и HBS86H - да, они работают без дополнительных приседаний как открытый коллектор. С HB860H мне потребовался ещё токоограничивающий резистор на 7.1ком при 24в.
Сергей Саныч писал(а): ↑
Ошибку фиксирует, если она превышает заданное значение
V1tamin писал(а): ↑
Ошибку вывает при отставании на 1000 делений как выше написали
Окей, спасибо что подтвердили, как минимум есть смысл дальше ковыряться.
Суть проблемы:
Попытался проверить адекватно ли работает обратная связь от енкодера, выкрутил скорость вверх. Я ожидаю что при превышении скорости он начнёт шаги пропускать и стриггерится ошибка. Он действительно начинает как-то странно пропускать шаги, но если нормальный шаговый мотор просто запнётся и начнёт тупить то в данном случае я наблюдаю что он чуть крутится, просто очень медленно.
Я подключил приехавший HBS86H посмотрел на ошибки позиционирования, и их нет. Я крутанул его через моушен тест и он нормально раскручивается до 4000рпм, через мак его закусывает сильно раньше, в районе 1-2к.
Я немного в растерянности - выглядит так будто это мак делает что-то странное но я сомневаюсь что там есть опция "при достижении скорости X - начать делать дичь".
https://youtu.be/rXQhhOgEIuA
inb4 - я пробовал выключать енкодер физически - ошибка триггерится и всё работает как ожидается.
Пока идей нет, буду завтра дальше думать.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 30 авг 2021, 12:24
Сергей Саныч
Есть возможность посмотреть осциллографом, что генерит Mach в качестве Step?
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 31 авг 2021, 10:32
tsipa740
Я заставил мотор работать нормально и триггерить ошибку при превышении скорости. Я занизил количество степов до 3200(было 25600), он начал крутить нормально через мак и триггерить честную ошибку позиционирования, не похоже чтобы у него просто улучшились характеристики из-за большего микрошага, вообще не похоже что проблема механическая - момент у него и в случае медленного вращения и в случае стандартного соостветствует мотору, на глазок по крайней мере.
Первая теория - чип в контроллере мака не умеет генерировать степы так быстро и вместо того чтобы генерировать как умеет он падает в какой-то дебильный фолбек режим и генерирует их как-то странно а координаты считает нормально.
Сергей Саныч писал(а): ↑
Есть возможность посмотреть осциллографом, что генерит Mach в качестве Step?
Проверил эту теорию осциллоскопом, и не похоже чтобы были проблемы с тем как мак генерирует импульсы. И в рабочем состоянии:
и в состоянии когда уже начало тупить
мак генерирует что-то визуально адекватное. Думаю что теория не валидна.
Вторая теория - в мануале я нашел опцию:
Код: Выделить всё
Filtering Enable:
Enable or disable the pulse filter. Use 0 to disable and 1 to enable.
0–1
Код: Выделить всё
Filtering Time
Specify the filtering time the built-in digital filter. It will be used
when there is much electronic noise coupled into the pulse signal.
200 – 25600
я считаю что при определенном значении драйвер начинает принимать импульсы за шум и фильтровать их. К сожалению мне пришлось раскомутировать сопли от серийного порта и до выходных я врядли смогу эту теорию проверить.
Ах да, на HB
S860H даже с заниженным микрошагом и очевидным лимитом по скорости ошибка не триггерится. Я наверное отложу в сторону HBS860h т.к. с ним слишком много проблем и единственный инструмент диагностики это китайский ProTunerV135 с которым очень тяжело работать.
Re: HBS86H Hybrid Servo Drive Protuner
Добавлено: 31 авг 2021, 11:45
Сергей Саныч
tsipa740 писал(а): ↑
мак генерирует что-то визуально адекватное.
я бы не сказал, что на обеих осциллограммах что-то визуально адекватное. Что это за толстые белые полосы? Пачки импульсов с высокой частотой? Кстати, через какой контроллер подключаете драйвер к компьютеру?