Overbrenging hoekencoder

Beste mensen,

Voor mijn stage heb ik een hoekencoder gekregen:
https://www.turck.nl/nl/product/1590975
Deze is aangesloten op een tandwiel1 met 45 tanden en stuurt een tandwiel2 aan met 53 tanden.

Nu moet ik het aantal graden omschrijven voor tandwiel2. Als ik 360 graden maal een factor doe, dan gaat het mis, omdat tandwiel1 eerder een volledig rondje heeft gemaakt.

Hoe los ik dit codetechnisch op?

Met vriendelijke groet,
Rik Thomassen

Lambiek

Special Member

Je moet eerst je tandwiel verhouding uit rekenen.

Je weet hoeveel tanden de tandwielen hebben, heb je een idee hoe dat moet?

En als je de verhouding weet dan kun je een berekening maken hoeveel graden de verdraaiing is over 360°.

Wat heb je zelf berekend?

Als je haar maar goed zit, GROETEN LAMBIEK.

Ja de tandwiel overbrenging is 360/45*53

Het probleem is meer dat als de encoder van 360 graden naar 0 graden verspringt, tandwiel 2 nog niet helemaal rond is. Terwijl ik die juist wil uitlezen met de encoder.

Lambiek

Special Member

Hoeveel pulsen geeft de encoder bij 360°?

Als je haar maar goed zit, GROETEN LAMBIEK.
Lambiek

Special Member

Oké, 23768 X 1..... = ?

Dan krijg +/- 385.. pulsen per omwenteling van T2.

Reken nu eerst de tandwiel verhouding eens uit en dat heeft niets met die 360° te maken.

EDIT:

Even een voorbeeld:

T1 = 30 tanden en T2 = 10 tanden.
Wat is de overbrengverhouding dan?

30 ... 10 = ?

Wat voor opleiding doe je als ik vragen mag?

Als je haar maar goed zit, GROETEN LAMBIEK.

Pulsen? dat zijn geen pulsen maar seriele code, waarvan 16bits voor de hoekwaarde in singleturn mode.
Die is ook multiturn maar dan 13bits.

Gezien dat een absoluut encoder is moet je ook rekening houden met de beginstand tenzij je kunt kalibreren.

Ik heb geen kennis van IO-link, dus kan ik u niet verder helpen.

LDmicro user.
Lambiek

Special Member

Als we geen verdere info krijgen wordt het niets natuurlijk. :)

Dus als je geholpen wil worden...

En dit valt waarschijnlijk onder schoolvragen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Eerst de beginstand uitlezen en dan de eindstand uitlezen inclusief de omwenteling(en), hiermee weet je de verplaatsing in bits(pulsen).

Dan pas kun je het verschil berekenen en beginnen omzetten in graden met de tandwielverhoudingen.

LDmicro user.

Wat ik altijd doe is het verschil uitrekenen met de vorige waarde.

code:


new = getsensor ();
diff = new-old; 

if (diff < -16000) diff += 32768;
if (diff >  16000) diff -= 32768;

pos = pos + diff;
old = new;
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 16 januari 2023 19:11:00 schreef rew:
Wat ik altijd doe is het verschil uitrekenen met de vorige waarde.

Vroeger op mijn werk werd er altijd gerekend vanaf de kalibratiewaarde, dat was een 30m lange continue pers waar 64 van soortgelijke encoders aangesloten waren.
Dat kalibreren was een immens werk zodat er soms rechtstreeks in de PLC werd ingegrepen na kettingbreuk en de betreffende waarden handmatig veranderd werden.
De kalibratie werd dan tijdens het groot onderhoud in het zomerverlof uitgevoerd.

[Bericht gewijzigd door MGP op maandag 16 januari 2023 19:35:56 (12%)

LDmicro user.