Universal cobot wrist joint servo motor aansturen

Hallo allemaal

Tijdje terug heb ik een pols van onze universal robot moeten vervangen.
De oude pols kon helaas niet gemaakt worden en ik moest hem weggooien,dus ik heb em mee na huis gepakt.
Nu heb ik em uit elkaar ge draait en de motor eruit gehaald.
Nu vraag ik me af hoe zo een motor zelfs werkt ?
Lijkt erop dat hij 2 doorzichtige schijven doet laten draaien via zijn wikkelingen?
En ook als ik zo een motor kan laten werken met een andere drive dan die van universal robot zelf ?

De doorzichtige schijven op uw foto zijn volgens mij onderdeel van de encoder, niet de aandrijving van uw motor.

Western civilization? That would be a good idea! (HR '89-'12)

Gezien de toepassing zou ik verwachten dat het een motor met een harmonic drive overbrenging is. Maar dit lijkt enkel een set encoders. Heeft het onderdeel geen enkel nummer?

Op 23 november 2021 20:50:54 schreef 60204:
De doorzichtige schijven op uw foto zijn volgens mij onderdeel van de encoder, niet de aandrijving van uw motor.

Even goed naar de schijven kijken grote kans dat ie vol staat met kleine streepjes.
Unit lijkt erg vuil/stoffig kan ook de oorzaak van slecht werken.

Op 23 november 2021 21:35:01 schreef Aart:
Gezien de toepassing zou ik verwachten dat het een motor met een harmonic drive overbrenging is. Maar dit lijkt enkel een set encoders. Heeft het onderdeel geen enkel nummer?

Klopt dit is indd met een harmonic drive.
Het klopt ook dat dit enkel de encoders zijn, helaas zonder type nummers.
Ik had een ding over het hoofd gezien en dat zijn 3 draden die van de printplaat wss naar de spoelen gaan.
Nu snap ik wel niet hoe het kan dat het maar 3 draden zijn.
Over de drie draden in iedere combinatie meet ik 1,1ohm.

Lambiek

Special Member

De motor is hoogstwaarschijnlijk een borsteloze DC motor "BLDC" of een drie fase AC motor. Vandaar dat je maar drie draden hebt.

Hier heb je nog iets over encoders.

https://www.circuitsonline.net/artikelen/view/48

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 24 november 2021 09:17:18 schreef Lambiek:
De motor is hoogstwaarschijnlijk een borsteloze DC motor "BLDC" of een drie fase AC motor. Vandaar dat je maar drie draden hebt.

Hier heb je nog iets over encoders.

https://www.circuitsonline.net/artikelen/view/48

Bedankt voor de feedback!
Aangezien er enkel 48vdc binnenkomt zal het een BLDC zijn.
Zou ik em dan kunnen aansturen met zo een drive ??

Lambiek

Special Member

Dat durf ik zo niet te zeggen. Wil je alleen de motor aansturen zonder encoder?

Je encoder zorgt niet alleen voor de positie, maar ook voor een stukje terugkoppeling. En soms nog in combinatie met een resolver.

Dus ik weet niet of het kan met de getoonde driver.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 24 november 2021 21:05:41 schreef Lambiek:
Dat durf ik zo niet te zeggen. Wil je alleen de motor aansturen zonder encoder?

Je encoder zorgt niet alleen voor de positie, maar ook voor een stukje terugkoppeling. En soms nog in combinatie met een resolver.

Dus ik weet niet of het kan met de getoonde driver.

Eerst zou ik willen testen als de motor zo nog goed functioneert.
Helaas kan ik enkel de motor testen als ik ook de peperdure controller box van de robot heb.
Dus heb ik op het moment de printplaat (drive) + de rem eruit gehaald.
Normaal gezien zou ik em dan via de drive (van op de foto) kunnen laten draaien.
De encoders ga ik proberen uit te lezen met een arduino, ze werken gelukkig ook op 5vdc :D.
Als me dit zou lukken kan ik ook de drive aansturen via een arduino.

Ik vraag me wel nog af hoe ik kan weten wat de juiste volgorde is van de draden die op de UVW van de drive moeten ? Of maakt dit niks uit ?
Ook vraag ik me nog af wat voor olie/vet er gebruikt word in de overbrengen.

Zo'n standaard "motor driver" is bedoeld om de motor op een bepaald toerental continue te laten draaien.

