logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM?

Karol_N. 02 Lut 2017 19:28 2175 14
REKLAMA
  • #1 16248220
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    Witam.
    Posiadam enkoder 17 bitowy zamontowany w silniku z magnesami trwałymi (widoczny na zdjęciu). Chciałbym połączyć enkoder z mikroprocesorem ARM. Szukałem informacji na temat podłączenia, niestety nie udało mi się znaleźć nic przydatnego. Informację jakie znalazłem:
    - enkoder 17bit/turn
    - Serial Comunication Type(NRZ)
    - układ SP485EE (RS485)
    - układ AU5798N2
    Proszę o pomoc w jaki sposób podłączyć enkoder z układem sterującym.
    Enkodera chciałbym użyć do określenia pozycji wirnika oraz jako czujnika prędkości.

    Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM?
  • REKLAMA
  • #2 16250580
    Zgoodie
    Poziom 26  
    Posty: 637
    Pomógł: 83
    Ocena: 80
    jakie dokładnie ten silnik ma oznaczenie?
  • #3 16252150
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    Enkoder znajduję się w siniku firmy ABB. Model silnika: BSM0400CN00. Jest to niewielki silnik serwo o mocy 400W.
    Chciałabym dodać też, że:
    -podłączyłem enkoder do źródła zasilania oraz do komputera wykorzystując konwerter USB - RS485. Niestety nie dostałem "informacji" z enkodera. Korzystałem z programu arduino (podgląd portu szeregowego) oraz z programu "terminal". Sygnał zwrotny w postaci "krzaków" był jedynie w przypadku braku podłączonego zasilania do enkodera.
  • #4 16252251
    Zgoodie
    Poziom 26  
    Posty: 637
    Pomógł: 83
    Ocena: 80
    Czy podłacza kolega to tak:(numery pinow od wtyczki enkodera)
    7- +5V
    8- 0V
    4 - +485
    5 - -485
    3- GND
    ??
  • #5 16252404
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    Tak. Dokładnie tak podłączam.
  • REKLAMA
  • #6 16254717
    Zgoodie
    Poziom 26  
    Posty: 637
    Pomógł: 83
    Ocena: 80
    Przydałoby się sprawdzić oscyloskopem co na tych liniach sie znajduje jak podłączysz zasilanie i zaczniesz kręcić wałkiem silnika np ręcznie
  • REKLAMA
  • #7 16256908
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    Podłączyłem oscyloskop do przewodów A oraz B (RS485) (oraz oczywiście zasilanie). Podczas obrotu wału enkodera nie obserwuję żadnych zmian sygnału. (sygnały pozostają na tym samym poziomie - zdjęcie).
    W przypadku gdy przesyłam dane z komputera, za pomocą przejściówki USB-RS485 sygnał zmienia się w zależności od wysyłanych danych (zdjęcie).
    Moim zdaniem należy wysłać do enkodera odpowiedni komunikat, tak aby zwrócił dane. Pozostaje pytanie: W jaki sposób tego dokonać?
    Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM? Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM?
  • #8 16257052
    krzysiek_krm
    Poziom 40  
    Posty: 4612
    Pomógł: 716
    Ocena: 599
    Witam,
    na Twoim miejscu nawiązałbym kontakt z producentem:
    http://www.tamagawa-seiki.co.jp/english/
    napisał otwartym tekstem o co chodzi, ewentualnie dołączył zdjęcia i poprosił o przysłanie stosownej dokumentacji, moim zdaniem są duże szanse na sukces.

    Kombinowanie bez jakiejkolwiek dokumentacji to trochę zgaduj - zgadula.

    Pozdrawiam

    Dodano po 3 [minuty]:

    Ewentualnie zrezygnuj z całej tej elektroniki i zaprojektuj własny układ używający natywnych sygnałów enkodera, tam raczej powinny być "zwyczajne" impulsy.
  • REKLAMA
  • #9 16257423
    Zgoodie
    Poziom 26  
    Posty: 637
    Pomógł: 83
    Ocena: 80
    jesli tam jest jakakolwiek komunikacja oparta o rejestry czyli odczytywanie adresow z enkodera to faktycznie potrzebna dokumentacja. Bardziej stawiam ze enkoder jest uszkodzony
  • #10 16257871
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    Enkoder jest raczej sprawny. Posiadam dwie sztuki takich silników i na obu modułach jest to samo.
    Myślę jeszcze o sprawdzeniu sygnałów, które trafiają na mikroprocesor, czyli to co jest bezpośrednio wysyłane z układów odczytujących pozycję. Problem w tym, że są to niewielkie układy.
  • #11 16257911
    Zgoodie
    Poziom 26  
    Posty: 637
    Pomógł: 83
    Ocena: 80
    to zamiast sprawdzać układy może lepiej podłączyć oryginalny drive i przesnifować co się dzieje na liniach. tzn jakie komendy wystawia drive
  • #12 16257922
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    To może być dobre rozwiązanie, tyle że nie posiadam serwowzmacniaczy dedykowanych do tego typu silników.
  • #13 16257934
    Zgoodie
    Poziom 26  
    Posty: 637
    Pomógł: 83
    Ocena: 80
    moze ktos na forum zestawi taki układ i poda zrzuty. tylko jak wychwycic czy komunikat byl "z" czy "do" drive :). chyba jednak bez protokolu sie nie obejdzie. Patrz post Krzysiek_krm
  • #14 16282835
    Karol_N.
    Poziom 8  
    Posty: 9
    Ocena: 1
    Napisałem maila do firmy. Niestety narazie nie dostałem żadnej informacji zwrotnej.
    Znalazłem kilka ciekawych zdjęć, które może naprowadzą na udzielenie pomocy w sprawie komunikacji z enkoderem.
    Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM? Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM? Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM? Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM?
    Oraz informacje na temat mikrokontrolera (AU5688N1 - w enkoderze jest AU5798N2)
    Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM? Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM? Jak podłączyć enkoder 17-bitowy ABB do mikroprocesora ARM?
  • #15 21826109
    kb2

    Poziom 12  
    Posty: 6
    Pomógł: 1
    Ocena: 1
    Enkodery Tamagawa mają swój własny protokół transmisji: 2,5 Mbit/s, asynchroniczny, ścisłe ramy czasowe - Arduino nie da rady. Fizycznie to RS-485, polecam układ TMC8100 firmy Analog Devices, to uniwersalny interfejs do enkoderów (SSI, BiSS, EnDat i inne). Ramki transmisji tworzy się na podstawie opisu protokołu. Na stronie producenta jest przykład do Tamagawy. Ja na tym układzie zbudowałem, uruchomiłem i przetestowałem interfejs do komunikacji z enkoderem po protokole T-Format firmy Tamagawa (nie znalazłem w PL firmy podejmującej się zaprogramowania Tamagawy, stąd potrzeba budowy własnego interfejsu).
    Powstał uniwersalny interfejs szeregowy do enkoderów (i nie tylko) absolutnych i ABZ, SSI, BiSS, EnDat, T-format (SmartAbs).
    Enkodery Tamagawy są stosowane m.in. w serwonapędach ESTUN PRONET. Aktualnie niedostępne starsze typy silnika EMJ-xxASAxx. Enkoder ma wbudowany EEPROM: 762 bajtów, stronicowany 127x6, stronę nr 7 do odczytu m.in. temperatury silnika.
    ESTUN zapisuje tam parametry silnika; bez tego servodriver zgłasza błędy.
    Sam enkoder można kupić, ale należy wgrać parametry do pamięci EEPROM. Interfejs zbudowany na bazie układu TMC8100 Analog Devices (uniwersalny układ do komunikacji z enkoderami) z wykorzystaniem płytek ewaluacyjnych systemu Trinamic.
    Poniżej wspomniany układ scalony i aktualny interfejs użytkownika (Python): obsługa zapisu i odczytu EEPROM, wszystkich parametrów, programowanie punktu "0" itp.

    Interfejs TMC8100-EVAL i kod Python do obsługi enkodera Tamagawa Płytki TMC8100 firmy Analog Devices połączone przewodami na niebieskim podłożu
    Zbliżenie na układ scalony SMD na płytce PCB z otaczającymi komponentami
    Konto firmowe:
    AUTOMATYKB Krzysztof Brudzisz
    Klęczany 229, Kleczany, 38-333 | Strona WWW: https://automatykb.pl

Podsumowanie tematu

✨ Dyskusja dotyczy podłączenia 17-bitowego enkodera absolutnego z silnika serwo ABB do mikroprocesora ARM w celu odczytu pozycji wirnika i prędkości. Ustalono, że enkoder pracuje po interfejsie szeregowym NRZ przez fizyczną warstwę RS-485, a próby podłączenia przez konwerter USB-RS485 i terminal nie dały poprawnych danych. Pomiar oscyloskopem wykazał brak zmian na liniach A/B podczas ręcznego obracania wałem bez wysyłania komend, natomiast sygnał reagował na transmisję z komputera, co sugeruje konieczność wysłania właściwej ramki/protokołu zapytania do enkodera. Wskazano, że bez dokumentacji komunikacyjnej trudno zbudować interfejs, a enkodery Tamagawa mają własny, asynchroniczny protokół transmisji o ścisłych wymaganiach czasowych, którego Arduino nie obsłuży bezpośrednio. Zaproponowano kontakt z producentem po dokumentację lub sniffing komunikacji z oryginalnym napędem, a także użycie dedykowanego układu interfejsowego do enkoderów, np. TMC8100, zamiast prób odczytu „na ślepo”.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA