nadpis VMH

grafika
logo český spolek Horologický
grafika3b
www.orloj.eu
grafika3b
facebook
grafika3b
počitadla
grafika3bValid XHTML 1.0 Transitionalgrafika
grafika 7b


HOME


Novinky


Mapa


Kontakt


Vyhledávání



  

 

 

 

 


grafika

Digitálně řízené kyvadlo s automatickou regulací

Přesná mechanická kyvadla jsou obvykle teplotně i barometricky kompenzována. Jednou z jiných cest může být (zejména u historických či věžních hodin) měření doby kyvu například infračerveným optickým snímačem a další zpracování pomocí mikroprocesoru (ESP8266). Na základě zjištěné odchylky od očekávaného stavu bude upraven moment setrvačnosti kyvadla. Úpravu v tomto příkladu provede krokový motor otáčením závitovou tyčí, která posunuje trimovací závažíčko na tyči kyvadla.  Následující text je  určitou inspirací k takovému postupu. 

Základní princip

V našem projektu kyvadlo s motoricky řízeným trimovacím závažíčkem na kyvadlové tyči volně kývá a jeho průchod nulovou polohou je snímán infračerveným optickým čidlem. Časy průchodů jsou měřeny mikroprocesorem ESP8266 s přesností na mikrosekundy pomocí funkce micros(). Výsledné hodnoty (doby jednoho kyvu) jsou zpracovávány a srovnávány s ideální hodnotou, například 1000.00  ms. Při zjištění odchylky program vypočítá potřebný počet kroků motoru pro změnu polohy závažíčka na závitové tyči, čímž se změní moment setrvačnosti kyvadla – a tedy i jeho perioda.Web kyvadla

Možnosti a funkce systému

Webové rozhraní zpřístupněné přes WiFi umožňuje:

Princip měření a kalibrace

ESP8266 měří čas mezi průchody kyvadla snímačem pomocí funkce micros(), která vrací počet mikrosekund od startu programu. Tato funkce však není dostatečně přesná – její hodnota může být ovlivněna teplotou a stabilitou oscilátoru mikrokontroléru.

Proto je připojen RTC modul DS3231, jehož vnitřní teplotně stabilizovaný oscilátor má typickou odchylku ±2 ppm. Pomocí dvacetisekundového kalibračního intervalu se spočítá korekční faktor, kterým jsou pak měření micros() násobena. Díky tomu je možné dosáhnout přesnosti lepší než 0,2 sekundy za den.

Řízení motoru a kompenzace vůle v převodech

Posuv trimovacího závažíčka zajišťuje krokový motor 28BYJ-48 řízený pomocí čtyř výstupních pinů ESP8266. Každý „krok“ na webu odpovídá jedné kompletní sekvenci motoru.

Při změně směru otáčení se automaticky přidá několik kompenzačních kroků (např. 5) pro překonání mechanické vůle převodového systému, tzv. backlash.


Řešení hardwarových úskalí

Pro zachování dlouhodobé přesnosti bylo třeba vyřešit dvě klíčové věci:

  1. Kalibrace vnitřního časovače ESP8266
    Hodnota vrácená funkcí micros() není zcela přesná, protože závisí na oscilátoru uvnitř ESP8266. Proto se jednou za 4 hodiny provádí kalibrace pomocí externího reálného času z čipu DS3231 (RTC). Ten má vlastní oscilátor s teplotní kompenzací a přesností ±2 ppm. Porovnáním délky známého intervalu (např. 20 sekund) podle RTC a naměřeného počtu mikrosekund se vypočítá korekční faktor, kterým se v programu dále násobí rozdíly časů. 
    Přesnost RTC: ±2 ppm = ±0.002 s za 1000 s → při 20 s je chyba menší než ±40 µs.
    Chyba za den bez kalibrace (typická pro ESP8266): ±30–100 ppm = až ±8 s denně
    Chyba po kalibraci: přibližně ±0.2 s za den (záleží i na šumu měření)

  2. Stabilní I²C komunikace
    RTC DS3231 komunikuje po sběrnici I²C. ESP8266 neumožňuje na všech pinech aktivovat interní pull-up rezistory, které navíc mají příliš vysokou hodnotu. Proto musely být přidány externí pull-up odpory 4k7 na SDA i SCL. Zároveň bylo nutné zvolit nekolizní piny – například GPIO0 (SDA) a GPIO5 (SCL). V programovacím přípravku tyto piny způsobovaly chyby. Program mohl být zkoušen až po vložení ESP8266 do celého systému.


Zkušební přípravekTechnické detaily

Na obrázku vlevo je zkušební přípravek pro řízení pohybu trimovacího závaží. V RTC modulu není vložena baterie, protože se vyučívá jen frekvence oscilátoru.

PrvekFunkcePin ESP8266
RTC DS3231 (SDA)Kalibrace časuGPIO0 +Pull-Up  4k7
RTC DS3231 (SCL)Kalibrace časuGPIO5 +Pull-Up  4k7
IR snímačDetekce průchoduGPIO3 (Rx)
Nelze používat sériovou linku.
Krokový motorPosun závažíGPIO12, 13, 14, 16


Úvaha o dalších vlivech na přesnost systému

Měření periody

Každý průchod kyvadla je měřen s přesností na mikrosekundy. Lze asi očekávat, že na senzor působí rušivé vlivy jak mechanické ( například vibrace ) nebo změna světelných podmínek. Používá se klouzavý průměr z posledních 20 hodnot, aby se omezil vliv náhodného šumu nebo chybného snímání. Hodnoty +- 20 procent od očekávané hodnoty jsou vyřazeny. Provedení senzoru je asi nejdůležitější oblastí omezení rušení. 

Vliv „kulhání hodin“

Kyvadlo často nemá přesně symetrický chod – tzv. „kulhá“. To znamená, že doba průchodu zleva doprava se liší od doby zprava doleva. Protože se v tomto systému měří doba mezi každými dvěma průchody čidlem (bez ohledu na směr), projeví se kulhání jako střídání kratší a delší periody. Pokud je rozdíl např. ±5 ms, naměřené periody budou kolísat mezi 495 ms a 505 ms. Tento rozptyl sice není chyba systému, ale odpovídá fyzice pohybu kyvadla a může být užitečným diagnostickým údajem. Průměrování ze sudého počtu měření, ze tento problém skoro kompenzuje. 

Pokud je ale rozdíl výrazný (např. 5 ms mezi směry), dochází k mírnému rozptylu v měření, protože infra čidlo nemusí reagovat zcela přesně v každém směru (např. kvůli různé odrazivosti odrazivé plochy při různém osvětlení).

(Na obrázku je záznam měření na značně kulhajícím metronomu..)


Budoucí možné rozšíření

Systém může být snadno rozšířen například o:

Závěr

Projekt ukazuje, že i s levnými a běžně dostupnými komponenty lze vytvořit precizní fyzikální experiment řízený mikroprocesorem, přístupný vzdáleně přes webové rozhraní. Vhodnou kalibrací lze dosáhnout velmi dobré přesnosti i bez drahého hardwaru.

  

  



Telefon: 603 502 735, email: info (kyselá ryba) orloj . eu