Hallo, da mein neuer Tacho die Möglichkeit der Kommunikation mit dem PC bietet, die passende Dockingstation jedoch 20€ kostet und mir diese Spielerei so viel nicht wert ist, suche ich eine Möglichkeit, diesen Adapter selbst zu bauen. Hat schon mal einer von euch an dem Tacho gemessen und herausgefunden, über welches Protokoll der über seine 2 Pins mit dem PC Daten austauscht? http://www.amazon.de/Sigma-Fahrradcomputer-BC-1009-schwarz/dp/B002NGZIRE http://www.amazon.de/Sigma-Docking-Station-Topline-09/dp/B003309PH8 Ich werde mal nacher mit dem Oszi messen ob der Tacho bereits so Signale an den beiden unteren Pins ausgibt, wobei ich das bezweifle, sprich die Übertragung muss initialisiert werden, vermutlich durch das anlegen einer externen Spannung. Wenn jemand schon einen Adapter gebastelt hat, wäre das natürlich sehr praktisch. Danke schon mal im Voraus für eure Antworten. MFG Johannes
hi johannes, ich habe gerade mehrere stunden nach der gleichen thematik gegoogelt bevor ich überhaupt mal auf diesen thread gestoßen bin. es wundert mich sehr, dass anscheinend noch niemand ähnliches versucht hat. bleib dran, ich zähl auf dich. vll kann ich dich demnächst unterstützen. hier mal ein bisschen input: http://paste.ubuntuusers.de/392335/ es scheint sich dem treiber nach um eine serielle (uart ?) zu handeln. hast du die datacenter software? kann sie leider nirgends im internet finden, g peter
sorry, bin hier nicht angemeldet und kann deshalb meine posts nicht editieren. da die kommunikation bei den "sigma rox" modellen auch nur über 2 pins funktioniert, gehe ich davon aus, dass sie identisch mit den anderen modellen ist. die datacenter version für die rox modelle kann kostenlos heruntergeladen werden: http://www.update.sigmasport.com/en/update/ in diesem packet sind keine treiber dateien (.sys) enthalten. In den .inf dateien wird wie oben schon verlinkt, auf eine usbser.sys verwiesen die schon bei windows dabei ist. daher gehe ich davon aus, dass in der docking station keine proprietäre hardware verbaut ist. bitte korrigiert mich wenn ich falsch liege. die nutzung dieses treibers ist sogar "dokumentiert": http://support.microsoft.com/kb/837637 es müsste doch möglich sein im www jemanden zu finden der diese software nutzt und uns sagen kann, als was sich die dockingstation am pc meldet. (kann mit sicherheit auch aus der inf erschlossen werden) mehr in kürze :)
Peter schrieb: > In den .inf dateien wird wie oben schon verlinkt, auf eine usbser.sys > verwiesen die schon bei windows dabei ist. > daher gehe ich davon aus, dass in der docking station keine proprietäre > hardware verbaut ist. Naja, dann wird wohl in der Dockingstation eine Hardware enthalten sein, die sich zum PC hin als CDC verkauft. Welches Protokoll die Dockingstation wiederum zum Tacho verwendet, ist dadurch nicht festgelegt, das kann irgendwas sein.
hi, danke für die info, was heist den "CDC" ? konnte auf die schnelle nix finden. ps: habe doch noch meinen account für mikrocontroller.net gefunden. g peter
Hi Fans, statt mich um die anstehenden klausuren zu kümmern habe ich mich etwas in die sigma-docking geschichte reingesteigert. Habe bei ebay sone dockingstation ersteigert und sie gleich mal auseinander gerissen. Hatte gehofft etwas anderes in dem gehäuse zu finden, wo es sich doch so schön als virtuellen comport präsentiert. Nnach stunden langer suche bei der frage wie wohl das 1-Wireinterface realisiert sein könnte bin ich auf diesn link gestoßen: http://www.maxim-ic.com/app-notes/index.mvp/id/214 scheint wohl hinfällig :( der Contröller kann ja alles mögliche anstellen. Habe dann gleich mal mit fädeldraht die kontakte nach außen geführt um mit dem oszi mal mit zulauschen. Meiner bescheidenen meinung nach sieht das irgendwie nach UART aus... aber ich hab ja keine ahnung. Vielleicht kann sich das mal einer von euch anschauen? Ich bin mit meinem Latein am Ende. Ist es möglich über die offensichtlich vorhandene JTAG-Schnittstelle an die Speicherinhalte des AT90USB162 zu kommen? So könnte man wenigstens den USB-Discriptor ändern um die Station auch mit anderen Tachos? nutzen zu können...
Moin, hast du an den beiden Pins gemessen als der Tacho dran war? Und was hast Du gemacht? Die Software gestartet/Tache erkennung gestartet? Man müsste mal mitloggen wie die Kommunikation aussieht wenn man z.B. die Radgröße per Software verändert. Also zweimal mit Größe X und einmal mit Y konfigurieren und die Unterschiede vergleichen....
hi, ja habe die beiden pins des tachos belauscht. wenn ich es richtig weis ist das teil der sequenz wie sich der tacho bei der software meldet. habe mir schon einen logic analyzer gekauft. hatte allerdings noch keine zeit/lust die kommunikation zu belauschen. Das equipment wäre da... happy hacking ;) peter
Das Problem is halt nur wieder mal: Woran merkt der Tacho dass nicht der Reedkontakt sondern ein Mikrocontroller an der anderen Seite ist. Vorstellen kann ich mir so einiges, z.B. zwei Widerstände in Reihe von denen der Kontakt einen überbückt und ein pullup in der dockingstation, so dass der tacho da eine externe spannung detektieren kann. Der Schaltplan der Dockinstation wäre da in Auszügen interessant :=) (Also wie ist der Atmel mit dem Tacho verbunden. Die USB und LED's sind uninteressant, aber auf welchen Pins der liegt währe nett....)
also das oszillogramm zeigt die "introsequenz" wenn sich der tacho bei der dockingstation meldet. dieses telegramm wird vermutlich dann ausgelöst, wenn der dockingcontroller den highpegel des tachokontaktes bermerkt ?! die vorrausgehende "0010" sequenz sagt dem tacho wohl "bitte melde dich" vermutlich ist dieses "0010" stark vom reed-impuls verschieden. habe mal das bild editiert und die stellen markiert an denen die tachokontakte an den kontroller angeschlossen sind. die beiden pulldown widerstände gegen massen sind wohl 1Meg. hab den logic analyser parat und werde heute abend mal nen durchlauf machen. in welchem format stell ich die daten vom logic analyzer am bsten hier rein? vg
Magst Du noch ein Bild von der Rückseite der Platine machen? Die Widerstände sind vermutlich eher ein Schutz des Controllers. Ein Meg ändert den Pegel kaum. Ich hab im Moment leider nicht so viel Zeit, sonst würde ich schnell im Datenblatt schauen welche Pins das sind, an die der Tacho da kommt. Ich vermute der Atmel wird einen Pin auf Masse und einen auf High legen - damit erkennt der Tacho dass da eine externe Spannung anliegt und er wird in den PC-Modus wechseln. Jedenfalls ist sowas denkbar :) Zum Format kann ich nichts sagen, hab noch nie mit nem LA gearbeitet. Interessant fände ich wie die Pegel auf den beiden Pins der Docking station gegen Masse aussehen, wenn kein Tacho angeschlossen ist. Grüße, Florian
also die pegel ohne tacho sind exakt 0V. deshalb gehe ich davon aus, dass der tacho dadurch erkannt wird, dass sein "permanent high" pin in kontakt mir dem docking controller kommt. daraufhin wird vom dockingcontroller die gesehene sequenz gesendet worauf sich dann der tacho meldet. nur ne überlegung. die rückseite ist unbestückt und hat auch sonst nicht viel zu bieten. alle signale sind von der vorderseite erreichbar. zu den controller pins: Pin6 : (OC.0B / INT0) PD0 Pin7 : (AIN0 / INT1) PD1 aus datenblatt seite 3 : http://www.atmel.com/dyn/resources/prod_documents/doc7707.pdf
Peet P. schrieb: > also die pegel ohne tacho sind exakt 0V. > > deshalb gehe ich davon aus, dass der tacho dadurch erkannt wird, dass > sein "permanent high" pin in kontakt mir dem docking controller kommt. Ah, okay, das macht Sinn - im tacho ist ja eh ein pullup für den reed kontakt. > > daraufhin wird vom dockingcontroller die gesehene sequenz gesendet > worauf sich dann der tacho meldet. nur ne überlegung. Und wenn die Dockingstation da keinen Kurschschluss hinwirft (wie der Reed kontakt das tun würde) kann ein ADC im Tacho das erkennen. Oder der Reedkontakt hat noch nen Widerstand drin. (Hab das Teil grade nicht hier, kann also nicht messen). Ist das Low da in dem Plot ein 0V? > die rückseite ist unbestückt und hat auch sonst nicht viel zu bieten. okay, wollte nur schauen was da womit verbunden ist :) /Florian
ja das ist 0v +- rauschen. der reedkontakt hat mit sicherheit noch einen widerstand drin. auf jeden fall steckt irgendo in / an der fahrrad halterung ein widerstand. wie sonst könnte der tacho zwischen rad1 und rad2 unterscheiden? es gibt ja von sigma extra "zweitrad halterungen" für den tacho. aber nur eine vermutung.
Zumindest für die Software-Seite gibt es etwas Code und Analysen: http://www.freakysoft.de/rox_sigma/ Eventuell lässt sich schon daraus ermitteln, ob die Dockingstation nur ein Protokollübersetzer ist oder ob sie eigene Logik enthält.
netter link. wundert mich dass ich bei meiner suche nicht schon selbst drauf gestoßen bin. leider kann ich sogut wie garnicht programmieren und linux ist auch ein großes rätsel für mich :( hab gerade am fahrrad gemessen und es gibt weder parallel noch serielle widerstände in der fahrradhalterung. das (schrottige) multimeter zeigt 700mOhm an wenn der reedkontakt geschlossen ist.
in wie weit lässt sich diese opensource software auf tachos anwenden die nicht aus der ROX reihe sind?
und post nummer 3... schade dass man nicht editieren kann.... habe mal den logic analyzer angeworfen und die "intro sequenz" mitgeloggt. Diese sequenz wird übertragen wenn ich das "Sigma DataCenter" öffne. daten liegen als csv vor und ich habe noch einen screenshot angehängt. die pegel sind masse bezogen. das oszillogramm oben nicht. da hatte ich die masse des oszis mit einem kontakt des tachos verbunden. shot2.png zeigt die kurze nadel auf kanal 6 besser aufgelöst. möglich dass diese nadel als "moduswechsel" interrupt ausgewertet wird??
oh man... und post nummer 4: gibt es ne möglichkeit die senderichtung zu unterscheiden? denke da an folgendes: es muss ja ein kleiner strom fließen um am eingangswiderstand des kommunikationsparters einen spannungsabfall zu erzeugen. kann ich jetzt einen "shunt widerstand" in die leitung einbauen und somit an der strom richtung erkennen wer sendet und wer empfängt? bitte her mit meinungen zu diesem vorschlag :) hat vielleicht jemand schonmal irgendwo bilder von einem offenen tacho gesehen? hat jemand zufällig einen kaputten sigma tacho mit twistlock den er mir für forschungszwecke überlassen will? :)
also hier kommt jetzt dann der 5. post in folge. war heute nicht nur daheim relativ fleißig. anbei einpaar bilder des heutigen testlaufes. die widerstände: 10k. auf den oszi plotts ist schön zu erkennen, dass es an dem widerstand je nach senderichtung zu einem spannungsabfall kommt. NewFile0.png: Von der Dockingstation zum Tacho. NewFile1.png: Vom Tacho zur Dockingstation bei der gelegenheit hab ich auch mal noch ein bild von der unterseite der platine gemacht. wie gehts weiter?!
Ich denke jetzt muessen wir die Daten dekodieren. Ich hab auch so einen Tacho aber keine Dockingstation. Ich werd bei gelegenheit mal versuchen ob ich nicht auch die serielle Kommunikation triggern kann.
Moin moin, Hat jemand von euch zufällig das Datenprotokoll das zum Rechner geht analysiert? Ist das irgendwas proprietäres oder ein einfaches Protokoll? Gruß, Andre
Hi all, hope this thread is still monitored. Does anyone have any specs about BC 1009 firmware/microcontroller used? Would be interesting to play with it an build some custom firmware ;)
Ist das hier noch relevant? Ich habe auch einen Sigma Fahrradcomputer und habe mal kurz nachgemessen. Seltsam, daß das noch keiner erwähnt hat: wenn man den Computer auf die Display-Seite legt und die Taste nach "unten" (also zu einem selbst) zeigt, liegen an den beiden Pins eine Spannung von ~3V. (links +, rechts -). Ich könnte mir nun vorstellen, daß die Kommunikation auf ein Kurzschließen der beiden Kontakte basiert, also i.W. wie der Reed-Kontakt. Der Reed-Kontakt wird die Pins für einen kurzen Impuls kurzzschließen (also ein 0-Potential erzeugen). Danach wird er den Kontakt für eine Rad-Umdrehung öffnen. Das Kurzschließen beim Dock kann man nicht definiert von dem Kurzschluß des Reed-Kontaktes unterscheiden (man stelle sich vor, man fährt extrem laaaaangsam). Aber der kurze Impuls in der "Intro-Sequenz" wird sich von einer Umdrehung des Rades unterscheiden, soooo schnell fährt keiner. Da ich keine Docking Station habe, kann ich das nicht weiter verfolgen. Interessant wäre tatsächlich wie lange der kürzeste Impuls dauert; das würde Aufschluß auf die Übertraguungsrate geben. Danacj müßte man halt ab jeder fallenden/steigenden (je nach Messpolarität) Flanke die Bits abzählen und so die Daten ermitteln.
Hallo, ist doch faszinierend, wie lange so ein Thread interessant und "aktuell" bleibt... Ich habe bspw. heute erst entdeckt, dass meine ollen Sigma BC... beide datenfähig sind :-) Und dabei habe ich diesen ebenso ollen Thread entdeckt und mit Interesse gelesen... Sind da noch Leute von Euch dran? Wäre auch daran interessiert... Soweit erstmal, liebe Grüße Georg
Delphir schrieb: > Hi all, hope this thread is still monitored. > Does anyone have any specs about BC 1009 firmware/microcontroller used? > Would be interesting to play with it an build some custom firmware ;) Gibt es überhaupt Fahrradcomputer, für die es freie Firmware gibt (abgeshen vom Cyclotron mini)?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.