RC::troniX

Kapazitätssensor V1.0 für Spektrum Telemetriesystem (Update 11.10.2012)

Nachdem ich nun eine DX8 und eine DX10 besitze warte ich schon länger auf den Kapazitätssensor den Spektrum immer noch nicht liefern kann. Daher reifte in mir der Entschluss einen eigenen Sensor zu entwickeln der mir die verbrauchte Kapazität meines Antriebsakkus via Telemetriedisplay anzeigt.

Es waren somit folgende Aufgaben zu erledigen:

Reverse Engineering des X-Bus Protokolls

Durch eine genauere Untersuchung des Bussteckers habe ich folgendes herausgefunden:

Belegung des X-Bus Steckers

Nach Einschalten von Empfänger und TM1000 versucht das TM1000 von Adresse 0x01 zu lesen. Nach 13ms Pause versucht er es wieder. Nach weiteren 13ms versucht er von 0x02 zu lesen usw. (0x01, 0x01, 0x02, 0x02, 0x03, …..) bis zweimal von Adresse 0x7D gelesen wurde. Während dieser Zeit (ca. 3,5 sec) leuchtet die LED neben dem X-Bus Anschluss und wie sich herausstellte prüft das TM1000 so die angeschlossenen Sensoren.

Logicanalyzer Snapshot 1

Logicanalyzer Snapshot 2

Zwischenzeitlich fand ich dann im rc-heli-Forum den folgenden Thread (http://www.rc-heli.de/board/showthread.php?t=190165) der sich auch mit dem Thema beschäftigte und Member „mukenukem“ konnte die fehlende Information beisteuern:

Mittels eines Arduino konnte ich nun einen Sensor simulieren und die Nutzdatenbytes der Anzeige im Telemetriedisplay zuordnen. Der erste Schritt war somit getan.

Hardware-Design

An die Hardware stellte ich folgende Anforderungen:

Als Stromsensor bis 100A wurde ein ACS758LCB-100U-PFF-T gewählt dessen Ausgangssignal optional über ein RC-Glied an einen Analog-Input des ATTiny angeschlossen wurde. Ein Spannungsteiler dient zur Anpassung der Akkuspannung  an einen weiteren Analog-Input. Über eine LED mit Vorwiderstand kann der Betriebszustand des Sensors signalisiert werden.

Den kompletten Schaltplan gibt es als PDF-Datei unter Downloads.

Softwareentwicklung

Die Software wurde mit der Arduino IDE geschrieben und hat folgende Funktionalität:

Nachbau

UIC_Sensor V1.0

Zum Aufbau des ersten „richtigen“ Sensors wurde eine Platine gefräst und bestückt. So schaut nun die „V1.0“ aus. Wenn sich alles bewährt werde ich einige Platinen professionell fertigen lassen.

Stückliste, Schaltplan und HEX-File gibt es im Downloadbereich. Bitte nicht vergessen den ATTiny mittels der Fusebits auf 8 MHz internen Takt einzustellen.

Update 11.10.2012

Die bestellten Prototyp-Platinen sind angekommen und sehen bis auf die Langlöcher für den Stromsensor sehr gut aus. Da muss ich mal schauen wie ich das dem Platinenhersteller übergebe. Also nun erst mal aufbohren und bestücken.

     

Tipps zum Programmieren des ATTiny85

Ich nutze zum Programmieren des ATTiny die Software „avrdude“ und einen AVRISP Programmer.

Beispielaufruf zum setzen der Fusebits:

avrdude -pattiny85 -cavrispv2 -Pcom2 -b115200 -U lfuse:w:0xE2:m -U hfuse:w:0xDF:m -U efuse:w:0xFF:m

Beispielaufruf zum Programmieren des ATTiny85:

avrdude -pattiny85 -cavrispv2 -Pcom2 -b115200 -Uflash:w:“UIC_Sensor V1.0.hex“:i

 

Comments are currently closed.