PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Figuren fahren ?



Ferdinand
07.09.2008, 02:26
Hallo

Ich würde gerne wissen wie ein Code aus sehen muss,
damit ich Ungefähren Figuren oder Pioreten
Fahren kann ohne irgendwelche Sensorik
zu verwenden nur durch den Code gesteuert (geregelt).

Z.B. er Fährt 10cm vor und dreht sich 360° um seine eigene Achse und
dann Fährt er wider 5cm zurück dreht sich 180° und Fährt wider 5cm zurück

das ist nur ein Beispiel damit es klar wirt was ich meine,
er muss auch nicht so auf wendig fahren es reicht wenn,
er auch nur einen gewiesen haken schlägt.

Mit freundlichen Grüßen Ferdinand.

hai1991
07.09.2008, 11:16
hallo ferdinand
hast du schon die neue lib, welche in diesem forum immer erweitert wurde?
die aktuelle version ist 2.8 (der downloadlink ist irgend wo in diesem forum versteckt, einfach mal mit der suchfunktion versuchen)

damit hatst du die möglichkeit den asuro mit einfachen befehlen eine gerade strecke fahren zu lassen, oder in einem vorgegebenen winkel um die eigene achse zu drehen
die befehle dafür lauten Go(), Turn() oder als kombination GoTurn() (damit kann man aber auch nur entweder eine gerade fahren, oder sich drehen)
wichtig dabei ist aber, dass du vorher die werte in myasuro.h an deinen eigenen asuro anpasst!!

so, und nu (d)ein beispiel:


Go(100,200); //100mm mit 200 speed
Turn(360,150); //360° mit 150 speed

GoTurn(-50,0,175); //-50mm mit 175 speed
GoTurn(0,180,100); //180° mit 100 speed

das ganze kannst du ganz einfach so in deinem programm einbauen.
nähere infos zu diesen funktionen findest du in der lib in der datei 'encoder.c'.

ich hoffe du kannst damit was anfangen
und noch viel spaß beim herum fahren

Ferdinand
07.09.2008, 11:40
Hallo, hai1991

Vielen Dank das ist genau die antwort die ich haben wolte THX.

Ich werde heute Abend mal mit rum spielen.

MfG Ferdinand.

Ferdinand
08.09.2008, 01:58
Hi

Ich bekomme diese Fehlermeldung


C:\AsuroLib-v280rc1\AsuroLib-v280rc1\examples\FirstTry>make MCU=atmega8 LIBFILE=asuro
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=../../lib/asuro.lst ../../lib/asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

avr-gcc -c -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
avr-gcc -c -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=../../lib/asuro.lst ../../lib/asuro.c -o asuro.o
avr-gcc -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -I../../lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -L../../lib -lm -lasuro
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe: BFD 2.14 20030612 + coff-avr-patch (20030831) internal error, aborting at ../../bfd/reloc.c line 444 in bfd_get_reloc_size

C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\bin\ld.exe: Please report this bug.

make: *** [test.elf] Error 1

C:\AsuroLib-v280rc1\AsuroLib-v280rc1\examples\FirstTry>pause
Drücken Sie eine beliebige Taste . . .


und das ist das programm.


/************************************************** *************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* any later version. *
************************************************** *************************/

#include "asuro.h"

int main(void)
{
Init();




Go(100,200); //100mm mit 200 speed
Turn(360,150); //360° mit 150 speed

GoTurn(-50,0,175); //-50mm mit 175 speed
GoTurn(0,180,100); //180° mit 100 speed


while (1);
return 0;
}


Ich benutze die Version AsuroLib-v280rc1.zip und WinAVR-20080610.

und so eine Asuro-RN-Library wie hier erwändt wirt.
https://www.roboternetz.de/phpBB2/viewtopic.php?t=30004 Find ich gar nicht.

Mit freundlichen Grüssen Ferdinand.

Weiti
27.09.2008, 00:00
habe das gleiche problem bei der neuen lib. daher progge ich im moment mi´t den standartsachen...

oberallgeier
27.09.2008, 11:24
... Code ... damit ich Ungefähren Figuren oder Pioreten Fahren kann ohne irgendwelche Sensorik zu verwenden nur durch den Code gesteuert ...Ohne Sensorik wird so etwas nie genau - aber Du willst es ja auch nur ungefähr.


... durch den Code gesteuert (geregelt) ...Steuerung und Regelung ist dadurch unterschieden, dass die Regelung immer den Unterschied zwischen "soll" und "ist" beachtet und darauf die Sollwerte (=Vorgabewerte) anpasst.

Ich will damit nicht übertrieben penibel sein, aber wenn Du Dich damit beschäftigst, sollten diese Grundbegriffe wenigstens ungefähr bekannt sein. Und vielleicht wirst Du irgendwann dann Spass bekommen beim Versuch, den asuro die vorgegebenen Figuren genau fahren zu lassen. Denn das schicke Teilchen kann das auch :).

Viel Erfolg

m.a.r.v.i.n
27.09.2008, 14:09
Hallo Ferdinand,

zu deinem Problem mit WinAVR.
Du schreibst, dass du die WinAVR Version 20080610 verwendest. Nach den Bildschirm Ausgaben kann das nicht stimmen. Dort steht u.a.


avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.


Das ist die WinAVR Version von der CD aus dem Jahre 2003. Wahrscheinlich hast du mehrere WinAVR Versionen installiert. Überprüfe mal deine Ordner und entferne erst mal alle Versionen und installiere dann neu. Darauf achten, das du bei der WinAVR Installation Admin Rechte hast, und das das Häkchen zum Anpassen der Pfad Angaben gesetzt ist.

Gruß Peter