Sériová komunikácia HK-T6A

Prepojenie tohoto vysielača s PC je jednou z podmienok jeho univerzálneho využitia. Tento typ totižto nemá možnosť bez použitia PC (alebo iného zariadenia, ako uvediem neskôr) čokoľvek nastaviť. Takže ak doma pozabudneme pribaliť na lietanie aj notebook, na kopci len môžeme dúfať, že máme nastavenie na daný model, s ktorým sa práve chystáme vzlietnuť.

autor: Vladimír Perešíni

pridal: mior

Horšie je to v opačnom prípade... (Však, Pavel...)

Čo teda s tým?

Vieme, že na zadnej strane vysielača sa nachádza konektor s označením Trainer. Do neho sa zasúva druhý koniec programovacieho kábla pre prepojenie s PC. Ten kábel - je to vlastne prevodník USB/RS232 TTL (už som použil napríklad na pripojenie nabíjačky Eco Six k PC :

http://rcmodely.cevaro.sk/index.php?id=170&n=pripojenie-nabijacky-eco-six-z-hk-k-pc).

 

Vďaka tomuto prevodníku sa program t6config potom môže "prehrabávať" v nastaveniach vysielača.

Ako však spolu komunikujú?

Nuž našiel som podrobný popis tejto komunikácie:

-------------------------------------------------------------------------------------------------------

Interface pinning and signals

Chassis connector pinning as seen at the back of the transmitter
----------------------------------------------------------------

                      ------                        
                 /                \                
                |     [   ]        |                
                |                  |        
                | o 1     2 o |        
                |                  |        
                |  o 4   3 o  |        
                |                  |        
                 \     _ _     /                
                   \ _!   !__/                
                                                                   
Pin 1  : PMM signal
Pin 2  : +5 Volt
Pin 3  : RX RS232 Serial data input  ( TTL levels(0..5Volt) , ATTENTION !!! NOT
RS232 levels(+15..-15Volt)
Pin 4  : TX RS232 Serial data output ( TTL levels(0..5Volt) , ATTENTION !!! NOT
RS232 levels(+15..-15Volt)  
Shield : Ground


RS232 Serial Data specification
-------------------------------

115kilobaud , 8 bit , 1 stopbit , noparity , nohandshake

A string of 18 bytes is send every 20mSec by transmitter.
Data burst duration (86.4uSec * 18 Bytes) is approx 1.5552mSec

(e.g. 0x55 0xFC 0x05)

           s 0 1 2 3 4 5 6 7 s s 0 1 2 3 4 5 6 7 s s 0 1 2 3 4 5 6 7 s s -> etc.        
+5 ___   _   _   _   _   _       _____________   _   _           _
      | | | | | | | | | | |     |             | | | | |         | |
Gnd   |_| |_| |_| |_| |_| |_____|             |_| |_| |_________| |_.............


PMM signal specifations
-----------------------

A burst of 7 falling (H->L) edges is send every 20mSec.
Pulse time is time between 2 falling edges
Low part of pulse time is always 0.4mSec.

        ch1         ch2  ch3  ch4  ch5  ch6  pause ( (20 - (6pulsetimes + 0.4))mSec to next
falling edge)                        
+5 ___   __   __   __   __   __   __   ___________________________________............
      | |  | |  | |  | |  | |  | |  | |
Gnd   |_|  |_|  |_|  |_|  |_|  |_|  |_|



HK6 2.4Ghz Programmable Radio Gear Channel Data/Settings  array's
------------------------------------------------------------------------------------------------------------------
Channel data array ( 18 bytes )
------------------------------------------------------------------------------------------------------------------
index | description               | Values
------------------------------------------------------------------------------------------------------------------
0 : header0 = 85 (0x55)
1 : header1 = 252(0xFC)
2 : high_byte of (ch1+1000)  
3 : low_byte  of (ch1+1000)
4 : high_byte of (ch2+1000)
5 : low_byte  of (ch2+1000)
6 : high_byte of (ch3+1000)
7 : low_byte  of (ch3+1000)
8 : high_byte of (ch4+1000)
9 : low_byte  of (ch4+1000)
10: high_byte of (ch5+1000)
11: low_byte  of (ch5+1000)
12: high_byte of (ch6+1000)
13: low_byte  of (ch6+1000)
14: high_byte of 2044-(ch3+1000)        !
15: low_byte  of 2044-(ch3+1000)        !
16: high_byte of checksum  
17: low_byte  of checksum

        
high_byte -> (Channelvalue + 1000) / 256
low_byte  -> (Channelvalue + 1000) mod 256
checksum  ->  sum of bytes 2 to 15


------------------------------------------------------------------------------------------------------------------
HK6 2.4Ghz Programmable Radio Gear Settings Data array ( 69 bytes )
------------------------------------------------------------------------------------------------------------------
Settings 10,11,12 and 25 to 44 are only for helicopter

------------------------------------------------------------------------------------------------------------------
   description                     possible values
------------------------------------------------------------------------------------------------------------------
 0 HeaderByte 1                        -> always 85
 1 HeaderByte 2                        -> 253 in case of receiving settings from device ( query =
85,250,0 )
                                -> 255 in case of sending settings to device  
------------------------------------------------------------------------------------------------------------------
 2 Model stick configuration        -> high_nib(4..7) : Model > 1=0x0*   2=0x1*   3=0x2*  
4=0x3*
                                -> low_nib (0..3) : Type  > ACRO=0x*0 H-120=0x*1 H-90=0x*2 H-140=0x*3
-----------------------------------------------------------------------------------------------------------------
 3 CH1 - CH6 reverse bits        -> b0..b5 <> Ch1..Ch6  normal=0 reverse=1
------------------------------------------------------------------------------------------------------------------
 4 CH1 DualRate OFF value        -> 0..100%
 5 CH1 DualRate ON  value        -> 0..100%
 6 CH2 DualRate OFF value        -> 0..100%
 7 CH2 DualRate ON  value        -> 0..100%
 8 CH4 DualRate OFF value        -> 0..100%
 9 CH4 DualRate ON  value        -> 0..100%
------------------------------------------------------------------------------------------------------------------

helicopter (10,11,12)
------------------------------------------------------------------------------------------------------------------
10 Swash AFR CH1                -> -100..+100 (two's complement format > 0x9c..0x64)
11 Swash AFR CH2                -> -100..+100 (two's complement format > 0x9c..0x64)
12 Swash AFR CH6                -> -100..+100 (two's complement format > 0x9c..0x64)
------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------
13 CH1 Endpoint 1                -> 0..120%
14 CH1 Endpoint 2                -> 0..120%
15 CH2 Endpoint 1                -> 0..120%
16 CH2 Endpoint 2                -> 0..120%
17 CH3 Endpoint 1                -> 0..120%
18 CH3 Endpoint 2                -> 0..120%
19 CH4 Endpoint 1                -> 0..120%
20 CH4 Endpoint 2                -> 0..120%
21 CH5 Endpoint 1                -> 0..120%
22 CH5 Endpoint 2                -> 0..120%
23 CH6 Endpoint 1                -> 0..120%
24 CH6 Endpoint 2                -> 0..120%
------------------------------------------------------------------------------------------------------------------

helicopter (24..44)
------------------------------------------------------------------------------------------------------------------
25 Throttle Curve EP0 NORMAL        -> 0..100%        
26 Throttle Curve EP0 ID            -> 0..100%
27 Throttle Curve EP1 NORMAL        -> 0..100%
28 Throttle Curve EP1 ID            -> 0..100%
29 Throttle Curve EP2 NORMAL        -> 0..100%
30 Throttle Curve EP2 ID            -> 0..100%
31 Throttle Curve EP3 NORMAL        -> 0..100%
32 Throttle Curve EP3 ID            -> 0..100%
33 Throttle Curve EP4 NORMAL        -> 0..100%
34 Throttle Curve EP4 ID            -> 0..100%
------------------------------------------------------------------------------------------------------------------
35 Pitch Curve EP0 NORMAL        -> 0..100%
36 Pitch Curve EP0 ID            -> 0..100%
37 Pitch Curve EP1 NORMAL        -> 0..100%
38 Pitch Curve EP1 ID            -> 0..100%
39 Pitch Curve EP2 NORMAL        -> 0..100%
40 Pitch Curve EP2 ID            -> 0..100%
41 Pitch Curve EP3 NORMAL        -> 0..100%
42 Pitch Curve EP3 ID            -> 0..100%
43 Pitch Curve EP4 NORMAL        -> 0..100%
44 Pitch Curve EP4 ID            -> 0..100%
------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------
45 CH1 SubTrim                        -> -120..+120        (two's complement format > 0x88 - 0x78 )
46 CH2 SubTrim                         -> -120..+120        (two's complement format > 0x88 - 0x78 )
47 CH3 SubTrim                        -> -120..+120        (two's complement format > 0x88 - 0x78 )
48 CH4 SubTrim                        -> -120..+120        (two's complement format > 0x88 - 0x78 )
49 CH5 SubTrim                        -> -120..+120        (two's complement format > 0x88 - 0x78 )
50 CH6 SubTrim                        -> -120..+120        (two's complement format > 0x88 - 0x78 )
------------------------------------------------------------------------------------------------------------------
51 Mixer 1  source/destination         -> low_nib=dest. high_nib=src. Value : 0..5=ch1..ch6
(6..7=VRA..VRB >source only)
52 Mixer 1  Up Rate                -> -100..+100 (two's complement format > 0x9c..0x64)
53 Mixer 1  Down Rate                -> -100..+100 (two's complement format > 0x9c..0x64)
54 Mixer 1  switch                -> 0=SWA 1=SWB 2=ON 3=OFF
55 Mixer 2  source/destination         -> low_nib=dest. high_nib=src. Value : 0..5=ch1..ch6
(6..7=VRA..VRB >source only)
56 Mixer 2  Up Rate                -> -100..+100 (two's complement format > 0x9c..0x64)
57 Mixer 2  Down Rate                -> -100..+100 (two's complement format > 0x9c..0x64)
58 Mixer 2  switch                -> 0=SWA 1=SWB 2=ON 3=OFF
59 Mixer 3  source/destination         -> low_nib=dest. high_nib=src. Value : 0..5=ch1..ch6
(6..7=VRA..VRB >source only)  
60 Mixer 3  Up Rate                -> -100..+100 (two's complement format > 0x9c..0x64)
61 Mixer 3  Down Rate                -> -100..+100 (two's complement format > 0x9c..0x64)
62 Mixer 3  switch                -> 0=SWA 1=SWB 2=ON 3=OFF
------------------------------------------------------------------------------------------------------------------
63 Switch A function select        -> 0=NULL 1=DualRate 2=throttlecutoff 3=NORMAL/ID
64 Switch B function select        -> 0=NULL 1=DualRate 2=throttlecutoff 3=NORMAL/ID
------------------------------------------------------------------------------------------------------------------
65 Variable A function select        -> 0=NULL 1=pitajdust
66 Variable B function select        -> 0=NULL 1=pitajdust
------------------------------------------------------------------------------------------------------------------
67 Checksum High Byte                -> sum(byte2..byte66) / 256
68 Checksum Low  Byte                -> sum(byte2..byte66) mod 256
------------------------------------------------------------------------------------------------------------------
 

 

Nuž a keď poznáme toto, stačí nám nahradiť program t6config jeho analógiou fungujúcou na malom mikroprocesore s pripojeným LCD displejom a máme to vyriešené.

Ešte jednoduchšie riešenie je jednoducho naprogramovať mikroprocesor nami používanými nastaveniami uloženými programom t6config (to je tych 67-69 bytov) a napríklad počtom bliknutí LED alebo zapípaní vybrať konkrétne nastavenie a poslať ho do vysielača... Tu s výhodou môžeme využiť napájanie 5V z vysielača a úroveň TTL na RS232 jeho rozhraní a tak naše zariadenie môže byť v podstate jedna súčiastka s jedným či dvoma tlačidlami... Co sa tyka protikusu konektora, je to S-Video konektor, ale dá sa použiť aj PS2 konektor, z ktorého sa odstráni vodiaca lišta.

 

 

Že to ide, môžete sa presvedčiť okrem mnohých iných napr. na stránke

http://boldivi.blogspot.com.

Vo fóre rcgroups je popis pripojenia vysielača napr. k PDA...

 

Vpershing

 


<Staršie | tento článok | Novšie>

Napísané: 3. 12. 2010, 07:19 | Prečítané: 11472x | Kategórie: Elektronika | Napísal: admin |
Komentáre: 5
Odpoveď | 2010-12-03 22:34:29
Ahoj Vlado, X.

veľmi pekne a učene si napisal článok ktorému rozumieš ty a ešte dvaja v B.Bystrici. Ale ak by si zakončil článok takto:
Kúpa HK-9x.. stojí 54€ a ja (Ty) upgrade (tú krabičku) dodám ku HK-6X.. za 25 € tak sa hlásim ako 1. a ešte dnes zruším objednávku v HK, ktorá mi tam už visí 2 mesiac na HK-9X.
Tak ako dáš sa na to ?;-)
Odpoveď | 2010-12-05 19:01:15
Moja odpoved? V piatok sa objavili T9X tak som objednal...:-D Ale ta krabicka sa da spravit, len treba cas....
Odpoveď | 2010-12-05 19:18:27
Este pre uplnost:
Pre rekalibraciu kniplov (podobne ako sa to robi v programe t6recalibrate) je potrebne do vysielaca poslat :
"Start Adjust" - command string 85 153 (0x55 0x99)

(blika ledka, kalibrujeme kniplami rozsahy)

Po ukonceni:

"Stop Adjust" - command string 85 136 (0x55 0x88)
Odpoveď | 2010-12-05 19:33:19
Zdravím modelárov, som vlastníkom HK-T6A V2 a chcel by som byt schopny na luke zmenit si model v nej, mam android telefon ako aj PDA na android som na rcfore nieco nasiel ale na PDA nic, nema niekto skusenost s PDA? vopred dakujem
Odpoveď | 2011-10-13 10:03:06
Pridaj komentár
Meno
Web
Mail
Kontrola Zadajte číslo päť
Text

:-)
:-D
:-(
|-/
:-[]
;-)
8-|
8-o
Tučné | Podrazené | Kurzíva  | zdroják | odkaz
  • Pre odoslanie správy môžete aj použiť klávesovoú skratku Alt+S. (Podporujú len niektoré prehliadače)
  • HTML znaky budú prevedené na entity.
  • Vyjadrujte sa tu ako doma, aby sme vedeli ako to u Vás vypadá.
  • Odkazy začínajúce http:// budú automaticky prevedené na odkazy , nepoužívajte však v jednom príspevku viac ako 3 - to robia len spam roboti:-)
správca | ICQ-Vaše ICQ | Podpora miniRS | Styl LazyDays | Sk preklad by beekeeper | Veľkosť databázy: 50708.98 kb