PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : neuer bilder vom küchenbrettroboter



pebisoft
02.10.2005, 17:58
es gibt im "album, persönliche galerie, pebisoft" 3 neue bilder.
die vorderen sensoren wurden höher gesetzt (3x srf04), ein palm m100 ist draufgebaut, ein scansensor srf08 auf einem servo (0-160 grad) hinten am heck, die daten des raumscans werden in den palm m100 geschrieben in eine db-datenbank.
weitere sensoren:
- 2 sharp 80cm
- 1 compassmodul cmps03
- easy-funkmodul
- 1 video/audio-funk
- 1 cmoscam (sw)
- 3 tsop1736 für steuerung von robby in sichtweite (gehen 8m)
- 1 i2ceeprom 24c256
- asuro am heck als encoderzähler. werde da wahrscheinlich noch andere sensoren anbringen.
daurch steuere ich jetzt mein küchenbrettrobter auf 4mm genau, ist schon eien tolle präzise sache.

geplant und in arbeit:
- gameboycam
- cmucam2
- cny70
- sram 64kbyte oder ähnliches weol 24c256 ist zu langsam

datenübertragung über audiofunk (mal sehen was es da so gibt).

ich habe 2 avrplatinen mit avr16 8mhz drauf. kommunizieren alle miteinander und dem palm m100 über softwareuart.
es bestehen gegenseitige verbindungen, sozusagen jeder gegen jeden über rs232.
wird noch eine interessante arbeit für mehrere jahre für die vielen versuche die noch ins haus stehen.

erstaunlich, alle sensoren sind im betrieb mit timer , externen interrupt usw, keine fehlausgaben,aussetzer oder verreisser im programmamblauf, läuft so, wie ich es haben möchte.
mfg pebisoft

michaelb
03.10.2005, 21:20
Hi Pebisoft,
einfach der Hammer dein Bot!!! Spitzenklasse! Und vor allem was du da schon verbaut hast! Und alles funktioniert!
Ich denk mal den Servo hast du in C angesteuert! Kannste mal den Code posten?
Gruß Michi

pebisoft
03.10.2005, 23:20
hallo, ich habe die ganzen sensoren,funk usw und die verbindung zum palm m100 mit fastaver-basic programmiert. es klappt einfach alles. fastavr-basic erzeugt asm-source-code für avrasm32 von avrstudio und compiliert ihn zu hexcode. bei bedarf kann ich auch den sourcecode als asm-source erstellen und kann dann noch feinheiten reinbringen in assembler. jeder basicbefehl hat eine eigenen asm-sourcen-abschnitt. das schöne ist, er ist 100% für das avrstudio zum testen und probieren. ich hatte vorher in winavr-c geproggt , der code wurde immer complizierter in der augenoptik, manchmal hatte ich nur einen senkrechten strich vergessen und das programm lief nicht, weil ja der compiler keinen fehler gemeldet hatte, konnte er ja auch nicht, war ja mein prog-fehler.
dann bin ich auf fastavr-basic umgestiegen, weil es so schnell ist wie winavr-c. basic-code kannte ich sehr gut von bascom her, bloss bascom ist nichts für leute die ins eingemachte gehen. bascom machte sachen, die ich nicht verfolgen konnte. dann kam fastavr-basic. wenn ich hier was nicht verstehe , schaue ich mir den asm-source-code an und schon weiss ich, wie es in asm funktioniert. kann jetzt auch schon das programm verfeinern, weil ja fastavr-basic auch nicht alles richtig macht. macht aber riesen spass, dadurch habe ich in asm sehr viel dazu gelernt.
die servo habe ich mit den vorgegebenen zeitintervallen geproggt. dadurch kann ich sie starten wo ich will, bzw wo er langsam gehen soll um scanndaten zu messen und auch bis wohin er gehen soll, zb. nur um einen ausschnitt aufzunehmen.
mfg pebisoft




hier läuft der servo von 0grad bis ca 180grad und zurück :
1 waitus wird bei fastavr-basic mit 10 multipliziert, also sind es tatsächlich 10us. ist auch verständlich, ich habe noch keine schleife gefunden die tatsächlich nur 1us dauert mit einem rücksprungbefehl , auch nicht in asm.
die kann man nach den test dann in eine sub oder funktion packen.
die 2000 sind dann 20ms , die 150 in der for schleife sind dann 1500 (weil immer 1 waitus tatsächlich 10us sind), das entspricht dann ca 180 grad.
manche servo haben den anschlag auch bei 21ms oder bei mir bei 2100.

$Device= m16
$Stack = 32
$Clock = 8
$Baud = 19200
$Source= On

Dim wert As Word
Dim wert1 As Word
Dim wert2 As Word

DDRB.7=1
PORTB.7=0


For wert = 1 To 150
wert1=wert+50
wert2=2000-wert1
PORTB.7=1
WaitUs (wert1)
PORTB.7=0
WaitUs (wert2)
WaitMs 10
Next wert

For wert = 150 To 1 Step -1
wert1=wert+50
wert2=2000-wert1
PORTB.7=1
WaitUs (wert1)
PORTB.7=0
WaitUs (wert2)
WaitMs 10
Next wert

End

michaelb
04.10.2005, 18:35
Hi Pebisoft,
aha also mit fastavr bringst du das ganze zum laufen! Welches Programm braucht man für fastavr?
Gruß Michi

