PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ASURO-Bot Bausatz: Erfahrungen und Meinungen



Seiten : [1] 2

Frank
19.11.2004, 18:53
Wie schon angekündigt soll ab Januar ein kleiner Roboterbausatz Namens ASURO auf den Markt kommen. Der Bausatz richtet sich in erster Linie wohl an Schüler ab 14 Jahren (laut Verpackung).
Einige Muster werden ja in Kürze an einige Roboternetz-Tester verschickt.
Dieser Thread kann genutzt werden um die Meinung zu dem Bot los zu werden. Erfahrungen, Verbesserungsvorschläge, Lob, Kritik - ruhig alles posten.

Hier schon mal zwei Bilder was Euch erwartet:


https://www.roboternetz.de/bilder/test/asuro1.jpg


Die zu lötende Platine ist in etwas so groß wie unsere Roboternetz Standard-Platinen, also in etwa 1/4 einer Europakarte. Also es wird ein niedliches kleines Teil. Wesentlich keiner als der Robby CCRP5, der aus dem gleichen Haus kommt.
Im übrigen sei an der Stelle angemerkt das auch in Kürze nur das Robby CCRP5-Fahrgestell erhältlich ist - ganz ohne Elektronik. Man könnte dann z.B auch ein RN-Control oder was ganz anderes drauf montieren. Aber das nur nebenbei.

https://www.roboternetz.de/bilder/test/asuro2.jpg


Doch - der Tischtennisball gehört auch dazu ;-)

|Marcel
20.11.2004, 22:36
wo kann ich den kaufen???

20.11.2004, 22:55
Wieviel kostet er?

21.11.2004, 01:02
Bei ELV und Conrad ab Januar.

nestler
21.11.2004, 07:34
habe gehört, den gibts schon für ca. 70 Eur

21.11.2004, 10:19
Für das Geld kann man sich allerdings auch selbst was feines basteln

dundee12
21.11.2004, 10:39
Das stimmt über den Preis kann man sich wirklich streiten. Aber ich denke mir wenn Rco, X-Ryder, Sonic und Thille ihn erst einmal getestet haben und nichts schlechtes bei rauskommt währe das ding auch empfehlenswert. Wenn ich mir das mal so überlege was ich für Cybot bezahlt habe da bekomme ich wesentlich biliger diesen Bot und er kann auch fast so viel wie cybot.

Frank
22.11.2004, 16:43
Ich füge hier auch nochmal das Bild des fertigen Bot´s ein. Dann haben wir alles beisammen.


http://www.robotic.dlr.de/Robin.Gruber/asuro/AsuroFoto.JPG

Wie Thille schon in dem anderen Thread anmerkt, etwas weniger schön wirkt die Motorbefestigung. Wenn es Getriebemotoren wären dann ginge das ja noch, aber in diesem Fall werden ja noch die Zahnräder angetrieben. Der Motor darf also nicht viel wackeln, sonst sind die Zahnräder bald hin.
Bin also auch gespannt wie stabil diese Art der Montage ist.

Florian
22.11.2004, 16:45
Also ich habe eigentlich keine schlechten Erfahrungen mit Kablebindermontage gemacht, man muss sie nur ordentlich fest ziehen! ;o)

Goblin
22.11.2004, 17:06
wegen dem fahrgestell vom robby: ne ahnung, wie teuer das wird?

RCO
22.11.2004, 17:19
Ich habs im Parallelthread schonmal gepostet, hier ein Link mit Video:

http://wdw.prosieben.de/wdw/AirospaceWorld/News/Praktikum_JensWindau/

Manf
23.11.2004, 14:37
Hier ein Originalbild der Lieferung:
Dann wollen wir mal sehen.
Manfred

RCO
23.11.2004, 14:55
Was ist denn auf den 3 CDs alles drauf?
Ist dieser Ball da eigentlich noch ganz, oder schon richtig geschnitten?
Will meins auch endlich haben ;-)

MFG Moritz

Manf
23.11.2004, 15:23
Ich glaube das sind idetische CDs, ich hoffe man muß die nicht auch klein schneiden.
Es ist eine Adobe Anleitung mit vielen Bildern dabei iun der auch steht wie man den Ball zersägt und schleift. :-$
Manfred

Manf
23.11.2004, 15:58
Wenn es beim ersten Mal nicht gleich geht, nicht entmutigen lassen. Es wird mit der Zeit besser.
Manfred

23.11.2004, 16:16
:-) Leider ist nur ein Ball dabei!

Florian
23.11.2004, 16:27
Das andere sind aber auch Eier, das sieht man an der leicht ovalen Form! ;o)

RCO
23.11.2004, 17:01
Mein jetziger Roboter fährt auch auf nem halben Ball ist relativ problemlos.

Goblin
23.11.2004, 17:14
wäre mal ne idee, den bot auf nem halben ei fahren zu lassen! ;)

Manf
24.11.2004, 00:26
Der Aufbau geht ja ganz gut voran. Die Beschreibung ist klar und enthält auch grundsätzliche Erklärungen wie beispielsweise zum Löten. Klare Temperaturangeben auch für bleifreies Löten.

Bis jetzt ist ein Widerstand übrig und einer hatte 1% statt 5%, also kein Problem.

Daß die Zahnräder unterschiedliche Größe haben, war nicht gleich zu erkennen. Ich hatte schon Sorgen, daß sie nicht genau passen würden.

Lustig ist ja die Befestigungung der Wellen, die beim Anlöten in Kerben auf der Platine grdrückt werden. Es passt erstaulich gut und erscheint recht stabil.

Mal sehen was noch kommt.

Manfred

RCO
24.11.2004, 10:32
Meinst du man kann ihn auch mit Bascom programmieren?
Wie funktioniert das mit dem Bootlader, wo ja wegen der Infrarot-Programmierung schon 1KB an Daten drinnstecken.

MFG Moritz

Manf
24.11.2004, 11:06
Ich habe jetzt den Platz für den 1k 1% Widerstand gefunden, es ist R24.
Er ist zusammen mit den R25 bis R32 (alle 1%) die an einem analogen Tastschalter Encoder sitzen.
Im Bestückungsplan sollte man R24 nicht mit 1k 5% angeben, sondern wie vorgesehen mit 1k 1%.

Es gibt so viele andere 1k 5% für die der 1k 1% dann irgendwo eingesetzt wird damit es aufgeht.
Nicht entscheidend, sollte nur ergänzt werden.

Manfred

Die Frage mit dem Bascom interessiert mich auch, ich habe noch nicht alles durch. Vorgesehen ist C.

24.11.2004, 11:18
Falls der Atmel gesockelt ist sollte das mit dem Bootloader ja kein Problem sein...macht man eben einfach nen neuen drauf.

@Manfred: Gibt es eigentlich ne ISP-Buchse auf dem Board oder wird das über das RS232-Modul gemacht das dabei ist?

Gruß, Sonic

RCO
24.11.2004, 11:20
Wenn ich das richtig verstehe hat es keinen ISP, deshalb ja die RS232-Infrarot-Übertragung und der BOotlader.
Da ich aber bisher nur darüber gelesen habe, fände ich es nett, wenn mir jemand das mit dem Bootlader mal erkl#ren könnte, wie kann denn darüber die Programmierung laufen ist das sowas wie der Bios des PCs?

MFG Moritz

Manf
24.11.2004, 11:30
@Manfred: Gibt es eigentlich ne ISP-Buchse auf dem Board oder wird das über das RS232-Modul gemacht das dabei ist?

Der Anschluß des Boards an die PC Schnittstelle ist optisch. Wenn das zur Frage paßt. 8-[
Manfred

Frank
24.11.2004, 11:34
Ja, der Bootloader ist eine kleine Bootroutine die als eine Art Mini-betriebsystem beim Start abgearbeitet wird. Man kann damit eigentlich per Funk, Infrarot usw. programmieren, es kommt einfach auf die Bootloaderroutine an.
Das geht bei fast allen Atmel Controllern.
Schau dazu auch mal in den Beitrag:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=3182&highlight=bootloader

RCO
24.11.2004, 12:30
Ist es denn möglich die funktionen des Bootladers auch mit Bascom anzusprechen, für das Übertragen des Programmcodes ist das vermtulich kein Problem, aber vielleicht für IR-Fernbedienung, oder werden die Daten z.B. in einem Register abgelegt, auf das man mit Bascom zugriff hat?

MFg Moritz

RCO
24.11.2004, 16:47
Also mein Bausatz ist heute gekommen, sieht schonmal alles klasse aus, hab mal schnell nen Block drauf geworfen. Leider werde ich vermutlich erst am Wochenende oder sogar erst nächste Woche Zeit haben ihn aufzubauen.

MFG Moritz

Florian
24.11.2004, 19:01
hab mal schnell nen Block drauf geworfen
Und ist's kaputt? *lol*

Ich gehe mal davon aus, dass es Blick heißen soll! ;o)

So langsam werde ich neidisch, ich hätte mich doch melden sollen!

dundee12
24.11.2004, 19:05
Ich hab auch schon gesagt das ich mir in den Ar**** beißen könnte aber was solls wer zu spät kommt verpasst das beste.... Aber es ärgert mich eigentlich nur weil ich eigentlich den ganzen tag vorm Pc liege aber gerade das übersehen habe.

x-ryder
24.11.2004, 19:34
jojo ich bedaure euch ja wiiiirklich!!! :cheesy:

Ich hab auch grad meinen IR-Tranceiver aufgebaut und er geht!!! *glückgefühl*

bis jetzt find ichs eigentlich nur nen bisschen dumm das das zweiseitige platinen sind aber zum glück sind die durchkontaktiert wenn mans per löten nicht mehr schafft...
sonst würde ja warscheinlich der robby auch nicht so klein sein...

war da eigentlich lötzinn dabei? wenn nein und ich richtig liege find ich das glaube ich nicht gut da keinen lötzinn, dafür aber eine entlötlitze reinzulegen :-)

bis jetzt waren aber alle bauteile da und es hat auf anhieb funktioniert.

das beste war bis jetzt aber immer noch die bedienungsanleitung: denn die ist echt auch was für die schule!!! recht gut beschrieben mit bildern allen schaltplänen programmbeispielen u.s.w.

ich denke das man den atmega8 auch mit bascom programmieren kann da z.b. der brenner den man für linux verwenden soll hex-dateien annimmt und man dann die bei basco nur noch ausgeben lassen muss.

edit: den "brief" fand ich auch recht gut und vor allem informativ

so werde dann mal (morgen warscheinlich) weiterberichten uuuund CU

Martin

sonic
24.11.2004, 20:05
Hmm, ich glaub ihr wohnt alle näher an Holland als ich [-(
Immer auf die Norditaliener :-#

O:) Gruß, Sonic

thille
24.11.2004, 20:15
Mach Dir nichts draus, ich habe auch gehofft und gebangt als das Postauto kam und dann wieder blos Werbung im Kasten gehabt.

Gruß

Torsten

RCO
24.11.2004, 20:48
Ja den Block hat es bisher überlebt, ;-)
es ist immer lustig, wenn man sich mal die Verschreiber von Leuten anguckt und schaut, wo die Buchstaben auf der Tastatur liegen, wie bei mir zum Beispiel das "o" neben dem "i".
Also ich habe doch noch etwas Zeit gefunden und werde den Programmieradapter schonmal aufbauen, da er ja recht simpel zu testen ist. Ich fand übrigens, dass dieses Paket verdammt leicht war: 700g!
Aber so groß ist das ding ja auch net.

MFG Moritz

RCO
24.11.2004, 22:50
Also der Infrarotseder/empfänger ist fertig und läuft nach einmaligem drehen des NE555 auch perfekt. Allerdings hab ich in der Durchaus guten Anleitung eine Unstimmigkeit gefunden. Oben steht:


4.1. Bestückung des RS232-Infrarot-Transceivers
• R6: 10k Ohm, 5% (braun, schwarz, orange, gold)

Zu dem selben Widerstand unten:


Für den zugehörigen RS-232-IR-Transceiver braucht man folgende Bauteile:
1x 10k 1/4 W 1%

Was eh unlogisch ist, da hinter dem 1% Widerstand ja ein Poti kommt!

Naja, ansonsten muss ich mal zusehen, dass ich die 78 Seiten Anleitung ausgedruckt kriege. Ansonsten solange die Tinte reicht. ;-)

MFG Moritz

Manf
24.11.2004, 23:04
Ich gebe dann mal schnell meinen Testbericht ab solange ich den kleinen Vorsprung noch habe.
Ein toller Selbsttest mit 6 Bereichen:
Lampen, Photosensoren, Schalter, Geschwindigkeitsmesser, Motoren, Kommunikation.
Weitgehend erfüllt, aber die Einstellung des Transceivers und des Tastenencoders muß ich noch überprüfen.
Manfred

RCO
24.11.2004, 23:32
Also ich werde dir deinen Vorsprung nicht so schnell streitig machen.
Aber hast du dir mal was von Arexx durchgelesen, die wollen daraus nen Fußballroboter machen, mit einem Ball und einem speziellen spielfeld dafür, was bald erhältlich ist.

RCO
25.11.2004, 11:20
Ja, ich nochmal, also ich denke, dass ich das Ding erstmal in C programmieren werde, denn schließlich steht in der Anleitung ja schon alles drin, was man zunächst mal wissen müsste. Wenn ich dann ei wenig mehr Erfahrung habe, kann ich ja vielleicht umschalten.

MFG Moritz

Manf
25.11.2004, 11:38
So jetzt habe ich noch mal das Hyperterminal ausprobiert. Der ASURO gibt ja schon wärend des Tests die Hauptschritte in Klartext an.
Mit der Einstellung des Adapters am Rechner muß ich noch ein bischen was ausprobieren. Aber es geht schon mal soweit.
Während des Serial Test kann manTasten drücken und der ASURO antwortet mit (Ascii+1).
Manfred

Das ist dann die Ausgabe:

-- ASURO Testing --
LED Test
Line Test
Switch Test
Odometrie Test
Motor Test
Serial Test
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTñ2TTTTTTTTñ2TTTTñ2TT Tññ212ñ212ñ2TTTTTTTTTTTTTTTTTT
TTTTTTTñ2TTTñ2TTñ2Tñ2Tñ2TTTTTTTTTTTT23TTT23TTTTTTT TTT34T34TTTTTTTTü5Tü5TTTTTTTTT
TTTTTT56TT56TTTTTTTTTTT67T67TTTTTTT78T78TTTTø9Tü9T TTTTT9:T9:TTTü1Tü1TTTTTTTßàTßà
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
-- ASURO Testing --
LED Test

sonic
25.11.2004, 14:40
So jetzt kann ich mal anfagen aufzuholen, gerade war das gelbe Auto da ;-)

Gruß, Sonic

sonic
26.11.2004, 00:39
-> Up'n runnin'

Echt nicht schlecht das Ding ;-)
Der Selbsttest sieht zwar bissche anders aus als bei Manf, aber funktioniert soweit ich gesehen hab alles...

Leider hat eine von den Encoder IR-LED'S gefehlt oder ich hab sie verschlampert...naja hab eine andere dafür eingebaut, mal sehn ob das funktioniert.

Gruß, Sonic

Manf
26.11.2004, 09:30
Läßt sich der Test in der Form beschreiben, oder was ist unterschiedlich?

RCO
26.11.2004, 10:06
um 14:40
So jetzt kann ich mal anfagen


um 00:39
-> Up'n runnin'

Da hast du dich ja richtig reingehenkt ;-)
Zum test: da steht doch in der Anleitung genau was bei dem Test passieren sollte, so wie Manf das beschrieben hat.

Hat schonmal jemand nen eigenes Programm geschrieben?

Habt ihr übrigens mal das schrieben gelesen? Der Preis ist ja wohl vollkommen in Ordnung, soweit ich das bis jetzt beurteilen kann.

MFG Moritz

Manf
26.11.2004, 10:19
um 00:39 -> Up'n runnin'

Wenn es wieder hell geworden ist findet sich sicher auch die LED wieder.

Der Preis ist ja wohl vollkommen in Ordnung, soweit ich das bis jetzt beurteilen kann.

Hast Du denn eine offizielle Preisinformation?
Manfred

fzehner
26.11.2004, 11:08
Leider war ich nicht bei den glücklichen Vieren, die ein Test-Bot bekommen haben. Gibt es vom Hersteller eine Internetadresse, daß man sich ASURO dort bestellen kann? Ich habe keine Lust darauf zu warten, bis Conrad oder ELV den Bot endlich im Programm haben.

@Frank: wäre das nicht etwas für Robotikhardware?

nestler
26.11.2004, 11:24
naja, demnächst gibt es das ganze ja dann eh beim grossen c
(angeblich anfang 2005)

bin mir nicht sicher, ob es für robotikhardware rentabel ist, in dieses
geschäft einzusteigen...

sonic
26.11.2004, 12:18
@Manf: Ja, doch der Test läft genauso ab wie bei dir, mich hat der RS232-Test verwirrt. Irgendwie schaff ich's nicht im Hyperterminal tasten zu drücken, da passiert bei mir nix. Liegt aber nicht am Asuro, im Bascom Terminal kommen aber die Ausgaben, Tasten drücken kann ich da aber auch nicht ;-(

Die LED hat sich nicht wieder gefunden ;-( aber es funktioniert mit der anderen trotzdem, nur der Batteriehalter sitzt jetzt ein bisschen eng.

Wegen der Preisangabe: In dem Anschreiben steht ein angepeilter Endkundenpreis von 49€, finde ich auch OK für das was alles dabei ist und was er kann...


<Prahlmodus>
"Da hast du dich ja richtig reingehenkt"

Ja schon, allerdings nicht die ganze Zeit über, Telefonhotline spielen, Essen, bisschen Fernsehen, mit Freundin telefonieren, Einkaufen usw. war auch noch dazwischen ;-)

Ich hab jedes Bauteil doppelt und dreifach geprüft ob es richtig eingebaut ist, hätte ich alles eingesteckt und auf einmal verlötet wäre ich in 3h fertig gewesen, aber dann hätter nicht auf Anhieb funktioniert ;-)
</Prahlmodus>


Gruß, Sonic

sonic
26.11.2004, 12:34
naja, demnächst gibt es das ganze ja dann eh beim grossen c
(angeblich anfang 2005)

bin mir nicht sicher, ob es für robotikhardware rentabel ist, in dieses
geschäft einzusteigen...

Laut Anschreiben ab

- Ende des Jahres bei ELV und Farnell in One
- Im Januar Katalog 2005 bei BigC

Aber so wie ich das verstanden hab, baut Arexx den Robbie als Lizenznehmer der DLR die ihn entwickelt hat, das Logo der DLR ist jedenfalls auf der Rückseite in der Mitte der Platine...

Ob sich das für Robotikhardware.de lohnt glaubt ich auch nicht, aber einige der umgestzten Ideen sind wirklich richtig gut, z.B. die direkt auf die Platine aufgelöteten Messingachsen. Hätte ich nicht gedacht daß das so gut funktioniert.

Und die wesentliche Sensorik und Optik ist eben auch schon komplett dabei

- Stoßtaster
- Odometrie
- Liniensensor
- Anzeige LED's

Was ich aber jetzt schon sehr schmerzlich vermisse sind nach außen geführte Ports, um zusätzliche Features implementieren zu könen.
3-4 genormte Bohrungen auf der Platine um eine weitere Platine Huckepack nehmen zu können währen auch nicht fehl am Platz.
Allerdings wüsste ich jetzt auch nicht auf anhieb wo dafür noch Platz wäre ;-) Dafür müsste der Bot ca. 1cm länger sein...

Da muss man sich jetzt eben was einfallen lassen wenn man das Konzept erweitern will.

ASURO ist so wie es aussieht nicht als Plattform sondern als Komplettkonzept entwickelt worden.

Gruß, Sonic

Frank
26.11.2004, 12:56
Hallo ihr,



bin mir nicht sicher, ob es für robotikhardware rentabel ist, in dieses
geschäft einzusteigen...

Mit dem lohnen das ist so eine Sache. Eine ganze Reihe von Produkten lohnen sich nicht wirklich aber sie werden dennoch angeboten weil sie einfach gut sind und es wenig Alternativen gibt.
Bei dem Bot bin ich mir noch nicht so sicher ob er ins Konzept paßt, weil ich ja eigentlich mehr auf ausbaubare/modulartige/kompatible Lösungen setze. Daher ja auch die vielen Anstrengungen mit unseren Standard Boards.
Also geplant ist da noch was in Richtung Bot-Bausatz, aber es muss erst ne überzeugende Lösung gefunden werden.

Als preiswerte Einzellösung scheint der Asuro aber nicht schlecht, wie es bislang hier aussieht. Wenn der Preis tatsächlich unter 50 Euro bleibt, dann ist das durchaus auch ein erster Schritt in diese Matterie. Die Firma war so nett und hat mir auch einen Bausatz geschickt, bin nur leider noch nicht dazu gekommen ihn aufzubauen. Kommt aber noch.

Gruß Frank

RCO
26.11.2004, 13:01
Nein, das glaube ich nicht, auf der CD waren ja noch erweiterungskits, wie z.B. ein LCD und ein US-Sensor glaube ich. Allerdings ist mir nicht ganz klar, wie die dranhängen, vermutlich zu lasten einiger Taster.
Gibts denn noch freie ports?

Also der Typ:
http://wdw.prosieben.de/wdw/AirospaceWorld/News/Praktikum_JensWindau/
hat ja auch irgendwie ne Erweiterung gebaut, aber ich fürchte zu lasten der Linienverfolgung.

MFG Moritz

sonic
26.11.2004, 14:13
so, alles fertig nur flashen lässt er sich noch nicht ;-(
Bin grad mit dem Oszi am rummessen...

Robby -> RS232-Adapter OK!
RS232-Adapter -> Robby Fault!

Wärend dem RS232-Test empfang ich zwar, kann aber nichts übermitteln ;-( Die IR-LED am Adapter sendet, aber es kommt nichts an.
Der Papiertest geht auch nicht.

Da muss ich noch ein bisschen knobeln...hats bei einem von euch schon funktioniert?

Gruß, Sonic

Manf
26.11.2004, 16:31
Ich bin erst bis zur bidirektionalen Übertragung von einzelnen Zeichen gekommen.
Die Relflexion auf Papier habe ich mit Finger auf Tastatur und Schraubenzieher am Trimmer interaktiv abgeglichen.

Dann habe ich noch eine halbe Deoroller-Kugel mit Gewindebolzen angeschraubt, weil ich auf die Lötstellen nichts kleben wollte.
Manfred

sonic
26.11.2004, 16:54
Lol, was ist das?

Es ist kalt und wenn man mit der Oszimasse drann kommt funktionierts auf einmal?

Gruß, Sonic

Manf
26.11.2004, 18:01
Es ist kalt und wenn man mit der Oszimasse drann kommt funktionierts auf einmal?

Lötstelle?

x-ryder
26.11.2004, 18:55
söööööö....

ich hab was neues zu berichten: man kann den robby auch per bascom proggen!!!

ich hab mal nen testproggi geschrieben uuuuund: all pages flashed

Martin

thille
26.11.2004, 19:04
So, nun hat endlich der Paketdienst die Adresse gefunden. Weil die Post überlastet ist, werden solche Aufträge an verschiedene Paketdienste übergeben. Das hab ich nicht gewußt.

So nun aber zum Thema: Punkt 12 war das Päckchen da. Dann habe ich mir die CD's angeschaut und ein paar wichtige Seiten ausgedruckt. Dann etwa um eins habe ich angefangen.

Die Beschreibung ist fast idiotensicher. Mein größtes Problem war die Erkennung der Bezeichnungen auf den Dioden und die bunten Striche auf den Widerständen. Die Widerstände habe ich dann zum Schluß sicherheitshalber durchgemessen, vor allem die 1%igen waren fast nicht zu unterscheiden. Dank der Mithilfen meiner Jungen war das aber alles nicht so schlimm, ist ja auch ein Lehrbausatz.

Alle Bauteile sind vorhanden, die Qualität der Platinen sehr gut.

Die schrittweise Anleitung läßt kaum Wünsche offen. Die Bauteile sind gut sortiert. Was ich überlesen habe oder nicht gefunden ist daß es zwei verschiedene Zahnräder sind. Warum eigentlich? Ansonsten funktionierte alles auf Anhieb. Die hinteren LED's glimmen zwar, aber auch da muß man die Augen in die Hand nehmen. Der Infrarotadapter benötigte nur eine kleine Einstellung am Poti und funktionierte ebenfalls sofort.

Der Selbsttest läuft ohne Störungen. Danke an Manf für die übersichtliche Zusammenstellung, die könnte vielleicht auch in die Anleitung.

17 Uhr war alles wieder aufgeräumt, und Asuro wartet, daß der Kleber am Tennisball trocknet. Hätte besser etwas Silikon genommen, denn das kann man rückstandlos wieder ablösen und ist schneller fest als Sekundenkleber.

Zwischen den Anschlüssen für die Fototransistoren und neben den Anschlüssen für die Batterien sind beschriftete Kontakte, auf denen (vermutlich unter Verzicht auf Linienfolgen) Buchsen angelötet werden können für die auf der CD erwähnten Erweiterungen.

Noch was zum Löten: Ich habe schon lange nicht mehr gelötet, aber habe schon Erfahrungen damit gehabt. Wer noch nie einen Lötkolben in der Hand gehabt hat, sollte vorher vermutlich etwas üben. Die Lötstellen liegen zum Teil sehr dicht beieinander. Die Erläuterungen in der Anleitung zum Löten sind sicherlich das sehr hilfreich. Für das gute Gelingen sorgt die schon erwähnte gute Qualität der Platinen.

Morgen werde ich mich damit befassen, wie man ein Programm auf den kleinen Wicht übertragen kann.

Was mir gar nicht gefällt, ist die Befestigung des Batteriefaches. Da werde ich mir aus Plastik einen Bügel bauen, der leichter zu entfernen geht.

Gruß

Torsten

PS: Sollen die Tester Ihre Erfahrungen an die Firma AREXX übermitteln, oder wird dieser Thread an die Firma übermittelt? Fals dieser Thread übermittelt wird hier schon mal ein großes Dankeschön an die Spender.

GS

x-ryder
26.11.2004, 19:15
hi

was ist denn mit der adc referenzspannung?

die ist über nen kondensator nach masse geschlossen???

was ist das denn dann für eine referenzspannung?

Martin

thille
26.11.2004, 21:27
Nachtrag:

konnte es doch nicht abwarten, morgen erst mal ein Programm zum Asuro zu schicken.

Mein alter Rechner scheint ein Problem mit der seriellen Schnittstelle zu haben, hab dann den einen anderen genommen und da gings ganz prima. Das ganze reagiert aber ziemlich störrisch auf Umgebungslicht. Selbst der Bildschirm, vor dem ich das alles schön im Blickfeld aufgebaut habe, stört die Übertragung nicht unerheblich. Habe aber noch nichts selbst programmiert, sondern nur die vorhandenen Porgramme (test und selfttest) nacheinander fehlerfrei übertragen bekommen.

Gruß

Torsten

sonic
26.11.2004, 22:01
...Das ganze reagiert aber ziemlich störrisch auf Umgebungslicht. Selbst der Bildschirm, vor dem ich das alles schön im Blickfeld aufgebaut habe, stört die Übertragung nicht unerheblich.
...
Gruß
Torsten

Hmm, bei mir klappt das Ganze jetzt ganz gut, der Adapter empfängt sogar Signale die über die schräge Zimmerdecke reflektiert werden.
Mein Bildschirm macht ihm auch nichts, der ist nur 20cm weit weg...
Im Prinzip gibt es in meinem doch recht großen Zimmer keine Richtung in der nichts zurückempfangen wird.

Ich hab, nachdem ich die kalte Lötstelle gefunden hab, die Frequenz des NE555 über den Trimmer per Oszi auf die 33KHz eingestellt.

Gruß, Sonic

x-ryder
26.11.2004, 22:11
hi,

ich habe probleme mit meinem adc... vielleicht könnt ihr euch das mal angucken?

es kommt immer wieder die gleiche zahl wenn der adc eigentlich aus ist (stop adc) und immer 1023 wenn der adc on ist (start adc)


$regfile = "m8def.dat"
$crystal = 8000000

Duogn Alias Portb.0
Duort Alias Portd.2
Odosend Alias Portd.7
Linie Alias Portd.6

Dim W(10) As Word
Dim T(10) As Word
Dim I As Byte

Config Portd = Output
Config Portb = Output

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 1

Config Adc = Single , Prescaler = Auto

Start Adc

Portd.3 = 1

Enable Interrupts

Baud = 2400

Do
For I = 1 To 10
W(i) = Getadc(5)
T(i) = Getadc(4)
Waitms 500
Next
Duogn = 1
Waitms 500
Duogn = 0
Duort = 1
Waitms 500
Duort = 0
Linie = 1
Waitms 500
Linie = 0
Print "Batterie: " ; W(1) ; " " ; W(2) ; " " ; W(3) ; " " ; W(4) ; " " ; W(5) ; " " ; W(6) ; " " ; W(7) ; " " ; W(8) ; " " ; W(9) ; " " ; W(10)
Print "Tasten: " ; T(1) ; " " ; T(2) ; " " ; T(3) ; " " ; T(4) ; " " ; T(5) ; " " ; T(6) ; " " ; T(7) ; " " ; T(8) ; " " ; T(9) ; " " ; T(10)
Loop

End

Martin

Frank
27.11.2004, 01:27
PS: Sollen die Tester Ihre Erfahrungen an die Firma AREXX übermitteln, oder wird dieser Thread an die Firma übermittelt? Fals dieser Thread übermittelt wird hier schon mal ein großes Dankeschön an die Spender.

Ich denke das übermitteln ist nicht notwendig, unter den Mitgliedern sind auch Mitarbeiter von Arexx, die lesen sicherlich gespannt mit.


hi
was ist denn mit der adc referenzspannung?
die ist über nen kondensator nach masse geschlossen???
was ist das denn dann für eine referenzspannung?
Martin

In dem Fall wird die Referenzspannung intern festgelegt, 2,56 Volt müsste das dann sein.

sonic
27.11.2004, 11:23
Es ist kalt und wenn man mit der Oszimasse drann kommt funktionierts auf einmal?

Lötstelle?

Genau ;-)

thille
27.11.2004, 11:32
So nun habe ich mich ein wenig damit befasst, ein vorhandenes Programm etwas zu verändern und auf Ausro zu übertragen. Das funktioniert also auch. Da ich noch nie etwas mit C am Hut hatte, habe ich mir da etwas schwer getan.

Liege ich da richtig, daß man eigentlich alle Funktionen die man benötigt zunächst aufführt, und dann ein Funktion Main anlegt, die die ganzen Sachen, die man tun möchte verbindet, und diese wird dann nach dem Compilieren ausgeführt?

Naja, jedenfalls bekam ich keine Fehlermeldung mehr, und nach der Übertragung funktionierte es auch. Ich habe das Programm test.c um die Routinen aus LineDemo erweitert und innerhalb von Main die Funktion LineDemo aufgerufen. Das Teil auf ein Blatt Papier gestellt, wo eine schwarze Linie aufgemalt worden ist und los gings. Funktioniert nur nicht so toll, wenn er die Linie verloren hat. Bietet also auch in diesem einfachen Beispiel noch eine ganze Menge Möglichkeiten das Programm zu verbessern.

Gruß

Torsten

Manf
27.11.2004, 11:33
Ich hab, nachdem ich die kalte Lötstelle gefunden hab, die Frequenz des NE555 über den Trimmer per Oszi auf die 33KHz eingestellt.
Gruß, Sonic
In der Stückliste und im Schaltbild steht bei diesen IR Empfängern etwas von SFH xxx 36. Geht es auch mit 36kHz?
Manfred

thille
27.11.2004, 13:30
Ich habe da mal noch eine Frage.

In der Beschreibung stand, daß 7kB für die Programmierung zur Verfügung stehen. Wenn man sich die HEX-Dateien anschaut, stellt man fest, daß selbst die kleinen Beispielprogramme 4oder 5 kB haben. Ist da schon fast das Ende der Fahnenstange erreicht?

Gruß

Torsten

Frank
27.11.2004, 13:40
Ja das Problemchen kenne ich, der Mega8 Speicher ist schneller voll als man denkt. Zwar nimmt der Speicherbedarf nicht linear mit den Programmzeilen zu, aber wenn man viel mit Strings und Gleitkommazahlen arbeitet gehts recht schnell. Denke das unterscheidet sich in der kompilierten Version in C und Bascom garnicht so sehr viel.

Wenn in reinem Assembler programmiert wird, dann hat man natürlich einiges an Platz!
Ansonsten wäre es sicher besser gewesen wenn Arexx einen Mega32 eingesetzt hätte, aber ist halt alles immer eine Kostenfrage, wäre wieder ca. 4 - 5 Euro teuerer geworden.
Aber das gute ist, die Programmierung ist bei allen Atmel´s nahezu gleich, also das was man lernt kann man auch später noch bei größeren Projekten nutzen.

x-ryder
27.11.2004, 14:41
hi,

ich bin grad nach hause gekommen mit dem guten vorsatz die motoren eigenständig in gang zu setzen... aber nun das problem: wie funktionieren diese h-brücken??? 8-[

ach ja nebenbei mal grade... bei mir hat das testprogramm garnicht funktioniert, es hat beim motorentest mucken gemacht deshalb jetzt auch die sache mit den motoren. der rechte motor ist glaube ich nicht zurückgefahren und der linke nicht nach vorn...

Martin

sonic
27.11.2004, 15:20
hi,
ich bin grad nach hause gekommen mit dem guten vorsatz die motoren eigenständig in gang zu setzen... aber nun das problem: wie funktionieren diese h-brücken??? 8-[


da häng ich auch gerade, schau mal in die asuro.h und in die asuro.c. Da sind zumindest schon mal die logischen Verknüpfungen angegeben...



ach ja nebenbei mal grade... bei mir hat das testprogramm garnicht funktioniert, es hat beim motorentest mucken gemacht deshalb jetzt auch die sache mit den motoren. der rechte motor ist glaube ich nicht zurückgefahren und der linke nicht nach vorn...
Martin

Hast du die Motoren und Getriebe zu straff montiert? Summt es wenigstens?

Ich hatte das Problem das er jedes mal einen Reset gemacht hat wenn ich die Motoren eine Weile laufen ließ. Das lag daran dass ich die Strombegrenzung meines Netzteils zu knapp eingestellt hatte. Dadurch ist die Spannung zusammengebrochen und der Asuro hat einen Reset gemacht ;-(

Das Dumme ist, das dass anscheinend über die Brownoutdetection gemacht wird und nach so einem Reset nicht gebootet wird. D.h. auf den ersten Blick sieht man das gar nicht so schnell...

Gruß, Sonic

x-ryder
27.11.2004, 15:24
also:

ich habe erstmal gar kein getriebe dran, und ob die motoren fest gespannt sind ist ja egal.

und: ja sie summen nicht aber dafür fiepen sie ziemlich heftig was ja eigentlich kein gutes zeichen ist.

Martin

Manf
27.11.2004, 18:56
ja sie summen nicht aber dafür fiepen sie ziemlich heftig was ja eigentlich kein gutes zeichen ist.

Diesen hohen Ton höre ich auch, der wird von der PWM sein. Bie mir laufen sie allerdings auch mit Getriebe.
Manfred

sonic
27.11.2004, 19:53
Also bei mir laufen die Motoren auch. Sie fiepen wenn die PWM langsam hochgefahren wird, also bevor sie anfangen zu drehen...vielleicht ist deine PWM-Frequenz zu niedrig.

Das Fiepsen ist aber schon gut, d.h. ja die Motoren haben Strom und sind nicht kurzgeschlossen.

Hast du mal die Dioden der Transistoren auf richtige Einbaurichtung gecheckt?

Gruß, Sonic

sonic
27.11.2004, 22:26
Hier mal ein Diagram der Odometriedaten meines ASUROs.
Die Motoren drehen mit "150"...

Gruß, Sonic

churchi
27.11.2004, 23:55
hmm - sry - aber ich kann mir unter den 2 Bildern überhaupt nichts vorstellen...

Beim Oszi Bild währe vielleicht die Skalierung interessant, dann weiß ich schon ca wie das aussieht, aber wie hast du das Oszi angeschlossen? - wo Masse und wo CH1?

Beim unteren: - was ist das?

sonic
28.11.2004, 00:34
das obere Bild ist der Signalverlauf der Radencoderdaten, das untere ist ein Diagram dieser Daten wie sie vom Prozessor aufgenommen werden.
Also beides das Gleiche, Skalierung war für mich uninteressant. Das da ein glatter Sinus bei rauskommt war interesanter, eigentlich hätte ich ne geschliffene Rechteckspannung erwartet...

Gruß, Sonic

Manf
28.11.2004, 10:53
Es hat mich doch noch interessiert wie die Kommunikationsfrequenz eingestellt wird.
Das RS232 Interface liefert bei mir (unter Last) 7,5 V für die Versorgung und unter der Bedingung läßt sich die Freqzuenz durch den Trimmer von 32 bis 38 kHz einstellen. Die 36kHz Einstellung ist nicht weit aus der Mitte, (etwa 1/8 Drehung zu der Seite mit den Dioden).
Manfred

sonic
28.11.2004, 11:12
Ja hast recht, mein Oszi war ein "bisschen" verstellt, ich check das auch noch mal...

Gruß, Sonic

EDIT: Hier im Anhang ist das Testprogramm mit dem ich die Messwerte aufgenommen habe...

RCO
29.11.2004, 13:15
Also ich hab gestern noch bis halb 2 gebastelt und getestet, läuft auch alles ganz gut, außer das ohne ICs die beiden hinteren LEDs nicht glimmen und das der Test der Radencoder nicht funktioniert. Angeblich soll die Statusled entweder rot oder und gelb/grün leuchten, aber sie leuchten nur bei starker bekeuchtung von außen rot. Das kanns ja nett sein.
Deshalb meine Fragen:

- Wie siehts denn bei euch aus?
- ISt der Transistor klar und die LED rosa?
Woean könnte es liegen?

MFG Moritz

sonic
29.11.2004, 13:58
Transistor klar, LED rosa...

Bei mir wollte es erst auch nicht, das lag aber daran das ich ja die eine LED verschlampert/nicht geliefert worden ist...

Wenn die nicht eingebaut ist leuchtet nichts...probier mal ne "andere" LED da drann zu halten, ob es dann geht...bei mi hat es mit ner anderen LED dann geklapt. Eventuell die Diode auslöten und durch einen entsprechenden Widerstand ersetzen...

Die BackLED's sind mit denen der Odometrie in Serie geschaltet, also muss es irgendwo in diesem Schaltungsteil liegen...

R18, R19, R20, R21, R22, D13, D14, D15, D16

Lötstellen nochmal nachlöten und die in der Anleitung angesprochenen Bauteile die bei diesem Problem beteiligt sein könnten noch mal checken...

Wieviele ASUROS laufen denn jetzt eigentlich schon? Sind Manfreds, Thilles und meiner die einzigen?

Was mir gerade auffällt, was mir nicht gefällt ist das in der Anleitung nicht drinn steht welche Funktionen zusammen benutzt werden können und welche sich gegenseitig ausschliessen.

Z.B. fällt mir gerade auf, dass so wie ich das sehe, es nicht möglich ist die Odometrie zu benutzen und die BackLEDs einzuschalten. Geht zwar, aber dann dürfte die Odometrie nicht mehr funktionieren, oder sehe ich das falsch?

Gruß, Sonic

x-ryder
29.11.2004, 14:31
Ich glaube auch das nur eins funktioniert von Odo und BL aber das müsste dann auch inner Bedienungsanleitung stehen.

Also mein Robbi funktioniert ja im Prinzip auch bloß die Motoren wollen nicht wirklich, alles andere funktioniert

Martin

Manf
29.11.2004, 14:36
Es besteht eine starke Verkopplung der Funktionen, die dadurch nur nacheinander benutzt werden können.
Ich wollte es ein bischen sortieren, aber es war für den ersten Anlauf zu kompliziert.
Wichtig wäre es schon vielleicht können wir mal eine Tabelle anfangen mit Funktionen und dann die Abhängigkeiten dazu nach und nach eintragen.

Bei den mitgelieferten Programmen geht es mir im Moment noch genauso, was ist da alles dabei? Ich glaube ich brauche eine Namensliste mit Kurzbeschreibung.

Ich komme mit der Grundhardware soweit ganz gut klar. Ich habe gerade einmal die Versorgungsspannung auch nach Datenblatt des Controllers geprüft. Der Oszillator schwingt ab 2V, ab 3V läuft der Test durch und im nächsten Schritt werde ich erst mal einen LiIon Akku mit einer Zelle 3,6V 1800mAh einsetzen, ich habe nicht vor diese kleinen (Sub-Mignon) Akkus für Motoren einzusetzten (Geschmacksache).

Der Odometer an LED läuft, aber die Kurvenform habe ich noch nicht. War das die 4er oder die 6er Scheibe bei Sonic?
Manfred

thille
29.11.2004, 15:39
snip.... War das die 4er oder die 6er Scheibe bei Sonic?
Manfred

Da bin ich erstaunt: Bei mir waren 4 gleiche Scheiden dabei, jede mit 6 schwarzen und 6 weißen Sektoren.

Ich bin auch gerade dabei die Programme zu deuten. Eine kleine Info im Kopf wäre ganz hilfreich.

Gruß

Torsten

x-ryder
29.11.2004, 15:42
bei mir isses wieder anders: bei mir gibts nur zwei scheiben mit jeweils 4 schwarz/weiß

sonic
29.11.2004, 16:04
Es war die 6er Scheibe...

Hier mal der Code für das gepostete Testprogramm, nicht ganz optimal aber für den Anfang nicht schlecht...


#include "asuro.h"
#include <stdio.h>
#include <stdlib.h>

//const double raddurchmesser = 38.5; //mm
//const int odoaufloesung = 6; //Wechsel pro Umdrehung

// Variablen deklarieren; geht auch unter int main()

char odo_links[4]; // Speicher für die Odometriedaten in Ascii
char odo_rechts[4];
unsigned int Odo_Data[2]; // Speicher für die Odometriedaten in Integer

int i=0; // Schleifenzähler
int a=0;
int x=0;

int main(void)
{
Init(); // Initialisieren

// Begrüssung ;-)
SerWrite("\nROBOTERNETZ -> Test der Odometrie von ASURO\n\n",46);

MotorDir(FWD, FWD); // Beide Motoren vorwärts
MotorSpeed(100,100); // Beide Motoren mit "150" drehen

//while(1) // Endlosschleife
//{

//*** Test der Odometrie beginnt ***


i=0;
for(i=0;i<100;i++) // 100 Messwerte ermitteln
{
for (a=0;a<=10000;a++){x++;} //warten

OdometrieData(Odo_Data); // Odometrie abfragen

// Werte in Ascii wandeln
itoa(Odo_Data[0],odo_links,10);
itoa(Odo_Data[1],odo_rechts,10);

// Werte über IR schicken
SerWrite(odo_links, sizeof(odo_links));
SerWrite(", ", 2);
SerWrite(odo_rechts, sizeof(odo_rechts));
SerWrite("\n\r", 2);

}


//for (a=0;a<2000;a++){Sleep(72);} // ca. 2 Sekunden warten

//SerWrite("\n--- 100 ---\n", 12);

//} // Von Vorne

MotorSpeed(0,0); // Motoren aus
MotorDir(FREE,FREE); // Motoren auf Freilauf


return 0; //Programm beenden
}


Gruß, Sonic

thille
29.11.2004, 17:15
Hier mal ein Film vom Linienfolgen. das ist das Programm:


//************************************************** **************************************************
// Liniefolgeprogramm
// entwickelt aus dem mitglieferten Demoprogramm
//
// Geschwindigkeiten wurden geändert, das Verhalten invertiert (Bei Verlassen der Ideallinie wird abgebremst statt beschleunigt)
//
// letzte Änderung 29.11.2004




#include "asuro.h"
#define SPEED 0xBF
int speedLeft,speedRight;
unsigned int lineData[2];
int ADOffset;
void LineLeft (void)
{
speedRight -=2;
if (speedRight < 0x5F) speedRight = 0x5F;
}
void LineRight (void)
{
speedLeft -=2;
if (speedLeft < 0x5F) speedLeft = 0x5F;
}
void LineDemo(void)
{
int i;
unsigned char j;
FrontLED(ON);
for (j = 0; j < 0xFF; j++) LineData(lineData);
LineData(lineData);
ADOffset = lineData[0] - lineData[1];
speedLeft = speedRight = SPEED;
MotorSpeed(speedLeft,speedRight);
for(;;) {
LineData(lineData);
i = (lineData[0] - lineData[1]) - ADOffset;
if ( i > 4) {
StatusLED(GREEN);
LineLeft();
}
else if ( i < -4) {
StatusLED(RED);
LineRight();
}
else {
StatusLED(YELLOW);
speedLeft = speedRight = SPEED;
}
MotorSpeed(speedLeft,speedRight);
}
}
int main(void)
{
Init();
LineDemo ();
while(1);
return 0;
}


Die Qualität ist supermies, da das Filmchen so klein gekloppt werden mußte. Sorry.

Der Linenfolgeplan ist von RealRobots.

Die in Code angegebenen Geschwindigkeiten hängen vermutlich vom Exemplar ab. Schon wenn ich Alkaline statt Akkus verwende ist das Tempo so verschieden, daß die Linie leicht verloren geht.

Gruß

Torsten

Florian
29.11.2004, 18:00
Sieht gut aus, der fährt viel sanfter in die Kurven, als meiner! ;o)

RCO
29.11.2004, 23:36
Wer lesen kann ist klar im Vorteil!

Wer es tut hat schon gewonnen!

Ja, warum stehen da wohl zwei Transistortypen? Naja, den ersten Fehler, eine unsaubere Lötstelle hab ich gleich gefunden, dann klappte der Rückwärtsgang nicht, weil ich die 8 Transistoren einfach beliebig aufgelötet hatte... Zum Glück musste ich nur 2 vertauschen, angesichts der vielen Möglichkeiten ein Wunder!

Ich zähle jetzt auch zum Kreis derer, deren ASURO einwandfrei läuft, bis auf das das eine Rad schneller als das andere ist, aber ich fürchte, das problem kann man schlecht beheben.

Ich werde versuchen Morgen mal den Anschluss an eure Diskussion zu erreichen, nachdem ich das ganze Wochenende in Münster war :-)
Übrigens cooles Video, werde ich denne auch mal probieren.

MFG Moritz

Manf
30.11.2004, 17:03
So dann hier noch mal mein Testprogramm mit Fahrt zum Vergleich, ich glaube die Fahrt soll je eine ganze Drehung sein und meiner geht wegen kleinerer Spannung nicht ganz auf 360°.
Ich habe jetzt das Tool installiert und werde weitere Programme testen.
Manfred

x-ryder
30.11.2004, 19:08
[glow=red:ee3cc9525b][shadow=red:ee3cc9525b][highlight=red:ee3cc9525b]JAAAAAAAAA!!![/highlight:ee3cc9525b][/shadow:ee3cc9525b][/glow:ee3cc9525b]

ES FUNKTIONIERT!!!

Durch meine Dummheit und meinen Glauben, das ich nix falsch mache ist mir der Fehler unterlaufen, den Sonic auch hatte bloß das ich einfach zwei Transistoren vertauscht hatte.
Aber noch eine Verbesserung wäre vielleicht, das im Werk ein Farbtupfer auf die eine Sorte Transistoren gemacht wird, damit man die auseinandergehalten werden können! (ich hab nämlich die beiden vertauscht, weil das Licht leicht diffus war und ich sie dann verwechselt habe)

Martin

x-ryder
30.11.2004, 22:02
soooooo...

ich versuche gerade die Prozeduren in bascom zu reproduzieren!

nun hab ich nen problem: der adc funktioniert nicht richtig: er zeigt wenn ich start adc drin habe immer 1023 und wenn ich stop adc dinne habe dann einen wert aber dieser wird nicht mehr aktualisiert.

EDIT: liegt das vielleicht am kondensator an aref?

Martin

sonic
01.12.2004, 00:15
Hmm, an VRef ist ja keine Referenzspannung angeschlossen, also wird folglich die interne genutzt. Soweit ich weis muss man die aber vorher anschalten. Leider hab ich keine Ahnung wie das in BASCOM geht, aber es steht bestimmt in der Hilfe drinn...

Gruß, Sonic

Manf
01.12.2004, 11:30
Wie ist denn bei anderen so die Erfahrung mit dem Flashen? Die Übertragung ist bei mir sehr vorsichtig zu behandeln, Vorhänge zu, Interface nicht zu dicht dran. Ich mußte auch die Spannung von 3,6 auf 4,8V erhöhen damit es überhaupt soweit ging.

Er hat viele
c = checksum error
t = timeout

Vielleicht schließe ich ihn später zum Programmieren an ein Netzteil an, damit es "drahtlos" geht.
Manfred

RCO
01.12.2004, 12:22
Also das flashen klappt bei mir ganz gut. Es hat auch was gebracht, wenn man den Roboter etwas aus dem licht nimmt, also z.B. mal unter den Tisch stellt. Wobei ich sagen muss, dass obwohl ich noch nicht an dem Poti rumgedreht habe ich doch weitaus weniger Fehler ahbe, so 5 pro Übertragung. Und das es garnicht klappt, ist mir noch nicht passiert.

MFG Moritz

sonic
01.12.2004, 13:13
Flashen macht bei mir keine Probleme, hab zwar auch viele t & c, aber funktionieren tuts immer. Im Durchschnitt würd ich sagen so ca. 5-6 t & c sind immer mit dabei...Flash Damaged kam noch nie, jedenfalls nicht nachdem ich den Adapter repariert habe (LED).

Ich hab den Adapter allerdings, mit der SendeLED nach Unten, erhöht fixiert, der Robby steht direkt darunter, aufgebockt und an ein Labornetzteil angeschlossen...Abstand ca. 20cm. Mein Bildschirm und die Schreibtischlampe ist auch direkt daneben + Dachfenster 2m entfernt...

EDIT:
Bei mir funktioniert das Programmieren auch erst ab 4,9V, die Motoren drehen sich dabei, auf "150" gestellt, noch nicht.
Gruß, Sonic

Open COM1 --> OK !
Bulding RAM --> OK !
Connect to ASURO --> OK !
Sending Page 000 of 030 --> c flashed !
Sending Page 001 of 030 --> tctc flashed !
Sending Page 002 of 030 --> flashed !
Sending Page 003 of 030 --> flashed !
Sending Page 004 of 030 --> flashed !
Sending Page 005 of 030 --> flashed !
Sending Page 006 of 030 --> flashed !
Sending Page 007 of 030 --> flashed !
Sending Page 008 of 030 --> flashed !
Sending Page 009 of 030 --> flashed !
Sending Page 010 of 030 --> flashed !
Sending Page 011 of 030 --> flashed !
Sending Page 012 of 030 --> flashed !
Sending Page 013 of 030 --> flashed !
Sending Page 014 of 030 --> c flashed !
Sending Page 015 of 030 --> c flashed !
Sending Page 016 of 030 --> flashed !
Sending Page 017 of 030 --> flashed !
Sending Page 018 of 030 --> flashed !
Sending Page 019 of 030 --> tt flashed !
Sending Page 020 of 030 --> t flashed !
Sending Page 021 of 030 --> flashed !
Sending Page 022 of 030 --> flashed !
Sending Page 023 of 030 --> flashed !
Sending Page 024 of 030 --> t flashed !
Sending Page 025 of 030 --> flashed !
Sending Page 026 of 030 --> flashed !
Sending Page 027 of 030 --> t flashed !
Sending Page 028 of 030 --> flashed !
Sending Page 029 of 030 --> flashed !
Sending Page 030 of 030 --> flashed !
All Pages flashed !!
ASURO ready to start !!

thille
01.12.2004, 13:42
Bei mir hängt das vom Rechner ab, bei dem einen gehts fast ohne Fehler, der andere schafft es fast nie ein Programm auf Asuro zu übertragen. Habe schon die Einstellungen des COM-Ports verglichen, aber keine Antwort gefunden. Werde mal den Tip ausprobieren, die Spannung zu erhöhen.

Gruß

Torsten

sonic
01.12.2004, 14:16
Hier ein kleines BASCOM-Programm zum Ansteuern der Motoren, nur zum Test, !ohne PWM!


'************************************************* *********
'ASURO - Einfache Motoransteuerung
'************************************************* *********


'Ansteuerung der Motoren
'----------------------------------------------------------

' +-------+--------+--------+-------+
' | ML-V | ML-R | MR-V | MR-R |
' +-------+--------+--------+-------+
' PORT D.4 | 0 | 1 | X | X |
' +-------+--------+--------+-------+
' PORT D.5 | 1 | 0 | X | X |
' +-------+--------+--------+-------+
' PORT D.1 | 1 | 1 | X | X | <- ML Enable
' +-------+--------+--------+-------+
' PORT B.4 | X | X | 0 | 1 |
' +-------+--------+--------+-------+
' PORT B.5 | X | X | 1 | 0 |
' +-------+--------+--------+-------+
' PORT B.2 | X | X | 1 | 1 | <- MR Enable
' +-------+--------+--------+-------+

$crystal = 8000000

'Motor Rechts
Config Pinb.1 = Output
Config Pind.4 = Output
Config Pind.5 = Output

'Motor Links
Config Pinb.2 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output


Do

'mal sehn was geht ;-)
'*******************************
'!!! Keine PWM-Ansteuerung !!!


'Links volle Pulle vorwärts

Portd.4 = 0
Portd.5 = 1
Portb.1 = 1

Wait 2
Portb.1 = 0
Wait 1

'Links volle Pulle rückwärts

Portd.4 = 1
Portd.5 = 0
Portb.1 = 1

Wait 2
Portb.1 = 0
Wait 1


'Rechts volle Pulle vorwärts

Portb.4 = 0
Portb.5 = 1
Portb.2 = 1

Wait 2
Portb.2 = 0
Wait 1

'Rechts volle Pulle rückwärts

Portb.4 = 1
Portb.5 = 0
Portb.2 = 1

Wait 2
Portb.2 = 0
Wait 1

Loop

Gruß, Sonic

sonic
01.12.2004, 14:22
Bei mir hängt das vom Rechner ab, bei dem einen gehts fast ohne Fehler, der andere schafft es fast nie ein Programm auf Asuro zu übertragen. ...
Gruß
Torsten

Der Rechner der es nie schafft ist nicht zufällig ein Laptop?

Gruß, Sonic

RCO
01.12.2004, 14:23
Eine möglichkeit, die vorgefertigten funktionen unter Bascom zu benutzen, gibts vermutlich nicht, oder? Also StatusLED(RED) oder so?

MFG Moritz

thille
01.12.2004, 14:28
Der Rechner der es nie schafft ist nicht zufällig ein Laptop?

Gruß, Sonic

Nein, das ist ein PENTIUM III mit 666 MHz und Win98SE.

Gruß

Torsten

x-ryder
01.12.2004, 14:56
also:

bei mir sind die bedingungen viel licht (60W 30cm Abstand direkte aufstrahlung) und der sender ca. 20cm genau über dem bot:

Open COM1 --> OK !
Bulding RAM --> OK !
Connect to ASURO --> OK !
Sending Page 000 of 085 --> c flashed !
Sending Page 001 of 085 --> flashed !
Sending Page 002 of 085 --> flashed !
Sending Page 003 of 085 --> tt flashed !
Sending Page 004 of 085 --> flashed !
Sending Page 005 of 085 --> flashed !
Sending Page 006 of 085 --> flashed !
Sending Page 007 of 085 --> tc flashed !
Sending Page 008 of 085 --> flashed !
Sending Page 009 of 085 --> flashed !
Sending Page 010 of 085 --> flashed !
Sending Page 011 of 085 --> flashed !
Sending Page 012 of 085 --> flashed !
Sending Page 013 of 085 --> flashed !
Sending Page 014 of 085 --> flashed !
Sending Page 015 of 085 --> flashed !
Sending Page 016 of 085 --> flashed !
Sending Page 017 of 085 --> flashed !
Sending Page 018 of 085 --> flashed !
Sending Page 019 of 085 --> flashed !
Sending Page 020 of 085 --> flashed !
Sending Page 021 of 085 --> flashed !
Sending Page 022 of 085 --> flashed !
Sending Page 023 of 085 --> flashed !
Sending Page 024 of 085 --> tc flashed !
Sending Page 025 of 085 --> flashed !
Sending Page 026 of 085 --> flashed !
Sending Page 027 of 085 --> flashed !
Sending Page 028 of 085 --> flashed !
Sending Page 029 of 085 --> flashed !
Sending Page 030 of 085 --> flashed !
Sending Page 031 of 085 --> flashed !
Sending Page 032 of 085 --> flashed !
Sending Page 033 of 085 --> flashed !
Sending Page 034 of 085 --> flashed !
Sending Page 035 of 085 --> flashed !
Sending Page 036 of 085 --> t flashed !
Sending Page 037 of 085 --> flashed !
Sending Page 038 of 085 --> flashed !
Sending Page 039 of 085 --> flashed !
Sending Page 040 of 085 --> flashed !
Sending Page 041 of 085 --> flashed !
Sending Page 042 of 085 --> flashed !
Sending Page 043 of 085 --> flashed !
Sending Page 044 of 085 --> t flashed !
Sending Page 045 of 085 --> flashed !
Sending Page 046 of 085 --> flashed !
Sending Page 047 of 085 --> flashed !
Sending Page 048 of 085 --> flashed !
Sending Page 049 of 085 --> flashed !
Sending Page 050 of 085 --> flashed !
Sending Page 051 of 085 --> flashed !
Sending Page 052 of 085 --> flashed !
Sending Page 053 of 085 --> flashed !
Sending Page 054 of 085 --> flashed !
Sending Page 055 of 085 --> t flashed !
Sending Page 056 of 085 --> flashed !
Sending Page 057 of 085 --> flashed !
Sending Page 058 of 085 --> flashed !
Sending Page 059 of 085 --> flashed !
Sending Page 060 of 085 --> flashed !
Sending Page 061 of 085 --> flashed !
Sending Page 062 of 085 --> flashed !
Sending Page 063 of 085 --> flashed !
Sending Page 064 of 085 --> flashed !
Sending Page 065 of 085 --> flashed !
Sending Page 066 of 085 --> flashed !
Sending Page 067 of 085 --> t flashed !
Sending Page 068 of 085 --> flashed !
Sending Page 069 of 085 --> flashed !
Sending Page 070 of 085 --> flashed !
Sending Page 071 of 085 --> flashed !
Sending Page 072 of 085 --> flashed !
Sending Page 073 of 085 --> flashed !
Sending Page 074 of 085 --> flashed !
Sending Page 075 of 085 --> flashed !
Sending Page 076 of 085 --> flashed !
Sending Page 077 of 085 --> flashed !
Sending Page 078 of 085 --> flashed !
Sending Page 079 of 085 --> flashed !
Sending Page 080 of 085 --> flashed !
Sending Page 081 of 085 --> flashed !
Sending Page 082 of 085 --> flashed !
Sending Page 083 of 085 --> t flashed !
Sending Page 084 of 085 --> flashed !
Sending Page 085 of 085 --> flashed !
All Pages flashed !!
ASURO ready to start !!

der nächste test ist mit gleichen bedingungen nur 30cm abstand und der sender ist im ca. 75°-Winkel zum ASURO!

Bei mir funktioniert es also relativ gut:

Open COM1 --> OK !
Bulding RAM --> OK !
Connect to ASURO --> OK !
Sending Page 000 of 085 --> c flashed !
Sending Page 001 of 085 --> t flashed !
Sending Page 002 of 085 --> flashed !
Sending Page 003 of 085 --> flashed !
Sending Page 004 of 085 --> flashed !
Sending Page 005 of 085 --> flashed !
Sending Page 006 of 085 --> flashed !
Sending Page 007 of 085 --> flashed !
Sending Page 008 of 085 --> flashed !
Sending Page 009 of 085 --> flashed !
Sending Page 010 of 085 --> flashed !
Sending Page 011 of 085 --> t flashed !
Sending Page 012 of 085 --> t flashed !
Sending Page 013 of 085 --> flashed !
Sending Page 014 of 085 --> flashed !
Sending Page 015 of 085 --> flashed !
Sending Page 016 of 085 --> flashed !
Sending Page 017 of 085 --> flashed !
Sending Page 018 of 085 --> flashed !
Sending Page 019 of 085 --> flashed !
Sending Page 020 of 085 --> flashed !
Sending Page 021 of 085 --> flashed !
Sending Page 022 of 085 --> flashed !
Sending Page 023 of 085 --> flashed !
Sending Page 024 of 085 --> t flashed !
Sending Page 025 of 085 --> flashed !
Sending Page 026 of 085 --> flashed !
Sending Page 027 of 085 --> flashed !
Sending Page 028 of 085 --> flashed !
Sending Page 029 of 085 --> flashed !
Sending Page 030 of 085 --> flashed !
Sending Page 031 of 085 --> flashed !
Sending Page 032 of 085 --> flashed !
Sending Page 033 of 085 --> t flashed !
Sending Page 034 of 085 --> flashed !
Sending Page 035 of 085 --> flashed !
Sending Page 036 of 085 --> flashed !
Sending Page 037 of 085 --> t flashed !
Sending Page 038 of 085 --> flashed !
Sending Page 039 of 085 --> flashed !
Sending Page 040 of 085 --> flashed !
Sending Page 041 of 085 --> flashed !
Sending Page 042 of 085 --> flashed !
Sending Page 043 of 085 --> flashed !
Sending Page 044 of 085 --> t flashed !
Sending Page 045 of 085 --> flashed !
Sending Page 046 of 085 --> flashed !
Sending Page 047 of 085 --> flashed !
Sending Page 048 of 085 --> flashed !
Sending Page 049 of 085 --> flashed !
Sending Page 050 of 085 --> t flashed !
Sending Page 051 of 085 --> flashed !
Sending Page 052 of 085 --> flashed !
Sending Page 053 of 085 --> flashed !
Sending Page 054 of 085 --> t flashed !
Sending Page 055 of 085 --> flashed !
Sending Page 056 of 085 --> flashed !
Sending Page 057 of 085 --> t flashed !
Sending Page 058 of 085 --> t flashed !
Sending Page 059 of 085 --> tt flashed !
Sending Page 060 of 085 --> flashed !
Sending Page 061 of 085 --> flashed !
Sending Page 062 of 085 --> flashed !
Sending Page 063 of 085 --> tctt flashed !
Sending Page 064 of 085 --> flashed !
Sending Page 065 of 085 --> flashed !
Sending Page 066 of 085 --> flashed !
Sending Page 067 of 085 --> flashed !
Sending Page 068 of 085 --> flashed !
Sending Page 069 of 085 --> t flashed !
Sending Page 070 of 085 --> flashed !
Sending Page 071 of 085 --> flashed !
Sending Page 072 of 085 --> flashed !
Sending Page 073 of 085 --> flashed !
Sending Page 074 of 085 --> t flashed !
Sending Page 075 of 085 --> flashed !
Sending Page 076 of 085 --> flashed !
Sending Page 077 of 085 --> t flashed !
Sending Page 078 of 085 --> flashed !
Sending Page 079 of 085 --> t flashed !
Sending Page 080 of 085 --> flashed !
Sending Page 081 of 085 --> flashed !
Sending Page 082 of 085 --> flashed !
Sending Page 083 of 085 --> flashed !
Sending Page 084 of 085 --> flashed !
Sending Page 085 of 085 --> flashed !
All Pages flashed !!
ASURO ready to start !!

Martin

RCO
01.12.2004, 23:44
Ganz kurze Zwischenfrage, wie kann ich mehrere IF-Bedingungen verknüpfen?
Also:
if(Bedingung1 und Bedingung2 und nicht Bedingung3){}

Bitte um schnelle Antwort, sonst geh ich pennen ;-)

MFG Moritz

Manf
01.12.2004, 23:57
if(Bedingung1 und Bedingung2 und nicht Bedingung3){}

ASURO.pdf Seite 60
Manfred

sonic
02.12.2004, 00:13
Stichwort logische Operatoren

if ( (Bedingung1) && (Bedingung2) = !(Bedingung3) )
{
...
}

RCO
02.12.2004, 00:14
Nein, das meinte ich nicht, ich will das in einer if-Klammer haben.
if(Bedingung1 AND Bedingung2 AND NOT Bedingung 3){}
else{}

Nur was heißt AND und AND NOT in C?
&& ||?

MFG Moritz

Frank
02.12.2004, 01:45
Sonic´s Beispiel macht genau das was du möchtest. Er verknüfpft dabei die Ergebnisse der einzelnen Bedingungen binär miteinander. Solche Anweisungen sind manchmal auf den ersten Blick etwas schwer zu durchschauen, das ist halt "C" ;-)
Es gibt aber viele Alternativen.

And heiß "&"
Or heißt "|"
NOT heißt !

So sollte es auch gehen:

if (a==1) & (b==2) & (!(c=3))
{
puts "Bedingungen erfüllt";
}

Gruß Frank

RCO
02.12.2004, 09:13
Ok, danke, werde es dann mal testen. Ich wollte eine Linienverfolgung schreiben, wobei sich der Roboter merkt, falls er die Linie verlässt, oder sie Endet, auf welcher Seite er sie verlassen hat, um möglichst schnell zu drehen bzw. zurückzufinden.

MFG Moritz

Archi
02.12.2004, 14:01
Der Rechner der es nie schafft ist nicht zufällig ein Laptop?

Gruß, Sonic

Nein, das ist ein PENTIUM III mit 666 MHz und Win98SE.



Schon mal den Transceiver an den Rechner angeschlossen, der zickt und das Poti verdreht?

CU, Archi

Manf
02.12.2004, 14:48
So, das Programmieren geht jetzt besser nur noch in jedem 5. Block ein timeout und das erste Programm läuft.
Wie zur erwarten ein Linienfolger auf einer schnell aufgemalten Linie.

\:D/ [fliph:f6a4c9d33e] \:D/[/fliph:f6a4c9d33e] \:D/ [fliph:f6a4c9d33e] \:D/[/fliph:f6a4c9d33e]

Sind alle soweit mit dem Setup durch?

Ich könnte mit vorstellen, als nächstes die Diode und die Fototansistoren vorn abzunehmen und durch Buchsen zu ersetzten um allgemeine Sensormodule (wie auch in der ASURO Beschreibung angegeben) anschließen zu können.
Ein Sensormodul kann ja dann wieder die Linienfolgerkombination sein. Von oben aufgesteckt und nach vorne überhängend.
Manfred

thille
02.12.2004, 15:45
Schon mal den Transceiver an den Rechner angeschlossen, der zickt und das Poti verdreht?

CU, Archi

Ja, habe da schon eine ganze anderes Menge probiert. Mit Hyperterminal funktioniert der Test, es ist aber jedesmal, wenn eine Taste gedrückt und dann gehalten wird zunächst erst mal ein Leerzeichen auf dem Schirm. Wenn ich den Transceiver einfach so in den Raum halte, daß Decke und Wände schön weit weg sind, dann erscheinen alle paar Sekunden Eulen und Meerkatzen in der Anzeige. Sobald eine Taste gedrückt wird kommt erst eine Leerstelle und dann die Taste. Wenn das Programm SelfTest ausgeführt wird, kann man das Verhalten ebenso feststellen. Das erste übertragene Zeichen stimmt nicht mit dem überein, was von Asuro gesendet wird (Beispiel Öinienfolgen ist aber nicht immer Ö manchmal eben auch was anderes). Scheint also wirklich am PC zu liegen, denn an dem anderen ist es einwandfrei. Entweder ist das Terminalprogramm zerupdatet, oder die Schnittstelle hat einen Klatsch. Ich habe keine Ahnung was ich noch probieren sollte. An dem anderen Rechner sitzt meist meine Frau und und arbeitet, da muß ich eben mit Spielereien warten. :-#

Gruß

Torsten

RCO
02.12.2004, 18:02
Also dank der Hilfe zu dem "UND" funktioniert meine Linienverfolung eigentlich ganz gut, sogar mit Zurückfinden, falls eine Linie endet oder so. Aber ich habe dabei mit Fremdlich echt ein Problem, vor Allem, da die Lichtverteilung in meinem Zimmer nicht gleichmäßig ist. Und dabei habe ich den Vorteil des "Schwanzes" erkannt, damit kann man einfach mal schnell greifen, wenn er durch die Gegend rast. Werde zur Linienverfogung vermutlich eine Box um die Sensoren bauen um das Problem zu lösen.

MFG Moritz

Archi
02.12.2004, 18:54
Werde zur Linienverfogung vermutlich eine Box um die Sensoren bauen um das Problem zu lösen.

Schon mal daran gedacht, nur die HelligkeitsDIFFERENZ auszuwerten?

CU, Archi

Manf
02.12.2004, 19:19
Schon mal daran gedacht, nur die HelligkeitsDIFFERENZ auszuwerten?

Das soll man sicher tun, das ist schon mal ein guter Hinweis, die Absolutwerte streuen zu sehr. Im dargestellten Programm wird zu Beginn der Fahrt eine Anfangsdiffernz gebildet, auf die man sich wärend der Fahrt und Auswertung bezieht.
Bei Kreisfahrt und seitlicher Beleuchtung kann und sollte man sicher mehr tun. Es wäre dann ganz geschickt, die Sensoren etwas gegen Fremdlicht abzuschirmen.
Manfred

thille
02.12.2004, 21:17
Die Anfangsdifferenz gleicht eigentlich nur die am Startpunkt gemessene Differenz aus, wenn sich die Beleuchtung unterwegs ändert, ist sie eigentlich nicht sehr hilfreich. Wenn die Messung so wie im Programm ziemlich regelmäßig erfolgt, könnte man auch die Änderung auswerten. Oder eine andere Variante wäre, nicht die Linie zwischen die Fototransistoren zu nehmen, sondern nur eine Kante, dann müßte einer der Sensoren über der Linie entlanggeführt werden, und der andere auf dem Untergrund. D. h. die Differenz zwischen den Sensoren sollte möglichst groß sein. Steigt die Summe beider Werte über eine bestimmte Grenze, ist die Abweichung nach einer Seite zu groß, fällt sie unter eine Grenze ist die Abweichung nach der anderen Seite zu groß. Setzt natürlich voraus, daß die Linie mindestens so breit ist, wie der Abstand der Sensoren.

Gruß

Torsten

02.12.2004, 21:49
Schon mal daran gedacht, nur die HelligkeitsDIFFERENZ auszuwerten?

Bei Kreisfahrt und seitlicher Beleuchtung kann und sollte man sicher mehr tun. Es wäre dann ganz geschickt, die Sensoren etwas gegen Fremdlicht abzuschirmen.

Da hätte ich auch noch eine Idee: Die Linienbeleuchtung ein- und ausschalten und davon die Differenz bilden. Habe ich aber noch nie ausprobiert...

CU, Robin

Manf
02.12.2004, 22:37
Da hätte ich auch noch eine Idee: Die Linienbeleuchtung ein- und ausschalten und davon die Differenz bilden. Habe ich aber noch nie ausprobiert...
Prima Idee, das wird ja richtig gut.


Ich wollte eigentlich noch mal wissen wie vollständig die Roboter sind und ob es noch Probleme mit den elemataren Funktionen gibt.

Ich habe mich erst zu einem elementaren Beispiel durchgekämpft, um zu sehen, daß die Grund-Funktionen einigermaßen gehen.

Ich habe natürlich das Programm von Thille (vielen Dank) als Anleitung hergenommen und erst mal nur Parameter verändert. Ich glaube irgendwie, daß ich den Funktionsumfang, der sich bietet noch nicht voll nutze.

Sonic ist ja auch schon lange bei eigenen Programmen. Wie sieht es mit dem Rad-Encoder aus? Wenn die Kurven nur sinusförmig sind, dann sollte man vielleicht eine geringere Auflösung nehmen. Nicht 6 sondern 4 oder weniger vielleicht 2?

RCO optimiert die Linienvefolgung also geht auch schon alles? Ich habe die Motoren noch an Kabelbindern, hat sie jemand schon angeklebt?

X-Ryder hat sich zuletzt vom Flashen gemeldet. Wie sieht es mit dem Pogramm aus? Ich habe Teppiche in denen Asuro keine klare Linie findet. Den Boden mit Papier auslegen und mit Filzstift Linien zu zeichnen gelingt mir auch nicht so gut. Viel lieber wäre es mir, einen Sharp Sensor zur Seite auszurichten und den Anstand zur glatten weißen Wand zu regeln. Das ist nur ein kleiner Schritt vom Linienfolger aus. Ich werde das mal angehen mit der Buchsenkombination vorne im Asuro.

Manfred

03.12.2004, 00:25
Hi,

ich hatte die Ehre diesen Sommer am DLR bei Robin Gruber, dem Entwickler von ASURO, ein Praktikum zu absolvieren und am Roboter zu basteln.
Ich hatte davor wenig praktische Erfahrung und muss sagen, dass ich wirklich viel gelernt habe! Jetzt arbeite ich an einem weiteren Roboterprojekt bei dem ich den ATmega32 verwende, das Praktikum hat mir also viel gebracht!
Ich finde ASURO ist leicht zu bedienen, übersichtlich und benutzerfreundlich. Es werden wohl auch verschiedene Zusatzmodule rauskommen, also lasst Euch überraschen ;)

Pott

RCO
03.12.2004, 10:15
;-) Nein, da hätte man ja auch mal selber drauf kommen können...

Danke für den Tip

MFG Moritz

EDIT:
Mein Kommentar bezog sich auf die Helligkeitdifferenz-regelung.
Nächste Seite nicht gesehen ;-)

thille
03.12.2004, 10:19
Prima Idee, das wird ja richtig gut.

Ja, finde ich auch gut.


Ich wollte eigentlich noch mal wissen wie vollständig die Roboter sind und ob es noch Probleme mit den elemataren Funktionen gibt.

Nein, bei mir nicht, außer an meinem alten Rechner mit dem Flashen.


snip... Ich glaube irgendwie, daß ich den Funktionsumfang, der sich bietet noch nicht voll nutze.

Das geht mir auch so, deshalb habe ich mich in den vergangenen Tagen mit asuro.c und asuro.h beschäftigt, aber noch nicht alles verstanden.


snip... Ich habe die Motoren noch an Kabelbindern, hat sie jemand schon angeklebt?

Nein, habe ich noch nicht. Die Kabelbinder habe ich unter den Entstörkondensatoren durchgezogen. Die Motoren sitzen eigentlich ziemlich fest, habe ich nicht so erwartet.


snip... Ich werde das mal angehen mit der Buchsenkombination vorne im Asuro.

Hast Du das schon umgelötet?

Gruß

Torsten

RCO
03.12.2004, 11:01
@ Gast:
bist du derjenige von der Prosiebenseite, der einen Bericht geschrieben hat? Wenn ja, hätte ich da eine Frage an dich.

MFG Moritz

Manf
03.12.2004, 11:50
Hast Du das schon umgelötet?
Ja, (ich hätte vielleicht schönere Buchsen nehmen können).
Etwas stört mich die Anordnung außerhalb vom Rastermaß. Da würde ich bei Gelegenheit gerne noch was ändern.
Manfred

03.12.2004, 12:19
And heiß "&"
Or heißt "|"
NOT heißt !

So sollte es auch gehen:

if (a==1) & (b==2) & (!(c=3))
{
puts "Bedingungen erfüllt";
}
Wenn ich mich recht erinnere ist das & bitweise in C und das && logisch.
Gilt für alle:
| bitweise OR || Logisch OR.
& Bitweise AND && Logosch AND
Also müsste das if ( (a==1) && (b==2) && (!(c==3) ) heissen
wobei das letze auch ohne klammer geht, aber man immer klammern sollte allein schon wegen der ordnung

thille
03.12.2004, 12:23
das mit dem Rastermaß ist wirklich nicht schön, auf der CD waren Abbildungen von Erweiterungen, die offenbar genau darauf abgestimmt sind. Schön wäre es gewesen, wenn die Fototransistoren über Steckbrücken hätten aktiviert werden können, die wenn sie entfernt werden als Steckkontakte für Erweiterungen nutzbar sind.

Da scheinen wir ja unterschiedliche Versionen zu haben: Auf meinem Chip klebt auch dieser Aufkleber, aber mit V208. Oder sind das die inzwischen gebauten Stückzahlen?

Gruß

Torsten

sonic
03.12.2004, 13:44
Ich wollte eigentlich noch mal wissen wie vollständig die Roboter sind und ob es noch Probleme mit den elemataren Funktionen gibt.


Alles fertig, alles funktioniert...



Sonic ist ja auch schon lange bei eigenen Programmen. Wie sieht es mit dem Rad-Encoder aus? Wenn die Kurven nur sinusförmig sind, dann sollte man vielleicht eine geringere Auflösung nehmen. Nicht 6 sondern 4 oder weniger vielleicht 2?


Im Moment schreib ich gerade die C++-Befehle für Bascom um...

- Motorsteuerung
- Tasterabfrage
- Sensorabfrage
- Led-Steuerung

Bis auf das Auslesen der Odometrie und der Liniensensoren hab ich alles fertig geschriebenm naja noch ein bisschen kryptisch aber es läuft...

Leider reicht die Demoversion von BASCOM nicht um alle Funktionen in einem Programm nutzen zu können. Mann kann immer nur ca. 2/3 der Funktionen benutzen, folglich sollte man besser C++ lernen ;-)



RCO optimiert die Linienvefolgung also geht auch schon alles? Ich habe die Motoren noch an Kabelbindern, hat sie jemand schon angeklebt?


Ja, verklebt...geht einwandfrei...

Gruß, Sonic

Manf
03.12.2004, 15:04
Mit dem Stecker habe ich eine erste Version. Der Stecker ist so lang, daß auch die danebenliegenden Rasterpunkte passen. So richtig schön ist es nicht.

Dafür funktioniert es erst mal, wie man auch an der Fahrt sieht. Im etwas dunklen Raum mit längerer Belichtung sieht man sie Schlenker der Bahnkorrektur an den Leuchtspuren der Dioden.

Manfred

sonic
03.12.2004, 15:24
Also "Arexx" liest hier anscheinend doch mit ;-)

Hab heute einen Brief mit einer Odometrie-LED und einem Odometrie-Fototransistor zugeschickt bekommen, dabei hatte ich mich doch gar nicht beschwert ;-) ...und das Teil ja wahrscheinlich auch selber verschlampt 8-[

Auf alle Fälle dickes fettes Dankeschön nach Holland an den aufmerksamen Leser der Firma Arexx!

@Manf: Ich hab auch schon daran gedacht nen Adapter für ASURO zu Layouten, allerdings anders, mal sehn ob ich das erklärt bekomm...

1. M8 ausm Sockel raus
2. Lochraster/Platine machen mit Lötnägel/Stiftleiste in IC-Form
3. auf die Adapterplatine nen 2. Sockel, räumlich versetzt, auf die andere Seite der Platine
4. Pins vom 2. Sockel 1:1 mit denen der "Lötnägel" verbinden
5. Adapterplatine mit Lötnägel nach unten in den Originalsockel stecken
6. M8 in den 2. neuen Sockel
7. Pins zum anschliessen der M8-Ports einlöten, mit 2. M8-Sockel verbinden
8. Fertig ;-)

Bisschen kompliziert, aber die gesockelte Platine dürfte um einiges stabiler sein und schicker aussehen oder?
Einfacher zu tauschen wär das glaub ich auch...

Gruß, Sonic

Manf
03.12.2004, 16:23
Was sist denn "M8"? ist das die Konfigutation auf dem ASURO?
Manfred

RCO
03.12.2004, 16:39
Vermutlich Mega8. Man könnte den IC-Sockel ja auch gegen eine Steckerliste austauschen, dann könnte man sowohl das IC einstecken, als auch leichter eine Erweiterungsplatine anschließen. Ich hätte für die Odometrie lieber einen Logikpegel, also könnte man einige Signale aufbereiten, oder weglassen und andere sachen anschließen. Sonics Idee ist nicht schlecht, allerdings muss ich zugeben, dass ich mich mit dem Auslöten immer etwas schwer tue, vor allem wenn es sich um so viele Lötpunkte handelt ;-)

MFG Moritz

sonic
03.12.2004, 17:09
Vermutlich Mega8....
MFG Moritz

Exakt ;-)

Manf
03.12.2004, 17:33
Ein "break-out" vor dem 28-poligen IC könne den kleinen leicht überfrachten.
Ich dachte eher an einen "break out" an dem lustigen Stecker vorne an dem der Hersteller ohnehin schon alternative Interfaces vorgesehen hat.
Manfred

sonic
03.12.2004, 20:14
So Leudles,

ich hab jetzt mal meinen Quick'n Dirty BASCOM-Portierung des ASUROS hier gepostet. Für alle die kein C++ können/lernen wollen O:)

!ACHTUNG!
Der untenstehende Code lässt sich mit der DEMO-VERSION von BASCOM nicht kompilieren, das Hex-File wird zu groß.
Damit es funktioniert muss ein Teil der aufgerufenen Testfunktionen mit ' ausgeklammert werden ;-(

Die Odometrie fehlt noch, funktioniert aber analog zum Abfragen des Tasters. Nur der ADC-Channel ist ein anderer...
Um rauszubekommen welcher Taster/n gedrückt ist, muss man den Wert noch umrechnen, muss ich noch mal knobeln wie die den Spannungsteiler aufgebaut haben.

Achso, hat jemand ne Ahnung warum man Getadc() einfach nicht in eine Funktion gepackt bekommt? print getadc(4) funktioniert im Hauptprogram einwandfrei, in einer Funktion geht's nicht. Klärt mich mal bitte auf ;-)

Ansonsten viel Spaß ;-)

Gruß, Sonic


'************************************************* *********
'ASURO - Steuerungs- und Sensorikfunktionen
'************************************************* *********


'Ansteuerung der Motoren
'----------------------------------------------------------

' +-------+--------+--------+-------+
' | ML-V | ML-R | MR-V | MR-R |
' +-------+--------+--------+-------+
' PORT D.4 | 0 | 1 | X | X |
' +-------+--------+--------+-------+
' PORT D.5 | 1 | 0 | X | X |
' +-------+--------+--------+-------+
' PORT D.1 | 1 | 1 | X | X | <- ML Enable
' +-------+--------+--------+-------+
' PORT B.4 | X | X | 0 | 1 |
' +-------+--------+--------+-------+
' PORT B.5 | X | X | 1 | 0 |
' +-------+--------+--------+-------+
' PORT B.2 | X | X | 1 | 1 | <- MR Enable
' +-------+--------+--------+-------+


'************************************************* **********
' Begin Functions
'************************************************* **********

$regfile = "m8def.dat"

$crystal = 8000000
$baud = 2400

Config Timer0 = Timer , Prescale = 8
On Timer0 Timer_irq
Const Timervorgabe = 217

Enable Timer0
Enable Interrupts

'ADC für Taster
Config Adc = Single , Prescaler = Auto , Reference = Avcc

'Motor Rechts
Config Pinb.1 = Output
Config Pind.4 = Output
Config Pind.5 = Output

'Motor Links
Config Pinb.2 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output

'FrontLED
Config Pind.6 = Output

'BackLEDs
Config Pinc.0 = Output
Config Pinc.1 = Output

'FrontLED
Config Pind.6 = Output

'StatusLED
Config Pind.2 = Output
Config Pinb.0 = Output

'Taster
Config Pind.3 = Output
'Tasterwert nach Aufruf von Pollswitch (Funktioniert in einer Funktion leider nicht ;-()
Dim Switch As Word


'Pwm -zähler
Dim Pwmcounter As Integer
Dim Tout As String * 20
Dim Pwml As Byte
Dim Pwmr As Byte


Declare Sub Motordir(byval Mldir As Byte , Byval Mrdir As Byte)
Declare Sub Motorspeed(byval Mlspeed As Byte , Byval Mrspeed As Byte)
Declare Sub Backled(byval Led1 As Byte , Byval Led2 As Byte)
Declare Sub Frontled(byval Led As Byte)
Declare Sub Statusled(byval Led1 As Byte , Byval Led2 As Byte)
Declare Sub Pollswitch

Portb.4 = 0
Portb.5 = 1
Portd.4 = 0
Portd.5 = 1

Pwmcounter = 0

Pwml = 0 'pwmvariablen initialisieren
Pwmr = 0

Dim Temp As String * 4

Dim I As Integer

Dim Pwm As Integer
Dim Tasterval As Word

Start Adc
Portd.3 = 1

'*** Hauptprogramm **********************************

Do


Print "-- ASURO BASCOM-Routinen -- www.roboternetz.de ---"
Print "---> Testing all functions..."


Print "------> Blinking 10 times with BackLEDs..."
For I = 1 To 10
Print "---------> 0,1"
Call Backled(0 , 1)
Waitms 50
Print "---------> 1,0"
Call Backled(1 , 0)
Waitms 50
Next
Print "------> Blinking 10 times with FrontLED..."
For I = 1 To 10
Print "---------> 1"
Call Frontled(1)
Waitms 50
Print "---------> 0"
Call Frontled(0)
Waitms 50
Next


Print "------> Changing 10 times the color of the StatusLED..."
For I = 1 To 10
Print "---------> 0,0"
Call Statusled(0 , 0)
Waitms 100
Print "---------> 1,0"
Call Statusled(1 , 0)
Waitms 100
Print "---------> 0,1"
Call Statusled(0 , 1)
Waitms 100
Print "---------> 1,1"
Call Statusled(1 , 1)
Waitms 100
Next
'

Print "------> DRIVETEST: FWD(150), FWD(150), "
Call Motordir(1 , 1)
Call Motorspeed(150 , 150)
Wait 2
Call Motorspeed(0 , 0)
Print "---------> Motors Free..."
Call Motordir(0 , 0)
Wait 1
Print "------> DRIVETEST: RWD(150), RWD(150), "
Call Motordir(2 , 2)
Call Motorspeed(150 , 150)
Wait 2
Call Motorspeed(0 , 0)
Print "---------> Motors Stop..."
Call Motordir(1 , 1)
Wait 1
Print "------> Testing switches, press any switch..."


For I = 1 To 10
Call Pollswitch
Waitms 300
Print Switch
Do

loop

End 'end program

'*** Hauptprogramm Beendet ****************************************


'*** SUBs ********************************************



Sub Pollswitch()
Switch = Getadc(4)
End Sub

Sub Statusled(byval Led1 As Byte , Byval Led2 As Byte)
Portd.2 = Led1
Portb.0 = Led2
End Sub

Sub Frontled(byval Led As Byte)
If Led = 0 Then Portd.6 = 0
If Led = 1 Then Portd.6 = 1
End Sub

Sub Backled(byval Led1 As Byte , Byval Led2 As Byte)
' ****** !!! ACHTUNG !!! **************************************************
' Die BackLEDs können nicht genutzt werden wenn die Odometrie benutzt wird.
' --> BackLEDs pinc.0 und pinc.1 als Ausgang definieren
' --> Odometrie pinc.0 und pinc.1 als Eingang bzw. ADC definieren
' ****** !!! ACHTUNG !!! **************************************************

If Led1 = 1 Then Portc.0 = 1 Else Portc.0 = 0
If Led2 = 1 Then Portc.1 = 1 Else Portc.1 = 0

End Sub

Sub Motorspeed(byval Mlspeed As Byte , Byval Mrspeed As Byte)
Pwml = Mlspeed
Pwmr = Mrspeed
End Sub


Sub Motordir(mldir As Integer , Mrdir As Integer )

If Mldir = 1 Then 'FWD
Portd.4 = 0
Portd.5 = 1
End If

If Mldir = 2 Then 'RWD
Portd.4 = 1
Portd.5 = 0
End If

If Mldir = 3 Then 'FREE
Portd.4 = 0
Portd.5 = 0
End If

If Mldir = 4 Then 'BRAKE
Portd.4 = 1
Portd.5 = 1
End If

'-----------------

If Mrdir = 1 Then 'FWD
Portb.4 = 0
Portb.5 = 1
End If

If Mrdir = 2 Then 'RWD
Portb.4 = 1
Portb.5 = 0
End If

If Mrdir = 3 Then 'FREE
Portb.4 = 0
Portb.5 = 0
End If

If Mrdir = 4 Then 'BRAKE
Portb.4 = 1
Portb.5 = 1
End If

End Sub


'Dies ist der Programmteil, der in dem von ihnen gewählten
'Intervall aufgerufen wird
Timer_irq:
Timer0 = Timervorgabe
Pwmcounter = Pwmcounter + 1
If Pwmcounter >= 255 Then Pwmcounter = 0

If Pwml > Pwmcounter Then Portb.1 = 1
If Pwml < Pwmcounter Then Portb.1 = 0

If Pwmr > Pwmcounter Then Portb.2 = 1
If Pwmr < Pwmcounter Then Portb.2 = 0

Return

Manf
03.12.2004, 20:29
Das ist sehr lobenswert ich hoffe daß dr Code dann auch erprobt wird und Rückmeldungen kommen.
Da ich überhaupt nicht AVR erfahren bin wollte ich noch fragen wie das mit der optischen Schnittstelle geht.
Geht die auch bei Bascom?
Ist die auf andere AVR Chips übertragbar?
Manfred

sonic
03.12.2004, 21:10
Das ist sehr lobenswert ich hoffe daß dr Code dann auch erprobt wird und Rückmeldungen kommen.
Da ich überhaupt nicht AVR erfahren bin wollte ich noch fragen wie das mit der optischen Schnittstelle geht.
Geht die auch bei Bascom?
Ist die auf andere AVR Chips übertragbar?
Manfred

Meinst du jetzt die IR-RS232 vom Asuro?
Die geht mit Bascom genauso gut wie in den C++ Beispielen. Empfänger und Sender hängen ganz normal an Pin RxD und TxD.
In Bascomm geht das dann ganz einfach mit dem Print Befehl, s.h. meinen Code...

In Bascom ist der Code für alle Avr's der Gleiche, du kannst aber zusätzlich Pins opfern und darauf eine SoftwareUART laufen lassen, geht glaub auch automatisch...

Gruß, Sonic

Manf
03.12.2004, 21:53
Ok, ich hätte nachsehen sollen im Schaltplan sind die RXD und TXD direkt mit den optischen Elementen verbunden.
Es gehört also zum festen Betriebsystem des AVR nach dem Einschalten zum Programmempfang bereit zu sein und der Controller ist nicht (mehr) ASURO-spezifisch.
(war wohl eine Anfängerfrage)
Manfred

sonic
03.12.2004, 21:57
So, hab mal was neues probiert.
Ich hab eine GROßE Testarena zum Linienfolgen zum Ausdrucken gemacht. Hab's noch nicht probiert, aber das werde ich bald ;-)

Hmm, da kommt mir grad ein Gedanke...wie wäre es in die Arena Barcodes als Wegmarken einzubauen? Wär doch mal was neues, oder nicht? ;-)

Gruß, Sonic

thille
03.12.2004, 22:55
Nein, ganz so einfach scheint das nicht zu sein, da muß noch ein Bootstrap Programm im Atmelprozessor geladen sein, dann geht das erst. Habe ich hier im Forum schon mal gesehen, finds blos mal wieder nicht wieder.

Gruß

Torsten

x-ryder
03.12.2004, 22:58
jupp da ist warscheinlich ein bootloader drinne denn man kann nur programmieren wenn die statur-led am ANFANG auf orange ist und ab dann kann der nicht mehr connecten ich denke das liegt am bootloader aber ich denke das der nur einmal ausgeführt wird und ab dem ende des bootloaders kann der atmega dann nicht mehr auf diese bootsektion zugreifen sondern führt nur noch brav alle befehle des anwenders aus...

Martin

Manf
03.12.2004, 23:11
Meine Frage ist ja, ob der bootloader in jedem AVR drin ist. Das ist er dann wohl nicht.
Es geht um Leute wie mich, die über ASURO in AVR einsteigen und bald den zweiten Controller kaufen und gerne eine einheitliche Basis hätten.
Wenn es sich leicht beantworten läßt, bitte, wenn es komplizierter ist suche ich mir die Sache schon raus.
Manfred


Hmm, da kommt mir grad ein Gedanke...wie wäre es in die Arena Barcodes als Wegmarken einzubauen? Wär doch mal was neues, oder nicht?
Ja, neu wäre es. Hast Du schon eine Idee wie das aussehen soll? Eine Strichpunktierung in der Linie oder daneben? Bei den vielen Regelbwegungen die gemacht werden sollte eher eine Vorbereitung kommen und dann ein Lesefeld auf das man sich richtig konzentrieren kann. Wie kann das aussehen?
Manfred

x-ryder
03.12.2004, 23:22
also:

nen bootloader ist im prinzip in jedem avr drinne bei manchen haben sie sogar sonderfunktionen (selbstprogrammierung im laufenden betrieb -> ATMEGA128) und den kann man auch beschreiben soweit ich weiß...

aber mal was anderes ich hab grad mal zum test ein LEERES programm in den asuro geschrieben und er schreibt trotzdem 2 pages...

Martin

Manf
03.12.2004, 23:29
aber mal was anderes ich hab grad mal zum test ein LEERES programm in den asuro geschrieben und er schreibt trotzdem 2 pages...

Immerhin muß ja klar gestellt werden, daß nichts ausgeführt werden soll. Ohne flashen wird er schon deshalb nicht auskommen weil er ja das alte Programm wenigstens ersetzen muß. Eine Erklärung für 2 pages ist das aber auch noch nicht.
Manfred

Manf
04.12.2004, 00:24
Nur der ADC-Channel ist ein anderer...
Um rauszubekommen welcher Taster/n gedrückt ist, muss man den Wert noch umrechnen, muss ich noch mal knobeln wie die den Spannungsteiler aufgebaut haben.

Nach Schaltbild:
R23 hält den Pegel an INT1 hoch solange keine Taste geschlossen ist.

Mit schließen eines Tasters wird der 1MOhm Widerstand mit 2k bis 68k (2k 4k 8,2k 16k 33k 68k) belastet und der Pegel geht auf 10mV bis 340mV also Low. Die Auflösung reicht nicht zur sicheren Unterscheidung und es wird über PD3 ein High Pegel über 1k auf den Widerstand mit geschlossenem Schalter angelegt (oder die Kombination von Widerständen).

ADC4 mißt den Pegel, der durch den großen Strom durch den 1k Widerstand so gut aufgelöst wird, daß alle Kombinationen erkannt werden können.

Ich habe es erst mal im Schaltbild verfolgt, ich muß noch die Stelle im Programm suchen, an der der Spannungswert ausgewertet wird.
Manfred

sonic
04.12.2004, 12:01
...(2k 4k 8,2k 16k 33k 68k) belastet und...
Manfred

-> 2k, 4k, 8k, 16k, 32k, 64k

wenn du darauf hinauswillst haben wir den gleichen Gedanken gehabt ;-)
Sieht doch aus wie ein einfacher DA-Wandler mit Widerständen, oder?

Gruß, Sonic

thille
04.12.2004, 12:05
Hier auf Seite 5 steht etwas zu Asuro und dem Bootlader.

http://www.bayern-mechatronik.de/download/newsletter_1_2004.pdf

Da wird angegeben, daß dieser Bootlader speziell für Asuro geschrieben worden ist.

Gruß

Torsten

Manf
04.12.2004, 13:12
Da wird angegeben, daß dieser Bootlader speziell für Asuro geschrieben worden ist.
Ja, habe ich gefunden, jetzt habe ich nicht verstanden ob man den Controller durch einen neu gekauften ersetzten kann. Wie kommt dann der spezielle Bootloader da rein?
Manfred

thille
04.12.2004, 13:26
Atmel beschreibt das so:

http://www.atmel.com/dyn/resources/prod_documents/doc3a6712c5588b5.pdf

In dem Dokument steht auch etwas zu einem Atmel-Bootlader, aber so richtig habe ich das noch nicht verstanden.

hier im Board steht auch noch was dazu:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=3182&highlight=bootloader

Gruß

Torsten

Manf
04.12.2004, 14:08
Sieht doch aus wie ein einfacher DA-Wandler mit Widerständen, oder?
Mit einer Stromquelle also etwa mit dem 1MOhm Widerstand sind die 6 Widerstände und Schalter ein einfacher binärer Wandler, (er wird aber wohl über R24 an 5V angeschlossen - oder doch nicht?). Dann wäre er etwas nichtlinear.
Ich muß nochmal in der Auswertung nachsehen. Welchen Zustand hat der Port PD3 beim Auslesen des Wandlers?
Manfred

sonic
04.12.2004, 14:31
wen pd3 auf low ist funktioniert es nicht, dann kommt immer nur 0.
Pd3 auf 1 und es klappt ;-)

Ich hab schon versucht die Werte aller Tasterfunktionen aufzutragen aber da brech ich mir die Finger bevor ich es schaff ;-(

Vielleicht kann man die Logik die dahinter steckt aus der Asuro.c bzw. asuro.h rauslesen (kann man sicher, aber ich komm im Moment noch nicht dahinter...)

Wegen Bootloader -> http://home.mn.rr.com/sarmitage/avr.html


Gruß, Sonic

x-ryder
04.12.2004, 14:42
Hi,

wenn ich dein Proggi compilieren will, Sonic, dann bringt er nen Fehler:


Error : 124 Line : 0 LOOP expected , in File :

Was mag das heißen?

Martin

x-ryder
04.12.2004, 14:47
Danke habs schon rausbekommen da war statt nem next noch nen do drinne

sonic
04.12.2004, 16:06
oh is mir wohl durch die Lappen gegangen ;-(
Funktionieren die einzelnen Programmteile wenigstens?

Gruß, Sonic

x-ryder
04.12.2004, 16:11
jepp sonst für alles nen lob :cheesy:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHH HHHHHHHHHHHH schon wieder diese Message von wegen zu wenig zeichen

sonic
04.12.2004, 16:17
Du hast auch keine Ahnung warum man GetAdc(4) nicht in ein Funktion packen lässt? Probier mir das mal bitte aus, ob das bei dir geht..

Also einmal im Hauptprogramm

portd.3 = 1
Print GetAdc(4)

Sollte eigentlich functionieren, und einmal

config pind.3 = output
portd.3 = 1

declare function pollswitch() as word

do
print pollswitch()
loop

function pollswitch() as word
pollswitch = getadc(4)
end function

Das funktioniert bei mit nämlich leider nicht ;-( wobei ich nicht weis wo da der Unterschied liegen soll...

Gruß, Sonic

RCO
04.12.2004, 17:18
Also nur damit ich das jetzt mal richtig verstehe:


Es gehört also zum festen Betriebsystem des AVR nach dem Einschalten zum Programmempfang bereit zu sein und der Controller ist nicht (mehr) ASURO-spezifisch.

Ich erkläre jetzt mal wie ich das verstehe, also bitte korrigert mich wenn ich falsch liege.

Die Firma AREXX hat einen Bootlader geschrieben und den auf den AVR übertragen. Damit dieser nicht überschrieben oder geändert wird, ist er mit Lockbits gesichert. Beim starten wird der Bootlader ausgeführt und mit dessen Hilfe können z.B. das Programmieren über die RS232-Schnittstelle ausgeführt werden. Besitzt man den Sourcecode nicht, kann man keinen Chipaustausch beim ASURO durchführen, es sei denn man verzichtet auf funktionen, oder kauft einen bereits beschriebenen Ersatzchip.

Hierbei bin ich mir ziemlich unsicher:

Im Bootlader stehen auch die Funktionen StatusLED(), MotorDir()...
Diese Funktionen sind quasi immer vorhanden und müssen nur angesprochen werden, deshlab ist das Programmieren mit Bascom im Grunde nicht vorteilhaft, weil bestehende Funktionen nicht genutzt werden können und man sie neu schreiben muss und damit speicherplatz "verschwendet".

So richtig?

Wenn das so stimmt, wäre es vielleicht schön alle Grundfunktionen des ASUROs in BAscom in eine Lib zu schreiben, damit man die Funktionen nicht neu schreiben muss, und man quasi genauso programmiert wie in C.
Der Nachteil dabei ist natürlich, dass man dann auch funktionen die man nicht braucht mitüberträgt.

MFG Moritz

sonic
04.12.2004, 17:34
Also nur damit ich das jetzt mal richtig verstehe:


Es gehört also zum festen Betriebsystem des AVR nach dem Einschalten zum Programmempfang bereit zu sein und der Controller ist nicht (mehr) ASURO-spezifisch.

Ich erkläre jetzt mal wie ich das verstehe, also bitte korrigert mich wenn ich falsch liege.

Die Firma AREXX hat einen Bootlader geschrieben und den auf den AVR übertragen. Damit dieser nicht überschrieben oder geändert wird, ist er mit Lockbits gesichert. Beim starten wird der Bootlader ausgeführt und mit dessen Hilfe können z.B. das Programmieren über die RS232-Schnittstelle ausgeführt werden. Besitzt man den Sourcecode nicht, kann man keinen Chipaustausch beim ASURO durchführen, es sei denn man verzichtet auf funktionen, oder kauft einen bereits beschriebenen Ersatzchip.


Genau..



Hierbei bin ich mir ziemlich unsicher:
Im Bootlader stehen auch die Funktionen StatusLED(), MotorDir()...
Diese Funktionen sind quasi immer vorhanden und müssen nur angesprochen werden, deshlab ist das Programmieren mit Bascom im Grunde nicht vorteilhaft, weil bestehende Funktionen nicht genutzt werden können und man sie neu schreiben muss und damit speicherplatz "verschwendet".
So richtig?


Naja fast, der Bootloader sorgt nur dafür das die Programme seriell auf den Avr übertragen werden können. Bei Atmel gibts da auch ne Appnote dafür. In dem "bisschen" Bootcode sind die Funktionen fürs Fahren usw. bestimmt nicht dabei.

Die sind in der Asuro.h und Asuro.c als lib abgelegt...



Wenn das so stimmt, wäre es vielleicht schön alle Grundfunktionen des ASUROs in BAscom in eine Lib zu schreiben, damit man die Funktionen nicht neu schreiben muss, und man quasi genauso programmiert wie in C.
Der Nachteil dabei ist natürlich, dass man dann auch funktionen die man nicht braucht mitüberträgt.
MFG Moritz

So weit ich weis geht das nicht. Der Speicherbereich des Bootloaders ist reserviert, beim Booten führt der Prozessor automatisch einen Sprung zum Anfang des Bootloaders aus. Wenn der Bootloader fertig ist springt der nach 0x000 oder so und der ganz normale Code wird ausgeführt. Beim Asuro muss man an un aus schalten, wahrscheinlich haben die den Sprung irgendwie weggelassen...
Ich befürchte aber das Programme nicht auf den Speicherbereich des Bootloaders zugreifen können, wär zu doof wenn so ein Programm da irgendwas ändert und sich der Avr nicht mehr programmieren lässt, da müsste man zuerst wieder zum herkömmlichen Brenner laufen...nervig das Ganze ;-)

Gruß, Sonic

RCO
04.12.2004, 17:53
Danke für die Antwort, bin jetzt einigermaßen durchgestiegen ;-)


Die sind in der Asuro.h und Asuro.c als lib abgelegt...

Was erklärt, warum ein leeres dokument 24 Pages hat.

Trotzdem wäre es schön, wenn man das gleiche bei Bascom machen könnte, dann würde ASURO in Bascom ASURO in C in nix nachstehen, aber wenn ich das richtig sehe, machst du das ja gerade.

Schön wäre es natürlich auch, wenn man einige weitere Funktionen, z.B. das bestimmen der Geschwindigkeit, oder andere Funktionen als Lib erstellen könnte, so dass man auf recht komplexe funktionen schnell zurückgreifen kann. Wie erstellt man denn in Bascom Lib und bindet sie ein?

MFG Moritz

sonic
04.12.2004, 18:36
einfach den Code in eine Datei speicher und an der entsprechenden Stelle mit include einbinden

Gruß, Sonic

x-ryder
04.12.2004, 22:04
ja ich bin auch grad dabei ne lib zu schreiben aber ich war bis dahin nicht mir dem adc weitergekommen und hatte ja die bekannten probs mit dem transistor...

Martin

Manf
06.12.2004, 14:50
Viel lieber wäre es mir, einen Sharp Sensor zur Seite auszurichten und den Anstand zur glatten weißen Wand zu regeln. Das ist nur ein kleiner Schritt vom Linienfolger aus. Ich werde das mal angehen mit der Buchsenkombination vorne im Asuro.

Doch, das war wirklich ein relativ kleiner Schritt, nun fährt er und schaut sich die Wand dabei an. Der Sharpsensor ist dabei nicht genau zur Seite sondern ein bischen nach vorne gerichtet damit damit eine Richtungsänderung des Fahrzeugs auch gleich eine Abstandsänderung wird.
Damit ist schon ein erster Ansatz zum D-Regelverhalten für den Abstand zur Wand mit drin.

Erstaunlich wie einfach das geht, der Sensor läuft ab 3V, die 3 Anschlüsse sind an R14 oben, naja gelötet aber eben Masse, und in der Buchse der linken Photodiode sind ja Ub und ADC-in.

Es schleicht noch ein bischen, aber ich habe erstmal die PWM Werte runtergesetzt bis er sich an die neue Steuerung gewöhnt hat.

Das Programm ist praktisch der Linienfolger mit nur einer Seite ausgewertet.

Der Sharpsensor sitzt auf einer Schraube M3 mit Isolatorbuchse.
Manfred

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=287

RCO
06.12.2004, 16:30
Schick Manf, aber ich hab auch ne gute nachricht, Arexx hat mir heute 2 Experimetierplatinen zugeschickt, die vollkommen leer sind, aber halt auf das Rastermaß passen. Jetzt werde ich versuchen die Infrarotsensoren eines alten Bots dranzubauen, schließlich sind jetzt 2ADs und PD6, allerdings wäre es schön, wenn mir einer sagen könnte, was Ain0 meint. Irgendwas mird es mit Timer1 zu tun haben, aber was, kein OSC kein INterrupt, sondern? Werde mich dann die ZEit mal dransetzen und löten.

MFG Moritz

thille
06.12.2004, 17:30
Gerade vom postkastengekommen, Post von Arexx, Danke, auch zwei Experimentierplatinen erhalten.

Auf eine werde ich die beschriebene Ultraschallortung bauen, und für die andere mir etwas feines überlegen.

Gruß

Torsten

Manf
06.12.2004, 17:59
Ja, ich habe auch die Erweiterungsplatinen bekommen. Und mir die Beschreibung durchgelesen.

Klingt ganz gut, und ist wieder sehr detailliert und nachvollziehbar dargestellt.

Über die Stelle auf Seite 127 an der sich zwei versetzte Chirps "destruktiv überlagern" ist gerade der Stempel gemacht worden. Auch eine destruktive Überlagerung. O:)

Es wird bei versetzten Chirps eine kokärente destruktive Überlagerung vermieden. Nur die Energie der Signale (nicht die Spannung) wird gemäß ihrer Übertragungsfunktion addiert. (Kleiner werden kann das erste Signal nicht, wenn das zweite Signal nicht kohärent ist.)

Das RC-Glied mit dem die zeitabhängige Komparatorschwelle generiert wird ist wohl an PD 6, das heißt, daß der Komparator im Controller realisiert ist?

Ein paar Ultraschallkapseln habe ich noch. Ich denke ich werde das auch mal ausprobieren.
Manfred

Manf
07.12.2004, 13:11
Von den Kapseln des Typs Murata 400SR und MA 40A5S, die ich noch da hatte, habe ich mal die Übertragungsfunktion aufgenommen. Sie ist bei den Typen und bei vielen anderen etwa gleich und sie gehen als Sender sowie als Empfänger.

Sender und Empfänger waren in 10cm Abstand auf einander ausgerichtet. Und der Sender wurde mit 5V Rechtecksignal einmal gegen Masse und einmal gegen ein komplementäres 5V Rechtecksignal betrieben. Der Empfänger wurde mit 10k belastet, was die Amplitude praktisch nicht verändert.
Im Bild zeigt sich der Frequenzgang, des Systems das bei 39kHz ein Maximum hat und der recht gleichmäßig nach beiden Seiten abfällt. Die 3dB Bandbreite liegt etwa bei 3kHz, also 39 +-1,5kHz.

Die Amplitude ist mit mehr als 1Vss recht hoch aber beim Einsatz wirkt ja noch die kleinere Reflexionsfläche und der größere Abstand.
Das Amplitudenverhältnis bei Ansteuerung gegen Komplementärsignal und gegen Masse ist wie zu erwarten knapp 2. (Mehr Signal und mehr Störabstand für mehr Aufwand.)

Aus der Bandbreite kann man dann die optimale Pulsdauer bestimmen die sicher bei 8-16 Perioden der 38-40kHz liegen wird. Man kann die entsprechenden Basis- Daten natürlich auch aus den Datenblättern entnehmen und entsprechend umrechnen.
Manfred

x-ryder
07.12.2004, 14:27
Was sollte das denn ich wurde auf einmal nichtmehr benachrichtigt.......

Hmmm ich habe leider erst heute die beiden Platinen bekommen aber ich finde doch das Arexx einen sehr guten Support anbietet :cheesy:

Ich werde mal schaun was ich so auf lager habe an sensoren.....

oder auch ein display???

mal schaun...

Martin

PS: ich finde die Briefe sind das beste am Päckchen :cheesy:

thille
07.12.2004, 15:28
Schade, daß man den Hardware-I²C nicht nutzen kann, oder sehe ich das falsch? Dann könnte man einen ganzen Stapel Erweiterungsplatinen draufsetzen.

Gruß

Torsten

Archi
07.12.2004, 16:29
oder auch ein display???



Kleines Display mit 2x8 Zeichen für ASURO ist am DLR mal im Rahmen eines Praktikums entstanden. Die Veröffentlichung der Pläne wird aber noch einen Tick dauern... :-#

CU, Robin

x-ryder
07.12.2004, 18:08
ich bin am versuche machen ein display mit einem 74hc595 da drauf zu setzen...

Martin

07.12.2004, 19:24
weiß net obs schon hier im Forum rumgeistert, hab per Suche nix davon gefunden...

Also ich arbeite beim DLR, laut dem Entwickler sollte der Asuro schon Kalenderwoche 48 bei Farnell im Katalog sein ^^ Will mir den auch zulegen, deshalb geh ich dem schon dauernd auf die Nerven ;)
Heute hat wohl Farnell dem Robin Gruber (den mein ich, wenn ich vom Entwickler spreche) bescheid gesagt, dass die jetzt nen Schwung Asuros bekommen haben... Nehme mal an dass der bis Jahreswechsel erhältlich ist auf http://de.farnell.com für 60 Euro

Hoffe des sind keine alten news für euch ;) Bis dann
Sven

07.12.2004, 19:28
achja, die Preise sollen gestaffelt sein, also macht doch mal ne Liste für ne Sammelbestellung, vielleicht rechnet sich des ;) Bis dann

07.12.2004, 19:30
omg o.0 Da spam ich hier euer Forum voll, und nur drei posts weiter oben postet der Robin selbst 0.o huhu Robin ^^

07.12.2004, 20:57
chja, die Preise sollen gestaffelt sein, also macht doch mal ne Liste für ne Sammelbestellung, vielleicht rechnet sich des Bis dann



omg o.0 Da spam ich hier euer Forum voll, und nur drei posts weiter oben postet der Robin selbst 0.o huhu Robin ^^

Das ist hoffentlich nicht der "DLR Stil" sonst wäre eine Stellungnahme von entsprechnder Stelle der Organisation erforderlich.
MfG

LuK-AS
07.12.2004, 21:25
Hallo,

ist bei diesem Bausatz auch ein Schaltplan der kompletten Elektronik dabei? Würde mich freuen wenn mir mal einer den Teil der seriellen Infrarotübertragung zeigen könnte.

Gruss Clemens

Manf
07.12.2004, 21:32
Ausschnitt Main Board

x-ryder
07.12.2004, 21:34
So hier sind mal 2 Bilder


AHHHHHHHRRRRRRGGGG dieser shit von wegen 70 zeichen regt mich aber echt heftig auf...

Martin

07.12.2004, 21:44
Hmmmm, ich hätte nicht gedacht, dass man die IR - Übertragung so einfach an RxD und TxD anschliesst und dass das ganze dann auch noch funktioniert :)

Manf
07.12.2004, 21:54
Auf der Senderseite ist ja der Modulator als Gatter noch dazwischen. Empfangseitig ist die Schaltung mit Verstärkungsregelung (AGC) wie im TSOP viel im Forum diskuitert und recht komplex, da steckt wohl die ganze Leistungsfähigkeit.
Manfred

thille
07.12.2004, 21:56
snip... Nehme mal an dass der bis Jahreswechsel erhältlich ist auf http://de.farnell.com für 60 Euro

Hoffe des sind keine alten news für euch ;) Bis dann
Sven

PROGRAMMIERBARER ROBOTER ASURO - BS
Artikel-Nr.: 191164 - JM
nur 49,95 EUR

Bei dem großen Zeh.

Ist zur Zeit aber noch nicht verfügbar, ausverkauft,oder nicht am Lager.

Gruß

Torsten

07.12.2004, 22:16
echt, gehn die bis 50€ runter? cool, das is doch mal was :) Hatte den bis vor zwei Wochen oder so bei Conradnet gefunden, thx für die info ^^

Dachte mir doch irgendwie, dass ich die schnauze halten sollt :p War ja klar, dass ich net auffem neuesten Stand bin :D

Manf
08.12.2004, 00:32
Ich wollte noch mal kurz von den Ultraschallexperimenten berichten. Mit einem Steckbrettaufbau mit senkrecht aufgestellten Wandlern auf dem Tisch ist die Zimmerdecke in 180cm Abstand ganz gut zu erkennen. Rechtes Bild.
Im linken Bild wurde eine DinA4 große Plastikplatte üner die Anordnung gehelten, so etwa in 45cm Höhe. Ich habe versucht, dabei auch die Mehrfachreflexionen zwischen Tisch und Reflektor sichtbar zu machen.

Die Impulsdauer ist erst mal relativ lang mit 64 Perioden des 40kHz Signals. Die Schaltung verstärkt die Echos auf mehrere 100mV. Die Reserven wird man vielleicht noch brauchen, wenn es um reale Hindernisse geht, die kleiner sind.

Der Sender ist nur zum Test in C-MOS Gattern und Zählern aufgebaut, er wird später ohnehin weitgehend vom Controller ersetzt werden.

Der Empfänger arbeitet mit laufzeitabhängiger Verstärkung wobei die Laufzeitgrenze erst mal auf die 180cm eingestellt ist.
Manfred

sonic
08.12.2004, 00:41
jepp sonst für alles nen lob :cheesy:


Wirklich? Hat jemand die Funktion Pollswitch zum laufen bekommen?
Also bei mir will das einfach nicht und ich komm nicht dahinter woran das liegen könnte...

Vielleicht wär jemand mal so net und kompilert mal ein kleines Testprogramm mit der Funktion drinn und lässt sich die Werte per RS232 ausgeben, wär echt schade wenn das nur bei mir nicht klappen würde ;-(

Gruß, Sonic

RCO
08.12.2004, 11:29
@ Sonic, ich bin auch daran interessiert, den Asuro mit Bascom zu proggen und hab mir deshalb mal deinen Code angeguckt, da ist mir aufgefallen, dass du den Timer0 für den PWM immer mit 217 belädst, warum? Nach meiner Berechnung, korrigier mich wenn ich falsch liege, läuft der Timer ja 8000000 [Frequenz] / 8 [Prescaler], also 1000000 mal in der Sekunde über, wenn man nun beachtet das Timer0 8 Bit hat, ergibt sich für den PWM eine Frequenz von: 1000000 / 256 = 3906,25 Hz. Wenn du ihn mit 217 vorbelädst (255-217=38 ): 1000000/38 = 26315,78 Hz. Ist das nicht ein wenig viel, oder habe ich da was wichtiges übersehen?

MFG Moritz

EDIT: Blöd wenn der bei "= 3 8 ) :" folgendes: "=38):" macht. :-)
Wenn ich heute Zeit finde werde ich mal ein testprogramm schreiben, was solls denn beinhalten? (Kann ja auch nix in C :? ))

MFG

Manf
08.12.2004, 11:47
Wenn ich heute Zeit finde werde ich mal ein testprogramm schreiben, was solls denn beinhalten?

Ich bin da gerade an dem Ultraschall Interface. Wenn ein Port 16 (oder so)Pulse mit 39-40kHz ausgibt und der andere nur erst mal mißt, wie lange es dauert (bis zu 10ms), bis eine Flanke kommt, dann könnte man es gleich anschließen.
Manfred

RCO
08.12.2004, 12:29
@ Manf bezog sich jetzt auf Pollswitch() von Sonic ;-)
Manf was du da machst ist für mich Zauberei. Wie kann man denn z.B. rausfinden, ob das empfangene Signal das versandte ist? Willst du das durch einen Filter jagen oder so, wenn da so einfach ist, dann wäre es echt super. Mit dem Oszilator könnte man doch bestimmt 40 Khz erzeugen, oder? Dann müsste man ja nur noch schaun wieviel Zeit vergeht, und dass dann abgleichen etc. wie stellst du dir das vor?

MFg Moritz

Manf
08.12.2004, 13:27
Wie kann man denn z.B. rausfinden, ob das empfangene Signal das versandte ist?
Man hocht erst auf das Hintergrundgräusch (hoffentlich ist es nicht zu groß), wenn man etwas sendet und es kommt innerhalb von 10ms ein Signal das größer ist, dann war es das Echo.

Ich werde noch einen Schaltungsvorschlag hierzu diskutieren.
Manfred

RCO
08.12.2004, 13:51
Also willst du die Wechselspannung in eine Gelichspannung richten, verstärken und am ADC messen, oder?
Aber du sendest die 40 Khz doch länger als 10ms, oder also empfängst du schon während du noch sendest, oder?
Man sollte aber ziemlich leicht relativ genaue Werte messen können. Gehst du davon aus, dass keien direkte Übertragung zwischen sender und empfänger ist, oder schallen die wirklich geradeaus? Sollte man sender und empfänger möglichst locker lagern?

MFG Moritz

sonic
08.12.2004, 14:49
@ Sonic, ... Nach meiner Berechnung, korrigier mich wenn ich falsch liege, ... Wenn du ihn mit 217 vorbelädst (255-217=38 ): 1000000/38 = 26315,78 Hz. Ist das nicht ein wenig viel, oder habe ich da was wichtiges übersehen?
MFG Moritz


Klar ist das schon viel ;-) nur gibt es ja keinen Standartwert für die PWM-Frequenz und viel ist relativ. Also hab ich da schon ein bisschen rumgespielt...

"(255-217=38 ): 1000000/38 = 26315,78 Hz"
passt nicht ganz 256-217=39 -> 1000000 / 39 = 25641 Hz (Interrupt) und => 25641 / 2 = 12820,5 Hz (Signal/Rechteck).

Allerdings darfst du nicht die Interruptfrequenz mit der Signalfrequenz verwechseln! Interrupts pro Sekunde != Signalfrequenz.
Hatte ich schon mal im Zusammenhang mit Franks Rnavr-Programm zum Timer berechnen.

Soll heißen, es wird zwar z.B. 50mal pro Sekunde ein Interrupt ausgelöst, allerdings brauchst du für eine Signalperiode 2 Interrupts (Rechteck). Du musst ja einmal einschalten und einmal ausschalten. Also ist für Rechteck die Signalfrequenz die Interruptfrequenz / 2.

Jetzt kommt noch dazu das bei jedem Interrupt einmal hochgezählt wird, von 0 - 255 und wieder von Vorne. Damit erreiche ich die unterschiedliche Pulsbreite für die PWM.
pwmr und pwml ist das Maß für die Pulsbreite. Bei Zählerstand 0 wird eingeschaltet bei Zählerstand pwml o. pwmr wird ausgeschaltet. Soweit klar?
Also ist eine Periode des PWM-Signals immer 256 Interrupts lang, also ist die PWM-Frequenz = Interruptfrequenz / 256 = 25641Hz / 256 = ca. 100Hz

Oh Mann wenn da jetzt irgendwo ein Fehler drinn ist, ist mir der Spot sicher ;-) Aber ich bin auch AVR-Anfänger...

EDIT: Für 1KHz PWM ist die Einstellung Timer0 übrigens Prescaler = 1 und Timervorgabe = 225...

Gruß, Sonic

Manf
08.12.2004, 15:00
Also willst du die Wechselspannung in eine Gelichspannung richten, verstärken und am ADC messen, oder?
Aber du sendest die 40 Khz doch länger als 10ms, oder also empfängst du schon während du noch sendest, oder?
Man sollte aber ziemlich leicht relativ genaue Werte messen können. Gehst du davon aus, dass keien direkte Übertragung zwischen sender und empfänger ist, oder schallen die wirklich geradeaus? Sollte man sender und empfänger möglichst locker lagern?

MFG Moritz

Alles habe ich noch nicht, aber einen Schaltungskern habe ich schon eimal optimiert. Speziell zur Signalübergabe halte ich eine Gleichrichtung für besser, obwohl sie im mitglieferten Schaltungsvorschlag nicht angegeben war.
Die 40kHz werden nur für 8-32 Perioden gesendet. Also z.B. 16 Perioden = 0,4ms oder 6,8cm.
Sie senden nicht direkt zur Seite, aber man sollte sie wohl auch nicht zusammenkleben.
Manfred

RCO
08.12.2004, 15:05
Also ich geh jetzt am Besten mal von anfang an alles durch:


256-217=39

Aha, interrupt wird also ausglöst, wenn der Timer wirklich ein zuviel hat, nciht wenn er voll ist, nagut, wird ja schon aus dem Wort Overflow ersichtlich.

Na gut jetzt ist es mir irgendwie sonnenklar ;-) es wird ja nur bei jedem 39. mal ausgelöst. das hab ich vergessen, deshalb kommst du auf 100 und ich auf 3900 das 39-fache.

Mal ne ganz andere Idee, könnte man nicht einfach nur 64 Geschwindigkeitsstufen nehmen mit einem größeren Prescaler, also 4 mal so hoch. so viele Geschwindigkeitsstufen braucht man doch eh kaum, oder drückt der Interrupt nicht so stark auf die Prozessorleistung?

Könnte man vielleicht nur 50 Hz nehmen, oder ist das schon sehr Grenzwertig?

Ich werds mal testen, MFg Moritz

sonic
08.12.2004, 15:22
Noch ne andere Idee, man könnte die im AVR eingebaute PWM benutzen ;-) So wie ich das gemacht hab wird die PWM ja an 2 Pins Softwaremässig realisiert. Bin mir nur nicht sicher ob die beiden Enable-Eingänge auch an den PWM-Pins angeschlossen sind, muss ich mal Schaltplan wälzen...



Also ich geh jetzt am Besten mal von anfang an alles durch:

Zitat:
256-217=39

Aha, interrupt wird also ausglöst, wenn der Timer wirklich ein zuviel hat, nciht wenn er voll ist, nagut, wird ja schon aus dem Wort Overflow ersichtlich.


Ich glaub eher es liegt daran das 256 Zustände gezählt werden, die 0 gehört dazu. 255 ist der max. Wert einer Byte-Variablen, trotzdem kann man ja 256 Zahlen darstellen.

Gruß, Sonic

Manf
08.12.2004, 16:39
Gehst du davon aus, dass keien direkte Übertragung zwischen sender und empfänger ist,
Kann man ja direkt messen. Ich habe eine Schaltung mit Verstärkungsregelung, die am Anfang während des Sendens ziemlich gut auf null abregelt und habe bei der mal die beiden Kapseln mit einem Gummi zusammengebunden.
Eine Überkopplung ist nicht sichtbar. Die Anordrnung ist auf dem Steckbrett links. Darüber ist eine schwenkbare Lampe die in 50cm Abstand ein Echo erzeugt das recht deutlich ist. Man sieht dann eher noch das zweite Echo der Lampe.
Manfred

RCO
08.12.2004, 17:34
@ Manf: woher nimmst du die Zeit eigentlich immer irgendwelche Sachen zu basteln? Also ich würde mich freuen, wenn du einen Abstandssensor mit möglichst wenig Hardware hinbekommen würdest.
Wenn Sender und Empfänger miteinander verbunden sind, dann muss aber doch irgendwie ein kleines Signal ankommen, oder. Wenn ich dich richtig verstehe, ist das ja absolut nicht der Fall.

@ Sonic: Also dein Pollswitch klappt einwandfrei, wenn du bei "Call Pollswitch" noch die Klammern "()" anfügst ;-)
Liefert dann 1023 und je nach Taste andere Werte, da werd ich mal schaun, wie man es am besten regelt.

Ich weiß nicht ob es dir sonderlich weitergilft, aber ich hab noch ein kleines Prog zum PWM gefunden, schöner wärs natürlich, wenn der Timer0 ein Compare hätte, dann hätte man den "besseren" Timer1 noch frei für anderes Zeug.


Pwma Alias Portd.5 ' Modulated Pins
Pwmb Alias Oc1b
' Used Variables
Dim Temp1 As Word
Dim Temp2 As Word

Config Portb = Output ' PortB is Output
Portb = 255 ' Switch LEDs off

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up
Temp1 = &H0000 ' Configure Timer1 for PWM
Pwm1a = Temp1
Pwm1b = Temp1
Tccr1b = Tccr1b Or &H02 ' Prescaler = 8


Config Pind.0 = Input ' Configure PortD
Config Pind.5 = Output

Do
Bitwait Pind.0 , Reset ' Wait for key pressed
Bitwait Pind.0 , Set ' Wait for key unpressed
Temp1 = Temp1 + &H10 ' Increment Variable
Pwm1a = Temp1 ' Set PWM Registers
Pwm1b = Temp1
Temp2 = Temp1 / &H10 ' Reset 4 LSB and shift right
Temp2 = Not Temp2 ' Invert bit pattern
Portb = Low(temp2) ' Output bit pattern
Loop

End

MFG Moritz

RCO
08.12.2004, 18:20
Also ich habe jetzt das Script mal umgeschriben, hier ein kleines BSP für den PWm unter Bascom. Asuro stopt, fährt mit halbem und vollem speed.



Dim Temp1 As Word 'Die Geschwindigkeitsvariable

Config Portd = Output 'Der Einfachheit halber Port B und D alles Output
Config Portb = Output

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
'Timer1 hat 2 PWM-Ausgänge PinB.1 und B.2
'Prescale 256 läuft auch problemlos

Portd.5 = 1 'Linker Motor Vorwärte
Portd.4 = 0

Portb.4 = 0 'Rechter Motor Vorwärts
Portb.5 = 1

Do

Temp1 = 0 'Motoren stehen
Pwm1a = Temp1
Pwm1b = Temp1
Wait 1

Temp1 = 512 'Motoren fahhren mit halber kraft
Pwm1a = Temp1
Pwm1b = Temp1
Wait 1

Temp1 = 1023 'Motoren fahhren mit voller kraft
Pwm1a = Temp1
Pwm1b = Temp1
Wait 1
Loop
End


Unter C läuft, wie man hier sieht:


// for PWM (8-Bit PWM) on OC1A & OC1B
TCCR1A = (1 << WGM10) | (1 << COM1A1) | (1 << COM1B1);
// tmr1 running on MCU clock/8
TCCR1B = (1 << CS11);


Asuro mit Timer1 unter 8-Bit und prescale 8.
Schön ist natürlich eigentlich, wenn man wie in Sonics BSP Timer0 dafür verwenden kann, denn Timer1 bietet ja mehr möglichkeiten. Da die Compareregister aber sowiso von den Motoren und Timer1 belegt sind spielt das wohl keine Rolle und ich will eigentlich noch versuchen das Basic-Pendant zu C möglichst nah zu halten.

MFG Moritz

EDIT: Nochmal zu den Bumpern (Pollswitch())

Ich würde mich sehr freuen, wenn mir ein C-Spezilist diesen Code etwas entschlüssen könnte und sagen könnte, wie die Berechnung unten von statten geht. Danke schon mal im Voraus.



unsigned char PollSwitch (void)
{
unsigned int i;

DDRD |= SWITCHES; // Switches as Output
SWITCH_ON; // Output HIGH for measurement
ADMUX = (1 << REFS0) | SWITCH; // AVCC reference with external capacitor
Sleep(10);

ADCSRA |= (1 << ADSC); // Start conversion
while (!(ADCSRA & (1 << ADIF)));// wait for conversion complete
ADCSRA |= (1 << ADIF); // clear ADCIF
i = ADCL + (ADCH << 8);

SWITCH_OFF;

return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 63.0 + 0.5));
}


MFG Moritz

Manf
08.12.2004, 18:57
Zur Ultraschall Schaltung:
Ich habe erst einmal die Schaltung klemmenkompatibel nachgebaut.
Klemme OC2: Hier kommt das Sendesignal rein, Rechteck 5V Pegel, 40kHz, z.B. 16 Perioden
Klemme ADC3: Ausgang des um 100 bis 1000 verstärkten Echosignals ohne Demodulation.
Da das Signal in der Vorlage ohne laufzeitabhängige Verstärkung ist, ist dort der Pegel kritischer und es wird weiter der Port PD6 benötigt, der einen laufzeitabhängigen Vergleichspegel erhält.
PD6 entfällt.

Zur Funktion: AN OC2 liegt der Burst aus 16 Perioden 40kHz Signal. Er geht an den oberen Wandler der das Signal aussendet. Der 2. Anschluss des Wandlers liegt an Masse oder an einem invertierten Signal zur Spannungsverdopplung (4-fache Leistung).

Die Signalverstärkung erfolgt durch den Transistor BC547C. Ich habe überlegt einen oder 2 Operationsverstärker einzusetzen, aber die einstellbare Verstärkung geht am besten mit dem Transistor. Der Kleinsignal-Emitterwiderstand ist 1/S = Ut / Ic. Der Kollektorwiderstand liegt bei 10kOhm. Damit liegt die Verstärkung bei Ic = 1 mA mit Ut = 26mV bei 400.
In den Bereich wird der Transistor mit der Zeit gesteuert wenn er einen Basisstrom von 4µA erhält. (für B= 250 , sonst entsprechend, auch doppelt so viel: 2mA, V=800)

Zu Beginn der Messung wenn an OC2 periodisch der Null Pegel auftritt wird der Kondensator 47n über die Diode bis zur Schwellspannung entladen. Nach dem Sendesignal, mit OC2=high, lädt sich der Kondensator mit der Zeitkonstante 100k * 47n = 4,7ms und erhöht den Basisstrom und damit die Verstärkung. Der Startpunkt liegt gerade bei der Schwellspannung.

Das Signal vom Empfänger wird eingekoppelt und mit der zunehmenden Verstärkung entsprechend seine Schwächung auf der Strecke verstärkt. Das Signal breitet sich auf einer Kugelfläche aus, so dass seine Leistung quadratisch mit dem Abstand und mit der Zeit abnimmt. Die Spannung als die Wurzel der Leistung nimmt linear ab und die linear zunehmende Verstärkung kompensiert so gerade die Signalamplitude.

Beim Kollektorwiderstand wurde eine Festinduktivität eingesetzt. Das ist unüblich und kann sogar vermieden werden, wenn man dort nur einen 1k Widerstand nimmt und Spule und Kondensator weglässt. Man hat dann bei geringerer Verstärkung einen Biashub von 1V den man durch kapazitive Auskopplung eliminieren kann.

Induktivitäten werden nicht gerne eingesetzt weil sie als unberechenbar gelten. Deshalb kurz der Scheinwiderstand mit wL = 1/wC bei 40kHz führt bei einem Widerstandswert von etwa 1k zu den Werten 4,7mH und 3,3 nF. Die Dämpfung des Schwingkreises mit dem 10fachen Widerstand hält die Schaltung breitbandig und damit auch unkritisch gegenüber Bauelemente-Toleranzen. Der Einsatz der Spule ermöglicht trotzdem eine relativ hohe Verstärkung mit sodass man leicht mit nur einer Verstärkerstufe auskommen kann.

Ein Komparator sollte noch ergänzt werden. Zumindest der Mittelwert des Ausgangssignals an ADC3 muss noch verschoben werden.

Hierzu würde ich gerne noch mal diskutieren, ob es Sinn macht des verstärkte 40kHz Signal an den Controller zu geben, wie es in der Vorlage dargestellt ist.
Manfred

RCO
08.12.2004, 19:47
Leider kriege ich es nicht hin den Interrupt von Timer1 noch zu nutzen. IN Asuro.c steht:


/* for working with Interrupt */
void StartSwitch(void)
{
SWITCH_OFF;
DDRD &= ~SWITCHES; // Switches as Input => ext. Int 1
MCUCR &= ~((1 << ISC11) | (1 << ISC10));// Low level generates interrupt
GICR |= (1 << INT1); // Enable external Interrupt 1
}

Leider kann ich damit nix anfangen, ich wüsste gerne welche Ports wie gesetzt sind besonder portD.3 und c.4. Wenn ich das richtig verstehe reagiert er auf eine h/l-Flanke, aber ich krieg den Port mit hilfe der Bumper einfach nicht auf 0 gezogen :cry:

