Loading...
 

OM32, OC32 and LichtOrgel


toch nog een vraagje over servos

Australia

Uiteindelijk met hulp van Leon en anderen heb ik mijn servos aardig aan de gang gekregen.

een paar lesjes die ik heb moeten leren:
1) De voeding naar de servos is heel belangrijk
2) maar ook afscherming van de servo kabels zo gauw er ook maar een DCC signaal in de buurt is (minder dan 15 mm) gaat het mis. Ik heb wat duurdere servos gekocht digitaal met metalen behuizing en messing tandwielen. wel dezelfde afmetingen. (TOWERPRO MG90D MINI DIGITAL SERVO 23T 2.4KG / 0.08SEC / 13G)
3) Ik gebruik DC-DC converters 12V to 5 VDC@8 amp en die werken prima op klusters van 8 servo motors.
4) ook heb ik een aantal Omron 12 VDC relais. Wat mij verbaasde dat het afslaan van zo'n relai met 270 Ohm spoel, dwars door de DC-DC converters heen slaat en dan gaan er ergens een paar servos te keer. Dus diodes daarop gezet en dat gaat nu allemaal goed.
5)Cat 5 cables zijn prima voor het aansluiten van de servo signalen vanaf de OC32.

Maar er zit toch nog een eigenaardigheidje in mijn installatie.
Ik zet de computer en voeding aan. Soms hoor je een servo iets doen maar niet echt ophol slaan. De RMU en OC32 starten voor het programma is opgestart.. Ik gebruik Rocail en nu komt het: Als ik een wissel aanstuur gaat die naar de stand van het komando. Alhoewel niet achterlijk snel het is wel snel. Als je dezelfde wissel weer een komando geeft, gaat de servo netjes naar de andere stand maar in een mooi rustig tempo. En dat blijft zo netjes doorgaan. Doe hetzelfde met de volgende wissel en het ritueel herhaalt zich precies. Eerste bediening vlug en daarna volgens de ingestelde snelheid.

Het is dus niet zoiets heftig als beschreven is in het recente verleden en wederom het gebeurt alleen maar met de eerste keer de servo bediend wordt als het programma en de OC32 net opgestart zijn.

Is dit op te lossen of zou ik er mee moeten leren te leven (wat ik wel kan hoor)? maar als dit op te lossen valt verneem ik het gaarne.

Mvgr
Cornelis

Netherlands
"Eerste bediening vlug en daarna volgens de ingestelde snelheid." Dat is ook mijn ervaring. Het zou mooi zijn als dat verholpen wordt.

Netherlands

Hallo Cornelis,

Dank voor je uitgebreide uiteenzetting van je ervaringen.

Het gedrag dat je beschrijft is gedocumenteerd gedrag. De reden dat het zo werkt is dat de OC32 bij opstarten niet de actuele positie van de servo kent. Een servo kan zelf niet langzaam draaien. Het vertraagde gedrag wordt volledig door de OC32 uitgevoerd door de servo steeds met heel kleine stapjes in een andere positie te zetten. Maar om dat te kunnen moet je wel weten wat de huidige positie van de servo is.
De eerste beweging is daardoor altijd niet-vertraagd. Als je de servo door de OC32 in een initiële positie laat zetten heb je daar bij het echte bedrijf in principe geen last van.

Het "probleem" zou m.i. op 3 manieren kunnen worden ondervangen.

  1. De OC32 zou na elke beweging van de servo de positie in het flash geheugen kunnen schrijven. Echter het aantal keren dat het flash geheugen beschreven kan worden is weliswaar heel groot, maar toch begrensd. Uiteindelijk zou het hierdoor stuk gaan. Wellicht moeten we eens rekenen hoe groot dat risico is, maar om deze reden is dat (nu) niet ingebouwd.
  2. De OC32 zou de posities van alle servo's bij afsluiten in het flash geheugen kunnen schrijven. Dat leidt tot veel minder schrijfacties, maar dat betekent wel dat er een soort "shutdown" commando gegeven moet worden.
  3. Je zou zelf alle servo's voor het afsluiten van je systeem in de stand kunnen zetten die de OC32 kent als "initiële stand". Dan is de eerste beweging geen beweging, dus maakt de snelheid daarvan niet uit. Echter ook dat vereist een "shutdown" procedure.

Mvg,
Leon


Hallo Cornelis,
hetzelfde gebeurt met mij. Wanneer ik voor de eerste keer een servo bestuur, beweegt deze snel naar de gewenste positie. Daarna draait deze servo altijd langzaam, zoals ik hem heb geprogrammeerd. Dat gebeurt precies hetzelfde met alle servos. Zodra ik het systeem uitschakel (dwz de voeding voor de servos), gebeurt hetzelfde opnieuw.
Mij is uitgelegd dat de eerste keer dat een servo zijn huidige positie voor het eerst moet vinden in relatie tot de gewenste positie, en dat is waarom het altijd de eerste keer zal zijn.
Maar dat kan de experts zeker beter verklaren.
Als ik het me goed herinner, stuur dan een aantal digitale besturingsprogrammas (iTrain met mij) nadat je alle servos kort hebt ingeschakeld; daarna draaien alle servo's lekker traag met commandos. Op dit moment ben ik nog bezig met het bouwen van het nummer, dus ik kan het niet proberen.
Mvg
Wilfried

Oh sorry,
Ik zag de verklaring van Leon op de een of andere manier niet.
Natuurlijk legde hij dat veel preciezer uit dan ik deed, maar dat bedoelde ik.
Goed dat we hem hier hebben!


Australia

Beste Leon en martin en Wilfried

Ten eerste bedankt voor het delen van de ervaringen. Even nog terug komen op Leon's suggesties.

Als ik als afsluit procedure alle wissels handmatig (bij wijze van spreken) rechtuit leg en ik zorg dat de initiele stand in de OC32 inderdaad ook rechtuit is, dan lijkt me dat toch wel de moeite waard. Wat betreft power kan ik me dat wel permiteren er is een 8 ampere voeding per 8 servo motors en het gaat om 45 wissels waavan een aantal zowiezo rechtuit liggen. Ik denk dat zoiets ongeveer 1 minuut zou duren door even vlug alle wissels rechtuit te leggen. Rocrail's schema is overzichtelijk dus je pakt ze makkelijk op.

Nogmaals bedankt voor de vlugge reactie en vooral Leon wederom ook als support voor jouw produkt.

mvgr

Cornelis


Netherlands

Hi Cornelis e.a.

Niet dat ik bedoel dat je dat moet gebruiken, maar in Koploper zit een voorziening 'default stand'. De wissel wordt daarin automagisch teruggezet als hij een bepaalde tijd niet meer gereserveerd is geweest.
Dat dient een tweeledig doel. Sommige wissels horen in grootbedrijf altijd in een bepaalde stand te liggen t.b.v. de veiligheid. En ietwat in ongebruik geraakt, sommige wisselaandrijvingen trekken stroom in één stand en niet in de andere 'default' stand.
Wellicht zit er ook zoiets in Rocrail.

Mvg Leon


 
Dutch (Nederlands, nl)English British (British English, en-uk)German (Deutsch, de)