Er is een ingewikkeldere driver nodig om in samenspraak met de encoders de boel zo aan te sturen dat hij naar een bepaalde positie gaat.

alleen lomp draaien (zonder belasting) zou veel goedkoper kunnen testen. bijvoorbeeld: https://www.aliexpress.com/item/4000844153163.html

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
GJ_

Moderator

Op 24 november 2021 21:05:41 schreef Lambiek:..En soms nog in combinatie met een resolver.

Als er een resolver in zit is een encoder toch nutteloos? Wat je wel vaak ziet in een servo encoder is dat er extra commutatiesporen zijn opgenomen. Aan de rare streepjes op de bovenste schijf te zien, lijken me dit eerder commutatiesignalen dan een encoder.

[Bericht gewijzigd door GJ_ op donderdag 25 november 2021 12:55:30 (16%)

Op 25 november 2021 12:41:09 schreef rew:
Zo'n standaard "motor driver" is bedoeld om de motor op een bepaald toerental continue te laten draaien.

Er is een ingewikkeldere driver nodig om in samenspraak met de encoders de boel zo aan te sturen dat hij naar een bepaalde positie gaat.

alleen lomp draaien (zonder belasting) zou veel goedkoper kunnen testen. bijvoorbeeld: https://www.aliexpress.com/item/4000844153163.html

De drive is voorzien van 0-10v signaal voor de snelheid, input voor aan/uit en een input voor links/rechts om. Als ik de encoder kan uitlezen voor zijn positie en feedback in een arduino en dan de arduino de drive kan laten aansturen, dan zou dit toch moeten werken ?
Waarschijnlijk niet zo nauwkeurig als de originele of duurde drive, maar het kan wel gewoon werken toch ?

mel

Golden Member

Het is nogal complex een pid regeling maken, maar het zou in zo,n ding moeten kunnen ,ja.En dat moet dan wel een absoluut encoder zijn, want je weet de beginstand niet.

[Bericht gewijzigd door mel op donderdag 25 november 2021 13:14:30 (31%)

u=ir betekent niet :U bent ingenieur..

Oeps. Die link die ik gaf is denk ik voor een gewone brushed motor. Ik weet dat ze goedkoop te krijgen zijn voor BLDC motoren ook. Maar dan "max 2A". Ik kan ze zo snel even niet vinden. Zelf even zoeken. Link posten voordat je iets koopt. (tenzij je denkt: Gaaf dat wil ik zowiezo hebben :-) ).

Edit: hier is er een die ik bedoel.

[Bericht gewijzigd door rew op donderdag 25 november 2021 13:23:29 (15%)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 25 november 2021 12:53:18 schreef GJ_:
[...]Als er een resolver in zit is een encoder toch nutteloos? Wat je wel vaak ziet in een servo encoder is dat er extra commutatiesporen zijn opgenomen. Aan de rare streepjes op de bovenste schijf te zien, lijken me dit eerder commutatiesignalen dan een encoder.

En zijn 2 doorzichtige schijven.
Een staat vol met met groepjes van streepjes, de tweede heeft maar 1 groepje van streepjes.

Op 25 november 2021 13:16:03 schreef rew:
Oeps. Die link die ik gaf is denk ik voor een gewone brushed motor. Ik weet dat ze goedkoop te krijgen zijn voor BLDC motoren ook. Maar dan "max 2A". Ik kan ze zo snel even niet vinden. Zelf even zoeken. Link posten voordat je iets koopt. (tenzij je denkt: Gaaf dat wil ik zowiezo hebben :-) ).

Edit: hier is er een die ik bedoel.

Bedankt voor de feedback!
Hier is een link van die drive die ik op het oog heb.
[url][US$56.58]Machifit WS55-220 borstelloze spindelmotoraandrijving DC-motorregelaar met potentiometer snelheidsregeling Werktuigmachines en accessoires from Gereedschap on banggood https://banggood.onelink.me/zMT7/3ae1e916[/url]

(Hopelijk werkt de link)

Op 25 november 2021 13:13:05 schreef mel:
Het is nogal complex een pid regeling maken, maar het zou in zo,n ding moeten kunnen ,ja.En dat moet dan wel een absoluut encoder zijn, want je weet de beginstand niet.

Dit vind ik een beetje verwarrend in deze situatie als het absoluut of incrementeel is.
Waar ligt dit nu aan, aan de optische module, de schijf of de controller die het uitleest ?

em1-datasheet.pdf

De banggood link dat zou werken, maar je betaalt 50 euro voor een ding waar je niets aan hebt. Het kan zijn dat jij anders met de slappe was omgaat dan ik, maar voor een "effe snel testen, maar ga ik nooit meer gebruiken" ding geef ik liever "een paar euro" uit (en dan nog liever 1-2-3-4 dan 5-6-7-8) dan dat ik 50 euro uitgeef.

Een "absolute encoder" moet iets van bijvoorbeeld 5 sporen hebben zodat ie altijd weet in welke 1/32e van de omwenteling hij zit. Moderne werken met een magneet op een as en een hall-sensor die de richting van het magnetische veld kan bepalen. Die geeft dan in bijvoorbeeld 2048 stapjes aan waar de as zich bevind.

Wat ik van de doorzichtige schijven begrijp is dat ze het slechtste van beide werelden combineren: Weinig resolutie met "toch maar incrementeel". Maar goed. Ik kan het fout hebben.

[Bericht gewijzigd door rew op donderdag 25 november 2021 14:51:39 (43%)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
GJ_

Moderator

Op 25 november 2021 14:43:01 schreef rew:
Wat ik van de doorzichtige schijven begrijp is dat ze het slechtste van beide werelden combineren: Weinig resolutie met "toch maar incrementeel". Maar goed. Ik kan het fout hebben.

De meestgebruikte encoders zijn incrementeel en optisch. Hoge toerentallen en resoluties van 4096ppr zijn normaal. Dat zijn dus 16384 counts per omwenteling. Veel hogere resoluties heb je niet snel nodig.
Programmeerbare gaan vaak tot de standaard 65536ppr.
Als het echt robuust moet heb je aan zowel een magnetische als een optische encoder niks maar ga je over naar een resolver.

Lambiek

Special Member

Op 25 november 2021 10:36:07 schreef trips20:
Eerst zou ik willen testen als de motor zo nog goed functioneert.

De controller die je laat zien heeft ook een ingang voor Hall-sensoren, denk niet dat het werkt met die controller.

Ik vraag me wel nog af hoe ik kan weten wat de juiste volgorde is van de draden die op de UVW van de drive moeten ? Of maakt dit niks uit ?

De volgorde U,V,W maakt niet zoveel uit, de motor draait alleen de andere kant uit.

Op 25 november 2021 12:53:18 schreef GJ_:
Als er een resolver in zit is een encoder toch nutteloos?

Nee, wij hadden motoren met een encoder en een resolver, encoder was voor de positie en de resolver voor de terugkoppeling.

Al wordt dat wel steeds minder gebruikt, de drivers zijn zo gecompliceerd en slim tegenwoordig dat een resolver steeds minder gebruikt wordt.

Op 25 november 2021 13:16:08 schreef trips20:
En zijn 2 doorzichtige schijven.
Een staat vol met met groepjes van streepjes, de tweede heeft maar 1 groepje van streepjes.

De onderste schijf is voor de positie en de bovenste schijf zal een soort communicatiesysteem zijn "zoals GJ al zei".

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 25 november 2021 16:15:32 schreef GJ_:
[...]De meestgebruikte encoders zijn incrementeel en optisch. Hoge toerentallen en resoluties van 4096ppr zijn normaal. Dat zijn dus 16384 counts per omwenteling.

Helemaal mee eens. Maar dan verwacht ik een patroon van wit-zwart streepjes die over de hele omtrek van de "doorzichtige schijf" zichtbaar zijn. Maar op de fotos zie ik dat niet. Ik zie een paar groepjes met streepjes en verder niets. Maar ik kan het verkeerd gezien hebben.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
GJ_

Moderator

Op 25 november 2021 17:51:06 schreef Lambiek:
Nee, wij hadden motoren met een encoder en een resolver, encoder was voor de positie en de resolver voor de terugkoppeling.

Ik weet bijna zeker dat je je vergist.
Oude servo's hadden een encoder voor de asbesturing en een tacho voor de terugkoppeling naar de drive.
Een tacho is een goedkoop ding en vroeger erg gebruikelijk en tamelijk effectief op analoge drives.
Een resolver is een duur ding en lastig uit te lezen, bovendien niet echt geschikt voor een antieke analoge drive als terugkoppeling.

Op 25 november 2021 18:47:22 schreef rew:Ik zie een paar groepjes met streepjes en verder niets. Maar ik kan het verkeerd gezien hebben.

Dat klopt, vandaar dat mijn vermoeden is dat dat commutatiesignalen zijn. Ook al omdat de behuizing van de optocouplers over een relatief groot deel van de omtrek zit. Iedere wikkeling zijn eigen optocoupler.
De tweede schijf kan een soort Z signaal zijn. (beetje gokken)

Op 25 november 2021 17:51:06 schreef Lambiek:
[...]
De controller die je laat zien heeft ook een ingang voor Hall-sensoren, denk niet dat het werkt met die controller.

[...]
De volgorde U,V,W maakt niet zoveel uit, de motor draait alleen de andere kant uit.

[...]
Nee, wij hadden motoren met een encoder en een resolver, encoder was voor de positie en de resolver voor de terugkoppeling.

Al wordt dat wel steeds minder gebruikt, de drivers zijn zo gecompliceerd en slim tegenwoordig dat een resolver steeds minder gebruikt wordt.

[...]
De onderste schijf is voor de positie en de bovenste schijf zal een soort communicatiesysteem zijn "zoals GJ al zei".

Ik had filpmjes op youtube gezien waar ze ook hun motor aan de gang kregen zonder dat er iets op de hal sensoren was aangesloten, dit zal dan wel een optie zijn ?

En wat gaat er dan via het communicatie systeem ?draairichting, snelheid, ect ?

Lambiek

Special Member

Op 25 november 2021 20:02:33 schreef GJ_:
Ik weet bijna zeker dat je je vergist.

Ja ik ook. 8)7

Heb het nog eens nagekeken en het is inderdaad een tacho. Sorry voor het misverstand.

Op 25 november 2021 20:16:27 schreef trips20:
En wat gaat er dan via het communicatie systeem ?draairichting, snelheid, ect ?

Draairichting gaat normaal via je encoder, dus wat die tweede schijf precies doet weet ik zo niet.

Als je haar maar goed zit, GROETEN LAMBIEK.

Texas Instruments (en/of) ST hebben een serie video's gemaakt (youtube) over FOC. (Field Oriented Control). Het doel hierbij is om 90 graden fase verdraaing the behouden tussen de "mechanische" en de "electrische" magnetische positie want daar is het rendement het hoogste.

De motor positie kan afgeleid worden door de nul doorgangen te meten van de back EMF, maar dat kan alleen als de motor snel genoeg draait. Door deze nul doorgangen te meten is de motor positie bekend (op dat tijdstip). HALL sensoren werken ongeveer hetzelfde, maar werken vanaf stilstand en geven een (grove) absolute motorpositie. Deze methode is b.v. goed bruikbaar voor propellers van quadcopters.

Een stukje verder gaat "Space Vector Modulation" Zie b.v. https://www.zilog.com/docs/appnotes/AN0354.pdf

Bij een toepassing als een robot arm geeft dit niet genoeg resolutie en FOC werkt helemaal niet als de motor ook bij stilstand zijn positie moet behouden, en daarom is iets anders nodig om de motor positie te meten.

Er zitten twee encoder schijven in dit gewricht. Ik vermoed dat er een direct op de motor as zit, en de andere aan de arm, met dus de "Harmonic drive" er tussenin. Een heeft extra barcode's om een absolute positie mee te kunnen bepalen.

Met een standaard BLDC motor controller is het vrij eenvoudig om zo'n motor rond te laten draaien (Met FOC of HALL sensoren), maar als je nauwkeurige hoek posities wilt bereiken dan moet de motor, de encoders en de motor sturing goed op elkaar afgestemd zijn, en dit is niet eenvoudig om goed te doen.

Er zit er een print ingebouwd in dit robotgewricht, en zo te zien zit daarop de hele motor controller. Is het die print die defect is? Is het repareerbaar?

Ik heb zelf al een hele tijd intresse in robot armen en hun aansturing, en ben blij met de geposte foto's in vrij hoge resolutie, maar ze zijn onvolledig. Ik wil er graag nog een par bij zien van de motor (rotor & stator), de aanstuur print (onder & bovenkant, IC nummers) en van de lagering. (Zit er een kruis rollen lager in?)
Bij voorkeur ook met een lineaal in beeld (en op dezelfde hoogte als het hoofd onderdeel op de foto ter referentie.