pebisoft
04.10.2005, 20:01
fastavr-basic ist das programm. ist bascom-ähnlich, nur das hier kompakter durchschaubarer asm-sourcecode erstellt wird, den man dann selber noch tunen kann, wo es not tut, ist ja asm-sourcecode für den avr32asm assembler von avrstudio.
ist teurer als bascom. man muss interesse für asm haben und interesse das man seine programme am optimalsten arbeiten lassen will, setzt voraus, den asm-code anschauen und tunen wo es not tut. bei bascom geht das natürlich nicht, da muss man das programm so laufen lassen wie es der compiler vorgibt. man hat da keine möglichkeit den asm-sourcecode zu korrigieren. wer nur ab und zu programmiert und niedrige ansprüche an das programm stellt der kann bascom nehmen, wer aber ins eingemachte geht, den kann ich fastavr-basic empfehlen oder aber auch winavr-c (ist freeware), muss sich dann aber wieder c-kenntnisse aneignen.
mfg pebisoft

pebisoft
04.10.2005, 20:02
ist eine doppelte sendung.

michaelb
04.10.2005, 20:18
Hi Pebisoft,
ich kann mich gerade nie entscheiden ob ich meinen neuen Roboter mit C oder Assembler progge! Ich krieg die Krise!! Was empfiehlst du mehr?
Gruß Michi

pebisoft
04.10.2005, 20:37
winavr-c ist sehr verbreitet und kostet nichts. ist aber sehr , sehr lernintensive. schau dich mal im winavr-forum um. wenn du soweit bist, kann ich dir auch mal den code für alle sensoren in winavr-c senden als zip-datei. hat aber keine erklärungen in den spalten. ich habe geproggt und versucht zu lernen, habe es nicht für nötig befunden, erklärungen reinzubringen. die c-sprache ist mir dann immer mehr über den kopf gewachsen, weil die sensorenansprüche immer komplizierter wurden. da eh nachher eine hexdatei erstellt wird , musste ich c-lernen und asm , um den avr zu verstehen. ich habe mich entschlossen in basic zu proggen und dann nur noch asm lernen (bin natürlich immer noch am anfang) und habe mir fastavr-basic gekauft. jetzt progge ich im leichten basic und habe asm-sourcecode. man mus sich das reicjhlich überlegen. sehr viele gute progger hier im forum quälen sich mit bascom ab, weil sie mit dem ergebnis nicht so zufrieden sind und tüfteln hier herum und tüfteln da herum um noch etwas aus bascom herauszuholen, wie gesagt, bascom gibt was unverrückbares raus, geht nicht besser und fastavr-basic gibt asm-sourcrcode zum anschauen für fachleute heraus und zum tunen.
und fachleute werden wir eh bald. winavr-c ist auch gut.
mfg pebisoft
meien mail: pebisoft@arcor.de

Kampfratte
30.03.2006, 11:05
ich habe noch nen palm m105... wie hast du das ganze verbunden kannst du den bot auch mit dem touchscreen steuern? wenn ja, in was hast du das proggi für den palm geschrieben?

Andun
30.03.2006, 15:16
Also ich weiß jetzt natürlich nicht, mit welchen Techniken er den angesprochen hat, aber ich habe letztes Jahr für JuFo auch mal ein Programm in C geschrieben für den Palm.

Es gibt ne Probierversion von Codevision (von Metrowerks glaub ich) mit Palm PlugIn. Da hast du dann alles in einer IDE integriert.
Es gibt aber auch einige erweiterungen für GCC, allerdings fällt mir der Name grade nciht ein. Da ist dass dann aber so ne Tool zusammenstellung wie auch avr-gcc eine ist.

Und du musst dann dort halt jeweils ne GUI erstellen und einen Code zum ansprechen der seriellen Schnittstelle.

Aber ich hoffe da auch grade auf ein paar mehr Informationen von pebisoft, da ich mit der Datenbank zum Beispiel auch noch nciht gearbeitet habe.

Wie hast du das denn gemacht pebisoft?

Andun

Kampfratte
30.03.2006, 15:47
also ich habe in nem anderen thread von piebsoft gesehen, dass er es mit einer basicvariante 8kostet 17Eur) gelöst hat... was ich dann eventuell probieren möchte, aber erst irgendwann, weil ich eigentlich erst mal kleiner anfangen möchte...

pebisoft
31.03.2006, 18:40
es gibt auch pocket-c (palm) für den windesktop. es wird code für eine runtime erzeugt die dann auf den pocket liegt oder aber nach wahl auch eine selbständige .prc. wenn die programme auf den palm mehr werden, lohnt sich das über die runtime zu machen weil die prc doch ziemlich gross werden, costet 27 euro. ich progge mit hotpawbasic 17euro und mit pocket-c.
vorzugsweise arbeite ich mit hotpawbasic weil ich schneller zum ziel komme.

pebisoft
31.03.2006, 18:43
ich habe noch nen palm m105... wie hast du das ganze verbunden kannst du den bot auch mit dem touchscreen steuern?

natürlich.
ich habe ein palm m105 auf den robby und einen palm m105 in der hand. über die irda-schnittstelle progge ich den palm auf den robby von den palm in der hand, die palm-irda geht max 4m.

der palm auf den robby überträgt die daten an den avr16 seriell über max.

techboy
31.03.2006, 22:25
Nein Roboter ist einfach der Hammer! Was für Akkus hast du auf dem Bot und wie viel verbraucht er?

Mfg.Attila Földes