Měření řídících impulsů serv .
Následující článek popisuje přípravek pro měření impuzů, které jsou na výstupu RC přijímače a udávájí polohu do které se mají natočit serva.
Popis:
Při nastavování regulátoru otáček jsem narazil na problém, že jsem nevěděl, co vlasně leze z přijímače ven. Sice se
dá odhadnout z polohy ovladačů na vysílači, ale u digitálu se mi nezobrazuje posunutí trimrů a nějak jsem se nemohl shodnout
s tím co bylo na vysílači, s tím jak se choval regulátor otáček.
Rozhodl jsem se, že bude nutno impuls změřit, abych měl jistotu jak je to celé rozštelované. Tahat to do práce,
kde je k dispozici čítač, se mi nechtělo
a jelikož byl víkend, tak opačný proces, čítač zapůjčit domů, taky nebylo to pravé řešení.
Začal jsem probírat domácí zásoby a hledat něco, sám nevím co. Při prohrabávání
šuplíků a hledání čím bych to změřil, skládací metr nešel použít, mi padl do oka, již zaprášený, jednoduchý programátor.
Programátor jsem stavěl pro jeden jediný účel. Je to taková zajímavá historka. Již mnoho let používám jednoduchý
programátor připojitelný k PC na LPT. Jde o programátor k PonyProgu. Před rokem mi odešel do křemíkového nebe můj milovaný
počítač, a to ve věku pouhých 4 let. Rozhodl jsem se, že si již nepořídím žádný tower skříň, ale notebook. Když už notebook
bydlel u nás doma několik dní, zjistil, uvědomil jsem si, že jaksi jsem zapoměl, že budu potřebovat nějaké
porty COMy a LPT. Comy jsem vyřešil jednoduše připojením prodlužky skrze USB,
DeLock redukce USB2.0 - COM samec, šroub,
k mé radosti jsem zjistil, že výrobce používá čipy FTDI. Horší to ovšem bylo s LPT, existují
sice převodníky USB->LPT, ale ty nelze využít ve spojení s PonyProgem.
Nezbylo než tedy najít něco, co bude použitelné.
Po provedení průzkumu v internetu, poradě s přítelem Googlem a návštěvě u atmelu jsem se rozhodl pro stavbu AVR ISP a JTAG ICE
Jenže cesta k cíli vyžadovala, dále zmíněný zajímavý postup. Pomocí původního programátoru PonyProg jsem naprogramoval, na cizím počítači,
brouka do programátoru AVR prog , pomocí pomoci AVR prog jsem naprogramoval AVR ISP a pomocí AVR ISP jsem naprogramoval JTAG ICE.
Pokud se vám ta cesta zdá poněkud komplikovaná, tak já jsem jinou cestu k cíli nenašel a pokud jsem se pokusil o nějakou zkratku,
tak ve výsledku nebyla možná spolupráce s AVR studiem.
Protože AVR prog byl jen pomocným a neměl další využití zůstal na dně šuplíku. Ale nyní přišel jeho čas, rozhodl jsem se, že do něj napíšu
program pomocí, kterého budu měřit impulzy na výstupu přijímače. Tak jsem napsal v rychlosti prográmek a nyní již vím, co mi leze z
přijímače. Hned jsem přezkoušel všechny tři vysílače, co u nás doma bydlí, kde mají střed, kam až se posunou trimry, jak je to s trimrováním
kanálu pro regulátor. Pro jistotu jsem jej vzal ještě na rande s čítačem a generátorem, jaká je jeho chyba. Vzhledem k tomu, že jsem se
s programem moc nepáral, tak výsledek je celkem dobrý chyba se pohybuje průměrně do 1 mikrosekundy, většinou průměrně 0,4 mikrosekundy.
Takže ke stavbě:
Schéma:
|
|
- | - |
|
|
Reference Pcs Part Name Value Package Comment ------------------------------------------------------------------------------------- C1 ... 1 x E470M/10V CR63 C2, C3, C4, C5, C6, C9, C10 ... 7 x C 100nF 1206 C7, C8 ... 2 x C 27pF 1206 CN1 ... 1 x D-SUB 9-F-S Zasuvka CAN9FS J1, J2, J3, J4, J5, J6, JP1 ... 8 x J1.1M S1G10 LED1 ... 1 x LED GREEN-R3mm LEDC LED2 ... 1 x LED RED-R3mm LEDC R1 ... 1 x R 680 1206 R2 ... 1 x R 10k 1206 U1 ... 1 x HIN232CP DIP16 U2 ... 1 x AT90S2313 DIP20 XT1 ... 1 x XTAL 7.3728MHz XHC18V
Software:
SW nahrajete do brouka a ješte je nutno nastavit konfigurační bity pro externí krystal. CKSEL=1111, SUT=11.
Jak se vlasně odečtou změřené údaje, když to heblo nemá diplej? Musíte připojit k počítači přes
COM, spustit terminálový program a ten nastavit na 9600 Bd, 8 bit, 1 stop. Naměřené hodnoty jsou
odesílány cca 2 x za sekundu. Je vždy odesílán čas trvání nízké úrovně a čas vysoké úrovně.
V terminálu se zobrazuje každý na novém řádku, na začátku je L a H podle úrovně. Pak následuje
číslo, které údává změřený čas v nanosekundách. Pro praktické použití je třeba si poslední tři
čísla odmyslet. Takže následující údaj.
L0007906143
H0001497083
Představuje impuls, který trvá 1.497 ms ve vysoké úrovni a 7.9 ms v nízké úrovni.