Loading...
 

OM32, OC32 and LichtOrgel


OC32 Servo uitzetten

Netherlands

De OC32 kan goed servo signalen opwekken, afhankelijk van de instelling zijn de pulsen tussen de 0,4 en 2,4 msec, je kan er dus van alles mee aansturen.
Zodra een pin als Servo is geconfigureerd blijft deze pulsen geven. Het kan echter ook wenselijk zijn om de pulsen geheel uit te zetten. Sommige servo's reageren dan door naar een neutrale (Midden) stand te gaan, andere blijven gewoon in de laatst aangenomen stand staan.
Juist voor deze is het handig als de puls geheel uit kan worden gezet.

Ik heb in de interface specs gezien dat er een (nog niet geïmplementeerd) commando Suspend servo wordt voorzien. Zeker als hierbij een timeout als parameter kan worden meegegeven. In dat geval kan je gewoon (als eerste commando in een aspect de aan te nemen stand configureren, het tweede commando kan dan een Suspend Servo zijn, met een vertragingstijd als parameter. Dus zoiets als suspend servo na 2 Secondes. Een aangesloten Servo van het type dat in de laatste stand blijft staan, blijft dan ook daadwerkelijk staan, en omdat er geen pulsen meer komen, zal het ook niet kunnen "Brommen" hetgeen voor een langere levensduur en een lager stroomgebruik zorgt. Alleen tijdens het aannemen van de nieuwe stand wordt de motor aangestuurd, daarna niet meer.

Is er enige indicatie of en wanneer het suspend commando in de software wordt opgenomen ? mijn suggestie betreffende de parameter voor een vertragingstijd kan wellicht ook overwogen worden.

Netherlands

Hallo Jos,

Zie Release Notes versie 0.0.2.2
Hetgeen je zo uitgebreid gespecificeerd hebt zit er dus al in. Alleen auto-suspend is er nog niet.

Mvg,
Leon


Netherlands

Werkt inderdaad, echter je moet wel de tijd op minimaal 1 zetten. Met tijd = 0 werkt het niet, maar dat is een schoonheidsaangelegenheid.

Een andere vraag, is het ook mogelijk om de polariteit van de puls om te keren ?
Ik ben bezig met een kleine schakeling waarbij de schakeling direct door het pulssignaal wordt gevoed, net als bij DCC voor treinen.
(gebruik wel de output buffer IC's, schakeling trekt max 30 mA)
een dergelijke optie bespaart mij een extra inverter IC .....


Netherlands

Hallo Jos,

Inderdaad zet tijd=0 niet de timer. Dat is een gedocumenteerde feature. Ik zou eerlijk gezegd ook niet weten op welke waarde ik een timer zou moeten zetten bij tijd=0.

Inverteren van een servo-signaal kan niet. Je kunt evt wel een source driver toepassen (als die tenminste het signaal niet teveel verstoort), maar dan zul je niet moeten aangeven dat er een source driver in zit, want dan werkt de servo-aansturing niet meer en dus moet je dan rekening houden met de paarsgewijze omwisseling van de uitgangen a.g.v. de source driver.

Mvg,
Leon


Netherlands

Zie dat de Servo's inderdaad niet werken als je Source of Drain drivers hebt geconfigureerd. Dat is jammer, want door deze wel te gebruiken met een pull-up of pull-down weerstand kan je signalen creëren welke veel minder storingsgevoelig zijn (ja kan met een hogere spanning en een lagere impedantie werken), en bovendien zit er dan een buffer tussen de processor en de uitgang, waardoor de kans op beschadiging hiervan kleiner wordt.

Mijn (Nederige) verzoek voor een volgende release is dan ook een aanpassing in de Firmware, en wel als volgt:

Met alleen Source driver: Het Servo signaal wordt gewoon doorgestuurd.
(Je moet dan wel rekening houden met het paarsgewijs omwisselen van de uitgangen)

Met alleen Drain driver : Het servo signaal wordt geïnverteerd doorgestuurd naar de driver ic's, zodat er op de uitgang hiervan (Met Pull-up) weer het normale Servo signaal komt te staan.

Beiden tegelijk lijkt me hier zinloos, dus dan maar niet doorsturen.

Overigens merk ik dat het wijzigen van de configuratie mbt tot de driver ic's een reboot vereist. Als ik de config wijzig van Wel een Driver naar geen driver, blijft het servo signaal afwezig totdat ik de spanning eraf haal en weer opnieuw aanzet.
In praktijk geen enkel probleem, maar een Reset commando in OC32CONFIG zou mooi zijn. Of zit dit in de (uitgeschakelde) test optie .... (Hoe zet ik die aan ? Zitten misschien zaken in die voor mij met testen interessant kunnen zijn)


Netherlands

Goede dag,

Het zal voor de meeste hier op het forum waarschijnlijk allemaal gesneden koek zijn maar ik raak toch de draad kwijt als het gaat om de instructies als timer en servo uitzetten. Ik ben een digitale beginner dus heb wat respijt met mij.

Even voor de techniesche info:
1 OC32 met U485 aansluiting
1 DS32
1 SP04R (om het eerst maar eens onder de knie te krijgen)
1 U485 naar PC

Ik gebruik 7,5V voor de voeding van de OC32 en de 7,5V voor de spanning op de SP04 R
De software om in te stellen OC32 config release 0.0.2.0 en fimware version 0.0.2.3

Ik was er al achter gekomen dat wanneer ik in General de Sink of Source drives aanvink alle poorten op de SP04 zo dood blijven als een pier (mijn eerste verwarring was al ontstaan.
Nu is mijn eerste project (ik bouw in modules) een draaibrug met dubbelspoor welke open en dicht gaat doormiddel van een servo. Dat gaat redelijk goed en de brug sluit perfect. Echter de servo blijft brommen, maakt niet uit in welke stand. Nu lees ik in release 0.0.2.0 dat dit kan worden opgelost met de timer om de servo uit te zetten. Ik zoek me dus rot in de handleiding of waar dan ook maar kan dit niet vinden. Kan iemand mij in lekentaal dit even uitleggen?

Bedankt alvast, John

Netherlands

John,

Er is in de OC32 ook een instructie "suspend timer".
Deze set de servo puls na een in te stellen delay uit.
Nu hangt het af van de Servo wat deze dan doet, maar meestal blijft deze dan in de laatste stand staan.

Je kan nu een "Aspect" aanmaken, waarmee in de eerste instructie de servo wordt aangestuurd naar de gewenste stand,
en in de tweede instructie een Suspend, waarmee de pulsuitgang wordt uitgezet, waardoor de servo niet blijft gaat brommen.
Het suspend commando vind je ook terug oc32 config (laatste commando), de delay tijd geef je mee als parameter.

Dit werkt echter alleen als je een OC32 firmware 2.2 of later hebt, dus zorg voor de laatste versie.
Leon werkt ook aan een "auto shutdown" optie, je ziet dit wellicht wel ergens in OC32Config,
maar in de huidige releases zit dit nog niet.

Jos Bron

Netherlands

Hallo John,
je schrijft sink en source driver aan vinken in conf.
Maar je hebt een weerstandsbank nodig i.p.v. de sink driver op de uitgangen die met de SP04 verbonden zijn.
En loopt jouw servo niet tegen een mechanisme eindstand aan? Dit zou het brommen ook kunnen verklaren.
Mvg,
Heinz


Netherlands

Jos,

Bedankt voor je reactie.

Volgens mij heb ik de laatste firmware versie 0.0.2.3 dus dat moet dus lukken. Moet nog even uitpuzzelen hoe ik die aspect instructie maak.

Heinz,
Ik had bij de aanschaf de sink driver en source drivers ook aangeschaft maar vergeef mij de onwetendheid ze lijken nu meer in de weg te zitten dan een toegevoegde waarden te hebben (komt vast later van pas).

Wat de mechanische weerstand betreft. die heb je heel snel (soms zelfs met een fragiele wissel omzetting - zonder brom geen goede aansluiting van de wissel - 1 stap verder perfecte aansluiting maar brom)

Afijn ik ben wel weer een stukje verder ook al voel ik dat ik mij veel zaken nog eigen moet maken (soms zijn reacties heel onvoorspelbaar)

Bedankt in ieder geval mannen


Netherlands

Hallo John,

Ik lees in je lijstje geen "weerstandsbank". Heb je de sink-driver waar je de SP04R op hebt aangesloten ook vervangen door een weerstandsbankje? Anders zal het namelijk niet werken.

In de standaard configuratie van de OC32 staan sink -en sourcedrivers beide uit. Dat is technisch niet helemaal correct, maar expres zo gedaan om het beginners niet moeilijker te maken dan nodig. Dus vervang een van de drivers door een weerstandsbank en configureer een van de pinnen als servo en blijf vooral overal van af waarvan je de functie (nog) niet begrijpt. Dan is de kans het grootst dat het werkt.

Jos,

John schrijft dat hij "een digitale beginner" is. Dan heeft een functie als servo suspend natuurlijk helemaal geen zin. Dat schept alleen maar verwarring. Suspend Servo is zowiezo een functie die naar mijn persoonlijke mening slechts in zeer uitzonderlijke gevallen nuttig is. Als je je servo's mechanisch correct installeert en je je bedrading enigszins EMC verantwoord aanlegt kun je de servo beter gewoon bekrachtigd laten. Dan blijft hij namelijk in de juiste positie staan.

Mvg,
Leon


Netherlands

Leon,

Ik had bij de aanschaf 4 sink-drivers en 4 source-drivers aangeschaft. resp. ULN2803L en 4116R LF en deze ook volgens de handleiding geplaatst.De suspence functie is misschien wel van toepassing op de draaibrug. Ook al draaid hij vrijwel zonder weerstand in het rond er zal altijd enige weerstand zijn. Ik heb zelfs enige speling in de hefbomen van de servo naar de as gemaakt zodat de druk nooit 100% blijft op de servo. Maar ik puzzel net zolang tot ik het voorelkaar krijg. Ben waarschijnlijk weer met het moeilijkste begonnen hihihi.

mvg John


Netherlands

Hallo John,

Een ULN2803 is een sink-driver, maar die zitten standaard al in de OC32 (althans in de originele).
Een 4116R-1-xxx-LF is een weerstandsbank.

Dus haal een van de ULN2803's (waar je SP04R op zit) uit je OC32 en steek daar een 4116R-1-xxx-LF voor in de plaats. Let daarbij op de juiste plek (RTM please) in het voetje.

xxx = 101, 221 of 331

Mvg,
Leon


Netherlands
Thank Leon, Ik ga het proberen

Netherlands

Joss en Leon,

Ik weet niet wat ik verkeert doe maar ik kan in de lijst met instructions Suspend Servo helemaal niet vinden... Laatste in de lijst is SetAspect 11. Alles werkt perfect voor de rest... Brug gaat netjes open... wacht 15 seconden... en de brug gaat weer netjes dicht. Enkel blijft die brom erin zitten. Nu leest ik op forums dat je dan Suspend Servo moet gebruiken... Maar geen idee waar die dan zit.
Ik heb OC32 Config Relese 0.0.2.0 (staat rechtsonder) Als ik de Firmware Version opvraag geeft hij aan Firmware Version: 0.0.2.3. Dus ik lijk up to date te zijn toch? Maar geen Suspend Servo in de lijst.

Doe ik iets echt fout?

Sorry voor de onwetendheid


Netherlands

Je moet ook de laatste Oc32Config release 0.0.2.3.d gebruiken, de laatste versie
Zie bijgaande screendump.
Rechts onderaan staat de versie van OC32Config (niet te verwarren met de Firmware versie van de OC32 !!!!), de oudere versies kennen dit commando inderdaad niet.
Als je dit commando wilt gebruiken,vul dan ook een korte vertraging in (minimale waarde 1) anders werkt dit commando niet.
Controleer echter ook je bekabeling, zoals Leon dat suggereerde, aardlussen, apparaten in de omgeving, kunnen ook de oorzaak zijn.


Netherlands

Thanks ik ga die dus even downloaden en ik heb in de proefopstelling nog verder niets gezet dus denk dat aardlussen nog niet aanwezig zijn. Als het klaar is en werkt zet ik wel een filmpje hier neer..

John


Netherlands

Jos,

Ik ben waarschijnlijk achtelijk maar elke versie van OC32 die ik installeer blijft versie 0.0.2.0... zoek me rot naar een nieuwere versie (de door jou aangegeven versie)


Netherlands

Hallo John,

jij bent niet achterlijk, je had alleen niet de juiste status om aan de juiste versie te komen.
Als het goed is moet je nu wel aan de laatste Oc32Config. release 0.0.2.3.d kunnen, ik heb je status zojuist aangepast.
Succes met de verdere afhandeling.

Mvg,

Heinz Cox


Netherlands
Heinz,Dankje ik ga hem nu zoeken...

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