Jindra Fučík

Servo Kontrol

Úvod

Projekt serva pro analogová kolejiště mne zaujal svou jednoduchostí. Ono je pokaždé příjemné když se člověk může věnovat jen malému kousku vytrženému z kontextu a hlídání závislostí se nechá na někom jiném.
Řekl jsem si, že udělám ovladač opravdu hodně analogový. Proto jsem si vzal procesor, který je vybaven analogově/digitálními vstupy :) PIC12F675. Tyto vstupy jsou použité pro nastavení krajních poloh.

Funkce zařízení

Tato verze podporuje následující funkce:
  • Ovládání jednoho modelářského serva
  • Volná definice dvou koncových poloh, pomocí trimrů
  • Volná definice rychlosti přesunu mezi polohami, pomocí přepínače
  • Jeden signál pro ovládání (přepínač)
  • Nastavení lze kdykoli měnit, i za provozu
Mimochodem jsem později zjistil, že vzniklé zařízení náramně připomíná ovladač Viessmann 5268. Rozhodně jsem neměl záměr tento ovladač napodobovat.

Hardware

Z hlediska hardware se jedná o velice jednoduchý modul, servo má provozní napájení v podstatě stejné jako procesor, takže zdroj není nutné řešit. Pro testovací verzi jsem použil jednoduché uhlíkové trimry. Nijak jsem se nezabýval jejich odrušením. Pokud mají být použity v kolejišti, asi by bylo vhodné použít alespoň jednoduchou filtraci proti zákmitu. Pro ovládání jsem použil přepínač, zejména proto, abych minimalizoval vliv na rušení na vodičích od přepínače. Nicméně i tak by bylo do budoucna vhodné udělat na vstup nějaký vhodný filtr. V zapojení lze pochopitelně dělat další úpravy - například přidávat zenerovy diody pro filtraci napájení, nebo měnit hodnoty pull-up rezistorů, přidat nějakou 7805 (LM317) jako zdroj a podobně. Po pravdě, nic takového jsem zatím nepotřeboval, takže jsem to neřešil a nechávám na zralé úvaze čtenáře jestli potřebuje a nebo nepotřebuje takové věci řešit.

Servo Controll

Introduction

I was interested in simplicity of project servo control for analogue layouts. It is always nice to focus only to primitive problem without context and move keeping of dependencies to someone else.
I decided to done controller really analogue. Then I used processor with analogue to digital inputs :) PIC12F675. Those inputs are used for adjusting endpoints.

Device functions

Current version support following functions:
  • Control of one model servo
  • Free definition of endpoints, using trimmers
  • Free definition of moving speed, using switches
  • One signals for control of servo (switch)
  • Configuration can be changed at any time (also during operation)
By the way I was found, that finished device look like Viessmann 5268 controller. I found it some time after module creation. It was not target to copy this device.

Hardware

From hardware point of view the module is relative simple. Model servo using same voltage as used processor, then it is no necessary to solve any special power source. For my test version I was used simple carbon trimmers. I was not solved any filtering. Once it might be used in layout, I recommend to use at minimum primitive noise filtering. I was used flipper switch for servo control, especially to minimize noise in wires between switch and board. But here also I can recommend to use same filter in future. It is for sure possible to done variety of modifications in schematic - for example adding zener diodes for filtering of power voltage, change values of pull up resistors, add some 7805 (LM317) as power source etc. In reality I do not need to done any of those changes, then I'm keeping it to the readers decision if it is necessary or not.

Software

Software je poměrně jednoduchý. Časovač Timer1 je použit pro vytváření signálu pro servo (s použitím přerušení) a hlavní kód čte stav přepínače, na jeho základě volí kanál AD převodníku a čte přepínače rychlosti.
Použité rutiny jsou notoricky známé z předchozích projektů, takže nemá cenu je dále rozebírat.

Software

Software is relative simple. Timer 1 is used for creation of servo signal (in cooperation with interrupt), and main code read controlling switch position; based on that position chose AD converter channel and read speed switches.
Used routines are well known from previous my projects, then it is no necessary to describe them

Nastavení

Pro nastavení se používá šroubovák. Je dobré zvolit šroubovák nevodivý, například plastové nastavovací šroubováky. Před prvním zapnutím je vhodné nastavit oba trimry do středové pozice a rychlost nastavenou na maximum (oba spínače rozepnuté - Off), teprve pak zařízení zapněte. Servo by se mělo ustálit v poloze blízké středu.
Pozor: zařízení podporuje také rozsahy, kterých jsou schopná pouze některá serva, proto pravděpodobně nikdy nepoužijete krajní polohy trimrů. Buďte opatrní při nastavování výchylek a respektujte krajní polohy, kterých je vaše servo schopné.
Nyní můžete nastavit jednu krajní polohu. Servo bude okamžitě reagovat na otáčení jedním trimrem, to je trimr, který přísluší dané poloze přepínače. Otáčením trimrem nastavíte požadovanou výchylku páky serva.
Následně přepněte přepínač do druhé polohy a za pomoci druhého trimru nastavte druhou krajní výchylku páky.
U výchylek nezáleží na tom, která je vlevo a která je vpravo, prostě podle potřeby.
Když máme nastavené obě krajní výchylky, můžeme nastavit rychlost přesunu Rychlost se nastavuje jednoduše pomocí následující tabulky.
Tím je v podstatě nastavení ukončeno a je možné servo běžně používat. Nastavené "hodnoty" lze kdykoli měnit a to i za provozu

Configuration

For configuration screw driver is used. It is better to use screw driver from non-metal materials; for example plastic configuration screw drivers. Before first powering is recommended rotate both trimmers to middle position and speed switches to maximum speed (both in Off). After this is possible to switch device on. Servo have to move to position near by centre.
Note: device is capable to use ranges that are available only for few models of servo. Then it is very small probability you will use outer positions of trimmers. Then try to be careful and respect outer positions available for your servo.
Now you can set one endpoint. Servo will react immediately to adjustment of one trimmer. This is trimmer assigned to current switch position. By adjusting of trimmer you can set requested position of servo lever.
When configuration is done, then change switch position. Servo will follow second one trimmer. Use it for configuration of second endpoint of servo lever.
It does not matter what endpoint is left and what is right. Adjust them as you need for your application.
Once you have configured both endpoints, you can configure speed of move. Speed is configured simply as described in following table.
Then configuration is done and device is ready to use. Configured "values" can be adjusted at any time and also during operation.
 1 2Sw 1Sw 2Speed
0offoff  X fast (servo max)
1onoffON fast
2offon ONnormal
3ononONONslow

Závěr

Jednoduchá aplikace, která umožňuje komfortně využít modelářské servo v kolejištích ovládaných zastaralým analogovým způsobem.
Po stránce hardware je možné vytvářet na modulu ještě celou řadu dalších vylepšení - nahradit přepínač nějakými jinými vstupními členy (opto-oddělovač, relé, nebo podobně), nebo doplnit nějakou napájecí část (například usměrňovací můstek a stabilizátor 7805 nebo LM317 s regulací napětí). Ale proč, když je tak jednoduché koupit USB nabíječku k telefonu?

Conclusion

Simple application, that allows comfort usage of model servo in old fashion train layouts based on obsoleted analogue control.
From hardware point of view it is possible to done variety of changes on module - replace push buttons by another input elements (opto-couplers, relays etc), or add some power source part (for example diode rectifier and voltage regulator 7805). But why, once you can buy comfortable USB mobile phone charges?

Pokud máte problém s osazováním, nebo s výrobou desek plošných spojů, využijte kontaktní formulář na TOMTO web-shopu, kde si můžete objednat komponenty nebo hotový dekodér.
Pravděpodobně budete potřebovat využít kontaktní formulář pro výrobku které nejsou součástí standardního výrobního programu.

Once you have problems with soldering or creating PCB boards, please use contact form on THIS web-shop, where you can order some parts or finished decoder.
Probably you will need to use contact form for modules not included in standard production.


Donwnload: doc.pdf HEX