hi stochri,
was beudet das im klartext?Zitat:
Eine Verbesserung der Odometrie könntest Du vielleicht zusätzlich erreichen, wenn Du die Schaltschwellen an die Signale an Deinem ASURO anpasst.
danke
Druckbare Version
hi stochri,
was beudet das im klartext?Zitat:
Eine Verbesserung der Odometrie könntest Du vielleicht zusätzlich erreichen, wenn Du die Schaltschwellen an die Signale an Deinem ASURO anpasst.
danke
hat jemand schon mal eine idee entwickelt, wie man die zahnräder (mit den scheiben auf der richtigen seite) festmacht?
Ich habe noch einmal die abschirmung der odosensoren gegen streulicht etwas verbessert (der plastik-fingerhut meiner frau musste dran glauben :-$ )
nimm einne büroklammer, schneide ein stück ab, und bege es zu einem U. mit etwas glück und geschick kannst du dieses U dann auf das äussere ende der achse klemmen.
Hallo Inka,
schöne Bilder hast Du da gemacht.
Ach ja, das Geheimprogramm habe ich leider noch nicht durchschaut. :-$ :-b
Viele Grüße, Hans.
ja, da bin ich ehrgeizig :-), ich habe für die wellensicherung keine büroklammer genommen, sondern eine windung einer druckfeder mit einem innendurchmesser der etwas größer als der wellendurchmesser ist mit dem seitenschneider abgezwickt, diese windung mit einer kleinen rundzange etwas zusammengedrückt und auf die welle geschoben...
soweit ich die erfahrung vom ersten post beurteilen kann, wird einfach der strom den der motor braucht über einen shunt- widerstand gemessen und in spannung umgewandelt. mit dieser spannung geht man an ein AD port des µc und übersetzt so die einzelnen belastungen in werte, die man dann im programm selbst nutzt . Die spannung am shunt- widerstand hat ein ähnlichen verlauf wie das von fotodioden oder anderen senoren ..
gruß
bei mir fehrt er los.....bis er an ne wand knallt und dann passiert garnichtsmehr... woran kann das liegen?
Servus @ all,
das ist ein sehr interessantes Projekt. Hat jemand jetzt mal den Hex-Code umgewandelt?
Bzw die Source
MfG Jurii
Hallo Jurii,
willkommen im RN-Forum.
Ich bin erstaunt wie schnell du diesen Thread hier gefunden hast. Er wäre meine Antwort auf deine Frage nach dem Unterschied zwischen Gegenstand und Mauer gewesen [Link] :)
Der Weg scheint nun ja klar: Vorsichtig Gas geben und prüfen, ob sich die Räder mit Grip drehen oder "wild" durchdrehen. Ob es einen öffentlichen Quellcode zum "Geheimprogramm" gibt weiß ich leider nicht.
Gruß
mic
Servus @ all,
habe jetzt mal versucht das Programm, was Storchi gepostet hat zu flashen.( nicht die fertige Hex, sondern den Quellcode von Seite ein) Complieren hat mit der Motor-Lib auch geklappt. Leider läuft der Asuro damit nicht und gibt nur grün/rote Ledsignale.
Kann mir jemand helfen?
Code:#include "asuro.h" // bitte die neue Datei benutzen
// asuro.h und asuro.c vom 31.03.05
#define aus MotorDir(BREAK,BREAK)
#define go {MotorSpeed(150,150);MotorDir(FWD,FWD);}
#define backturn { MotorSpeed(150,250);MotorDir(RWD,RWD);Msleep(1000);}
/*************************************************************************************
ASURO discovers your apartment
program made by stochri july, 2005
*************************************************************************************/
int speed()
{
int rightspeed,leftspeed;
int leftold,rightold;
Encoder_Set(0,0); // reset encoder
leftold=encoder[LEFT];
rightold=encoder[RIGHT];
Msleep(300);
leftspeed=encoder[LEFT]-leftold;
rightspeed=encoder[RIGHT]-rightold;
//SerWrite(" speed Left,Right ",19);
//PrintInt(leftspeed);
//PrintInt(rightspeed);
return leftspeed+rightspeed;
}
int main(void)
{
int n,v,nullspeed;
Init();
Encoder_Init();
StatusLED(OFF);
SerWrite("\n\rASURO OK\n\r",8);
go;
Msleep(500);
nullspeed=speed()-10;
while(1)
{
v=speed();
SerWrite("\n\r speed ",9);
PrintInt(v);
if(v<nullspeed)
{
backturn;
go;
Msleep(500);
}
}
return 0;
}
MfG Jurii
Na, dan ist irgendwie das falsche quelcode compiliert, oder nicht gut im asuro geflashed. Weil den Statusled aus gehen solte wenn den bootloader fertig ist. Grun sollte es gar nicht leuchten in Stochri's code.
Hallo Valen,
habe jetzt nochmal mit den Lib gespielt und nun flasht er zwar Alles richtig aber der Asuro bleibt stumm "stehen". Die Geheim.hex umfasst auch 32pages im Gegensatz zu meiner compilierten mit 28pages.
Habe einfach die Dateien aus der Motor.zip in den Avr-Lib Ordner kopiert.
MfG Jurii, der am Verzweifeln ist :-(
Ich denke nicht das es im AVR-Lib order am richtigen platz ist. Die dateien sehen aus wie fur einer normalen Asuro program, ahnlich wie den Firsttry oder Selbtest Ordner. Denn test.c in diesen motor.zip lasst den Statusled blinken. Also ist nicht die quelcode oben compiliert sonnst die motor.zip test.c. Ich furchte du muss den AVR compiler und so wieder neu instalieren damit es wieder gut wirkt. Moglich hast du den wichtigen dateien uberschrieben.
Welches Lib brauchst du eigentlich. Den orginalen lib vom Asuro-CD oder die neue erweiterten Lib (2.7 oder 2.8 ) von Sourceforge?
Hallo Valen,
habe gerade die 2,71 Lib laut der Anleitung installiert. Sollte jetzt eigentlich funktionieren. Die Hex Datei ist jetzt auch nur noch 11pages gross und der Asuro leuchte grün auf. Mehr tut er aber auch nicht.
Ich versuche jetzt noch ein bisschen und ansonsten muss ich wohl das Handtuch werfen und aufgeben.
MfG Jurii
Servus @ all,
so habe jetzt nochmals Alles deinstalliert und nun nach den Anleitung in der Lib neuinstalliert.
Wenn ich nun ein eigenes Projekt anfertige und compiliere kommt folgende Fehlermeldungen
Wäre wahnsinnig nett wenn mir da jemand was zu sagen könnte.Code:> "C:\ASURO_SRC\FirstTry\Test-all.bat"
C:\ASURO_SRC\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -IC:/ASURO_SRC/AsuroLib/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=C:/ASURO_SRC/AsuroLib/lib/asuro.lst C:/ASURO_SRC/AsuroLib/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 -I. -g -Os -IC:/ASURO_SRC/AsuroLib/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 (WinAVR 20090313) 4.3.2
Copyright (C) 2008 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 -I. -g -Os -IC:/ASURO_SRC/AsuroLib/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 -I. -g -Os -IC:/ASURO_SRC/AsuroLib/lib/inc -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=C:/ASURO_SRC/AsuroLib/lib/asuro.lst C:/ASURO_SRC/AsuroLib/lib/asuro.c -o asuro.o
avr-gcc -mmcu=atmega8 -I. -g -Os -IC:/ASURO_SRC/AsuroLib/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 -LC:/ASURO_SRC/AsuroLib/lib -lm -lasuro
c:/winavr-20090313/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr4/crtm8.o:(.init9+0x0): undefined reference to `main'
make: *** [test.elf] Error 1
> Process Exit Code: 2
> Time Taken: 00:01
MfG Jurii
Das ist schon ofter vorbei gekommen hier Im Asuro abteilung. Aber was dar fehlt geht mich uber den kopf.Zitat:
undefined reference to `main'
[/quote]Zitat:
Zitat von stochri
Hallo! Ich bekomme folgenden Fehlermeldung beim erstellen der HEX file!
Wenn ich die Methoden "EncoderInit, EncoderSet, EncoderStar, EncoderStop" funktioniert das HEX file erstellen?Code:"-------- 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-ch
ar -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -W
a,-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 2003
0612 + coff-avr-patch (20030831) internal error, aborting at ../../bfd/reloc.c l
ine 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"
Deine letzte frage verstehe ich nicht. Aber du benutzt eine alte version von den compiler (WinAVR 3.3.1). Versuch es mal mit ein spätere version:
http://sourceforge.net/projects/winavr/files/