- Akku-Staubsauger-Saugroboter-Waschsauger-Test         
Ergebnis 1 bis 8 von 8

Thema: Asuro Schalterproblem gelöst

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485

    Asuro Schalterproblem gelöst

    Anzeige

    LiFePo4 Akku selber bauen - Video
    So habe Heute Zeit gehabt mich mit dem Schalterproblem zu beschäftigen.

    Nachdem ich traceroutinen in das Selftest Programm eingebaut hatte, war sofort klar was passiert ist.

    Die Schalterfunktion hat für S1 33 zurüchgegeben, dadurch hat Asuro geglaubt S1 plus S6 ist gedrückt.

    Warum?
    Der richtige Wert wäre 32 für S1 und 1 für S6 , 33 = 32 +1.
    Alles klar ?

    Nach Änderung der Pollswitchfunktion von
    return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 63.0 + 0.5));
    auf
    return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 62.0 + 0.5));
    hat es dann gefunzt.
    Ich habe mein Traceprogramm angehängt.
    Richtige Werte sind:
    S1 32
    S2 16
    S3 8
    S4 4
    S5 2
    S6 1
    Außerdem gibt das Programm noch den Wert für i in der Funktion weiter oben.

    Also main.hex in den Asuro laden,Taste 1 bis 6 drücken, auf dem Terminalprogramm schauen welche Werte kommen, Taschenrechner nehmen in der obingen Formel das jeweilige i einsetzen und den geeigneten Multiplikator ermitteln.

    Hoffe das hilft denjenigen, die Probleme mit den Schaltern haben.

    btw.: mit dem Tesprogramm funktionieren die Funktionen die dem jeweiligen Schalter zugeordnet waren nicht mehr richtig.
    Das stört aber nicht, weil es darum auch nicht geht, es soll lediglich überprüft werden, was intern passiert.

    LG
    Rubi
    Angehängte Dateien Angehängte Dateien

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    16.05.2005
    Beiträge
    8
    hallo Rubi

    ich habe deine testroutine ausprobieren wollen, aber leider hat sie irgendwie nicht funktioniert... es kam zwar die überschrift, aber danach nix mehr, egal auf welchen der taster ich drückte. könntest du die sourcen auch hier zum download einstellen, nur so dass ich dahinter sehe? das wär nett...

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hi

    Alzo
    Hier sind die files die ich geändert habe.
    Ich hoffe, ich habe jetzt nichts übersehen,
    bin mir aber zu 99% sicher, das das alles war.

    LG
    Rubi
    Angehängte Dateien Angehängte Dateien

  4. #4
    Hallo zusammen,

    an einen Korrekturwert für den brüchtigten "Wert 63" kann man am einfachsten kommen, indem man sich anzeigen lässt, was der ADC nach den einzelnen Tasterbetätigungen zurückliefert. Ich habe hierzu die asuro.c leicht geändert (a. Anhang). Zusammen mit der mitgelieferten test.c sieht man dann im Terminal den Wert für i (Rückgabe des ADC) und was asuro.c daraus berechnet.

    Bei mir (bzw. bei meinem asuro...) liefert der ADC z.B. 671 beim Druck auf Taste 1. Wenn ich dann in der Funktion PollSwitch() 60 statt 63 eintrage, dann liefert die Funktion für alle Tasten die korrekten Werte zurück (32(T1), 16(T2), 8(T3), 4(T4), 2(T5) und 1(T6)). Natürlich könnten man sich einen anderen Algorithmus ausdenken, der aus den Rückgabewerten des ADC die entsprechenden Werte 1-32 berechnet. Ich bezweifele aber, dass das deutlich kürzer wird, als das, was in der originalen asuro.c steht. Wozu also die Mühe...

    Gruß

    Holger
    Angehängte Dateien Angehängte Dateien

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    14.05.2005
    Beiträge
    42
    Hatte dasselbe Problem (neben kalten Lötstellen, die die Fehlersuche auch nicht vereinfachen, ich noob
    Mit Hilfe deines Programmes, bzw einer "61" scheint jetzt auch bei mir alles soweit zu klappen. (Bei "60" gingen die Tasten alleine prima, aber taste 1+6 ergab zusammen dasselbe wie nur Taste 1)


    bye,
    Jango, den das Roboterfieber und die Mikroelektronik gepackt hat ;D

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Bei mir war das gleiche Problem. Ich mußte auch eine "61" programmieren. Die Ursache sind die schlechte Qualität der verwendeten 1%igen Widerstände. Ich habe mal einige nachgemessen, es waren welche mit bis zu 4% Fehler dabei. Das sollte nicht sein. Die verwendeten 5%igen Widerstände sind da sogar noch besser.

    Gruß Waste

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Ich muß mich korrigieren, R12 hat sogar einen Fehler von 12%. Anstatt 12k hat der nur 10,7k und das soll ein 1%er sein!

    Gruß Waste

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hallo

    Ich muß das auch nocheinmal sagen, solche 1% Wiederstände habe ich
    auch noch nie gesehen.
    Eventuell tausche ich sie aus,...

    Schade irgendwie, das hat der Asuro wrklich nicht verdient.

    LG
    Rubi

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •