- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Fragen zur erweiterten Asuro-Lib

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    19
    Anzeige

    Powerstation Test
    Ich habs bisher immer nur mit (long) gecastet. Von daher war mir diese Schreibweise nicht bekannt.

    Ich hab jetzt die Go-Funktion in meiner asuro.c so angepasst, dass man jetzt die Entfernung in Zentimetern angeben kann (veränderte Zeilen sind mit Pfeilen markiert):
    Code:
    	int enc_count = abs(distance);                        //         <-------
    	int tot_count = 0;
    	int diff = 0;
    	int l_speed = speed, r_speed = speed;
    
    	// cm -> ticks
    	enc_count *= 5;			// only for 12 fields gearwheel     <--------
    	
    	// reset encoder
    	Encoder_Set(0,0);
    ...
    Mein Asuro hält sich auch ganz gut daran.

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    27.12.2006
    Ort
    Minneapolis
    Beiträge
    30
    Zitat Zitat von EDH
    yes there are any ideas.
    the searching machine of our forum.
    ich kann nichts weiteres im forum finden.

    nach meinem verstaendnis sollte es ausreichen in einem project die alte version asuro.c und asuro.h die die neue 2.61 ver zu ersetzen. wenn ich das jedoch mache, bekomme ich die untem im thread beschriebenen fehlermeldungen bzgl. der SIGNAL definitionen.

    wer kann helfen?

  3. #13
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    Zitat Zitat von damaltor
    in der erweiteren lib ist SIGNAL(INTERRUPT0[oder 1?]) schon definiert. in der asuro.c darf es deshalb nicht nochmal drin sein. du kannst nur in der lib die definitieon auskommentieren.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    bei Verwendung der Asuro Lib V2.61 muß auch die aktuelle WinAVR Version installiert sein.

    Wenn man mit der alten WinAVR Version arbeiten will, fügt in die asuro.h wieder folgende Zeile ein.
    #include <avr/signal.h>
    ein. Diese Header-Datei ist bei der aktuellen WinAVR Version obsolete.

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Go-Funktion in der asuro.c
    Code: [View More of this Code] [View Even More of this Code] [View Less of this Code] [Select All of this Code]
    00491 enc_count=distance*10000;
    00492 enc_count/=12823;

    Diese zwei Zeilen sind auskommentiert, warum? Kann man mit diesen Zeilen eine Umrechnung auf Meter durchführen oder welche Funktion haben/hatten die Zeilen?
    Hallo Stallion,

    die ursprüngliche Version der Go() und Turn() Funktion ist von mir. Dem Hinzufügen der Regelung der Radencoder stand ich kritisch gegenüber, weil es Funktionsprobleme bei Fremdlicht bis zum Programmhänger geben kann. Die beiden Zeilen im Go() sind noch aus der ersten Version. Etwas später habe ich herausgefunden, dass die Ungenauigkeiten der Umrechnung in mm genau daher kamen, dass ich das große "L" hier vergessen hatte. Wenn man das große "L" hinter der 10000 einfügt, dürfte die Umrechnung einigermaßen gut funktionieren.
    @m.a.r.v.i.n Bei einem Update der ASURO-Lib fände ich es nicht schlecht, wenn Du die Umrechnung wieder einführen würdest ( noch mal nachkontrollieren, ob der Faktor stimmt ). Dann hat man wenigstens eine vernünftige Maßeinheit für die gefahrene Strecke.

    Gruß,
    stochri

    Oh, edit ...Nachtrag:

    Ich habs bisher immer nur mit (long) gecastet. Von daher war mir diese Schreibweise nicht bekannt.

    Ich hab jetzt die Go-Funktion in meiner asuro.c so angepasst, dass man jetzt die Entfernung in Zentimetern angeben kann (veränderte Zeilen sind mit Pfeilen markiert): i
    Wie ich grad noch übersehen hatte, hast Du es ja bereits herausgefunden. Die Einheiten in mm anzugeben fände ich allerdings besser. Mit den großen Radencoderscheiben kommnt man auf eine Genauigkeit von ca. 2mm, wenn man die Länge nur in cm angibt, verschenkt man etwas Auflösung.

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    19
    Zitat Zitat von stochri
    Wie ich grad noch übersehen hatte, hast Du es ja bereits herausgefunden. Die Einheiten in mm anzugeben fände ich allerdings besser. Mit den großen Radencoderscheiben kommnt man auf eine Genauigkeit von ca. 2mm, wenn man die Länge nur in cm angibt, verschenkt man etwas Auflösung.
    Ich hab ursprünglich gedacht, dass es cm einfacher wäre, da man dann mit kleineren Zahlen hantiert. Aber du hast natürlich recht, dass mm hier wohl eine bessere Lösung ist. Daher hier nochmal der Code für mm:
    Code:
    // mm -> ticks
    enc_count /= 2;			// only for 12 fields gearwheel

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Hallo Stallion,

    es gilt allerdings zu bedenken, dass die Tick Auflösung nur ungefähr 2mm beträgt. Man kann sich also überlegen, ob sich die Einführung eines genaueren Faktors lohnt.

    Der noch in der alten Lib enthaltene Faktor stammt aus der Go() Funktion ohne Encodersteuerung in denen die Motoren rein zeitlich gesteuert waren. Der Faktor stellt den Zusammenhang zwischen Zeitdauer der Motoransteuerung und der gefahrenen Wegstrecke dar und muss deshalb für die Encoder gesteuerte Funktion entsprechend geändert werden.

    Wenn Du eine Herausforderung für eine genaue Positionssteuerung des ASURO suchst, kannst Du Dich dem Problem des Haus vom Nikolaus zuwenden: https://www.roboternetz.de/phpBB2/vi...=236737#236737

    hier gibt es noch einiges an Verbesserungspotential.

    Gruss,
    stochri

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2006
    Beiträge
    19
    Zitat Zitat von stochri
    es gilt allerdings zu bedenken, dass die Tick Auflösung nur ungefähr 2mm beträgt. Man kann sich also überlegen, ob sich die Einführung eines genaueren Faktors lohnt.
    Naja, aber trotzdem, Zentimeter sind zu grob, da eignen sich mm besser.

    Zitat Zitat von stochri
    Wenn Du eine Herausforderung für eine genaue Positionssteuerung des ASURO suchst, kannst Du Dich dem Problem des Haus vom Nikolaus zuwenden: https://www.roboternetz.de/phpBB2/ze...=236737#236737
    hier gibt es noch einiges an Verbesserungspotential.
    Ich hab mit meiner modifizierten Asuro-Lib. ein ganz gutes Häuschen hingebracht. Vielleicht poste ich später mal ein paar Bilder und die Modifikationen in dem Thread.

    Wobei es aus meinem Standpunkt etwas einfacher ist, da es zum Zeitpunkt des Wettbewerbs ja noch keine Go und Turn gab. Es ist also nicht mehr ganz so schwer sowas zu schaffen.

  9. #19
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Ich hab mit meiner modifizierten Asuro-Lib. ein ganz gutes Häuschen hingebracht. Vielleicht poste ich später mal ein paar Bilder und die Modifikationen in dem Thread.
    Es wäre nicht schlecht, wenn Du dasl posten würdest. Vielleicht sind Deine Routinen besser als die alten und man kann sie in einer neuen Lib einbauen.

    Gruss,
    stochri

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen