HBS86H Hybrid Servo Drive Protuner

Контроллеры, драйверы, датчики, управляющие устройства.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение 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) используя софт с приветствием с футпринтом

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

01 03 00 7b 00 01 f4 13
Судя всему у него это реально работало и сейчас самый правдоподобный вывод это что я спалил драйвер. С другой стороны я на 100% уверен что я пробовал этот софт с распиновкой из доки(3-4-5) до того как начать странные эксперименты.
Последний раз редактировалось tsipa740 15 авг 2021, 12:15, всего редактировалось 1 раз.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение 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 скрипт проверил, он работает и к нему последовательность подобрал.

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

Re: HBS86H Hybrid Servo Drive Protuner

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

А с уровнями лог.0 и 1 пробовали разбираться? Может, этот драйвер принимает уровни RS232-TTL, которые инвертированы относительно стандарта?
Мне у разных адаптеров встречались такие варианты:

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

            RS232(Станд.)  RS232-TTL(1) RS232-TTL(2) 
лог.0(В)     +10              0            +5
лог.1(В)     -10             +5             0

Чудес не бывает. Бывают фокусы.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение 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" и не нашел, походу все у китайцев спрашивают. В архиве в конфиге поменяна циферка чтобы он стал английским.
Вложения
ProTunerV135.rar
(275.23 КБ) 414 скачиваний
V1tamin
Кандидат
Сообщения: 50
Зарегистрирован: 29 июл 2019, 20:53
Репутация: 11
Настоящее имя: Виталий
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение V1tamin »

Похожая проблема которую не могу решить. Никак не связывается драйвер HB860H V1.0. какие только распиновки не пробовал, потом уже и вскрывал, прозванивал до микросхемы MAX232EC. Может и сжег ее не правильным подключением ранее. С драйверами HBS86H проблем с подключением не было.
tsipa740 писал(а): Я взял другой свисток - ттл вместо rs232 и оно заработало сходу из коробки.
Кстати, изменения сохраняются в драйвере? Находил информацию что считать можно а изменить и сохранить нельзя на драйверах HBS860H
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение tsipa740 »

V1tamin писал(а): 21 авг 2021, 09:46 Никак не связывается драйвер HB860H V1.0. какие только распиновки не пробовал, потом уже и вскрывал, прозванивал до микросхемы MAX232EC. Может и сжег ее не правильным подключением ранее. С драйверами HBS86H проблем с подключением не было.
Вот именно HB860H у меня работал со свистком rs232 с чипом FTDI, не ттл.
HBS860H работал именно с ттл, и не работал с rs232.

Кроме того, это я уже на гаражном комплюктере успел вступить в эту проблему, софт который именуется "ProTunerV135" идёт с батником который регистрирует библиотеку в винде. Я не знаю о чём там думали желтолицые программисты, но по задумке автора исполняемый файл этого протюнера вызывает батник, и если исполняемый файл запущен не из под администратора то он не может либу зарегестрировать и молча проглатывает ошибку.
Короче нужно хотябы раз запустить этот "ProTunerV135" из под администратора.
V1tamin писал(а): 21 авг 2021, 09:46 Кстати, изменения сохраняются в драйвере? Находил информацию что считать можно а изменить и сохранить нельзя на драйверах HBS860H
Да, но софт там это просто слёзы - ничего не работает. График ошибок позиционирования посмотреть нельзя и постоянно обсирается какими-то ошибками на китайском. Нужно постоянно открывать-закрывать т.к. в какой-то момент крутилки через этот софт перестают работать. Короче я такое устройство не рекомендую.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

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

V1tamin писал(а): прозванивал до микросхемы MAX232EC.
Насколько я понял, у tsipa740 никаких MAX232 не было. Если она есть, то должно работать по стандартному RS232. Если интерфейсный разъем подключен прямо к контактам МК, то TTL.
V1tamin писал(а): Может и сжег ее не правильным подключением ранее.
Спалить MAX232 неправильным подключением интерфейса достаточно трудно. А если не подавать на интерфейсные контакты напряжения выше +-12В, то практически невозможно. В отличие от МК.
Чудес не бывает. Бывают фокусы.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение tsipa740 »

Сергей Саныч писал(а): никаких MAX232 не было
На HB860H я не смотрел, но он работал с rs232, так что могу предположить что на HB860H она была. На HBS860H точно небыло.
UPD: нашел фотку HB860H, там она видна
Вложения
1627954969192931463.jpg (3697 просмотров) <a class='original' href='./download/file.php?id=197602&sid=31868c25fed29f00777ffbe8c7f3c0a4&mode=view' target=_blank>Загрузить оригинал (893.28 КБ)</a>
V1tamin
Кандидат
Сообщения: 50
Зарегистрирован: 29 июл 2019, 20:53
Репутация: 11
Настоящее имя: Виталий
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение V1tamin »

Интересная фигня, на max232 питание в районе 4.5В, как только подключаю провод к переходнику usb-rs232 оно проседает до 3В, микра с таким напряжением работать не может. пробовал и внешнее питание 5В подавать, не помогает. Перепаивал max232, еще хуже стало. Видать где то кз. Что интересно у обоих драйверов схожие симптомы. В общем плюнул и заказал HBS86H..
Я бы и вообще не пытался подключать и настраивать, да вместо кругов эллипсы рисует.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение tsipa740 »

V1tamin писал(а): 25 авг 2021, 20:06 вместо кругов эллипсы рисует.
Немного вопрос мимо кассы - а HBS86H у вас триггерит ошибку позиционирования если ось физически заблокировать или там скорость поставить первую космческую чтобы мотор гарантированно пропустил пару шагов?
Не искусственно через отключение энкодера а именно физически.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

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

Ошибку фиксирует, если она превышает заданное значение. Заводская установка, по-моему, 1000 переходов энкодера, т.е. четверть оборота. Реально работает, как при блокировке оси, так и при превышении скорости или ускорения.
Чудес не бывает. Бывают фокусы.
V1tamin
Кандидат
Сообщения: 50
Зарегистрирован: 29 июл 2019, 20:53
Репутация: 11
Настоящее имя: Виталий
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение V1tamin »

Ошибку вывает при отставании на 1000 делений как выше написали, только это полный оборот. Или я чего не правильно понимаю. Помню пробовал ключем разводным проварачивать :twisted:
Этот параметр настроить кстати можно чтоб на небольшое количество срабатывал, но слишком мало лучше не делать. Я ничего из этого не настраивал, и сигнал ошибки на e-stop не выводил, а было бы неплохо. Может кто и подскажет как это сделать? Как я понял на выходе аларма оптрон, и подключать его как концевик но с подтяжкой через резистор?
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3628
Откуда: Красногорск
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение nik1 »

Да,там оптрон
Если алм - подключить к минусу питания, то при сработке аларма на алм+ будет выдавать минус
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

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

V1tamin писал(а): Ошибку вывает при отставании на 1000 делений
1 оборот квадратурного энкодера на 1000 делений = 4000 переходов. По факту достаточно было рассогласования на четверть оборота. То есть 1000 - это именно переходов, а не делений.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

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

V1tamin писал(а): Может кто и подскажет как это сделать?
viewtopic.php?f=152&t=19056&p=615550&hilit=#p615550
Чудес не бывает. Бывают фокусы.
V1tamin
Кандидат
Сообщения: 50
Зарегистрирован: 29 июл 2019, 20:53
Репутация: 11
Настоящее имя: Виталий
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение V1tamin »

Всем спасибо за ответ по подключению! Когда нибудь подключу)
В ближайшее время придут наборы сервошаговых двигателей 23го размера, могу на них глянуть при каком угле проворота ошибку выдадут.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение tsipa740 »

Мне доехал последний драйвер, потерянный.

Я честно все драйвера заказывал HBS86H, но теперь у меня есть:
- HB860H
- HBS860H
- HBS86H
V1tamin писал(а): Как я понял на выходе аларма оптрон, и подключать его как концевик но с подтяжкой через резистор
Для HBS860H и HBS86H - да, они работают без дополнительных приседаний как открытый коллектор. С HB860H мне потребовался ещё токоограничивающий резистор на 7.1ком при 24в.
Сергей Саныч писал(а): Ошибку фиксирует, если она превышает заданное значение
V1tamin писал(а): Ошибку вывает при отставании на 1000 делений как выше написали
Окей, спасибо что подтвердили, как минимум есть смысл дальше ковыряться.
Суть проблемы:
Попытался проверить адекватно ли работает обратная связь от енкодера, выкрутил скорость вверх. Я ожидаю что при превышении скорости он начнёт шаги пропускать и стриггерится ошибка. Он действительно начинает как-то странно пропускать шаги, но если нормальный шаговый мотор просто запнётся и начнёт тупить то в данном случае я наблюдаю что он чуть крутится, просто очень медленно.

Я подключил приехавший HBS86H посмотрел на ошибки позиционирования, и их нет. Я крутанул его через моушен тест и он нормально раскручивается до 4000рпм, через мак его закусывает сильно раньше, в районе 1-2к.
Я немного в растерянности - выглядит так будто это мак делает что-то странное но я сомневаюсь что там есть опция "при достижении скорости X - начать делать дичь".
https://youtu.be/rXQhhOgEIuA
inb4 - я пробовал выключать енкодер физически - ошибка триггерится и всё работает как ожидается.
Пока идей нет, буду завтра дальше думать.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

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

Есть возможность посмотреть осциллографом, что генерит Mach в качестве Step?
Чудес не бывает. Бывают фокусы.
tsipa740
Опытный
Сообщения: 162
Зарегистрирован: 16 июн 2020, 00:09
Репутация: 13
Настоящее имя: Sergei
Контактная информация:

Re: HBS86H Hybrid Servo Drive Protuner

Сообщение tsipa740 »

Я заставил мотор работать нормально и триггерить ошибку при превышении скорости. Я занизил количество степов до 3200(было 25600), он начал крутить нормально через мак и триггерить честную ошибку позиционирования, не похоже чтобы у него просто улучшились характеристики из-за большего микрошага, вообще не похоже что проблема механическая - момент у него и в случае медленного вращения и в случае стандартного соостветствует мотору, на глазок по крайней мере.

Первая теория - чип в контроллере мака не умеет генерировать степы так быстро и вместо того чтобы генерировать как умеет он падает в какой-то дебильный фолбек режим и генерирует их как-то странно а координаты считает нормально.
Сергей Саныч писал(а): Есть возможность посмотреть осциллографом, что генерит Mach в качестве Step?
Проверил эту теорию осциллоскопом, и не похоже чтобы были проблемы с тем как мак генерирует импульсы. И в рабочем состоянии:
still_works.png (3488 просмотров) <a class='original' href='./download/file.php?id=197731&sid=31868c25fed29f00777ffbe8c7f3c0a4&mode=view' target=_blank>Загрузить оригинал (302.84 КБ)</a>
и в состоянии когда уже начало тупить
broken.png (3488 просмотров) <a class='original' href='./download/file.php?id=197729&sid=31868c25fed29f00777ffbe8c7f3c0a4&mode=view' target=_blank>Загрузить оригинал (338.64 КБ)</a>
мак генерирует что-то визуально адекватное. Думаю что теория не валидна.

Вторая теория - в мануале я нашел опцию:

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

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
я считаю что при определенном значении драйвер начинает принимать импульсы за шум и фильтровать их. К сожалению мне пришлось раскомутировать сопли от серийного порта и до выходных я врядли смогу эту теорию проверить.

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

Re: HBS86H Hybrid Servo Drive Protuner

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

tsipa740 писал(а): мак генерирует что-то визуально адекватное.
я бы не сказал, что на обеих осциллограммах что-то визуально адекватное. Что это за толстые белые полосы? Пачки импульсов с высокой частотой? Кстати, через какой контроллер подключаете драйвер к компьютеру?
Чудес не бывает. Бывают фокусы.
Ответить

Вернуться в «Электроника»