@ Manf: Sorry, aber ich kann dir nicht folgen. Ist mir alles ein wenig zu hoch :-k

MFG Moritz

RCO
08.12.2004, 23:44
Also hier jetzt mal ein Script aus Sonics Code:
+ PWM von Timer1 wird verwendet (ext. interruptnoch frei)
+ Richtungen werden mit FWD,BWD wtc. angegeben
+ Odometrie läuft oder sollte zumindest
+ Linieverfolgung läuft oder sollte zumindest
- Odometriefunktionen sollen noch als Variablen eingführt werden: a = Odorechts()
- Linnieverfolgungsfunktionen sollen noch als Variablen eingführt werden: a = Odorechts()
- Pollswitch läuft net, da müsste mir mal jemand den Code entschlüsseln
- Interrupt für Pollswitch läuft noch nicht



'`Bereits integrierte Funktionen:
'Motordir(x,x) x: Fwd, Rwd, Break, Free
'Motorspeed(x,x) x: 0-255
'Backled(x,x) x: An, Aus
'Statusled(x) x: Aus, Green, Red, Yellow
'Frontled(x) x: An, Aus
'Odometrie()
'Linie()

$regfile = "m8def.dat"
$crystal = 8000000
$baud = 2400

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Enable Interrupts

Declare Sub Motordir(byval Mldir As Byte , Byval Mrdir As Byte)
Declare Sub Motorspeed(byval Mlspeed As Byte , Byval Mrspeed As Byte)
Declare Sub Backled(byval Led1 As Byte , Byval Led2 As Byte)
Declare Sub Frontled(byval Led1 As Byte)
Declare Sub Statusled(byval Color As Byte)
Declare Sub Odometrie()
Declare Sub Linie()
'-----------Motoren-------------------
Const Fwd = 1
Const Rwd = 2
Const Free = 3
Const Brake = 4

'Motor Rechts
Config Pinb.1 = Output
Config Pind.4 = Output
Config Pind.5 = Output

'Motor Links
Config Pinb.2 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output
'----------Led------------------------
Const Aus = 0
Const Red = 1
Const Green = 2
Const Yellow = 3
Const An = 1
'FrontLED (Odometrie)
Config Pind.6 = Output

' ****** !!! ACHTUNG !!! *******BACKLEDs***********************************

Config Pinc.0 = Output 'Rechts
Config Pinc.1 = Output 'Links

' Die BackLEDs können nicht genutzt werden wenn die Odometrie benutzt wird.
' --> BackLEDs pinc.0 und pinc.1 als Ausgang definieren
' --> Odometrie pinc.0 und pinc.1 als Eingang bzw. ADC definieren
' ****** !!! ACHTUNG !!! **************************************************

'StatusLED
Config Pind.2 = Output 'Rot?
Config Pinb.0 = Output 'Grün?

'----------Odometrie-------------------
Dim Odorechts As Word 'data geht nciht, da expression
Dim Odolinks As Word
Config Pinc.2 = Input
Config Pinc.3 = Input

'----------Line-------------------
Dim Linerechts As Word
Dim Linelinks As Word
'Config Pinc.0 = Input 'Nur aktivieren wenn Backleds aus
'Config Pinc.1 = Input

'Pollswitch


'################################################# #########################
'############################### Main #####################################
'################################################# #########################

Do

Loop
End

'################################################# #########################
'############################### Ende #####################################
'################################################# #########################

'--------Subs-------------------------
Sub Motorspeed(byval Mlspeed As Byte , Byval Mrspeed As Byte)
Pwm1a = Mlspeed
Pwm1b = Mrspeed
End Sub

Sub Frontled(byval Led1 As Byte)
Portd.6 = Led1
End Sub

Sub Motordir(byval Mldir As Byte , Byval Mrdir As Byte)
If Mldir = 1 Then 'FWD
Portd.4 = 0
Portd.5 = 1
Elseif Mldir = 2 Then 'RWD
Portd.4 = 1
Portd.5 = 0
Elseif Mldir = 3 Then 'FREE
Portd.4 = 0
Portd.5 = 0
Elseif Mldir = 4 Then 'BRAKE
Portd.4 = 1
Portd.5 = 1
End If
'-----------------
If Mrdir = 1 Then 'FWD
Portb.4 = 0
Portb.5 = 1
Elseif Mrdir = 2 Then 'RWD
Portb.4 = 1
Portb.5 = 0
Elseif Mrdir = 3 Then 'FREE
Portb.4 = 0
Portb.5 = 0
Elseif Mrdir = 4 Then 'BRAKE
Portb.4 = 1
Portb.5 = 1
End If
End Sub

Sub Backled(byval Led1 As Byte , Byval Led2 As Byte)
Portc.1 = Led1
Portc.0 = Led2
End Sub

Sub Statusled(byval Color As Byte)
If Color = 0 Then 'Aus
Portd.2 = 0
Portb.0 = 0
Elseif Color = 1 Then 'ROT?
Portd.2 = 1
Portb.0 = 0
Elseif Color = 2 Then 'Green ?
Portd.2 = 0
Portb.0 = 1
Elseif Color = 3 Then 'Yellow
Portd.2 = 1
Portb.0 = 1
End If
End Sub

Sub Linie()
Linerechts = Getadc(2)
Linelinks = Getadc(3)
End Sub

Sub Odometrie()
Odorechts = Getadc(0)
Odolinks = Getadc(1)
End Sub



Ich würde mich freuen, wenn jemand das mal testen könnte.

@ Sonic: wie siehts aus, bist du weitergekommen?

MFG Moritz

sonic
08.12.2004, 23:52
...
@ Sonic: wie siehts aus, bist du weitergekommen?
MFG Moritz

Diese Woche bin ich zeitlich extrem eng, muss einen Vortrag an der Uni halten, das schlaucht extrem sowas zu machen wenns auchnoch benotet wird. Der Tag sollte 48h haben, dann wär alles kein Problem ;-)

Aber am WE sollte ich ein "paar" Minuten haben...

Gruß, Sonic

RCO
08.12.2004, 23:57
OK, dann gutes Gelingen, was studierst du denn?

MFG Moritz

x-ryder
09.12.2004, 13:02
Also ich hatte ja Sonic's Code schon getestet und er funktionierte ganz Prima...

Martin

RCO
09.12.2004, 13:45
Ja, klar, aber ich wollte halt mit ihm zusammen versuchen ein Pendant in Bascom zu schreiben. Und ich wollte halt wenn möglich die Funktionen möglichst genauso machen, wie in C. Deshalb wollte ich hlat z.B. den Timer 1 als PWm verwenden. Allerdings ahbe ich noch ein großes Problem mit dem Pollswitch und zwar gibt es einen Interrupt für Änderungen am ADC-Port, ich weiß allerdings nciht genau wie man den einstellt, das wäre natürlich enxtrem Vorteilhaft, vielleicht kennt sich ja jemand mit ON ADC aus!?
Außerdem müsste ich die Berechnung für die Switchvariable kappieren, denn da steht ja haargenau welcher Bumper gedrückt wurde, leider verstehe ich die Schritt hier in C aber nicht, weil ich halt kein C kann. Vielleicht könnte mir das mal jemand kommentieren.


unsigned char PollSwitch (void)
{
unsigned int i;

DDRD |= SWITCHES; // Switches as Output
SWITCH_ON; // Output HIGH for measurement
ADMUX = (1 << REFS0) | SWITCH; // AVCC reference with external capacitor
Sleep(10);

ADCSRA |= (1 << ADSC); // Start conversion
while (!(ADCSRA & (1 << ADIF)));// wait for conversion complete
ADCSRA |= (1 << ADIF); // clear ADCIF
i = ADCL + (ADCH << 8);

SWITCH_OFF;

return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 63.0 + 0.5));
}

MFG Moritz

Manf
12.12.2004, 23:45
Das Ultraschallinterface habe ich noch ein bischen weiter entwickelt auf der Basis des oben beschriebenen Kerns.
Es gibt unterschiedliche Wege, ich glaube die Philisophie preiswerte Bauteile einzusetzen wie beim Motortreiberinterface ist nachvollziehbar.
Ein einziges Stellelement zum Abgleich und ein definiertes Schalten beim Erkennen eines Echos sind auch günstig.

So erscheint nach Eingabe eines Bursts von 16 Impulsen ein Puls am Ausgang dessen Dauer dem Abstand zum erkannten Hindernis proportional ist.
Ich habe dazu auch eine Meßreihe aufgetragen. Die Strecke wurde mit einem Bandmaß gemessen und die Pulsdauer am Oszilloskop abgelesen, das könnte man sicher noch verbessern. Die Werte scheinen doch ganz gut linear zu sein, wie das bei einer Laufzeitmessung zu erwarten ist.
Leider habe ich nicht aufgeschrieben bei welcher Temperatur ich gemessen habe, aber sicher läßt sich der Wert der Temperatur auch nachträglich noch ermitteln.
Manfred

RCO
13.12.2004, 00:02
Das sieht tatsächlich wunderbar aus, alle Punkte schön auf einer Linie. Hast du schon geschafft, das ganze mit einem AVR zu machen und umzurechnen? Ich weiß du bist ja eher der PICer :-)

MFG Moritz

Manf
13.12.2004, 00:43
Ich bin noch bei der Schaltung selbst in Testumgebung, eine Sache kommt noch, das zeitunkritische Auslesen, ich schaue es mit noch einmal an. Ich denke ich bin morgen soweit. (heute)
Manfred

