- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 6 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 53

Thema: erweiterte ASURO Bibliothek

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2005
    Beiträge
    5
    Anzeige

    Powerstation Test
    Hallo Weja,

    habe mit aslib.c erste tests gemacht und habe festgestellt das nach Aufruf von Encoder_Init() die Funktion PollSwitch nicht mehr funktioniert. Schätze mal es liegt daran dass auch PollSwitch auf ADMUX und ADCSRA zugreift.
    Es werden hier nur einzelne Bits gesetzt aber keine gelöscht.

    Ich werde mal versuchen das irgendwie hinzubiegen wird aber wohl etwas dauern (wenn es denn überhaupt geht...)

    Gruß Chris

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Buxtehude
    Beiträge
    70
    Hi Chris, vielen Dank für den Fehlerhinweis.
    Das Problem ist eigentlich leicht gelöst. Man muss nur die Rekursion von Signal[SIG_ADC] unterbrechen. Deklariere erstens eine globale Variable z.B autoencode=TRUE, dann führe 2. die Signal Funktion ( SIG_ADC)
    bedingt aus if
    (autoencode=TRUE)
    {
    hier der Code von SIG_ADC
    }
    und drittens setzte die Variable vor und nach PollSwitch(). Z.B. so:
    int Lese_Tasten (void)
    { int wert;
    autoencode=FALSE;
    wert=PollSwitch();
    autoencode=TRUE;
    return wert;}
    Ich hab das ausprobiert, und es klappt fehlerfrei. Ich will diese Korrektur, sowie die anderen Funktionen in die asuro.c mit einbauen, weil ich noch andere Verbesserungen an vorhandenen Funktionen gemacht hab.
    Ich bin gerade dabei alles zu testen. Neu dabei ist das Lesen der Systemzeit in ms und die Signalfunktion eines Tastendrucks ohne das Gedöhns von oben.
    Gruß Weja

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo, die programme würde ich nicht zu kurz machen. es fehlt sonst die übersicht über die funktionsweise der sprache winavr c, ich vermute die kinder sollen auch strukturiertes programmieren lernen. wenn die programme sehr kurz sein sollen kann ich nur assembler empfehlen.
    so habe ich auch sehr viel in den AVR reinbekommen. natürlich geht in assembler die übersicht verloren.
    mfg pebisoft

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Buxtehude
    Beiträge
    70
    Hallo Leute,
    nun habe ich es doch noch hinbekommen die "wichtigsten" Funktionen zum einfachen Programmieren für den Asuro in eine neue Bibliothek einzubinden.
    Ich musste dabei die Dateien asuro.h und asuro.c vollständig ersetzen, weil auch viele Änderungen an den vorhandenen Funktionen nötig waren.
    Diese Dateien und eine Kurzbeschreibung, sowie ein Beispielprogramm mit dem Namen test.c sind in dem begefügtem Archiv.
    Sinn des ganzen Projektes ist es ja, dass sich der asuro-Programmierer um Lösungsstrategien für bestimmte Aufgaben kümmen kann, und sich nicht mit dem Setzen von irgendwelchen Registerwerten herumschlagen muss., die man in evt. nur kiloschweren Handbüchern findet.

    Zum Beispielprogramm ( das gerade mal aus 30 Codezeilen besteht !!) :

    Stell Dir vor, Du befindest Dich aus mir unbekannten Gründen, in einem Labyrinth mit Wänden, die unter Hochspannung stehen. Es ist stockdunkel, Du kannst nichts sehen. Bevor man Dich in dieses Labyrint verfrachtete hattest Du noch einen Wunsch frei. " Lasst mir den ASURO" war Dein Wunsch. Als Zugabe durftest Du den Asuro auch noch einige Minuten programmieren.
    Das Ergebnis steht in test.c
    Wenn der asuro startet fährt er eine Zeitlang (8 Sekunden) geradeaus. Triffte er dabei auf kein Hindernis, dreht er um und kommt zum Ausgangpunkt zurück. Er signalisiert die freie Strecke mit einer grünen LED. Wird vor Ablauf der 8 Sekunden auf ein Hindernis (schlimme Wand) getroffen, kommt asuro auch zum Ausgangspunkt zurück und signalisiert mit roter Status LED wenn diese Wand sehr nahe ist, oder mit gelber, wenn sie etwas weiter weg ist. So hast Du die Möglichkeit den Ausgang zu finden ( wenn denn einer da ist ) .

    Ich hoffe, Ihr habt Spaß mit den neuen Programmiermöglichkeiten und würde mich über eine Rückmeldung sehr freuen.

    Gruß
    Weja
    Angehängte Dateien Angehängte Dateien

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Buxtehude
    Beiträge
    70
    Nach nunmehr 3 Wochen Wartezeit und etwas mehr als 120 Downloads für die Asuro Bibliothek frage ich mich immer noch, ob das bei anderen auch alles funktioniert.
    Habe ich keine Rückmeldung bekommen weil:
    1. Ihr habt alle bessere Lösungen ?
    2. Das Ganze ist zu kompliziert ?
    3. Vielleicht fehlt auch was Wichtiges ?
    Jedenfalls würde ich mich riesig über weitere Kritik und Anregungen freuen.

    Gruß
    Weja

  6. #16
    hallo weja,

    ich bin relativ neu im asuro geschäft und habe deine neue "asuro bibliothek" im einsatz. bisher funktioniert alles nach wunsch. die bibliothek finde ich sehr praktisch und hilfreich! =D>

    gruss newrob

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    31.01.2005
    Ort
    Neuwied
    Alter
    75
    Beiträge
    13
    Hi Weja.

    Leider gelingt es mir nicht ein Programm, welches geradeaus steuert, auf Sensor (Mechanik) richtig reagiert - rücktwärts, drehen und soweiter.

    Wer hat ein Beispiel?

    Gruß Kurt

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Buxtehude
    Beiträge
    70
    Hallo Kurt,
    im 2. Download , den ich bereitgestellt hab, ist so ein Beispiel drin.
    Der Asuro fährt geradeaus bis zu einem Hindernis, dreht um und kommt die gleiche Strecke zurück. Bitte probier das mal aus. Was passiert bei Dir ?
    @newrob
    Danke für die Rückmeldung.

    Gruß an euch
    Weja

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.05.2005
    Beiträge
    734
    Hallo Weja,

    deine Bibliothek finde ich super. Sie enthält sehr nützliche Erweiterungen für mich. Ich verwende sie als Grundgerüst für meine Programme. Als einziges habe ich in der Interrupt-Routine bei der Abfrage der Odometriewerte eine Hysterese eingebaut. Die Grenzwerte sind bei mir jetzt unten 140 und oben 160. siehe auch CodeAuszug

    Es hat auch vorher funktioniert, aber mit Hysterese ist es für mich sicherer.

    Danke dir für die Bereitstellung deiner Routinen.

    Gruss Waste

    Code:
    	if ( (tmp[toggle] < 140) && (flag[toggle] == TRUE)) {
    		encoder[toggle] ++;
    		flag[toggle] = FALSE;
    	}
    	if ( (tmp[toggle] > 160) && (flag[toggle] == FALSE)) {
    		encoder[toggle] ++;
    		flag[toggle] = TRUE; 
    	}

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2005
    Beiträge
    6
    Hallo Weja,

    seit Freitag bin ich nun auch Besitzer eines ASURO.
    Ich war schon am Überlegen wie ich die Odometrie auf Interruptbetrieb
    umstelle da bin ich auf deine Erweiterung gestossen.

    Klasse.

    Bist jetzt hatte ich noch keine Probleme mit deinen Erweiterungen.

    Gruß
    Pinsel

Seite 2 von 6 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress