Alternative Firmware für den Assan GA250 Gyro

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • linuxholgi
    linuxholgi

    #46
    AW: Alternative Firmware für den Assan GA250 Gyro

    Hallo Olli,

    ich hab mal nach Codebeispielen gesucht. Auf dem Arduino hab ich noch nie irgendwas gemacht. Alle seriellen Beispiele beschraenken sich rein auf Ausgabe die ich unter den Tutorials gefunden habe. Das waere sicherlich ne saubere Loesung und auch Recyclebar fuer andere, aber ubersteitgt erstmal meine Moeglichkeiten.

    Ich denke ich werde mein Glueck dann mal mit Variante B) versuchen und RX/TX vo den Widerstaenden abzugreifen. Es scheint sich ja um Pin 1 (TXD) und Pin 6 (RX) am FT232RL zu handeln. Ich kann glaube ich sogar die Leitungen sehen, die vom Chip zu einer Bank von 4 winzigen Widerstaenden fuehren. Es scheinen die beiden mittleren zu sein. In 2.5h bin ich zu Hause, dann versuch ich das mal. Hier hab ich kein brauchbares Messgereat und der Loetkolben taugt nur was um Dachrinnen zusamen zu loeten.

    Gruss
    Holger

    Kommentar

    • OlliW
      OlliW

      #47
      AW: Alternative Firmware für den Assan GA250 Gyro

      Holger,
      mach es nicht kompliziert... so wie ich vermute wie du das vorhättest würde es vermutlich eh Probleme wegen neuer Timmingissues geben. Mach einfach eine kleine Schleife, derart

      loop{
      falls Rx Pin gesetzt setze Pin AAA auf 1 ansonsten setzte Pin AAA auf 0
      falls Tx Pin gesetzt setze Pin BBB auf 1 ansonsten setzte Pin BBB auf 0
      }

      Olli

      PS: es kann sein dass du den Widerstand zwischen Rx und Tx ändern musst, also statt 100 Ohm etwas anderes
      Zuletzt geändert von Gast; 01.12.2011, 10:06.

      Kommentar

      • linuxholgi
        linuxholgi

        #48
        AW: Alternative Firmware für den Assan GA250 Gyro

        Also ich habs mal mit nem anderen Sketch versucht und die Signale von RX und TX nach Pin 11 und 12 (=D11 und D12?) durchgeschliffen. So bekomme ich via "Connect Button" gar keine Verbindung. Spielt hier schon der Widerstand eine Rolle, der moeglicherweise anders sein muesste?

        So sieht der Sketch aus:
        Code:
        void setup()
        {
        pinMode(0, INPUT); //Rx pin
        pinMode(1, INPUT); //Tx pin
        
        pinMode(11,OUTPUT); //Rx pin
        pinMode(12, OUTPUT); //Tx pin
        
        }
        
        void loop()
        {
            int staterx = digitalRead(0);
             
            if(staterx == HIGH)
                digitalWrite(11, HIGH);
            else
                digitalWrite(11, LOW);
         
            int statetx = digitalRead(1);
            
            if(statetx == HIGH)
                digitalWrite(12, HIGH);
            else
                digitalWrite(12, LOW);      
        
        }
        Letzter Versuch waere dann, zwei Kabel von oben auf die beiden Widerstaende zu loeten, quasi der vordere SMD Loetpunkt und es so zu versuchen.

        Gruss
        Holger

        Kommentar

        • OlliW
          OlliW

          #49
          AW: Alternative Firmware für den Assan GA250 Gyro

          Hallo Holger,
          ich kenne mich jetzt mit Arduino nicht so aus. Bist du dir sicher dass sich die Pins 11 und 12 auch tatsächlich bewegen? Ich meine, kan man eine int Variable mit HIGH und LOW testen? Ich habe die Schreibweise if( digitalRead(0) == HIGH ) gefunden. Wahrscheinlich ist das aber schon richtig wie du hast, aber als C-Progger stutzt man da.

          Was ich aber denke auf jeden Fall nicht ganz richtig is, ist wie die Pins Eingängen und Ausgängen zugeordnet sind. Das habe ich übrigens oben auch falsch gemacht. Die "Durchlassrichtung" für Rx und Tx sind ja umgekehrt, also bei TX geht Info raus, bei Rx geht Info rein.

          void setup()
          {
          pinMode(11,INPUT); //fake Rx pin
          pinMode(0, OUTPUT); //Rx pin

          pinMode(1, INPUT); //Tx pin
          pinMode(12, OUTPUT); //fake Tx pin
          digitalWrite(12, LOW); //check if needed or not
          }

          void loop()
          {
          if( digitalRead(11) == HIGH) //read fake Rx and output to Rx
          digitalWrite(0, HIGH);
          else
          digitalWrite(0, LOW);

          if( digitalRead(1) == HIGH) //read Tx and output to fake Tx
          digitalWrite(12, HIGH);
          else
          digitalWrite(12, LOW);
          }


          Mit dem Widerstand ist das so nen Sache. Das "Problem" bei der one-Wire Lösung ist ja dass in manchen Situationen zwei Ausgänge gegeneinander kämpfen und man dafür sorgen muss dass der richtige gewinnt. Die "Kampfstärke" hängt nun vom Widerstand respektive wie viel Strom der Ausgang liefern kann. Jetzt hat der FTD ca einen Ausgangswiderstand von 500Ohm, beim ATmega weis ich ihn gerade nicht so, aber ich denke er ist eher so was wie 50Ohm. Wenn du nun den FT-Ausgang durch den ATmega ersetzt hat der natürlich jetzt mehr "Kampstärke" und ich könnte mir vorstelle dass man den 100Ohm Widerstand erhöhen muss. Ist aber nur so mein Gedankengang, zeigen muss es die Praxis. Ich könnte das heute Abend auch mal ausprobieren, dass ich auch einen ATmega dazwischen schalten...

          ich finde es cool dass du da so - mir fehlt das richtige Wort - energisch (?) ran gehst
          Olli

          Kommentar

          • linuxholgi
            linuxholgi

            #50
            AW: Alternative Firmware für den Assan GA250 Gyro

            Zitat von OlliW Beitrag anzeigen
            Hallo Holger,
            ich kenne mich jetzt mit Arduino nicht so aus. Bist du dir sicher dass sich die Pins 11 und 12 auch tatsächlich bewegen? Ich meine, kan man eine int Variable mit HIGH und LOW testen? Ich habe die Schreibweise if( digitalRead(0) == HIGH ) gefunden. Wahrscheinlich ist das aber schon richtig wie du hast, aber als C-Progger stutzt man da.
            Tja auch ich bin da Absoluter Anfaenger :-). Aber diese Schreibweisen habe ich in einem Arduino Beispiel gesehen, in einem Buch das ich mir gestern gesaugt hatte.

            Leider bringt auch dieser Code kein andere Ergebnis. Ich sehe die RX/TX LED kurz blinken bei Connect und bekomme dann den Fehler das nichts da ist. Benutze ich die urspruenglichen Pins, klappt der Connect immer. Egal welcher Code auf dem Arduino ist.

            Unsicher bin ich mit den Pins, ist 11 gleich dem Pin D11 auf dem Board? Oder ist zaehlen angesagt? Dann waere das D9 und D10. Versucht habe ich die vorhin auch.

            Mit dem Widerstand ist das so nen Sache. Das "Problem" bei der one-Wire Lösung ist ja dass in manchen Situationen zwei Ausgänge gegeneinander kämpfen und man dafür sorgen muss dass der richtige gewinnt. Die "Kampfstärke" hängt nun vom Widerstand respektive wie viel Strom der Ausgang liefern kann. Jetzt hat der FTD ca einen Ausgangswiderstand von 500Ohm, beim ATmega weis ich ihn gerade nicht so, aber ich denke er ist eher so was wie 50Ohm. Wenn du nun den FT-Ausgang durch den ATmega ersetzt hat der natürlich jetzt mehr "Kampstärke" und ich könnte mir vorstelle dass man den 100Ohm Widerstand erhöhen muss. Ist aber nur so mein Gedankengang, zeigen
            Vielleicht versuch ich einfach mal einen anderen Widerstand am urspruengliche Setup. Vielleicht geht das ja...

            muss es die Praxis. Ich könnte das heute Abend auch mal ausprobieren, dass ich auch einen ATmega dazwischen schalten...

            ich finde es cool dass du da so - mir fehlt das richtige Wort - energisch (?) ran gehst
            Olli
            Danke, ich bin vielleicht etwas besessen wenn ich mir etwas vorgenommen habe. Aber ich moechte auch nur ungerne deine Zeit verschwenden, wir sind mit meinem Porblemchen ja halb Off-Topic. Kommt der Adapter an, kann ich den ja nehmen. Aber mir machts Spass zu basteln und so fliege ich wenigstens nichts kaputt

            Gruss
            Holger

            Kommentar

            • OlliW
              OlliW

              #51
              AW: Alternative Firmware für den Assan GA250 Gyro

              Unsicher bin ich mit den Pins, ist 11 gleich dem Pin D11 auf dem Board?
              so würde ich das verstehen

              Leider bringt auch dieser Code kein andere Ergebnis.
              eigentlich erstaunlich... meinem Gefühl nach hätte ich darauf gewettet dass zumindest der connect geht... ich würde an dieser Stelle noch nicht ausschliessen, dass da nicht vielleicht doch irgendwo noch ein "kleiner" Fehler drinnen ist, im Program, im Aufbau, Versorgungsspannung(en), im Widerstand. (ich habe mir nochmal meinen Umbau der RobbeBox zum Proggen via Hagen's Bootlader angesehen, da habe ich einen 4.7k Widerstand benutzt)

              Die 100 Ohm denke ich sind wirklich zu klein, mehr so 1k -4.7k.

              Vielleicht versuch ich einfach mal einen anderen Widerstand am urspruengliche Setup.
              ein Versuch ist's allemal wert

              Aber ich moechte auch nur ungerne deine Zeit verschwenden,
              mach dir da keine Sorgen, (1) ich finde das sehr interessant (2) ich antworte eh nur wie es die Zeit erlaubt...

              cheers,
              Olli

              Kommentar

              • linuxholgi
                linuxholgi

                #52
                AW: Alternative Firmware für den Assan GA250 Gyro

                Also ich habe eben mal 1 - 3K ausprobiert. An den Pins 0/1 bekomme ich damit den Connect wie gewohnt hin, aber mehr nicht. Gleicher Versuch an 11/12 aber selbst der Connect schlaegt fehl.

                Mein Bootloader und Setup sollte ja vom Grundsatz her korrekt sein? Sonst wuerde ja nicht der Connect klappen. Das RX Kabel haengt immer an 1 oder 12, TX (Widerstand) an 0 oder 11.

                Tja vermutlich unglueckliche Kombination, Elektronik Laie und nicht das optimale Werkzeug zur Aufgabe an der Hand :-).

                Gruss
                Holger

                Kommentar

                • OlliW
                  OlliW

                  #53
                  AW: Alternative Firmware für den Assan GA250 Gyro

                  Hallo Holger,
                  irgendwo ist da der Wurm drinnen... was ich nachwievor nicht verstehe ist warum der connect klappt aber das flashen nicht. Auch dass das mit dem durch den ATmega-durchschleifen nicht klappt ist komisch (zumindestens bei AVRootloader... bei AvrCOnfig glaube ich mitlerweile alles). Fehler wurden schon oft dadurch aufgedeckt dass man auf ein ausagekräftiges Bild gucken konnte.... vielleicht wäre das hier auch eine Möglichkeit. Ich werde heute Abend mal versuchen das nachzumachen.
                  Cheers, Olli

                  Kommentar

                  • linuxholgi
                    linuxholgi

                    #54
                    AW: Alternative Firmware für den Assan GA250 Gyro

                    Hi Olli, ja das ist eine gute Idee. Also ich hab mal Bilder gemacht und etwas illustriert. Vielleicht mache ich ja was komplett falsch.

                    Was mich auch irritiert ist, das der Connect klappt aber laut Log der "keepalive" fehlschlaegt. Alle Daten ueber den Microkontroller wurden angezeigt und man sieht ja auch das Antwort-Telegramm.

                    Gruss
                    Holger
                    Angehängte Dateien

                    Kommentar

                    • OlliW
                      OlliW

                      #55
                      AW: Alternative Firmware für den Assan GA250 Gyro

                      sehr gute Photos, und es sieht auch alles ziemlich gut aufgebaut aus

                      was umgekehrt heisst dass ich nichts zum meckern finde

                      ich werde das heute Abend mal nachstellen, und dann weiss ich vielleicht mehr.
                      Cheers, Olli

                      Kommentar

                      • Minicharl
                        Junior Member
                        • 09.10.2010
                        • 15
                        • Volker

                        #56
                        AW: Alternative Firmware für den Assan GA250 Gyro

                        Hi Leut`s

                        @Olli
                        Zitat von OlliW Beitrag anzeigen
                        ich mach mir ja nur Sorgen dass das Problem 64bit ist...
                        also 64bit scheinen kein Problem für ARVrootloader und AVRconfig zu sein.
                        Hab ich soeben am Rechner vom Sohnematz getestet mit sofortigem positiven Ergebis.
                        Das sollte also nicht das Problem vom Holger sein.

                        @Holger
                        ich hatte einfach nen 10k-Widerstand benutzt weil der mir grad so in die Hände kam und ich auch zu faul war vielleicht einen passenderen zu suchen. Und siehe da, das funzte bei mir sofort (zumindest am FT232). Ich hab`s einfach so gelassen und hatte bisher keine Schwierigkeiten. Frei nach bem Motto "Never change a running System"
                        Leider hab ich mit dem Arduino bisher keinen Kontakt gehabt, da kann ich also wenig bei helfen. Ich werd mich in diesem Punkt auch zurückhalten um nicht mit falschen Tipps zu verwirren. Olli kümmert sich ja wirklich aufopferungvoll um dieses Thema. Ich glaub der Olli ist so was wie`n Universalgenie. Ich drück in diesem Punkt mal die Daumen.

                        ein schönes Wochenende
                        und Gruß vom Volker

                        Kommentar

                        • OlliW
                          OlliW

                          #57
                          AW: Alternative Firmware für den Assan GA250 Gyro

                          @Volker
                          TAUSEND Dank für den Test. Das ist sehr sehr gut zu wissen. Auch dir ein schönes Wochenende (obwohl ich vermute dass du es nicht lassen werden kannst hier mal hineinzuspitzen )

                          @Holger
                          Ich habe jetzt mal einen Arduino Nano "nachgebaut", zwar mit ATmeag88 aber das kanns ja nicht sein, und bei mir funktioniert zumindestens AVRootloader! AvrConfig bleibt hängen, klappt nicht, aber man kann am Oszi auch sehen dass es genau nur einen Versuch macht und dann nichts mehr... ich denke das finde ich bei Gelegenheit woran das liegt. Aber das evtl wichtige, AVRootloader funktioniert. Es ist etwas "instabil", und wenn's nicht klappte musste ich nur den USB Stecker aus dem PC ziehen, etwas warten, wieder einstecken, und dann natürlich den Com Port wieder setzen (Achtung, AUTO funktioniert NICHT, hat's zumindest bei mir noch nie).

                          Wie war meine Schaltung?
                          Für den uC habe ich ein Progrämmchen geschrieben, in dem ich Rx und Tx auf Eingang und hochohmig setzte. In der Schleife habe ich ne Led alle 500ms ein und ausgeschaltet, um zu sehen das was passiert
                          Elektrisch habe ich einfach - in Arduino-Sprache - den Rx und Tx Pin verbunden (also kein Widerstand) und an den Servo-Plug gegeben.

                          Ich hatte auch mal die Situation, dass AVRootloader connected aber nach ein paar keep alives aufgegeben hatte. USB rein-raus-rein, und es hat gepasst. Wenn es dann mal ging, ging es ständig.

                          Also, eigentlich sollte das mit AVRootloader gehen. Wenn nicht, vielleicht hat irgendetwas mit dem Bootloader brennen nicht geklappt? Vielleicht einfach nochmals machen, und auch die fuses checken. low=0xBF, high=0xDC. Und vielleicht vorher auch den ATmega nochmal erasen.

                          Jetzt probiere ich noch das mit dem Druchschleifen aus.

                          Bis denne, Olli

                          Kommentar

                          • OlliW
                            OlliW

                            #58
                            AW: Alternative Firmware für den Assan GA250 Gyro

                            EDIT: hatte gerade noch eine Idee und schnell ausprobiert:

                            ich hatte deine Schaltung nicht ganz richtig "nachgebaut", denn ich hatte auch den ATmega zum Connecten mit ein und ausgeschaltet... wenn der Atmega schon läuft BEVOR man connect drückt und bevor man den GA250 mit Strom vesrorgt, dann funktioniert nun auch AvrConfig!

                            Also, schmeiss den 100Ohm widerstand raus, und versorge den Arduino über den VIN Pin dauerhaft aus einer extra Spannungsquelle. Vielleicht bringts das.

                            Kommentar

                            • OlliW
                              OlliW

                              #59
                              AW: Alternative Firmware für den Assan GA250 Gyro

                              so nun noch die Info für den Fall mit Rx/Tx durchgeschleift... 1K ging nicht, habe jetzt 2.7K, funktioniert mit AVRootloader perfekt, die von Volker vorgeschlagenen 10k ebenso.

                              Allerdings geht AvrConfig wieder mal nicht. Das ganze Gefummel hat's aber dahingehend gebracht, dass ich jetzt glaube besser zu wissen warum das so ist, bzw., in der AvrConfig Hilfe steht ja schon ein Bug drinnen, und ich denke dass ist genau der selbe Bug... ich brauche also "nur" diesen schon bekannten Bug lösen...

                              Holger, zumindest mit AVRootloader müsste es eigentlich irgendwie zum Laufen zu bringen sein. Nicht sehr hilfreich, ich weis.

                              cheers, Olli

                              Kommentar

                              • linuxholgi
                                linuxholgi

                                #60
                                AW: Alternative Firmware für den Assan GA250 Gyro

                                Also ich habe den Bootloader nochmal geflasht. Die komplette Prozedur samt Erase. Hier ist das Log:

                                Flash Log - Pastebin.com

                                Nun werde ich nochmal den Sketch abaendern und einen neuen Versuch starten. Schade das der Bootloader sich nicht mit der LED vom Gyro irgendwie bemerkbar macht. Vielleicht sollte man eine leicht abgewandelte Version bauen, um hier fuers Projekt irgendeinen Indikator zu haben, obs bis hierhin schonmal klappt?

                                Gruss
                                Holger

                                Kommentar

                                Lädt...
                                X