RCO
13.12.2004, 21:43
Also ich kann ENDLICH! ;-) erste Ergebnisse meines Asuros in Bascom präsentieren. Hier (http://www.free-webspace.biz/update/index.htm) findet ihr ab jetzt eine zusammengemixte Version aus Sonics und meinem Code. Die ganzen Funktionen sind verfügbar, soweit ich keine übersehen habe, bis auf den ADC-interrupt, da der einfach keinen Sinn macht, wenn noch andere ADCs verwendet werden. Die Funktionen habe ich alle mal erläutert.
Leider ist das ganze noch etwas unkommentiert, aber ich hab jetzt echt keinen Bock mehr dadrauf, vielleicht Morgen.

Ich würde mich freuen, wenn jemand das ganze mal testen könnte um nir zu sagen, ob es denn läuft.

Ich hab es jetzt auch endlich geschafft die Funktion Pollswitch hinzukriegen, im Endeffekt einfach als ich angenommen habe.

MFG Moritz

Manf
13.12.2004, 23:55
Ich denke ich bin morgen soweit. (heute)
https://www.roboternetz.de/phpBB2/viewtopic.php?p=46840#46840
geschafft
Manfred

Das Bild wurde korrigiert, die beiden rechten Dioden sind nun getrennt.

RCO
14.12.2004, 09:28
Stark Manf!
Ich hab mal ne Frage:
Wie kommt man darauf eine Schaltung genau so aufzubauen, hast du dir das Blockbild ausgedacht und dann die entsprechenden Komponennten berechnet?

MFG Moritz

Manf
14.12.2004, 10:43
hast du dir das Blockbild ausgedacht und dann die entsprechenden Komponennten berechnet?
Die Schwierigkeit ist, verschiedene Techniken wie die der Verstärkungsregelung mit digitalen Potis oder nichtlinearen Kennlinien zu integrieren. Die Rampe mehrfach nutzen, Analogschalter mit C-MOS Gattern oder Dioden auszuführen und die Entscheidungsschwelle zu bestimmen. Mit dem Problem hatte ich mich auch schon mal bei meiner Doktorarbeit beschäftigt und ein paar studentische Arbeitsgruppen haben damals unterschiedliche Realiserungen getestet. Die Schaltung in dieser Form ist aber erst jetzt entstanden.
Wichtig ist, den ganzen Wust von Ideen wieder zu sortieren und auf eine überschaubare Schaltung zu bringen, die an einer Stelle justiert werden kann und für die nächsthöhere Systemebene ein klares Ergebnis liefert.
(Die Überlegungen gehen dabei zwischen den Ebenen hin und her, und sind meistens auf der untersten Ebene. )


Hier dann noch eine Messung der Spannung über dem Abstand. Mit einer Kurve 2.Ordnung erhält man eine gute Näherung an die Meßwerte.
Bei einer linearen Näherung im Bereich vom 0-85cm ergibt sich schon eine Abweichung von einigen cm.
Das entspricht der Kurve beim Sharp Sensor, die auch nicht linear ist. Es wird sich wohl nicht lohnen in der Schaltung eine Stromquelle einzusetzen, um einen linearen Verlauf der analogen Meßwerte zu erhalten. Am besten wird man die Werte wohl über eine Tabelle auswerten.

Manfred

RCO
14.12.2004, 13:27
bei meiner Doktorarbeit

Soso, dass erklärt, warum ich hier manchmal nur "Bahnhof" verstehe.
Zu der Tabelle, das sieht doch gut aus, ich hätte nur die Axen anders aufgetragen. Linearisiert sollte das doch schon gehen, oder.
So groß ist die Abweichung ja nicht.

JanB
14.12.2004, 15:54
Klasse Schaltung,
es macht Spaß die Funktion nachzuvollziehen.
Nur eine Frage habe ich dazu:
Wozu sind im Rampengeneratorteil "hinter" dem 220K Widerstand
zum Laden des 47nF Kondensators zwei Dioden parallel geschaltet ?
Hätte es da nicht auch eine getan ?

Gruß Jan

Manf
14.12.2004, 20:41
Sehr gut, da ist ein Strich verrutscht, die beiden rechten Dioden sind nur oben, an der Anode zusammengeschaltet. Wird korrigiert.

Wenn über den 220k Widerstand 0V anliegt soll der Kondensator nicht entladen werden, auch nicht über den 1M Widerstand.

So ist es jetzt auch dargestellt.

Manfred

JanB
15.12.2004, 07:32
Hallo Manfred,
Danke für den Hinweis und die Korrektur.
Ohne die Verbindung der Dioden ist mir nun auch klar,
wie der T&H-Teil funktioniert.
Clevere Schaltung, wirklich, gefällt mir.

Im Prinzip ist es doch auch möglich einen einzigen US-Wandler
sowohl als Sender, wie auch als Empfänger einzusetzen.
(Bei meinem US-Entfernungsmesser aus Polaroid-Kamera ist das so)
Da müßte man nur für eine geeignete Entkopplung / Umschaltung
sorgen.
Der Sendeteil müßte im inaktiven Zustand abgeschaltet sein.
Vieleicht mit Tri-State Gattern statt der 4011 ?
Wenn der Empfängereingang genügend hochohmig ausgelegt ist,
dürften die Sende-Spannungen nicht so schädlich sein.
Man könnte den Eingang evtl. mit einem antiparallel geschalteten
Diodenpaar schützen.
Dies nur als Idee / Anregung / (Ansporn ?)

Gruß Jan

15.12.2004, 09:42
habe gehört, den gibts schon für ca. 70 Eur

Ne den bekommt man schon für knapp 60 und ab Jan. für 49,95.
Der ist auch jetzt schon erhältlich bei Farnell InOne
scheint ein Distri zu sein.

15.12.2004, 09:43
Ne den bekommt man schon für knapp 60 und ab Jan. für 49,95.
Der ist auch jetzt schon erhältlich bei Farnell InOne
scheint ein Distri zu sein.

Manf
15.12.2004, 09:54
Im Prinzip ist es doch auch möglich einen einzigen US-Wandler sowohl als Sender, wie auch als Empfänger einzusetzen.Vielen Dank auf alle Fälle für das Interesse, es ist eine sehr berechtigte Frage einen Wandler als Sender und als Empfänger zu betreiben.

Beim Einsatz von Asics ist es zwingend, daß man den Preis und die Komplexität eines zweiten Wandlers mit dem erforderlichen schaltungstechnischen Aufwand unterbieten kann. Zusätzliche Schltungselemete kosten hier weder nenneswert Platz noch Aufwand.

In der diskreten Schaltungstechnik sind hierfür sicher wieder ein paar Tricks nötig, die ich gerne diskutieren möchte, wenn wir eine Lösung haben.
Manfred

MP
16.12.2004, 13:05
Hallo,

Der ASURO Roboterbausatz (entwickelt von DLR, www.dlr.de) wird jetzt in Deutschland verkauft bei ELV, Farnell InOne und Conrad Electronic.

Bei ELV kostet der ASURO € 49,95
http://www.elv.de/Main.asp?Menue=Shop&SessionId=00163450730995784938

Bei Conrad ist der Preis für ASURO ebenfalls € 49,95
Conrad Artikel-Nr.: 191164 - 14

Bei FARNELL ist die ASURO Artikel-Nr. 8092575.

Freundliche Grüße,

Marjon

x-ryder
16.12.2004, 13:22
Hi,

wo wir schon dabei sind: !!!scharfe Kritik!!!

wenn man nämlich mit einfachen (schüler-) mitteln versucht die led unten und die fototransistoren abzumachen, denn geht leicht die platine kaputt speziell gehen die lötpad's ganz einfach ab und man muss nen stück der leiterbahnbeschichtung mit nem schraubendreher abkratzen...

das ist nun bei mir der fall gewesen und bei mit gehen nun die bumper NICHT MEHR!!!

Martin

RCO
16.12.2004, 13:29
Also ich kann mich da garnicht beschweren eher im Gegenteil, so unprofessionell wie ich auslöte, wunder ich mich eher, dass noch alles heil sit, war nicht immer der Fall. Dazu mal ne Frage, wie kann man denn sauber auslöten? Mit Absaugpumpe komme ich bei so kleinen Sachen nie weit, und dann gehts immer nur anwärmen zichen...

MFG Moritz

Manf
16.12.2004, 17:41
Die Löcher sind innen Metallisiert und das Zinn sitzt im Spalt zwischen Lochwand und Anschlußdraht. Von dort wird man es nicht vollständig absaugen können.
So hilft wohl nur möglichst viele Lötstellen des Bauelements zu erwärmen und am Bauteil (zunächst auch einseitig) zu ziehen.

Wenn man das Bauteil in mehreren Schritten entfernt hat (rechts und links anheben) dann hat man das Problem die Löcher freizubekommen.

Selbst hier ist das Absaugen bei den feinen Löchern nicht leicht.

Bei den feinen Löchern kommt man am besten mit eine Stecknadel weiter. Flüssig machen (das Zinn) und die schon angesetzte Nadel ohne Kraft einstechen. Das Zinn schiebt sich zur Seite und die Nadel benetzt nicht. Man kann sie auch noch ein bischen bewegen bis das Zinn kalt ist.
So hat man schon mal ein Loch zum ansetzen.


Manfred

Archi
16.12.2004, 18:13
Hi,

wo wir schon dabei sind: !!!scharfe Kritik!!!



Hallo Martin,

am besten geht das Ausbauen von Teilen aus mehrlagigen Platinen mit Bordmitteln nach meiner Erfahrung wie folgt:
Alle Beinchen des zu entfernenden Bauteils mit etwas Zinn erhitzen und nach oben vorsichtig herausziehen. Das setzt natürlich voraus, dass man die Beinchen beim Einbau nur leicht angewinkelt hat. Anschließend die Löcher mit Entlötlitze und einem breiten Lötkolben leersaugen, ggf. von oben und von unten. Dabei sollte die Spitze eine Temperatur von 360° nicht überschreiten. KEINESFALLS darf man mit dem Lötkolben in den Löchern herumstochern.
So kriege ich die Platinen, die im School_Lab falsch zusammengebaut werden wieder gefixed.


CU Robin

Archi
16.12.2004, 18:30
Mich hat gestern über AREXX eine Anfrage bezüglich der Funktionsweise der Kollisionstaster erreicht. Leider habe ich nicht die zugehörige Mailadresse gekriegt, sonst hätte ich direkt geantwortet. Vielleicht kann ich etwas Licht in's Dunkel bringen (aus dem wohl im Frühjahr erscheinenden Buch "Mehr Spaß mit ASURO"):

"Solange die Taster nicht ausgelesen werden, wird der Pin INT1 als Eingang geschaltet. ADC4 ist durchgehend ein Eingang. Ist nun kein Taster gedrückt, so lädt der 1M \Omega -Widerstand R23 den Kondensator C7 auf. Da aus C7 (praktisch) kein Strom entnommen wird, erreicht er bald die Betriebsspannung.

Diese Spannung liegt auch an Pin PD3(INT1) an, da in den Eingangspin kein Strom fließt und damit auch keine Spannung am Widerstand abfällt. Diese Spannung wird vom Pin sicher als logische '1' erkannt.

Drückt man nun einen oder mehrere Taster, so bilden die jeweils angeschlossenen Widerstände zusammen mit R23 einen Spannungsteiler und C7 wird auf eine Spannung von maximal 0,32V (wenn nur Taster R30 gedrückt ist und die Versorgungsspannung 5V beträgt) entladen. Diese Spannung wird an Pin PD3(INT1) als logische '0' interpretiert, wodurch man einen Interrupt auslösen lassen kann. Durch die zugehörige Interruptroutine wird PD3(INT1) nun als Ausgang konfiguriert und auf logisch '1' entsprechend 5V gelegt. Nun formt R24 mit seinen 1k Ohm zusammen mit den Widerständen der Taster einen Spannungsteiler. Natürlich ist R23 auch noch da, aber gegenüber R24 vernachlässigbar groß. Die nun an C7 anliegende Spannung liegt zwischen 98,5% und 50,5% der Betriebsspannung und muss nur noch vom AD-Wandler gemessen und einer mathematischen Formel unterworfen werden, um die gedrückten Taster eindeutig bestimmen zu können.
Benötigt man die Interruptfunktionalität nicht, reicht auch ein einziger Pin aus, um alle sechs Taster auswerten zu können."

Die oben erwähnte Formel macht nichts anderes, als aus der gemessenn Spannung die zusammengeschalteten Widerstände errechnet. Das funktioniert über die Umrechnung in Leitwerte, die dann nur addiert werden.
Prinzipiell müsste in der Formel, wie sie in asuro.c steht statt der 63.0 eine 64.0 zu finden sein, aber in der Praxis klappt's mit 63 besser.

Die Wandlerreferenz muss bei der ganzen Aktion natürlich auf Betriebsspannung mit externem Filterkondensator konfiguriert werden.

CU, Robin

JanB
16.12.2004, 18:46
Hallo,
hab heute von Conrad eine Mail bekommen:
Mein Asuro ist unterwegs !!
Müßte also passend zum Wochenende ankommen.
Klasse, freu mich schon drauf.
ASURO müsste also bei Conrad jetzt lieferbar sein.
Für 49,95EUR.

Gruß Jan

pebisoft
17.12.2004, 18:20
hallo, habe den asuro im test und stelle fest, das dieses ein roboter ist,
der einen spass bringt wenn man an einer konstruktion von der nackten
platine bis zum fertigen programm interesse zeigt. das heiss löten,
testen, proggen, testen, proggen. da dieser roboter bauteile besitzt
die man in jedem handelsüblichen laden bekommt bereitet er keine probleme,
wenn mal bauteile verbraten werden, sind die schnell beschaffbar..
die ausbaufähigkeit ist gut und offen. die gewichtszunahme darf nicht
allzu gross werden, weil als leitrad ein halber tischtennisball benutzt wird.
er besitzt sehr unterschiedliche sensoren zum kennelernen. man kann ihn in bascom
und c programmieren. man braucht nur auf den schaltplan die anschlüsse verfolgen
oder aus dem c-beispiel die belegung raussuchen und schon gehts in bascom los,
sehr einfach gemacht. für den einsteiger und weitergehenden tüftler und programmierer
kann ich ihn nur empfehlen, man hat sehr lange was von diesme roboter.
die transitorn zu markieren wie hier beschrieben halte ich für überflüssig,
weil dadurch die normung verloren geht. man sollte schon genau hinschauen.
das löten und entlöten bereitet keine schwierigkeiten. das entlöten
sollte man vorher mit einer alten platine üben, damit der lötkolben bei
der ersten phase nicht zu lange auf der platine gehalten wird.
wer ihn ausbauen möchte, kann eine kleine lochrasterplatine huckepacksetzen
und einen weiteren avr draufsetzen mit zusätzlichen sensoren, kein problem.
die akkus sollten dann grösser gewählt werden.
resultat: ein sehr einfacher roboter mit einem günstigen leistungsfähigen
chip und eine vielzahl von sensoren. gut zu programmieren und gut ausbaubar.
der preis ist angenehm, die ersatzteilbeschaffung einfach. endlich ein roboter
für den einsteiger mit einem guten forum und viel interessante menschen.
mit diesem roboter ist man nicht einsam und allein.
mfg pebisoft

pebisoft
17.12.2004, 18:52
wichtig : man sollte vor dem zusammenbau die einleitung lesen. da steht, mit welchen mitteln (werkzeugen) man den robby zusammenbaut.
[Persönlichkeiten gelöscht, Sonic]
mfg pebisoft

RCO
17.12.2004, 18:54
Hi Pebisoft, die Sache mit Bascom habe ich schon versucht zu lösen:
http://www.free-webspace.biz/update/Asu.htm
Da habe ich mal die ganzen funktionen aufgelistet, jetzt hängr ich nur noch am interrupt für die Bumper. Erst habe ich versucht das über den ADC-Interrupt zulösen, was aber nicht so sinnvoll ist, aber das hab ich auch nur probiert, weil das mit dem Interrupt an INt1 nicht klappt.
Archi hat ja beschrieben wie es geht, aber warum geht folgendens nicht:


On Timer1 Intt1 'Interrupt an Timer 1
Config Int1 = Falling 'Bei fallender Flanke soll der Interrupt ausglöst werden, passiert aber nciht
Config Pind.3 = Input
Config Pind.2 = Output
Config Pinb.0 = Output
Config Pinc.0 = Output
Config Pinc.1 = Output
Enable Interrupts
Enable Int1


Portd.2 = 0
Portb.0 = 0

Portc.0 = 1
Portc.1 = 1

Do
Portb.0 = Pind.3
Loop
End

Intt1:
'Die beiden Roten leuchten sollen ausgehen, wenn der Interrupt auslöst
Portc.0 = 0
Portc.1 = 0
Return

Die grüne Statusled geht zwar aus un auch wieder an, aber die Rückleuchten bleiben an, der Interrupt wird also nicht ausgelöst, warum?

MFG Moritz

x-ryder
17.12.2004, 18:55
Hi,

[Persöhnlichkeiten gelöscht, Sonic]

Ich habe einfach nur einmal ausprobiert, was passiert, wenn man nicht perfekt löten kann.

Martin

pebisoft
17.12.2004, 22:31
darum ist es ratsam, sich vorher mal eine alte platine zu schnappen und daran testen, wie sich die eigenen lötwerkzeuge verhalten beim löten und entlöten.
mfg pebisoft

freq.9
17.12.2004, 23:10
Also ich lese hier schon ne weile dran. Hab vor ca. 15 Mins angefangen und hab nun Seite 3 durch. Ich freu mich schon auf den kleinen :D Wenn ich mir die Beiträge so durchlese werd ich immer neidischer (gibts das wort?). Ich will den nun auch schon haben aber nach der Mail von BigC kommt der erst in KW01 :!...

freq.9
17.12.2004, 23:32
Öhm ich weiss ned obs schon verbessert wurde (bin erst auf Seite 5) aber bei diesem Code gibt es einen Fehler:


if (a==1) & (b==2) & (!(c=3))
{
puts "Bedingungen erfüllt";
}

denn es sollte wenn so aussehen:


if (a==1) & (b==2) & (!(c==3))
{
puts "Bedingungen erfüllt";
}

denn sonst wird c=3 gesetzt und diese Bedingung ist IMMER false. (php zu können und c++ zahlt sich doch aus :D)

// Edit:
Müssen da ned auch noch Klammern um alle Bedinguneg? Also so:


if((a==1) & (b==2) & (!(c==3)))
{
puts "Bedingungen erfüllt";
}

// Edit2:
Okay auf Seite 6 ist die Auflösung und die Behebung des Fehlers :D

Manf
18.12.2004, 00:37
Ich freue mich, dass noch mehr Asuros unterwegs sind und neue Möglichkeiten diskutiert werden.
Probleme natürlich auch, aber bisher konnten ja die Probleme oder Unklarheiten schon noch gelöst werden.
Ich bin mal gespannt, wieviel auf den Asuro gepackt wird.

Ich könnte mir auch vorstellen, dass jemand eine gute idee hat für eine Mitlaufrolle die in dem Mittelloch befestigt werden kann und die bei glatten Böden und zunehmenden Gewicht noch weniger Widerstand bietet. Ich hatte schon mal angefangen aber die Konstuktion war dann doch nicht so gut.
Ich dachte an eine Schraube M3 durch die Platine mit einem Kugellager und eine Fassung mit noch einem Kugellager, aber irgendwie ging es nicht gleich. Vielleicht fällt jemandem etwas besseres ein.
Manfred

freq.9
18.12.2004, 01:16
könnte mir wohl jemand die asuro.h oder vllt. die C Dateien schicken? Würd die mir schonmal gern angucken. Ich hab bis jetzt nurn Beispiel-Code von der DLR Seite (son "Hello World"-Code).

pebisoft
18.12.2004, 09:07
das gute an den asuro ist, das bei der phantasie keine grenzen gesetzt sind in sachen modernisierung, es sollte aber kein standard werden, weil jeder seine eigenen vorstellungen vom ausbau für diesen fussballroboter hat, aussr, die wettkampfregeln geben das vor.
mfg pebisoft

sonic
18.12.2004, 10:22
das gute an den asuro ist, das bei der phantasie keine grenzen gesetzt sind in sachen modernisierung, es sollte aber kein standard werden, weil jeder seine eigenen vorstellungen vom ausbau für diesen fussballroboter hat, aussr, die wettkampfregeln geben das vor.
mfg pebisoft

Sorry aber da versteh ich jetzt nicht ganz was du damit meinst.
Eine gemeinsame Plattform ist doch auch ein Standard, was soll daran schlecht sein?

Gruß, Sonic

JanB
18.12.2004, 20:00
Hallo,
mein ASURO ist (fast) fertig !
Alles Tests laufen sauber durch.
Nur das Flashen klappt überhaupt nicht. :-(
Bei meinem Laptop mit USB->Serial-Kabel kommt immer:
ttttttt-Flash damaged
Test mit Hyperterminal geht aber, mit ziemlich wenigen Fehlern.
An einem anderen PC mit "richtiger" serieller Schnittstelle kommt:
cccccccc -Flash damaged

Ertwas scheint aber angekommen und geflasht worden zu sein.
Das Testprogramm wird nämlich nicht mehr ausgeführt. - Mist.
Jetzt steht er immer nur da und Status leuchtet grün.

Wenn ich das Flashen starte und bis zum ttttt-Abbruch warte,
und dann das Hyperterminal starte, dann sehe ich,
das der Asuro immerzu OKOKOKOKOK sendet.

Hat jemand eine Idee ?

Gruß Jan

freq.9
18.12.2004, 20:07
War da ned was mit den Laptops? Irgendwas hab ich doch gelesen. Versuchs doch mal vom PC aus.

JanB
18.12.2004, 20:20
Hallo,
Versuchs doch mal vom PC aus.
Hab ich doch schon probiert.
Da kommt statt tttttt (timeout) immer cccccc (checksum error).
Anders, aber nicht besser.

Gruß Jan

18.12.2004, 21:28
Hallo,
mein ASURO ist (fast) fertig !
Alles Tests laufen sauber durch.
Nur das Flashen klappt überhaupt nicht. :-(

Hat jemand eine Idee ?


Schon mal noch etwas am Trimmer gedreht? Es kann auch sein, dass zwei Rechner zwei unterschiedliche Trimmereinstellungen brauchen. Die Probleme mit dem Transceiver am USB-RS232-Umsetzer können auch Timing-Probleme sein. Welches Gerät verwendst du genau? Vielleicht komme ich mal dazu und versuche rauszukriegen, woran es liegt. (Leider darf ich aber nicht meine ganze Arbeitszeit mit ASURO-Basteleien verbringen :-( )

Hoffentlich ist der USB-Flash-Adapter bald verfügbar...

CU, Robin

JanB
18.12.2004, 21:43
Hallo Robin,
am Notebook habe ich einen Vivanco USB Serial Adapter.
Da ist ein Chip von Prolific drin.
Hab mir schon einen frischen Treiber aus Taiwan gezogen.
Den Timer auf dem ASURO-IR Platinchen hab ich mit meinem
Oszilloskop auf 36KHz eingestellt.
Und wie gesagt, mit Hyperterminal und den ASURO-Testprogramm hat
die Kommunikation ganz gut geklappt.

Kann es sein, das es daran liegt, das der IR-Adapter und auch der Asuro,
sich immer selbst empfangen, weil die IR-Dioden und Empfänger direkt
nebeneinander eingelötet sind.

In der Anleitung wird empfohlen, zum Test des IR-Adapters ein Blatt Papier als Reflektor davorzuhalten.
Das ist bei meinem absolut unnötig, der empfängt sich auch so einwandfrei.
Wie ist das bei euch ?

Gruß Jan

thille
18.12.2004, 22:20
In der Anleitung wird empfohlen, zum Test des IR-Adapters ein Blatt Papier als Reflektor davorzuhalten.
Das ist bei meinem absolut unnötig, der empfängt sich auch so einwandfrei.
Wie ist das bei euch ?


Bei mir war das ähnlich, er empängt alles einwandfrei, auch wenn kein weißes Blatt davor gehalten wird. Allerdings kommen eine ganze Menge Fehler, wenn man den Adapter in den Raum hinein hält, und nicht direkt auf einen Gegenstand.

Gruß

Torsten

freq.9
18.12.2004, 23:49
Mal so ne Frage nebenher. In diesem Thread kam immer wieder die Aussage, dass C nicht gewohnt ist in der Programmierung von Roboter. Ist C in der Programmierung von Robotern neu oder ist sie umständlicht? Alle meinen nur, dass Sie sich mit C nicht auskennen, die einen schreiben es für BASCOM um aber was ist so unheimlich an C?

Manf
19.12.2004, 01:11
Nur das Flashen klappt überhaupt nicht.
Bei meinem Laptop mit USB->Serial-Kabel kommt immer:
ttttttt-Flash damaged

Ich habe die Erfahrung gemacht, dass alle Funktionen des ASURO schon bei relativ kleiner Spannung arbeiten, so ab 3,2V, bis auf das Flashen.
(Das ist auch nachvollziehbar.)
Versuche es doch mal wenn möglich mit 5V.
Manfred

Cyborg666
19.12.2004, 11:58
Ist es Eurer Meinng nach möglich zwei Asuros gegeneinander Fussball
spielen zu lassen ?
Idee: Ballerkennung = Ball leuchtet / Lichtsensoren
Torerkennung : Tore senden verschiedene Infrarotsignale aus
Falls die Infrarotsignale zu sehr streuen, daß er nur zwischen den Richtungen unterscheiden kann anstatt die Tore zu erkennen,
würde ich evtl. noch 3 bis 5 Hilfslinien aufs Spielfeld malen,
die am Ende in Torrichtung zeigen.
Der Bot müßte dann , nachdem er denn Ball hat, die Richtung erkennen und dann aufder Linie fahren und den Ball ins Tor schieben.
Hat das Ding einen frei belegbaren output ?
Dann würde er noch eine Abschußvorrichtung bekommen.

Ist es möglich, daß evtl. 2 Bots Infrarotsignal austauschen ,sich erkennen ?

In der CT war vor vielen Jahren ein ähnlicher Bot vorgestellt worden ( ca. 1000 DM damals)
der konte bei entsprechender Programmierung dem anderen bot hinterherfahren etc.

Gruß

Jens

RCO
19.12.2004, 15:24
Also zum Thema "Fußballroboter" wusste ich schonmal mehr, aber dann wenn man es such, findet man es nciht mehr. Arexx hatte doch einen anderen Roboter schon vorher gebaut, der aber hauptsächlich in Asien eingesetzt wurde, dass stand in dem Brief drin, wie hieß der nochmal? Ich kann den Brief nciht mehr finden :-b
Auf jeden fall hab ich ein wenig gegoogelt und ein par " Accessoires " dafür gefunden. Zum einen gabs da einen BAll, der die ganze Zeot infrarot sendete und zum andern eine Spielfläche mit Grauverläufen zu den Toren hin, dadurch kann man mit Hilfe der Liniensensoren die Verläufe erkennen und schauen, wo es zu den Toren geht, was dann wohl die KAmera ersparen soll.

Die Rundung vorne im Asuro mit den 2 Tastern ist mit Sicherheit kein Zufall ;-)

Also könnte mal jemand nachschauen, wie der Roboter hieß, Danke.

MFG Moritz

sonic
19.12.2004, 15:54
Mal so ne Frage nebenher. In diesem Thread kam immer wieder die Aussage, dass C nicht gewohnt ist in der Programmierung von Roboter. Ist C in der Programmierung von Robotern neu oder ist sie umständlicht? Alle meinen nur, dass Sie sich mit C nicht auskennen, die einen schreiben es für BASCOM um aber was ist so unheimlich an C?

Grundsätzlich gibt es keine Standardsprache für Roboter. Die Frage ist was weiter verbreitet ist, und was man programmieren will. Dann kommt es noch drauf an wer programmiert ;-)

Im Profibereich kommt man an C/C++ und Assembler meistens nicht dumrum. Im Hobbybereich ist BASCOM für bestimmte Mikrocontroller sehr verbreitet, weil es eben Basic ist.

C/C++ ist sehr "kurz" und wenn man will sehr nahe an der Hardware. Das führt dazu dass man schon ganz schön fit sein muss wenn man Programme schreiben/nachvollziehen will. In BASCOM ist das ein bisschen einfacher. Sehr "kurz" bedeutet das man den Quellcode sehr klein und knapp machen kann. Z.B. statt i = i + 1; kann man auch i++;
schreiben...man kann z.B. auch eigene Operatoren programmieren und Funktionen überladen.

Zudem kommt noch dazu dass man in C/C++ Objektorientiert programmieren kann, auch nicht das was die meisten wollen, obwohl die Grundkonzepte die gleichen sind, nur eben anders organisiert.

Gruß, Sonic

freq.9
19.12.2004, 16:24
Okay. Also der ASURO wird ja ab "Werk" in C programmiert, das finde ich persönlich ganz gut, denn C/C++ sind mir indirekt lieber, da ich selbst damit was mache. Zudem arbeite ich auch schon seit 4 Jahren mit PHP wobei PHP ja so der kleine Bruder von C/C++ ist und somit kenne ich mich in der Syntax schonmal ein wenig aus. Wie weit ich mich da auskenne wird sich zeigen, wenn ich den ASURO endlich in meinen Fingern habe (irgendwann KW01 -.-) und dann werdsch mal gucken.

Mal ne Frage nebenbei:
- Mega8/16/32/128 = 8/16/32/128KB Speicher?

JanB
19.12.2004, 16:33
Hi Manfred,

Versuche es doch mal wenn möglich mit 5V.
Ich habe 5V am Asuro.
Ich betreibe den mit einem 2-Zeller Lipoly und einem
5V-Low-Drop Spannungsregler dahinter.
Ich habs aber auch schon am Labornetzgerät mit
4V bis 5,5V probiert. Ändert sich nix.
Trotzdem Danke für den Tip.
Ich versteh das nicht, wo doch der Test mir dem Hyperterminal
einwandfrei geklappt hat.

Gruß Jan

zimmi007
19.12.2004, 16:43
Mein Asuro ist letzte Woche Donnerstag eingetroffen :-b
Bei Conrad bestellt und es sollte erst ab 20.12.04 ausgeliefert werden, also ÜBERRASCHUNG pur.
Ich habe schon viel im Forum gelesen und hoffe ich finde bald Zeit zum fertigstellen.
Wenn man so liest, was alles machbar ist, dann ist der Preis von 49 Eus fast wie geschenkt, alles incl. Freude beim Aufbau.
Gruß Heiko

EDV-Techniker

bergowitch
19.12.2004, 16:54
Hallo,
mein asuro ist auch gestern eingetroffrn. nur leider fehlt die zeit - meinen nicht funktioniernenden cny70 aufbau konnte ich noch immer nicht testen...
@Cyborg666: ich habe vor ein paar wochen mal gegooglt und bin auf ein praktikum mit dem asuro von der uni müchen gestoßen, dass mit dem robocup zusammenhängt. von der idee her finde ich das unglaublich spannend. im prinzip läuft es ja auf eine mischung aus small leauge und junior league vom robocup hinaus. wenn man sich damit genauer beschäftigt sollte das gehen. vielleicht können wir ja die praktikumsunterlagen aus münchen bekommen. ich müsste heute abend noch ein wenig zeit haben und suche mal die seite wieder raus (habe sie gefunden: http://www.lsr.ei.tum.de/~hirche/teaching/praktika/ss04/pptt_themen/peer.pdf) und maile an die zuständigen. schaun wir mal.
Gruß
Stefan

freq.9
19.12.2004, 17:03
Hmmm vllt. bekomm ich meinen ja auch schon früher als die KW01 :D *hoff*

Cyborg666
19.12.2004, 17:59
Das mit dem Ball, der Infrarot sendet, klingt intressessant.
Wie ist das mit den Graustufen, gibt der Azuro verschiedene Werte an
oder kann er nur zwischen schwarz und weiß unterscheiden ?
Die meisten Fußballroboter haben eine Kamera, aber das ist mir
eigentlich zu aufwendig.
Ich denke, meine Idee ist auf diese Weise ohne Kamera zu realisieren.
Soll ja Spaß machen. Ich möchte mir nicht von Anfang an zu viel aufhalsen.
Ich werde mir wohl den Azuro kaufen und dann...

Auf jeden Fall werde ich berichten ,Bilder, Filmchen machen.
( Dann als Mitglied ).
Vielleicht steigt ja jemand mit ein und wir können mal ein kleines Turnier austragen.
Basisset soll der Asuro sein, Art der Programmierung oder Erweiterung durch andere Sensoren bleibt freigestellt .

Gruß

Jens

Cyborg666
19.12.2004, 18:07
bergowitch: Ja das pdf-File zu dem robofußball-praktikum kenne ich.
Aber wäre schade, alles nur nachzubauen , was die einem schicken. Möchte erst mal selbst rumbasteln.
Danach werde ich dann mal die Unterlagen anfordern und vergleichen.
Werde mir den Asuro demnächst kaufen., wenn er wieder verfügbar ist.

Danke

Geß
Jens

JanB
19.12.2004, 18:56
Hallo,
Bei meiner Suche nach der Ursache, warum das Flashen bei mir nicht funktioniert,
habei ich einen Widerspruch in der Anleitung zum ASURO entdeckt.
Laut Schaltplan und Bestückungsanleitung ist R17 = 470 Ohm.
Auf Seite 32 steht dann R17 überprüfen...100 Ohm. (???)
Im Datenblatt zum SFH-5110 ist für den entsprechenden
Widerstand ein Wert von <100 Ohm angegeben.
Auf der Asuro-Platine ist dem SF-5110 ein Elko 220uF parallel geschaltet.
Wird auch so im Datenblatt vorgeschlagen.
Auf dem IR-Modul fehlt dieser Kondensator.

Ich habs natürlich auch mit Kondensator probiert - nützt nichts.
Mist, wieso geht das bei mir nicht ??
Langsam bin ich mit meinem Latein am Ende.
Messtechnisch sieht alles OK aus.
Hyperterminal-Übertragung klappte auch.
Nur Flashen geht nicht.
Wohnt jemand mit Asuro hier in der Nähe von Leverkusen ?
Ich würde gerne vorbeikommen, um zu prüfen ob es an meinem Asuro,
oder an dem IR-Modul liegt,
damit ich wenigstens weiss, wo ich den Fehler suchen muss.

Gruß Jan

RCO
19.12.2004, 19:05
@ freq.9:


Mal ne Frage nebenbei:
- Mega8/16/32/128 = 8/16/32/128KB Speicher?

Ja, aber es gibt noch mehr Unterschiede, siehe dazu:Parametric Product Table (http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC)

Es weiß nciht zufällig jemand, wie der andere kleine Lern-Roboter der Frima Arexx heißt?

MFG Moritz

freq.9
19.12.2004, 19:25
Cool danke. Naja vllt. werdsch mir irgendwann auch mal son Teil besorgen. Son schönen 128er ;)... nee nen 32 oder so wenn nicht sogar nen 16er würd glaub für den Anfang bald mal reichen aber erstma auf den ASURO warten :P

ICH_
19.12.2004, 19:35
Hallo Allesammt,

Was sind den beim Asuro die Lötpunkte CON1 und CON2 genau?

Gruß Tobias