PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Autonom in kleinen Dosen: R2_D03 + Nachfolger R3D01



oberallgeier
16.05.2008, 22:20
Inhalt des Threads (Seite Nr. bzw. spezielles Posting in Seite Nr. - ungefährer Inhalt von Seite/Posting)
Seite 1 Aufbauplan, Aufbau, Tests irDME
Seite 2 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&postdays=0&postorder=asc&start=22&sid=45bbe64fc773e5a2622857d9ce184ba6) R2D03/Dottie ist fertig und läuft, Testläufe in YouTube. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390196&sid=45bbe64fc773e5a2622857d9ce184ba6#390196) Sonst: getrennte Spannungsversorgung Logik, Motoren u.ä.
Seite 3 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=399360&sid=45bbe64fc773e5a2622857d9ce184ba6#399360) Erste Ideen bzw. Ausblick Varianten: WALL R, MiniD0. Minimotoren und Räder von Klingon77.
Seite 4 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=415544&sid=45bbe64fc773e5a2622857d9ce184ba6#415544) GLS zu groß für Minimotoren. Mini-Encoderscheibe und erster Funktionstest dazu ist schlecht.
Seite 5 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=415660&sid=45bbe64fc773e5a2622857d9ce184ba6#415660) Endcoderscheibe nachgearbeitet und Testergebnisse, neue Encoderscheiben von Klingon77
........... Dottie 2 (später: WALL R) Aufbaudetails (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=417039&sid=45bbe64fc773e5a2622857d9ce184ba6#417039) und Fahrzeugtuning: Fahrgestell und z.B. besserer Grip für Reifen
Seite 6 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&postdays=0&postorder=asc&start=110&sid=45bbe64fc773e5a2622857d9ce184ba6) Motorfragen, Code für Motorsteuerung, WALL R läuft doch (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=420247&sid=45bbe64fc773e5a2622857d9ce184ba6#420247) - trotz Problemen, direkt zu WALL R (https://www.roboternetz.de/phpBB2/viewtopic.php?t=45658&sid=45bbe64fc773e5a2622857d9ce184ba6)
Seite 7 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=421797&sid=45bbe64fc773e5a2622857d9ce184ba6#421797) Planung und erste Details (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=432909#432909) zu R3D01/MiniD0, erste Sprungantwort (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=433979&sid=45bbe64fc773e5a2622857d9ce184ba6#433979) aufnehmen, Speedtest (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=434250&sid=45bbe64fc773e5a2622857d9ce184ba6#434250) mit Video
Seite 8 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&postdays=0&postorder=asc&start=154&sid=45bbe64fc773e5a2622857d9ce184ba6) Mehrere Testfahrten und Sprungantworten, Balancierer (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=446958&sid=45bbe64fc773e5a2622857d9ce184ba6#446958)
Seite 9 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&postdays=0&postorder=asc&start=176&sid=45bbe64fc773e5a2622857d9ce184ba6) Standard-Testfahrt, Code zu Regelung, Sprungantworten
Seite 10 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&postdays=0&postorder=asc&start=198&sid=45bbe64fc773e5a2622857d9ce184ba6) Aktive Motorbremse und Bremsen mit "Gegenschub = Gegengas" (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=466776&sid=fcc56114406ea465e0c6a30773ec4bc3#466776) bis Stillstand. MiniD0 fährt kplt. mit Deckel. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=514969#514969)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Hallo,

derzeit gibts einen Thread über das "Sommerloch". (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=372735#372735) Das hat mich bewogen, vorzeitig mal mit meinem Miniprojekt an den (Sommer-)Tag zu kommen - obwohl´s für eine Darstellung eigentlich zu früh ist und obwohl bei uns grad eben Frühling ist und ich beim Drachen- und Gleitschirmfliegen immer noch durch den Schnee tappen muss.

Projektname: R2_D03 (Roboter, mein 2ter, in einer ColaDose 0,33l , sprich: err zwei do drei)
Steuerung: ATMega168, 20 MHz (1 Platine) (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=368984#368984)
Versorung: 4xAAA (billige) für Elektronik, 5xAAA (1,1 Ah) für Motoren
Antriebskonzept: Zweiradroboter mit Gleitpads vorn und hinten
Antrieb: 2 gehackte Miniservos (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=344432#344432), mit 2 Rädern D 24 gibt das max. ca. 6-8 cm/sec
Sensorik: 1 x Sharp GP2D120 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=37624&highlight=) 3 x irDME aus SFH415/SFH5110 (ähnlich waste/Sternthaler + eigene Weiterentwicklung) (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=351033#351033). Die Sensoren kommen auf einen Drehteller am Roboterkopf.
Kommunikation: UART auf TTL-Pegel wird über externen MAX232 auf PC ausgegeben (bei Bedarf, nicht dauernd), I2C ist vorbereitet, beide auf Pfosten-3-Stecker. ISP mit teilamputiertem Wannenstecker. Sensorik auf Pfosten-10-Stecker für Buchse wie ISP. Servostecker und einreihiger Pfostenstecker für 2x5 Kontakte für Motoren: li, re, Drehgeber, Vcc + GND (für Drehgeber) (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=344432#344432).
Einsatzspektrum: ebener Konferenztisch, ohne Rillen, mit einigen wenigen herumstehenden Utensilien: Gläser, Koffer, Akten, Rechner.
Aktueller Stand: Neben verschiedenen Vorarbeiten zu praktisch allen Projektteilen laufen derzeit mit der vermutlich endgültigen Hardware die wichtigsten Elementarfunktionen: Prozessor läuft, irDME - erster Satz von drei angeschlossenen SFH415/SFH5110 läuft bzw. wird ausgewertet, Motoren laufen, aber noch ohne Regelung, Datenausgabe zum PC über externen MAX232 u.ä.

Geplant ist nach der endgültigen Fertigstellung der Hardware, nach einer gewissen Vollständigkeit der Software und nach entsprechenden Tests - also in ein paar Monaten - eine zweite Platine mit I2C-Kopplung für erweiterte Navigationsaufgaben.

Angefangen hatte das Ganze im September letzen Jahres mit dem Wunsch mit Microcontrollern zu spielen und C zu lernen. Mein elektronischer Stand war damals die Fähigkeit Transistoren und Dioden zu unterscheiden, 3 Beinchen, 2 Beinchen, Widerstände haben meist ne Taille. Wissensstand zu C: eine bekannte Programmiersprache, ist s..komplex und nicht wirklich lesbar. Im Oktober die Idee eine halbwegs autonome, selbstfahrende Getränkebüchse zu bauen, die bei Fachvorträgen gegen Vortragsende über den Tisch läuft und NICHT vom Tisch fällt (ich neige dazu, das dahindösende ehrenwerte Fachpublikum mit solchen Dingen aufzuwecken und der aktuelle runnung gag soll ne Variante bekommen). Zieltermin: Februar/März 2008. Etwa Dezember ist mir klar, dass dieser Termin nicht gehalten werden kann und die jährliche Fachtagung ebenso wie ein hübscher Weltkongress ohne dem Gag auskommen muss.

Aktuell sieht das dann derzeit so aus:
Platine, teilbestückt. Es ist eine Streifenrasterplatine mit 39 Zeilen zu je 2 + 5x3 + 2 Feldern. Die kreuz- und querliegenden Verbindungen auf der Bestückungsseite sind notwendig, weil ich es nicht besser kann. Probleme gabs beim Aufbau wenige. Eigentlich nur eine vergessene Vcc-Strippe, eine vergessene Masseverbindung für den BC337 und ein Kurzschluss der beim Nachlöten dieser Verbindung entstand.
..................................https://dl.dropbox.com/s/8mpn4mrt397hcmo/p-teilbest.jpg?dl=0

Der komplette Einbau, ohne Sensoraufbauten, sieht von der Platinenseite so aus. Man sieht dass es schon recht dicht zu geht. Die Motoranschlüsse stehen mit Absicht schräg hoch, damit die Steckermontage einfacher ist. Das Servo ist hinter der Platine auf der oberen Abschlussplatte befestigt (ist hier nur mit dem Horn sichtbar).
..................................https://dl.dropbox.com/s/cpj1kvwiuf1syqu/einbau.jpg?dl=0

Das Ganze steht auf einem Fahrschemel. Die Gleitstücke sind hier noch nicht angebaut.
..................................https://dl.dropbox.com/s/iogcsc90mftunt8/fahrschemel_1257.jpg?dl=0

Zusammengestellt sieht man schon ein bisschen, wie das Ding komplett aussehen soll. Der Aufbau wird als Kaschierung für die Sensoren dienen. Er wird durch das oben eingebaute Servo gedreht. Es gibt also auch hier noch reichlich Feinarbeit, damit es hinterher wirklich schick aussieht. Wie - wird später gezeigt.
..................................https://www.dropbox.com/s/8d8dnmsj9xvpeez/oSensoren.jpg?dl=0

Wie gesagt - es ist etwas früh für eine Vorstellung, das Programm steht nur in einzelnen Sektionen, die noch nicht zusammenspielen. Erste Probeläufe haben gezeigt, dass der Aufbau des "neuen" irDME´s schlecht ist: zur Platzersparnis am Kopfteil wurden nur die aktiven Bauteile irLED und irEmpfänger ausgelagert. Die RC-Beschaltung liegt damit wohl am falschen Ende des Flachbandkabels. Das führt offensichtlich zu schlechten Messergebnissen. Aber das wird erst getestet, wenn das Spielzeug fährt - vorher wäre es auch nur ein Teil-Test.

Immerhin habe ich die ursprüngliche Absicht wahr gemacht, mit einer 0,33l-Dose auszukommen. Vor ein paar Monaten war ich da noch nicht so sicher. Dafür ist die Platine für meine Fähigkeiten reichlich voll gepackt.

Vorerst mal Dank an alle Forumsmitglieder die mir geholfen haben, zum Beispiel an Hubert.G, Sternthaler, Besserwessi, und viele andere, ohne die ich nicht mal bis hierher gekommen wäre.

pinsel120866
17.05.2008, 12:00
Hi Nachbar,

echt cooles Projekt! Diese Sache hat für mich eine gewisse Vorbildwirkung, zumal mein derzeitiger Wissensstand, was Microcontroller entspricht ungefähr dort liegt, wo deiner im letzten September gelegen hat.

Gratuliere zu dieser Entwicklung - ich hoffe ich kann irgendwann mit dir wenigstens gleichziehen.

Weiter so und alles Gute weiterhin!

Klingon77
17.05.2008, 16:05
hi oberallgeier,

wird sicherlich ein super "running Gag" :mrgreen:

Ich sehe da nur ein Problem:

Wenn der "err zwei do drei" über den Konferenztisch fährt kannst Du den Rest Deines Vortrages getrost vergessen.

Der Fokus der wieder erweckten Teilnehmer liegt wo anders #-o



Spass beiseite:

Wirklich feines Teil, welches Du da entwickelt hast.

Insbesondere die Tatsache, daß Du alles mit konventionellen Bauteilen (kein SMD) aufgebaut und untergebracht hast, war sicherlich nicht einfach und bedurfte einiger Stunden intensiven Grübelns.

Freue mich schon drauf, den Robby in Aktion zu sehen.



Noch eine Anregung; wenn ich darf:

Bau doch bitte eine kleine Kamera versteckt in Deine Aktentasche ein.
Die legst Du auf den erwähnten Konferenztisch und filmst die anderen Teilnehmer beim auftauchen des Robby´s.

Auf diese Filme würde ich mich besonders freuen.

liebe Grüße und immer eine Hand voll Luft unter den Füßen wünscht,

Klingon77

oberallgeier
17.05.2008, 16:19
Hallo Klingon77,

Danke für die Komplimente
... Wenn der ... über den Konferenztisch fährt kannst Du den Rest Deines Vortrages getrost vergessen. ...
... Idee eine halbwegs autonome, selbstfahrende Getränkebüchse zu bauen, die bei Fachvorträgen gegen Vortragsende ...
Aufwecken tu ich die Leute traditionell mit Bildchen vor der Präsentation (sozusagen als Einstellbild zum Verbindungstest Notbook <-> Beamer), dieses Jahr z.B. mit Enduro beim Furten durch einen (50 cm tiefen) Wassergraben, früher auch schon mit nem 3m-air aus der 5m-Halfpipe.

Klingon77
18.05.2008, 09:11
hi oberallgeier,

vor Jahren machte ich mal einen Dienst bei einem Moto-Cross Wettbewerb.
Da war ich fasziniert von den Sprüngen; z.T. bis zu 15m weit und mehrere Meter hoch.


Was mir noch eingefallen ist:

Welche Gleitpads möchtest Du verwenden?
Eine Stahlkugel fällt ja auf den hochglanzpolierten Konferenztischen wohl aus; obwohl: Du könntest im nachhinein den Weg des Robby´s anhand der Kratzspuren genau rekonstruieren... #-o

Wie wäre es mit einer Konstruktion mit einem Stück Filz auf der Unterseite?
Im Baumarkt bekommt man doch diese Blätter mit den mehr oder minder großen, runden Klebefilz-Pads.

Die müssten auch auf der polierten Oberfläche gut gleiten.

liebe Grüße,

Klingon77

oberallgeier
18.05.2008, 10:29
Welche Gleitpads möchtest Du verwenden? ... Im Baumarkt bekommt man doch ...Genau die liegen bei mir auch schon rum.


... Stahlkugel fällt ja auf den hochglanzpolierten Konferenztischen wohl aus; ...Weißt Du, Kugel aus Kugellagern hätt ich auch noch rumliegen, knapp D60. Die haben zwar feine Kratzspuren, machen aber beim Rollen mit der geringen Last des Spielzeugs bestimmt keine Kratzer. Zwei davon, mit je knapp 1 kg, wären prächtig für die Stabilität, aber mein R2D03 hat ja nur sehr begrenzte Traktionswerte. Ausserdem - es ist NIE MEIN Konferenztisch :).


... Sprüngen; z.T. bis zu 15m weit und mehrere Meter hoch. ...Du weißt, ich geh schon in die Luft - aber da habe ich Flügel.

damaltor
18.05.2008, 22:59
hrhr, der ist ja schnucklig... ich verschiebe das mal in den robotik allgemein teil, aber lasse den shadow hier, damit wir weiter mitverfolgen können.

oberallgeier
01.08.2008, 16:59
Hallo Alle,


hrhr, der ist ja schnucklig... damit wir weiter mitverfolgen können.
Danke damaltor. Es ging - zwei vor und einer zurück. Schritte. Also ein bisschen Fortschritt und ein Beinahe-Flop-des-Monats (aber es floppt noch und der Monat ist noch brandneu). Will sagen: Es ging zäh, aber immerhin.

Die Abstandsmessung mit mehreren irDME (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=387767#387767)´s nach der Grundidee von waste und Sternthaler läuft zu meiner Zufriedenheit. Und ich habe sogar interessante Details entdeckt, siehe Link. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=387767#387767) Die Routine läuft im Interrupt und braucht für alle drei Sensoren und für insgesamt je sechs Messungen pro Sensor und Sekunde 1,2 % der CPU-Zeit.

Hier die Testkonfiguration:......... https://dl.dropbox.com/s/kl87ddwngiw513d/r_basis_06_tst.jpg?dl=0
Man sieht angeklammert an die obere Abschlussplatine mit dem Servo, auf den später der Sharp kommt, links oben die drei Miniplatinchen mit der SFH415/SFH5110-Kombination ( japanische Klemmmontage à la Geisha-Frisur ). Das ist wirklich nur zum Testen so angebracht - auch der Sharp-Sensor wird später nicht senkrecht, sondern leicht schräg nach unten sehen. Anmerkung: die beiden LED´s am I2C-Stecker sind praktisch: im Bild hängt der Tastkopf des Oskars dran um den Zeitbedarf einer Routine zu messen.

Die Motoren laufen. Der eine deutlich flotter bzw. leichter als der andere. Der braucht also nur den halben bis dritttel OCR0x Wert. Ich habe die Motoren mit verschiedenen Werten angesteuert und das Teil fuhr in der Testkonfiguration, also ohne Dose, ganz hübsch rum. Leider noch ohne Geschwindigkeitsregelung. Also kam einiges dazu: Sprungantwort aufnehmen (separates Testprogramm), Sprungantwort ausmessen bzw. auswerten und so weiter - eben Regelungsparameter bestimmen.

Dann, nachdem ich wochenlang (na ja, es waren schon etliche Tage; Anmerkung: Regelungstechnik im Studium 4,0) mich mit den theoretischen Grundlagen der Regelungstechnik beschäftigt hatte, um den Code für die Regelung zu programmieren, habe ich mich mal ans Programmieren gemacht. Jämmerlich - die Routine brauchte mit der floating point Rechnung so elend viel Zeit, über zwei bis drei Millisekunden.
y12 = 5 * e_mot12 + 0.6 * esum12;
das dauert in floating point 2 bis 2,5 ms und ist für eine ISR nun wirklich zu lange.

Ich hatte programmiert, getestet, Zeit gemessen, Code optimiert, getestet . . . und so weiter. Schließlich hatte ich das ganze in Integer programmiert, ein bisschen tricky mit den Parametern - und es läuft . . . . in einem prächtigen Geradeauslauf. Obwohl also die beiden Antriebe deutlich unterschiedliche Ansteuerungswerte benötigen und auch markant unterschiedliche Zeitkonstanten haben (12 und 8 ms), laufen sie mit identischem Code in der Regelung so, dass ich beim einfachen Geradeauslauf über max. 1 m noch keine Abweichung festgestellt hatte - so +/- wenige Millimeter - genauer kann ich es derzeit nicht messen. Ausserdem wäre mir dazu die Zeit zu schade. Die ganze Routine dauert mittlerweile zwischen Aufruf der Routine bis zur abgeschlossenen Rückkehr (getestet ohne Interrupt) deutlich weniger als 50 µs und damit deutlich weniger als die kürzeste ISR. Auch das könnte ich als hübschen Erfolg zählen.

Die Sensoren haben auch brav sensort und die Motoren motort und das Ganze lief brav auf der Tischplatte, bis die Sensoren ein Hindernis erkannten (es funktioniert mit drastisch reduziertem Abstand sogar bei entsprechend hohen Gläsern!). Dann stoppte das Vehikel, machte eine 60°-Drehung "rückwärts auf dem linken Rad" - also nur das rechte läuft rückwärts - genau


while ( 1 )
{
if ( Iencdr0 >= 1068) break;
}
. . . genau 60° :). Also weitermachen.

Für einen Zusammenbau mit "Karosserie" - die Dose ist ja ein gewisser Pfiff an der Sache - musste ich meine IR-Sensoren montieren, nachdem die ganze Elektronik in die Dose eingeführt wurde. Einfach weil die Elektronik - Akkus, Steuerungsplatine, Servo etc. von unten eingefädelt werden, aber die Sensoren sollen oben rausschauen und schräg nach unten linsen, das ist ja im Testaufbau im Bild oben angedeutet. Also musste ich eine Zwischenplatine einbauen - mit Zwischenstecker und den ummontierten Sensoren (vorläufig noch an biegsamen Flachkabeln).

Zwischenplatine + Stecker:........https://dl.dropbox.com/s/sofnnppdepfsqdq/zw-platine-def01.jpg?dl=0

Die Platine wird auf den geänderten Grundaufbau gesteckt. Das geht eben auch, wenn der Rumpf in der Dose steckt :).

.................................................. .https://dl.dropbox.com/s/qtcag66v55kos86/r_basis_03.jpg?dl=0

Seit dieser Zeit funktioniert die Sache ohne Zwischenplatine - - - aber mit Zwischenplatine schiesse ich regelmässig ein bis zwei Infrarotdioden. Schiessen ist das richtige Wort - na ja, eine CQY99 glüht einfach auf und stirbt mit Gestank, aber die vorwiegend verwendeten SFH415 schiessen mit lautem Knall ihre vordere Linse weg. Und ich habe gemessen und gemessen und die Platine geprüft und geändert und Kurzschlüsse entfernt - im Moment läuft nix - ausser dass wieder LED´s mit lautem Knall sterben. Aber - bisher hatte ich noch jeden Fehler gefunden. Übrigens: die LEDs leben "ewig" wenn ich sie in die Buchsenleiste des Rumpfteils stecke. Irgendwo habe ich einen Kurzen in der Zwischenplatine :(.

Trotzdem habe ich die Weiterarbeit etwas unterbrochen (die irLED´s sind alle :() und die Zeit genutzt diesen langatmigen Bericht zu schreiben.

Viele Grüße mit Gewitterknallen - das klingt viel angenehmer als geschossene LED´s.

oberallgeier
02.08.2008, 16:53
Hallo Alle,

überraschenderweise ist in der Neuteilekiste noch eine heile CQY99 gewesen und in einer kleinen Versuchsplatine eine SFH415. Und ich habe meinen R2D03 - Version k100 (hundert Kurzschlüsse) umgebaut in die Rev. K0. Es ist sagenhaft, wie viele Kurz- und Beinahekurzschlüsse man in ein paar Steckverbinder einbauen kann - besonders spät abends.

..........................http://i4.ytimg.com/vi/s4DU7mS0p2w/default.jpg (http://de.youtube.com/watch?v=s4DU7mS0p2w)


Und schon fährt das Ganze. Maximal sind auf PMMA Steigungen von ca. 30 ° zu schaffen, mehr gibt die Reibung der O-Ring-Slicks (EPDM) nicht her.

Klingon77
03.08.2008, 00:19
hi oberallgeier,

herzlichen Glückwunsch zur Jungfernfahrt \:D/

Ist echt ein feines "Teil" geworden.

Berichte doch bitte mal wie die Leute bei der von Dir geplanten Anwendung reagiert haben.


Kurzschluß im Steckverbinder?

Wie konnte das geschehen? Lötbrücke?

liebe Grüße,

Klingon77

oberallgeier
03.08.2008, 15:55
Hallo Klingon77,

danke für die Blumen :) - das tut gut nach so einer Fehlersuche.

... wie die Leute ... reagiert haben ...Zuerst muss ich ja diese scheusslichen Maikäfer-Fühler wegkriegen. Die sehen SEHR unprofessionell und undekorativ aus. Danach soll noch der Sharp auf die Kommandobrücke. Zum Glück ist jetzt Urlaubszeit - im Herbst werd ich die Wirkung bei einem Hochschulkurs ausprobieren :), dann kann ich berichten (vll. m Video).

... Kurzschluß ... Lötbrücke? ...Mein Reststolz verbietet mir genauere Angaben.

Mittlerweile fährt das Spielzeug schon innerhalb eines Fensters zwischen Mindestabstand(Kollisionsgefahr) < Fahrerlaubnis < Maximalabstand(Absturzgefahr). Ausserhalb des Fensters dreht es - das ist natürlich nicht für alle denkbaren Fälle gut. Es geht aber voran und das Fahrprogramm wird noch perfektioniert.

Sasch
03.08.2008, 18:57
cool!

mal was anderes. in der doose ist es bestimmt eng geworden.

MfG
Sasch

Sternthaler
05.08.2008, 16:52
Hallo oberallheier,

da bin ich nun auch um dir zu Gratulieren.

Das mit der Zwischenplatine ist eine sehr schöne Lösung (auch wenn sie schmerzhaft war).
Im Video kann man die saubere Arbeit sehen um der Dose wieder einen Deckel zu geben. Die Zwischenplatine ist ja hervorragend eingepasst.

Den Servo für den Sharp hast du ja sehr tief gelegt.
Es sieht so aus, als ob der Sharp dann an den irDME-Anschlüssen vorbeischauen muss. Oder wirst du 'nach Hinten' sehen, und zum einjustieren der irDME's die Dose einmal um 180 Grad drehen?

Was bedeutet Hochschulkurs? Willst du etwa arbeiten gehen? ;-)

Weiter so
Gruß Sternthaler

oberallgeier
05.08.2008, 17:36
Hi Sasch, hallo Sternthaler,

danke für die Blumen.


... in der doose ist es bestimmt eng geworden ...Etwas, ja. Aber ich bekomme wieder Platz. Wollte ursprünglich 4+6 x AAA als Akkus nehmen. 4 x ungeregelt für Controller etc und 6 x ungeregelt für den Motor. Aber das macht keinen Sinn. Der Controller könnte damit vielfach länger laufen als der Motor. Das größere Problem ist aber der ADC resp. der Sharp Sensor. Der Sharp kann nur so genaue Distanzen liefern, wie die Referenzspannung des ADC genau ist. Daher brauche ich eine geregelte 5,00 V-Quelle. Der 7805 ist schon bestellt. Und die 4xAAA werfe ich raus; das macht Platz für den 7805 und es bleibt sogar noch etwas übrig. Es soll ja später noch ein weiterer Controller reinkommen - für Navigationszwecke. Später . . . .


... Den Servo für den Sharp hast du ja sehr tief gelegt.
Es sieht so aus, als ob der Sharp dann an den irDME-Anschlüssen vorbeischauen muss. ...
. . . sozusagen sportlich tief gelegt. Hat aber nur mit dem Bemühen zu tun, möglichst alles in der Dose zu lassen. Leider müssen die Sensoren rausschauen, weil durch Löcher in der Wandung - das hatte ich garnicht toll gefunden. Obwohl ich so mehr verstecken könnte.

Ja, der Sharp muss an den DME´s vorbeilinsen, leicht drüber ist geplant. Der soll möglichst das gleiche Zielfenster treffen wie das Zentrum der SFH-Kombination. Dann kann ich (hoffentlich) deren Ergebnisse mit denen des Sharp abstimmen und auf Beleuchtungsstärke bzw. Albedo zurück schliessen. Allerdings vermute ich, dass Albedo und Diffusion gegensinnig laufen - was die Sache auch nicht erleichtert. Der Servo soll den Sharp, je nach Bedarf, auf eine der drei Positonen ausrichten und vermutlich immer dann, wenns kritisch wird, soll der Sharp als letzte Instanz dienen.

Noch etwas: die CQY99 hat sich im Vergleich mit der SFH415 nicht bewährt. Zwar schießt sie bei Überlast ihre Kuppe nicht so explosionsartig weg (das ist wirklich gefährlich für die Augen ! zum Glück trage ich ne Brille) sondern glüht richtig auf und stinkt und ist entzwei. Aber als DME ist sie nicht brauchbar. Zu breiter Leuchtwinkel und auch deutlich schwächer als die SFH415:
CQY99: Strahlungsfluss 11 mW, Abstrahlwinkel 50° <=> SFH415 22 mW, 17°.
Das beeinflusst mein Ergebnis negativ. Daher sind bei mir jetzt drei SFH415 drauf (hatte noch eine fast neue in einer anderen Schachtel gefunden). Leider muss ich feststellen, dass die Horizontal Directivity φx des SFH5110 für meine Zwecke etwas breit ist : bei +/- 30 ° habe ich immer noch 85 % der Empfindlichkeit. Ich hätte diesen Sensorenfächer so bauen sollen, daß die 5110 "quer" stehen, denn die Vertical Directivity φy ist nur halb so breit, bei +/- 30° nur 50 %. Das hätte eine viel bessere Richtungsselektivität der Sensoren gegeben. Na ja, das hatte ich nicht genügend durchdacht. Das bleibt vorerst so.


... Hochschulkurs? Willst du etwa arbeiten gehen? ...Bei meinem Ersatzteilbedarf der letzen Tage muss ich erwerbstätig werden. Ist ein Kurs, bei dem ich seit Jahren mitarbeite, Vortrag und Seminar. Geht aber nicht übers ganze Semester. Und es gibt immer hübsche Spätabendsbisindienachtgespräche mit den Profs und den aktuellen Doktoranden - nicht zuletzt deswegen, weil ich meist eine Probe Oberallgäuer Hefe-Hopfen-Tropfen mitbringe.

Klingon77
06.08.2008, 12:33
hi oberallgeier,

schaffst du die Kühlung für den 7805 in der Dose?

wäre ein getakteter Regler da nicht besser?

liebe Grüße,

Klingon77

oberallgeier
06.08.2008, 15:25
... schaffst du die Kühlung für den 7805 in der Dose? ...Die doofste Antwort wäre nun, dass CC sowieso immer eisgekühlt serviert wird. Im Ernst, das zählt zu den vielen Dingen die ich nicht weiß. Leider ist die Montage nicht so ausgelegt, dass ich die Dosenwand als Kühlkörper nehmen könnte. Der Controller mit allen Sensoren zieht knapp 120 mA, bei 7,5 V .. 8 V Gesamtspannung muss im 7805 also knapp 1 W vernichtet werden. Ich hoffe, dass damit keine Klimakatastrophe eintritt. Plan B: unten im Fahrschemel ist noch Platz "ausserhalb" des Doseninneren. Die Verkleidung ist aber in Spoilerart tief heruntergezogen, sodass zum Boden nur ein enger Spalt bleibt. Tja, ich könnte die Dose unten kiemen - à la DTM. Plan C: hinter den Sensoren, oben auf der Kommandobrücke. Plan D: eine federnde Fahne am Kühlkörper festmachen, die nach der Montage sich gegen die Dosenaussenwand drückt. Fazit: es wird schon irgendwie gehen.


... Welche Gleitpads möchtest Du verwenden? ...Plan G(ag): Stahlplättchen, teflonisiert, am Kühlkörper festgeschraubt. Dann darf meine Frau mit meinem R2D03 bügeln.

pyr0skull
06.08.2008, 15:33
Wenn du es geschickt machst, solltest du den 7805 gegen einen LM2575 oder 2576 austauschen können. Die zusätzliche Spule und die Diode bekommst du da mit Sicherheit noch irgendwo unter.

Sternthaler
06.08.2008, 18:07
Hallo Bügeldosen-Erfinder,

kleiner Rechenfehler bei dem einen Watt Verlustleistung?
8V - 5V = 3V -> * 0,12A = 0,36 Wättchen.

Plan k(ann entfallen) wird hier wohl reichen.
Oder kommt zum angegeben Strom noch der Fahrstrom hinzu?

Laut Datenblatt, ist "Thermal Resistance Junction-Air" mit 65 C°/Watt angegeben.
Die Betriebstemperatur ist von 0 C° bis 125 C° angegeben.
Ein Watt würde also den Regler von Zimmertemperatur 20 C°, um 65 C° anheben. Die 85 C° liegen also noch gut im zulässigen Bereich. (Solange man dann die Finger davon lässt, oder die Bügeldose dann doch weiterreicht.)

Gruß Sternthaler

Klingon77
06.08.2008, 19:22
hi,

die Berechnungen hören sich doch gut an.

Das mit dem Teflon-Bügeln hört sich auch gut an.

Wundert mich eh, daß noch niemand einen Bügelroby für den Heimbereich gebaut hat...


Freue mich auf weitere Info von Deinem Projekt.

liebe Grüße,

Klingon77

oberallgeier
06.08.2008, 19:53
... kleiner Rechenfehler bei ... Verlustleistung? ... 3 * 0,12 = 0,36 ...Uuups - sorry, das hatte ich im Kopf gerechnet. Wenn meine Selbstachtung nicht etwas angeknackt wäre, würde ich jetzt kühl kontern: ich habs einfach nach oben gerundet.

Muss wohl gleich die Energiepreiserhöhung und sonstiges mit eingerechnet haben. Peinlich, peinlich. Dann wird´s nix mit der Bügeleisen-Gleitpad-Geschichte.

Sternthaler
07.08.2008, 01:41
Ein Hallo an alle Heizer,

nun weiß ich endlich, warum ich das Kopfrechnen schon vor Jahren abgeschafft hatte. calc dein Freund und Helfer.

Mhmmm, eigentlich Schade, dass doch nicht mehr Abwärme entsteht.
Durch deine Anregung, über Energiepreiserhöhungen nachzudenken, wäre folgende Anwendung dann ja auch sehr sinnvoll: Thermikkraftwerk (http://de.wikipedia.org/wiki/Thermikkraftwerk)

@Klingon77
Kannst du da nicht etwas konstruieren um dann aus der Thermik-Drehbewegung eine Schwenkbewegung zu machen, so dass oberallgeier den oberen Servo für den Sharp durch Wärmeenergie-Schwenkung ersetzen kann? ;-)

Gruß Sternthaler

oberallgeier
07.08.2008, 07:57
Ein Hallo an alle Heizer,...
@Klingon77
... etwas konstruieren um dann aus der Thermik-Drehbewegung eine Schwenkbewegung zu machen, so dass oberallgeier den oberen Servo für den Sharp durch Wärmeenergie-Schwenkung ersetzen kann?
Da gibts doch vom Scientific American/Spektrum der Wissenschaft und anderen Anbietern hübsche Bausätze für Stirlingmotoren . . . den könnte ich ja statt meiner gehackten Servos nehmen. Baut vielleicht etwas groß und die Drehzahl liegt wohl deutlich unter (meinen jetzigen Motoren mit) 30 000 Upm. Aber die Änderung unseres Energiehaushaltes verlangt Anpassungen.


... kommt zum angegeben Strom noch der Fahrstrom hinzu?...
Nein, es ist nur der Controller mit allen angeschlossenen Sensoren und dem Servo. Die Hackeservos (bzw. der L293D) werden mit den ungebremsten 6xAAA beschickt. Der L293D hat dazu von mir eine entsprechende Dioden-Kondensator-Beschaltung bekommen, siehe Schaltplan. Der Servo läuft sehr selten. Interessanterweise hat der Sharp zwar, laut Datenblatt von Sharp, eine 230 mA-LED, frisst aber laut meinem DVM nur 27 mA. Vielleicht spendiere ich dem Sharp gesondert 5 V, schon von wegen der Verschmutzung, mit einem LP2950. Vielleicht reicht dann ein zweiter LP2950 für den Controller (obwohl - der Servo . . . . .). Wahrscheinlich wird ein 7805 für Sharp und Servo sinnvoll und für die EMV wohltuend sein. Und für den Controller reicht dann ein LP2950. Es gibt noch genug zu tun.

:cry: Immer diese Entscheidungen :cry:

oberallgeier
08.08.2008, 00:46
Hallo, Ihr,

die bestellte Elektronik ist hier, aber ich will erst die angesetzten Tests und Umbauten fertigstellen.

Ich hatte kurz von Elektronik- auf Silberlot gewechselt und ein passables Standbein für den Sharp gebaut. Die Befestigung des Sensors ist noch etwas einfach, aber der Sharp klammert sich schon hübsch an den (Plastik-) Strohhalm und rührt kräftig in der Dose - je nachdem, welcher Sensor gerade einen kritischen Zustand anzeigt.

......https://dl.dropbox.com/s/7p387ouz33wvniy/R2D03-jungfernfahrt-001.jpg?dl=0LinkzumVideo (https://www.youtube.com/watch?v=sRNSIBpK8sQ)
Viel Vergnügen beim Ansehen.

Sternthaler
08.08.2008, 01:34
Super, DuAlterVomBerg

Schöne sanfte Fahrt, da bleibt jedenfalls die Kohlensäure in der Dose.
Die Idee mit dem Strohhalm ist genial. Die Vertuschung der inneren Werte wird immer besser.

Es war mir ein Vergnügen.
Gruß Sternthaler

oberallgeier
08.08.2008, 09:31
Super, ... Es war mir ein Vergnügen...Schön, dann ist ja die Arbeit dafürgestanden.


... Die Vertuschung der inneren Werte wird immer besser ...Wie mans nimmt, denn leider ist die dekorative Phase der äusseren Verbesserungen bzw. des sichtbaren Fortschritts weitgehend abgearbeitet. Topic ist ja "... im Aufbau ...". Jetzt kommen die Feinheiten, auf die weniger geachtet wird (Finishing am Äusseren, vielleicht gar seltsame Peaks beim Stillstand etc) und die eben kaum präsentabel sind. Vermutlich auch navigatorische Themen, z.B. geradlinig angesetzten Weg hinterm Hindernis weiterfahren.

Susan Calvin hatte mich darauf hingewiesen, dass die Apparate einen persönlichen Namen haben sollten, eine Tatsache die Georg Lucas nie wirklich akzeptierte - die Typbezeichnung err zwei do drei sei laut Susan für Roboter nicht befriedigend. Nach einer vergnüglichen Séance mit Lanning und Asimov habe ich meinen Roboter auf den Namen Dottie getauft (Typenreihe ist R2, Modell ist DNull3 - auch do three genannt, daher Do ttie).

Ein paar Details, die vielleicht von Interesse sind, werde ich noch in den Thread mit der Abstandsmessung schreiben - dazu brauche ich noch eine Weile (siehe oben zu Horizontal und Vertical Directivity bzw. zu Richtungsselektivität bei mehreren Sensoren). Wahrscheinlich bekomme ich auch noch etwas über den Lichteinfallswinkel bei der Abstandsmessung raus . . .

Hier wird es deutlich ruhiger werden.


... Es war mir ein Vergnügen...Mir ebenfalls, weil ja nach auftretenden Problemen bald die Lösungen kamen. Vergnügen auch wegen Hilfen und Anerkennung.

Klingon77
08.08.2008, 09:53
hi oberallgeier,

auch von mir: Glückwunsch zum "fast" fertigen Projekt :idea: :mrgreen: \:D/

Die Idee mit dem Strohhalm ist wirklich ausgezeichnet.

Da wäre ich nicht drauf gekommen, obwohl es doch so naheliegend ist.


Einzig ausstehend ist die Reaktion auf die "weggedösten" Studenten.

Da freue ich mich schon drauf O:)



liebe Grüße,

Klingon77

UlrichC
08.08.2008, 10:41
hallo oberallgeier,
auch von mir Glückwünsche zum Roboter.

Nachdem ich nun gesehen habe, dass du auch Roboter baust, kann ich den ein oder anderen Spruch verzeihen.

Freundliche Grüße,
Christian (von BigBrother usw.)

Klingon77
08.08.2008, 15:15
hi UlrichC,

er baut nicht nur sondern half auch ganz entscheidend und mit außergewöhnlich viel Geduld beim Mono-Wheel mit :mrgreen: :idea: :mrgreen:

liebe Grüße,

Klingon77

oberallgeier
08.08.2008, 16:36
Hallo alle,

kann mir bitte jemand erklären, wie ich ein youtube-video ohne Umweg in ein posting referenzieren kann? Ich muss noch das Bild "klauen", auf einen Webspace hochladen und kann es erst danach als verlinkten Hinweis auf das Video verwenden. Ich habe aber gesehen, dass andere gleich ein youtube-Bild als Standbild-Referenz verwenden.

UlrichC
08.08.2008, 19:41
Hallo,
wenn dich interessiert was wie andere in ihren Beiträgen anstellen, um dies und dass zu tun..
klicke auf die Schaltfläche "zitat" im entsprechenden Beitrag.
Dann siehst du wie wo was verlinkt wurde.

@Klingon77
Meinst du ich soll gleich die virtuelle Keksdose rauskramen O:)

Freundlicher Gruß,
Christian

fhs
08.08.2008, 19:51
Hallo Christian,

in diesem Forum finde ich keine "embedded" Youtube-Videos; ich gehe davon aus, dass Joe sein Video mit "<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/sRNSIBpK8sQ&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/sRNSIBpK8sQ&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>" direkt hier einbetten möchte. Ich wüsste auch gerne, wie man das bewerkstelligen könnte!

Gruß

Fred

UlrichC
08.08.2008, 20:33
Hallo,
ich dachte nach dem Hinweis "habe gesehen" das etwas spezielles gemacht werden soll.

BBCodes ähnlich wie [VIDEO] [FLASH] usw. gibt es für das Forum vielleicht. Je nach dem welche Module und Versionen installiert sind und was Freigeschalten ist, könnte das sogar möglich sein.

Meist sind diese Optionen aber aus Sicherheitsgründen deaktiviert.
Denn mit Flash usw. kann man ordentlich die Seite verbiegen.
(Zu vergleichen mit übergroßen Bildern im Thread.)

Herrausfinden kann man das bei http://www.phpbb2.de/ und Schlussendlich beim Admin.

Freundlicher Gruß,
Christian

oberallgeier
08.08.2008, 22:39
Hallo Fred, hi UlrichC,

danke, dass Ihr euch diese Mühe macht. Ich habe ja folgende Lösung:
a) Screen shoot mit dem Bild des Videos
b) Bild ausschneiden
c) Bild auf Webspace laden
d) Bild als Img mit BBTCode einbetten
e) Dieses Bild mit BBTCode einbetten und mit "<a href="http://..." URL hinterlegen.

Das funktioniert oben. ABER - ich suche die Möglichkeit, statt meines "geklauten" Bildes das bei youtube vorhandene Standbild zu verwenden, aus Faulheit und weil ich dann keinen eigenen Webspace brauche. Das geht ja - blos kann ich das noch nicht. Wenn ich die Verknüpfungsadresse von youtube - welche auch immer - kopiere, bekomme ich dieses "[x] Image" Ersatzbild, siehe unten, auf das ich das Video referenzieren kann. Eine Referenz auf ein nicht vorhandenes Bild. Das ist wirklich dämlich und sieht auch so aus.

Das Einbetten mit BBTCodes wie Flash und Stream habe ich schon ausprobiert. Läuft leider nicht. Aber macht ja nix, (m)eine Lösung reicht mir auch, wenns auch nicht die simpelste ist. Obwohl ich eben zu simplen Lösungen neige :).

Danke nochmal.

http://www.youtube.com/watch?v=sRNSIBpK8sQ (http://www.youtube.com/watch?v=sRNSIBpK8sQ)

UlrichC
08.08.2008, 23:25
Hallo
also nun klar.

Du meinst das:
http://i4.ytimg.com/vi/sRNSIBpK8sQ/default.jpg

Solche URLs usw. bekommt man gut mit dem Browser Firefox heraus.
1. youtube Seite öffnen
2. Rechte Maustaste klicken
3. In Kontextmenue "Seiteninformationen anzeigen" anklicken
4. Dort in Karte "Medien" wechseln
5. Das Bild mit Hilfe der Auswahl finden und selektieren
6. Rechte Maustaste auf die Medienauswahl und kopieren.
7. In der Zwischenablage befindet sich dann der Pfad zum Bild
.. usw.

Das ist aber nur der umständliche Weg zur Info gewesen.

Einfacher ist in folgender Bild-URL jeweils die ID des Videos anzupassen.
http://i4.ytimg.com/vi/[VIDEO_ID]/default.jpg

Die ID deines Videos: sRNSIBpK8sQ
Url des Bildes also: http://i4.ytimg.com/vi/sRNSIBpK8sQ/default.jpg

Freundlicher Gruß,
Christian

Sternthaler
09.08.2008, 02:30
Hallo UlrichC,

klasse Tip.

Die [VIDEO_ID] kann man rechts neben dem Video unter "Embed:" in dem Aus-/Eingabefeld finden. Das ist das 'Monster', welches fhs oben schon angegeben hat.
Bei "... value="http://www.youtube.com/v/sRNSIBpK8sQ&hl=en&f..." ist das der String VOR dem &hl= im 'Monster'.
Es geht somit ohne Rechte-Maustaste-Verschleiß-Orgie in Mozzi und Co.

Gute Nacht oder Guten Morgen
Gruß Sternthaler

oberallgeier
09.08.2008, 09:15
Hallo Ihr,

danke für die Hilfe.

UlrichC (?KIT?KFK?) hatte es hübsch auf Erkenntniskrümel heruntergebrochen, die meinem grauzelligen Verdauungstrakt angemessen sind. Wirklich perfekt, danke! Und schon ist mein Webspace um 10 k leichter. Weil´s so schön ist, (leider) dieses Wiederholungsposting (klick aufs Bild und das Video geht los) :

....Jungfernfahrt : http://i4.ytimg.com/vi/s4DU7mS0p2w/default.jpg (http://de.youtube.com/watch?v=s4DU7mS0p2w)....Strohhalmsensorindikator : http://i4.ytimg.com/vi/sRNSIBpK8sQ/default.jpg (http://www.youtube.com/watch?v=sRNSIBpK8sQ)

Warum steht so etwas nicht im RNWissen? Hmmm, soll ich oder soll ich nicht . . . . :-k

UlrichC
09.08.2008, 09:59
Hallo
vermutlich findet das als OT im RN-Wissen keinen Platz.
Hingegen würde dich bei Triangulation, Thales oder algorithmischer Geometrie allg. usw. niemand bremsen wollen ;-)

Freundlicher Gruß,
Christian
EDIT: Habe nun auch den Avatar geändet, um den evtl. Bezug zur Strahlung zu vermeiden.

oberallgeier
11.08.2008, 12:41
Die Spannungsversorgung ist aufgetrennt. Die Schaltung passt prima in zwei von den acht Rundzellenschächten (die anderen vier sind "dahinter") und die Karosserie passt noch störungsfrei darüber. Eine Leitung mit stabilisierter Spannung geht zum Controller und eine getrennte Aufbereitung ist für Servo und Sharp. Die BYV27-200 ist nur mal so - der Vollständigkeit halber - drauf.

..........................https://dl.dropbox.com/s/w1mppfffrk2eyf3/7805-200_1599.jpg?dl=0

Fazit ist, dass Störungen im Sharp-Takt am Eingang (+) des Controllers praktisch nicht mehr feststellbar sind. Allerdings bewirkt der Servo beim Verfahren eine deutliche Einstreuung von ca. -0,1V. Die Wärmeentwicklung ist wirklich sehr gering, etwas mehr als handwarm.

Die Messwerte der irDME´s und des Sharp haben sich nicht merklich geändert. Schwankungen sind immer noch feststellbar - im Schnelltest beim Sharp mit etwa +/- 1% bei einem Abstand zwischen 60 mm und 150 mm.

Klingon77
12.08.2008, 19:09
hi oberallgeier,

freut mich zu sehen, daß es vorwärts geht.

Welche Maßnahmen hast du zur Entstörung der Spannungsversorgung getroffen?


liebe Grüße,

Klingon77

oberallgeier
12.08.2008, 21:14
... Welche Maßnahmen hast du zur Entstörung der Spannungsversorgung getroffen? ...
Ja, das hatte ich garnicht geschrieben. Tut mir leid (ich habe so meine Hemmungen, meine elektrischen Schaltungen zu publizieren).

Es sind einfache Dinge. Die neue Speise-Schaltung: 2 getrennte Stränge von den Akku´s, jeder Strang mit einem Elko 220 µF und einem Kerko 100 nF zwischen Vin und GND vor dem 7805, dann der 7805, danach ein Kerko 100 nF und ein Elko 220 µF zwischen VOUT(7805)/Vcc und GND. Mehr nicht.

Ein Strang versorgt den Controller mit den irLEDs und den L293D/Vcc1, der andere Strang versorgt Servo und Sharp. Die Motoren werden über Vcc2 beim L293D mit der Akkuspannung versorgt; dabei ist eine Zenerdiode und noch ein Elko 220 µF direkt am IC (hatte einen grösseren Posten 220 µF Elkos *gggg*). Nur gelegentlich wird, bei manchen Tests, Vcc2 statt mit den Akkus mit den geregelten 5V für Servo und Sharp versorgt.

Der Controllerkreis zieht bei der Arbeit unter 150 mA. Ein Motor zieht unter Last sicher weniger als 100 mA, der Sharp hat eine LED die 230 mA zieht aber das mit weniger als 10 % ED und der Servo dreht nur den Sharp hin und her, da wird er auch unter 100 mA benötigen - insgesamt, wenn alles läuft, also maximal 530 mA. Die Grenze des 7805 ist noch ne ganze Weile weg.

Am Sharp habe ich übrigens schon vom Anfang an (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=384864#384864) direkt an der Platine zwei Kondensatoren: Kerko 100 nF und - - richtig! Elko 220 µF.

Sternthaler
12.08.2008, 22:06
Hossa alle,
puhhh oberallgeier, jetzt muss ich mir den Plan über den Text im Kopf selber machen ;-) Gräääßßßlich

Und nicht zu vergessen die BYV27-200.
Der Strohalm könnte ja mal in die Steckdose geraten ;-)
Oder ist sie doch lieber wie hier (http://www.elektronik-kompendium.de/public/schaerer/ureg3pin.htm) über Pin 1 und 3 des/der 7805 geschaltete? (Dort wird vor allem erklärt, warum man aufpassen soll, wenn überall nur 220µF genutzt wird.)
Blätter dort auch mal zum "Lustiges Experiment". Deine Cola wird zwar warm, aber sonst passiert nix.

Wenn ich bei dir richtig gelesen habe, dann sind am:
- 7805 1 (Vcc1a) Controller: unter 150mA
- 7805 2 (Vcc1b) Servo und Sharp: 1*unter 100mA + 1*230mA*10%
- Akku (Vcc2) Motoren über L293D: 2*unter 100mA

Manchmal aber auch
- 7805 1 (Vcc1a) Controller: unter 150mA
- 7805 2 (Vcc1b) Servo, Sharp, Motoren: 1*unter 100mA + 1*230mA*10% + 2*unter 100mA

Vcc1a dürfte wohl nie Temperaturprobleme bekommen.
Vcc1b mit (6*1,2V - 5V) * (0,1A + 0,023A + 2*0,1A) = bis zu 0,5 Watt
Auch da wird es wohl bestimmt nicht zum "Lustiges Experiment"-Effekt kommen.
Sind es überhaupt 6 Accus? Oder arbeitest du nur mit 4 oder 5 Stück? Ist da eventuell noch eine weitere 'Geheimschaltung' auf der Rückseite? ;-)

Gruß Sternthaler

oberallgeier
12.08.2008, 22:47
Den Schaltplan für den 7805 habe ich im Wesentlichen von der RNControl übernommen und zwei davon parallel an die Akkus angeschlossen. Bei der RNControl ist keine Rücklaufdiode zu sehen *schnief*, daher habe ich auch keine *ggg*. Für die Motoren habe ich eine Diode vorgesehen, siehe meinem Schaltplan (https://www.roboternetz.de/phpBB2/files/m168d-schaltung-x97.pdf). Das war mir damals so empfohlen worden (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=369205#369205). Damals waren es aber nur 5 x AAA, mittlerweile sind es 6 (die vier "anderen" sind auf der Rückseite - mit 5 hätte ich schon Sorge wegen des Abfalls im 7805). Das ist ein Grund, warum ich die Motoren vorerst zum Servo/Sharp gehängt habe, weil diese Diode, eine P6KE nur 6,8 V macht *schnief*. Leider macht es fast Mühe, bei so einer Eigententwicklung frühere Pläne oder Postings zu aktualisieren.

Um den "Lustiges Experiment Effekt" hatte ich nun wirklich nicht gebangt. Da hatte mich Rechnung und mein "2-Finger-am-Kühleranschlussblech-Test" beruhigt.

Nachtrag 13. Aug. 2008, 13:47: Bildschirmflimmern im Bereich von 300 Hz stört die Abstandsmessung (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390902#390902) mit dem SFH5110-36 so massiv, dass unzulässige Fehlfunktionen auftreten.

oberallgeier
27.09.2008, 11:39
... Was bedeutet Hochschulkurs? Willst du etwa arbeiten gehen? ...Wie gesagt - Einkommen muss aufgebessert werden.

Der Kurs ist da. Eine Generalprobe der Vorführung meines Dottie (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390006#390006) bei einer (nicht ganz popeligen) Konferenz war ein voller Erfolg. Hochschulen mit Elite-Aufkleber sind da deutlich mühseliger zu handhaben: Bei der geplanten Vorführung war ich erster Redner des Tages. War also mit einer halben Stunde Vorlauf hier - - - und allein. Schliesslich fehlten Kabel (wieso - die waren doch gestern komplett . . . .) und in all der unverschuldeten Hektik kam ich nicht dazu, meinen Dottie aufzubauen/einzuschalten. Mist. Keine Vorführung, kein Video - nix. Und nun "ist der Dampf raus". Nun ist es keine Überraschung mehr.

Aber ich habe mir letzte Tage ein billiges, zweikanalig fernsteuerbares Auto gekauft. Und s..schnell ist das Ding, viel schneller als der Miniroboter oder der asuro - dem ersten Eindruck nach über 1 m/s (Nachtrag: erste Messung 1,5 m/s). Da könnte ich die Fernsteuerung ausbauen - einen Controller und eine Sensorik à la R2D03 eingebauen, ein Servo zum Lenken und dann hätte ich ein frei fahrendes Auto. Oder? Wär doch ein pfiffiges Folgeprojekt ! ? ! ? Leider wieder so ekelhaft wenig Platz für die Energieversorgung.

...................https://dl.dropbox.com/s/wg19dg9mknzjads/dottie_kl%2B_1650.jpg?dl=0

Klingon77
27.09.2008, 18:58
hi oberallgeier,

Glückwunsch und Beileid zu den beiden Vorführungen.


Deinen R2D03 würde ich nicht demontieren.

Es wird immer wieder Gelegenheiten geben, ihn einzusetzen.

So eine Cola-Dose macht sehr viel mehr her als ein Auto.

Vom Auto erwartet jeder, daß es fährt; bei der Dose ist das anders.

Dieses Auto wäre nur dann ein Gag, wenn Du Ihn zum autonomen und sprechenden Knight-Rider umfunktionierst.

Bei 1,5m/sek. müsste die Elektronik und Mechanik auch schon etwas rascher reagieren als bei der Cola-Dose.

liebe Grüße,

Klingon77

oberallgeier
27.09.2008, 22:09
... Vom Auto erwartet jeder, daß es fährt; bei der Dose ist das anders ...Das stimmt allerdings.


... Dieses Auto wäre nur dann ein Gag, wenn Du Ihn zum autonomen und sprechenden Knight-Rider umfunktionierst ...So ungefähr sah mein Plan ja aus - autonom, vielleicht ein paar blinkies-gimmicks. Und z.B. die Fernsteuerung mit der Bemerkung weglegen: „ ... nun müsste das Ding eigentlich alleine fahren können ..." *gggg*.


... Bei 1,5m/sek. müsste die Elektronik und Mechanik auch schon etwas rascher reagieren als bei der Cola-Dose ...Also mit RC funktioniert die Mechanik ja schon sehr schnell - und in meiner Dosenelektronik steckt eine Menge zeitlicher Reserve. Das war ja der Hintergrund dafür, dass ich an ein kleines, schnelles Auto gedacht hatte.

Aber es gäbe ja noch die Möglichkeit eine Cola-Dose (-n-Elektronik) in SMD zu bauen.

...................https://dl.dropbox.com/s/2vb3l5v2lvyavhl/dottie_kl%2B_1651.jpg?dl=0

Denn ich hatte keine Unkosten gescheut und mir extra eine 0,15 l Colabüchse beschafft. Sozusagen R3D015 . . . . Hmmmm, dann wäre der Strohhalm reichlich überdimensioniert. Und mit nem Sharp dazu sähe das kleine Döschen schon recht kopflastig aus. Derzeit habe ich dabei eigentlich mehr Sorge vor dem knappen Raum für die Energieversorgung in den 150 Millilitern und besonders wegen der Antriebe. Meine kleinsten Motoren für sinnvolle Geschwindigkeiten sind derzeit vom Gesamtvolumen ähnlich wie die aktuell montierten Hackeservos. Und die passen von der Breite nicht mehr unter die Blechkarosserie.

Klingon77
27.09.2008, 23:48
hi oberallgeier,

die Kleine sieht ja echt "schnuffelig" aus.

Cola in SMD wäre natürlich eine Variante.
Ich bin davon ausgegangen, daß Du den R2D03 komplett fallen lässt.

Um so besser.


Was wurde denn aus den Mini-Motoren?
Hatte das nicht gepasst oder trautest Du der Abtriebswelle doch nicht?

Conrad hat doch noch solche extrem kleine Motoren mit spezieller Ansteuerelektronik im Programm.
Mit denen habe ich mich aber noch nicht befasst (Leistung usw.).
Außerdem waren die extrem teuer.


Der Gag mit der weggelegten Fernsteuerung wäre natürlich auch was feines.
Soweit habe ich nicht gedacht.

zuversichtliche Grüße,

Klingin77


PS: fällt mir eben so ein:
zwei Motoren senkrecht mit Winkeltrieb (Kegelräder)

Oder nur ein Motor und mit zwei Abgängen und einem "Vario-Reibrad-Antrieb" zur Radwelle?
Ist aber nur ein Gedankenblitz; müssten ja noch mindestens ein Stellglied rein und das brauch auch Platz...

Energieversorgung über LIPO (klein, leicht, leistungsstark, empfindlich...) ?

Sternthaler
28.09.2008, 01:30
Guten Morgen zusammen.

Da stimme ich Klingon77 unbedingt zu.
Ein Auto muss fahren und eine Coladose muss stehen.
Somit ist der Effekt einer fahrenden Coladose hochgradig überraschend.
Aber folgen kann ich deiner Konferenz-, Elite-, Vorführung-Show nicht.
- Voller Erfolg bei der Generalprobe zur Konferenz: Ist dein super Werk!
- Mühselige Elite-Aufkleber: unverschuldeten Hektik? Wo du doch alleine warst ;-)?

Jedenfalls solltest du das Auto als stehendes Modell nutzen. Wer erwartet denn, dass ein Auto sich nicht bewegt? Die Software dazu kann ich dir schreiben ;-).

Gruß Sternthaler
P.S.: Lass dich bloß nicht von dummen Sprüchen irgendwelcher Forumsteilnehmern beeinflussen ;-).

oberallgeier
28.09.2008, 09:54
... - Mühselige Elite-Aufkleber: unverschuldeten Hektik? Wo du doch alleine warst ...Ich war alleine - als erster gekommen, aber beim Einrichten der vordergründigen Aktivitäten fehlte es halt: Kabel vom notebook zum Beamer. Deshalb war der (für mein Misstrauen) notwendige Test nicht möglich. Daher kam Hektik auf bei den Leuten, die für die Kabel zuständig sind.


... Ein Auto muss fahren ...Muss es können - - - stimmt, aber wenn niemand "am Lenker" ist und das Ding von selbst lenkt, Gas gibt und bremst ! ? ! ? Wer glaubt heute noch, dass die Englein lenken ?


... Wer erwartet denn, dass ein Auto sich nicht bewegt? Die Software dazu kann ich dir schreiben ...Hmmm, hmmmm - ich glaub, das wär noch etwas für die asuro-lib 3.0:

dont_move();

... Lass dich bloß nicht von dummen Sprüchen irgendwelcher Forumsteilnehmern beeinflussen ...Je dümmer die Sprüche, umso besser dünke ich mich.

@Klingon77: Du hast recht, stehende Motoren wären etwas. Aber dann geht mir dringend notwendiges Volumen "nach oben" verloren. Die Conrad-minis kenne ich noch nicht - da werd ich nachsehen. "Meine" kleinen Motoren sind vom Volumen her wie die gehackten Servos. Nur der Speed wäre besser - da käme ich auf über 1 m/s. Mit der Dose. Mit 20er Rädern. Mit der niedrigen Dose wäre das schon etwas . . . .

Sternthaler
29.09.2008, 00:38
Hallo oberallgeier,

oh, notebook-beamer-connection hat sich geweigert zu erscheinen. Da kann ich es verstehen, wenn etwas Hektik und Stress auftritt.

Zum weiteren dünken, hier dann mal eine Vorabversion vom Code, damit du ihn vor dem nächsten großen LIB-Update schon mal nutzen kannst.:

void dont_move()
{
int i;

SerWrite ("Brems-Countdown: ", 17);
for (i = 10; i >= 0; i++)
{
MSleep (1000);
PrintInt (i);
SerWrite (" .. ", 4);
}
SerWrite ("\n\r this is the end");
BackLED (ON, ON);
MotorSpeed (0, 0);
MotorDir (BREAK, BREAK);
}
Ein kleiner Hinweis: Die Funktion ist leider so komplex geworden, dass du sie unbedingt rechtzeitig vor der Tischkante aufrufen musst.

@all
Hier natürlich auch Grüße.
Die Idee von Klingon77 mit den senkrechten Motoren finde ich recht gut.
Die Fenster am Modell scheinen nicht durchsichtig zu sein. Dann könnten die Motoren ja in die Fahrerkabine hineinragen.
Die Elektronik unter die Motorhaube; und die Energie kommt in den Fußraum bzw. bis unter die demontierten Sitze.
Im Kofferraum bliebe dann noch Platz um dort ganz, ganz, kleine Coladosen transportieren zu können. Die sich dann ja noch selbstständig machen könnten. Das wäre die ultimative Kombination aus diesen beiden rivalisierenden dont_move- und move_mal-Ansätzen.


Um die Mechanik für eine echte Lenkung zu sparen, könnte der Wagen vorne ja auch nur auf einem Gleiter liegen. Somit wäre eine Übertragung der aktuellen Software wesentlich einfacher. Die Lenkgeometrie, und damit die Kurvenfahrtberechnung, ist ja erheblich aufwendiger bei einer echten Lenkung.
Auch die Mechanik dürfte so viel Platz einnehmen, dass dann ja wirklich kein Platz mehr vorhanden wäre.
Was meinst du Klingon77?

An der Lenkgeometrie hatte ich mich schon mal vor einiger Zeit versucht. Um ein Gefühl für die Anforderungen zu bekommen, hatte ich mir ein Legoauto zusammen gefummelt. Ich habe zwar nicht das schöne, bestimmt allgemeiner nutzbare, Programm wie du Klingon77, aber MLCad für Lego habe ich voll im Griff ;-).

Gruß Sternthaler

oberallgeier
29.09.2008, 09:28
... Vorabversion vom Code ... void dont_move() ...Huiii - voll eleganter Code. Und ich Schluri hab das ganz ungeschickt so gecodet:

for(uint8_t imot = mamo; imot <= mimo; imot = imot-2)
{
stupsi12 = imot; // Soll-tupsi herunter = abfahren
stupsi34 = imot;
waitms(2); // Warte je 2 ms
} // Motoren sind runtergelaufen bis mimo

Mlinksstop(); // Motoren stoppen
Mrechtsstop();
return; Die 2 ms Pause berücksichtigt zusammen mit der stupsi-Differenz "mamo - mimo" die Sprungantwort des Vehikels. Und mimo ist ein Durchschnittswert an dem (m)ein Motor stehen bleibt. (tupsi =: Timer Units Per Speed Interrupt - es ist der zeitliche Abstand zwischen zwei halben Motorumdrehungen = Anzahl Zeiteinheiten zu je 50µsec ; stupsi =: Soll tupsi).


... Legoauto zusammen gefummelt ...Ich glaube das wäre eine Alternative: ein autonomes Legoauto. Von dem erwartet ja wohl kaum jemand, dass es autonom fährt. Ob mit oder ohne Coladose im Kofferraum. Obwohl ich die politische Grundlage des Legoautos ändern würde: soviel Rot an der tragenden Basis und dann noch mal oben drauf gesetzt - - - und vorwärts und gelenkt gehts nur mit schwarz - - und eine dünnbrettige blaue Einlage . . . . was hast Du nur für politische Ansichten *brrrrrrrrr*.

radbruch
04.10.2008, 12:35
Tolles Projekt *applaus*

oberallgeier
14.10.2008, 19:34
Hallo alle,

@radbruch: Hi Mic, späten aber vielen Dank ! Das tut wirklich gut.


... Motoren ja in die Fahrerkabine hineinragen.
Die Elektronik unter die Motorhaube; und die Energie kommt in den Fußraum bzw. bis unter die demontierten Sitze ...Das Projektchen leidet im Wesentlichen an Platznot. Das verlinkte Bild zeigt gut den sehr freizügig genutzten Raum, der unter der Karosserie sehr wenig Platz lässt, wenn man, wie ich, möglichst wenig umbauen möchte.

......................https://dl.dropbox.com/s/25k3jm10hyi2245/misch-3-64.jpg?dl=0 (https://dl.dropbox.com/s/rojyu6fd6543imc/misch-2-DSC_1664.jpg?dl=0)

Es sind nur 3 AA an Bord - in einer hübschen Truhe mit Klappdeckel im Fahrzeugboden. Hier reicht m.E. der Platz nach einem gewissen Umbau für 4 AAA. Die Karrosserie ist recht haltbar ausgeführt, das heißt aber auch, dass die Wandstärken ziemlich dick sind - breite Wülste an Kanten etc. Fazit: kaum Platz für nen Controlle-Einbau. Meine m168er-SMD-Platine (Zielgröße ist Einbaumöglichkeit in die 015er-Dose) steht in Eagle, das Routen ist noch offen, bis ich eine möglichst optimale Bauteilplazierung habe.

Eigentlich nicht gut ist aber auch die Funksteuerung. Rein digitale Zweikanalsteuerung. Das Fahrzeug fährt also los, bis die maximale Geschwindigkeit erreicht ist - es sei denn, man macht mit dem Steuerknüppel eine händische PWM :(. Gelenkt wird ziemlich flott bis zum Maximalausschlag, weil der Steuermotor nur auf links oder rechts geschaltet werden kann.

Und deshalb finde ich das Projektchen wieder interessant: ich könnte die "autonome" Fahrweise durch Funksignale beeinflussen. Einfach die Ansteuerung der Motoren auf den Controller leiten: "vorwärts" heisst denn eben "schneller vorwärts" und "links" oder "rechts" könnte ein Funksignal an den Controller sein, vorbestimmte Fahraufgaben zu erledigen. Denn eines ist das Fahrzeug: es ist ziemlich schnell *gggggg*.

Ich sehe, ich bin schon wieder OT - denn das ist ja bereits das mögliche Folgeprojekt - aber es wird mit dem gleichen Controller geplant, um zu sehen, ob damit nicht nur langsam rollende Dosen sondern auch fixe Autos gesteueret werden können.

radbruch
14.10.2008, 19:50
Ich sehe, ich bin schon wieder OT
Ich glaube nicht dass man je ein Projekt zeilstrebig durchziehen kann. Es wird immer neue Ideen geben die ablenken...

oberallgeier
21.10.2008, 22:22
Hallo Minimalismus-Freunde,

eins der Folgeprojekte nach Dottie, sozusagen der Aufbau von R3D01 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&postdays=0&postorder=asc&start=44)hat begonnen. Beinahe könnte man schon sagen - wo geht noch etwas ohne Klingon77.

Die aktuellen "Hackeservos" passen ja nicht wirklich unter/in die 0,15-Liter-Dose. Und ich hatte mir in der Zwischenzeit aus den USA kleinere Motoren besorgt. Leider kam ich erst später drauf, dass der Hersteller der Motoren (http://www.solarbotics.com/motors_accessories/gear_motors/)in Canada sitzt. Hier mal ein Bildchen aus dessen Katalog (bei rund 40 mm Bildkante ist der Motor fast in originaler Größe):
......https://cdn.solarbotics.com/products/photos/6cc0879c71b5db5c76dc611d6ebaafc6/gm12a-img_4192.JPG?w=375

Diese Dinger haben noch eine kleine Beschaffungsgeschichte - nein, ich zähle jetzt nicht die Kosten für Versand und Zoll und Einfuhrzoll auf und sage auch nix über den Preis. Ich hatte die Motoren mit Sehnsucht erwartet, möglicherweise mit geringen Geschwindigkeitsübertretungen (ein Motorrad fällt normalerweise nicht in die Radarfalle) so schnell es ging vom Zoll abgeholt und natürlich gleich getestet. The american way of life: es stimmten (natürlich?) die Motoren nicht mit den technischen Daten des Händlers überein: statt 1400 Upm machten die grad mal 500 (das ist aber NICHT die Übersetzung 1:30), statt 145 mA im Leerlauf fraß das Ding nur 30 mA. Man könnte sagen: ok, langsamer, aber auch deutlich sparsamer. Mittlerweile, nach meiner Intervention, hat der Händler die technische Spezifikation im Katalog geändert (die Motoren wurden so aber schon seit über zwei Jahren verkauft ! !). Hier mal zwei Bildchen:

...... https://dl.dropbox.com/s/87yvx6rq2lfx7n6/mmini_mot_1661.jpg?dl=0 (https://dl.dropbox.com/s/87yvx6rq2lfx7n6/mmini_mot_1661.jpg?dl=0) ...... https://dl.dropbox.com/s/wdbzus25lgpnojt/mmini_mot_1663.jpg?dl=0
Das Maßbändchen ist metrisch! Die Abtriebswelle ist D3mm, die Motorwelle ist 1 mm - dort kommt der Encoder drauf - deshalb hatte Klingon77 sich wieder mal in seinen Zauber-Keller begeben.

Leider passt nämlich meine kleine Gabellichtschranke nicht in das Ge.triebe. Da die Demontage und Montage des Getriebes vermutlich zu Verformungen der sehr präzisen Lagerplatten geführt hätte, schied eine Demontage und Bearbeitung der Lagerplatten allein aus. Klingon77 hatte sich freundlicherweise bereit erklärt, hier seinen Fräser anzusetzen, und mir den Weg zur Lichtschrankenmessung freizumachen. Danke Klingon77. Und er hatte das natürlich auch hinbekommen. Die Bilder seiner Arbeit folgen getrennt.

Wenn ich mit der Arbeit weiter bin, wird natürlich auch darüber berichtet. Dummerweise brauche ich für Dottie-in-der-150ml-Dose aber eine SMD Platine für den m168/TQFP - und ich habe gerade meine erste selbstgemachte SMD-Platine (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=401144#401144)geschrottet - der FTDI-232 starb den Hitzetod. Aber der m168/TQFP ist billiger *gggggg*. Na ja, die tierische Arbeit kommt noch: routen auf der 49mm x 50 mm Platine. (https://dl.dropbox.com/s/uor07zp2tozq1sa/m168n-x03e.jpg?dl=0) Aber ich glaube, die Abblock-Kondensatoren kommen noch auf die Unterseite - das Geld werd ich wohl investieren. Und vermutlich kommen die Pfostenstecker auch auf die "andere" Seite. Aber das gäbe schon mal Kompatibilitätsprobleme mit der aktuellen Hardware/Peripherie.

Klingon77
22.10.2008, 16:56
hi,

mal Dank für die Blumen O:)

Strenggenommen (rein logisch betrachtet) war es kein Problem.
Mit einem 2 mm Einschneider eintauchen, verfahren, zurück, eintauchen ...

Die Sache ist die, daß wir ziemlich nah an die Zahnrädchen wollten.
Einmal falsch gefahren und das Getriebe hat seine beste Zeit noch vor Inbetriebnahme gehabt.

Na ja; es hat dann funktioniert.

Pro Getriebe ca. 1 Stunde gebraucht, weil ich vor jedem Tastendruck nochmal darüber nachgedacht habe ob der Finger nun auch die richtige Taste betätigt und die Fräse auch mit dem richtigen Maß, der korrekten Geschwindigkeit in die vorgesehene Richtung fährt [-o< ](*,) O:)

Die Ecke ist rausgefräst und somit ein wenig mehr Platz für die Lichtschranke vorhanden.

Anbei noch zwei Fotos in richtig groß; nicht wegen der Fräsarbeit sondern weil die Motoren mit den Getrieben wirklich "schnuffelig" sind.


http://klingon77.roboterbastler.de/ZZZ%20Roboternetz%20Forum-Bilder/2008-10-21-Getriebe-Oberallgeier/2008_10220002-klein.jpg


Das Streichholz ist ein herkömmliches Haushalts-Streichholz.
Kein Kaminholz oder ähnliches.


http://klingon77.roboterbastler.de/ZZZ%20Roboternetz%20Forum-Bilder/2008-10-21-Getriebe-Oberallgeier/2008_10220001-Getriebe.JPG


Nun arbeiten wir noch an einem Entwurf für zwei Radachsen mit Rädern.

Wenn es diesbezüglich Neuigkeiten gibt, schreibe ich nochmal was dazu.

liebe Grüße,

Klingon77

Sternthaler
24.10.2008, 17:31
Hallo zusammen,

huch, so klein und dann noch rumfräsen?
Ich kann mir schon gar nicht vorstellen wie das Teil in einer Dreh-/Fräsebank eingespannt werden kann.
Ich hab aber eine Frage zum dann einzubauenden Sensor. Wenn nun genügend Platz vorhanden ist für die Gabellichtsckranke, was kommt zwischen die Gabel?

Die Schränke aus der Dotti kenne ich ja und das dort vorhandene Flügelchen. Wo kommt hier der Flügel hin?

Gruß Sternthaler

oberallgeier
24.10.2008, 23:35
... Wo kommt hier der Flügel hin ...In meiner Vorstellung geht das ganz einfach: Getriebe abmontieren, dann passt die Motorwelle mit dem Motorritzel durch die Getriebegrundplatte (=teilweiser Ausbau). Nun wird "das Flügelchen" - vermutlich mehr als zweiflügelig - eingeschoben. Den ähnlichen Vorgang kennst Du von Deinem CD-Spieler. Motor mit Ritzel leicht vorschieben und die überstehende Motorwelle geht durch die Flügelchen-Zentralbohrung. Dabei liegt das Flügelchen in Richtung Getriebe-Abtriebswelle auf dem Gegenrad des Motorritzels. Ein Mikrotropfen Cyanacrylat - und dann sollte Flügelchen+Ritzel lebenslang verbunden sein. Motor ganz reinschieben und mit Getriebegrundplatte verschrauben. Motor-Getriebe-Einheit auf den Motorträger schrauben. Auf dem ist die Gabellichtschranke schon fertig installiert aufgebaut. Festschrauben. Testfahrt - hmmmmmm - was dann kommt - das steht in einem späteren Posting. Oder, wie es so schön heißt: Fortsetzung folgt.

Klingon77
29.10.2008, 12:35
hi,

damit oberallgeier´s Minni-Robby auch auf die Füße (Räder) kommt, habe ich wie angedroht welche gefertigt:

http://klingon77.roboterbastler.de/ZZZ%20Roboternetz%20Forum-Bilder/2008-10-29-Raeder-Oberallgeier/Bild%20009-klein.jpg

Zuerst eine Radnabe.
Der Zapfen ist 3 - 0,02mm im Durchmesser und die drei Nabengewinde sind M2.
Mit den drei Gewinden hätte ich noch 2/10 - 3/10mm weiter nach außen gehen können. Da habe ich nicht aufgepasst... :cry:
Auf der Rückseite befindet sich dann eine Sacklochbohrung 3 H7 mit einer radialen Madenschraube M3.



http://klingon77.roboterbastler.de/ZZZ%20Roboternetz%20Forum-Bilder/2008-10-29-Raeder-Oberallgeier/Bild%20010-klein.jpg

Dann wurde ein Radsatz aus 4mm starkem Makrolon gefertigt.
Umlaufend sind zwei kleine 60 Grad Nuten gedreht, in welche sich die 1mm starken O-Ringe unter leichtem Zug einlegen lassen.
Die Felgen sind beidseitig ca. 1mm tief ausgespart und wegen der Optik mit sechs Bohrungen versehen.
Der Felgen-Außendurchmesser beträgt 24,1mm (O-Ring Außenkante). Die zentrische Aufnahmebohrung ist 3 H7.



http://klingon77.roboterbastler.de/ZZZ%20Roboternetz%20Forum-Bilder/2008-10-29-Raeder-Oberallgeier/Bild%20012-klein.jpg

Weil es keinen Spass macht die Möglichkeit zum Radwechsel zu haben und dann nur einen Radsatz zu besitzen fertigte ich noch zwei Räder (ging in einem hin...).
Die blieben entsprechend dem Wunsch von Oberallgeier ohne Bohrungen.




Obwohl ich bei der Fertigung große Sorgfalt walten lies (Zapfen/Aufnahmebohrung) hat eines der Räder einen leichten Radialschlag von ca. 0,25mm an der oberen Außenkante...

Wo mein Fehler genau liegt kann ich nicht sagen.
Ich vermute mal, daß ich nach dem einbringen des Gewindes für die M3 Radial-Klemmschraube nicht sauber gearbeitet habe als ich erneut mit der Reibahle (vorsichtig von Hand) in die Bohrung bin um den Grat in der Bohrung zu entfernen.
Da muß ich das nächste mal erst die Radialbohrung mit Gewinde einbringen und dann nochmal auf die Drehmaschine zum reiben der axialen Aufnahmebohrung.

Na ja; wieder was gelernt.


liebe Grüße,

Klingon77

PCF8574P
29.10.2008, 12:45
Hallo

Klingon, ich bin begeistert.

>>Obwohl ich bei der...
Meinst du die kleine Beule am ersatzrad ohne die Löcher im 3.Bild??.
Das finde ich nicht so schlimm, denn ich glaube das Rad ist deswegen ja nicht unrund. Ich würde sagen ein zwei mal mit einer feinen Nagelfeile drüber und weg ist das.

Wie breit ist denn die Konstruktion??
Also von Motor ende bis zu ende Schraube fürs Rad??

//MFG

@oberallgeier:

Ich baue mir gerade auch eine Dose. 0,33 Pepsi.
Erstens weil ich mein Wissen über µCs noch weiter verbessern will und ich deine Dose absolut GEIL finde.
Hoffe das ist für dich ok.

MFG

Klingon77
29.10.2008, 12:52
hi,

nicht die Beule. Das schein mir noch ein wenig Grat zu sein...


Entweder sitzt die Radnabe nicht 100% auf der Welle oder das Rad ist in sich etwas verzogen (Kunststoff).
Den Zapfen und die Anlagefläche im Messing habe ich in einer Aufspannung gedreht.
Um die Aufnahmebohrung 3 H7 auf der Rückseite einzubringen mußte ich natürlich umspannen.
Evtl. habe ich da schon den "Klops" geschossen.
Das Teil war auch zu kurz um nach dem Umspannen nochmals die Meßuhr dranzusetzen und es 100% auszurichten.
Evtl. habe ich auch einen kleinen Span übersehen?

Genau kann ich das leider nicht sagen.

Es lehrt mich ein wenig gründlicher zu arbeiten und etwas mehr Geduld aufzubringen.


Die Breite der gesamten Konstruktion habe ich leider nicht gemessen.
Das kann ggf. Oberallgeier nochmal nachholen.

liebe Grüße,

Klingon77

oberallgeier
29.10.2008, 18:15
Hallo Klingon77, hi alle Dosenthreadleser,


... damit oberallgeier´s Minni-Robby auch auf die Füße (Räder) kommt, habe ich ... welche gefertigt ...... und es ist wieder die bekannte Klingonenklasse geworden. Einfach so prächtig wie alles aus dem Hause Klingon77. (Wir werden den Song umdichten müssen: seventy seven Klingon Street . . . .). Also ein ganz grosses Lob und vielen Dank für Deinen Aufwand.


... Ich baue ... eine Dose. 0,33 Pepsi ...Ihhhh - Pepsi schmeckt mir nicht (und seit längerem trink ich auch kaum Coca).


... deine Dose absolut GEIL finde. Hoffe das ist für dich ok ...Ist ok, klar, ich habe keinen Musterschutz angemeldet. Eher freue ich mich über Dein Lob. Wenn ich Dir helfen kann sags einfach.

Ausserdem kommt in nächster Zeit bei mir sowieso eine kleinere Dose dran, die 0,15er - weil in der alten noch soooo viel Luft war (aber eigentlich kein unbenutzer Platz mehr). Das braucht aber noch ne ganze Weile. Da muss eine Steuerung in SMD her. Leider schaff ich deswegen schon wieder nicht den nächsten Termin (denn die 0,15-l-Dose hätte mit passender Verkleidung als Adventskerze herhalten können). Diese kleine Dose bringt aber noch ein anderes Problem: selbst mit den Motörchen, die Klingon gerade umgebaut hat, komme ich praktisch nicht mit dem Platz aus, die Spurweite wird zu gross - und die Räder aussenbords sehen absolut Sch.... aus. Aber ich habe noch Plan B und wohl auch einen unschönen Plan C. Die Motoren "hochkant" mit Kegelrad, siehe Vorschlag von Klingon77, gehen ja leider nicht, weil ich den Platz "oben" dringend für die Elektronik brauche.


... Wie breit ist denn die Konstruktion??Für ne 0,33-l-Dose wirds für zwei Motoren "inline" - also Motorachsen koaxial - wohl grad so reichen. Bevor Du Motoren jenseits des Teiches bestellst sag bitte Bescheid.

Klingon77
29.10.2008, 19:16
hi,

Mal Dank für das Lob; es war leider nicht meine beste Arbeit.
Ich glaube wenn ich ganz in Metall gearbeitet hätte wäre es besser geworden.



Wie wäre es, wenn Du aus der Not eine Tugend machst ?

Die Räder einfach mit formschönen Schutzblechen umgeben?

z.B: aus 1mm starkem Makrolon.

Wenn Du mir eine im CAD gezeichnete Abwicklung als DXF schickst sollte ich sie fräsen können.

Die Stirnseite ebenso.

Die mit Heißluft gebogene Umlauf-Fläche und die Stirnseite werden miteinander verklebt.

Der ges. Kotflügel dann mit Silikon an die Dose gepappt.

Durch die transparenz sollte die Optik nicht leiden.


Eine andere Alternative wäre ein Schutzblech wie an den Vorderrädern von Oldtimern.

Man könnte die evtl. aus einer etwas dickeren Kunststoffplatte ausdrehen und dann mit Sägeschnitt entsprechend dem geplanten Umschlingungswinkel teilen.

Die Innenseite bleibt dabei etwas mehr stehen. Dort können mit Hilfe von M 1,x Schrauben und Muttern der Kotflügel an die Dose montiert werden.

Das schöne an dieser Methode ist die einfache Montage und Justage der Kotflügel.

liebe Grüße,

Klingon77

oberallgeier
29.10.2008, 23:06
Hallo Klingon77,


... Wie wäre es, wenn Du aus der Not eine Tugend machst ... Räder einfach mit formschönen Schutzblechen umgeben ...Danke für das Angebot. Wie gesagt existiert bei mir zwei Varianten mit innenliegenden Rädern, die ich erst ausprobieren möchte. Deshalb möchte ich auch erst darüber schreiben, wenn ich die Ergebnisse kenne. Wie gesagt: Plan A wäre das Feinste, Plan B existiert wenigstens theoretisch. Beide haben die Räder drinnen. Wenn die nicht klappen komme ich gerne wieder auf die Schutzblechlösung zurück. Übrigens: ich habe für Dottie auch Original-Coca-Räder, vielmehr schicke rote Radkappen aus Kronkorkenausschnitten von Colaflaschen. Die passen von der Größe wunderbar. Da aber die Räder von Dottie praktisch nicht sichtbar sind, wurden die nackten Felgen eingebaut.

PCF8574P
30.10.2008, 13:59
Bevor Du Motoren jenseits des Teiches bestellst sag bitte Bescheid.

was meinst du mit Teich. Ich habe mir letzte Woche beim Ansässigen Modellbauladen 2 10g Robbe servos bestellt.

Gestern habe ich dann die großen Runden Platinen gefräst.
Die 2 H-Servos drauf und leider zu weit vorne. Also jetzt dann mal noch mal runter und weiter hinten anbringen.
Eigentlich habe ich es mir angezeichnet gehabt :-k ](*,)

naja,

Wovor ich eigentlich Angst habe sind die Räder.
Im Moment habe ich 2 Lego Riehmenscheiben montiert.
Die sind leider etwas zu gross.
Jetzt mus ich schauen wie und woher ich kleine 20er Scheiben bekomme und da auch noch ne Gummi draufbring, wobei das dann ja das kleinere Problem ist.



---PCF8574P hat folgendes geschrieben::
---... Ich baue ... eine Dose. 0,33 Pepsi ...
>>>Ihhhh - Pepsi schmeckt mir nicht (und seit längerem trink ich auch kaum Coca).

Naja. Ich drinke auch nurWenig Pepsi.
Dafür vieeeeeeel Cola.
Mir gefällt hallt das Pepsi design viel besser.

MFG

oberallgeier
30.10.2008, 14:43
Hallo Klingon77,

die Motoren und die Räder sind da. Danke nochmal. Die Räder sehen ja wirklich schick aus mit den dünnen Zwillingsreifen. Ich bin ganz begeistert. Jetzt fängt die Arbeit für mich an - das wird etliche Tage gehen: Encoderscheibe machen, danach befestigen . . . . . und alles das. Und ich musste heute meine Nase ganz tief ins Getriebe stecken um die Zähne der Rädchen zu zählen. Ich brauche ja für die Berechnung der Abtriebsdrehzahl aus der Motordrehzahl die genaue Übersetzung. Es wird mit der Fortsetzung etwas dauern, weil sich einige Dinge hier angesammelt haben. Dinge die zum Thema passen und andere. Wenn ich deutlich weiter bin, werde ich mich melden.


... was meinst du mit Teich ...Den Teich, den ich meine, nannten wir in der Schule in Geo immer Atlantik. Ich dachte nur, Du meintest mit Motoren die, die mir Klingon77 etwas abgefräst hatte, die hatte ich in Nevada bestellt. Aber Du arbeitest ja mit umgebauten Servos. Das habe ich bei Dottie ja auch eingebaut. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40507&highlight=) Übrigens hatte ich dafür Radkappen aus Kronenkorken gebastelt (siehe voriges Posting von mir).


... Wovor ich eigentlich Angst habe sind die Räder ...Meine Räder sind kreisrunde Servo-"Hebel". Ich weiss nicht, wie die im Modellbau heissen. Die waren bei den Billigservos vom großen C. (http://www1.conrad.de/scripts/wgate/zcop_b2c/~flNlc3Npb249UDkwV0dBVEU6Q19BR0FURTEwOjAwMDEuMDA2M C40NTQ4NDRhZiZ+aHR0cF9jb250ZW50X2NoYXJzZXQ9aXNvLTg 4NTktMSZ+U3RhdGU9MTQ1MjIzMzE5OA==?~template=PCAT_A REA_S_BROWSE&mfhelp=&p_selected_area=%24ROOT&p_selected_area_fh=&perform_special_action=&glb_user_js=Y&shop=B2C&vgl_artikel_in_index=&product_show_id=&p_page_to_display=DirektSearch&~cookies=1&zhmmh_lfo=&zhmmh_area_kz=ln&s_haupt_kategorie=&p_searchstring=&p_searchstring_artnr=230500&p_searchstring_manufac_artnr=&p_search_category=alle&fh_directcall=&r3_matn=&insert_kz=&gvlon=&area_s_url=&brand=&amount=&new_item_quantity=&area_url=&direkt_aufriss_area=&p_countdown=&p_80=&p_80_category=&p_80_article=&p_next_template_after_login=&mindestbestellwert=&login=&password=&bpemail=&bpid=&url=&show_wk=&use_search=3&p_back_template=&template=&kat_save=&updatestr=&vgl_artikel_in_vgl=&titel=&darsteller=®isseur=&anbieter=&genre=&fsk=&jahr=&jahr2=&dvd_error=X&dvd_empty_error=X&dvd_year_error=&call_dvd=&kna_news=&p_status_scenario=&documentselector=&aktiv=&gewinnspiel=&p_load_area=$ROOT&p_artikelbilder_mode=&p_sortopt=&page=&p_catalog_max_results=20) Sie haben einen Durchmesser von 19 mm, sind etwa 2 mm dick und ich habe O-Ringe draufgezogen, 16x3 (Innendurchmesser 16 mm, 3 mm Rundschnurdurchmesser). Im montierten Zustand haben die Räder 24,1 mm Aussendurchmesser. Der Vorteil dabei ist, dass ich auf diesen Rädern gleich die Zahnkupplung für die Servo-Abtriebswelle drauf habe, siehe Bild.

...............................https://dl.dropbox.com/s/fn7unzyqsgzkkgy/Rad_Dottie.jpg?dl=0


... Mir gefällt hallt das Pepsi design viel besser ...Hast recht, das Ganze ist sowieso nur eine Design-Frage.

PCF8574P
30.10.2008, 19:20
tja bei mir waren keine dabei

meine Dose wird bei der version1P erstamel kleine "Beulchen" bekommen.
Wenn ich eine alternative habe wird sie natürlich gleich eingebaut.

Als Bodengleiter habe ich entweder 2 oder 4 Büroklammern vorgesehen, oder wie ich im örtlichen 1€ Shop entdeckt hatte, Filzmöbel unterlagen.
Muss mal schauen was sich besser verhält.

Diese Version1P wird whrscheinlich nicht gleich so toll, aber man kann immer verbessern (:

MFG

Klingon77
30.10.2008, 21:24
...
die Motoren und die Räder sind da
...


Das soll mal einer verstehen.
Ich freue mich mit Dir, daß die Räder so rasch angekommen sind.
Die konnte ich noch als "Dickbrief" verschicken.

Wenn ich sie in der gleichen Verpackung als Päckchen verschickt hätte, würde sich die Laufzeit bei der Post wohl um mehrere 100% erhöhen.
Dafür wäre es auch fast doppelt so teuer wie ein "Dickbrief".

Genau hier endet sowohl mein "Latein" als auch mein Verständnis von "Logik".





...............................http://oberallgeier.ob.funpic.de/Rad_Dottie.jpg



Da muß man erst mal drauf kommen.

Ich sag´s ja immer wieder:
"Die wahren Künstler sind die, welche aus wenig kreativ etwas zusammensetzen"!

Mit einer Kleinen Drehe und einer Bohrmaschine ein paar Räder zu bauen ist dagegen einfach.


liebe Grüße,

Klingon77


PS: Im Falle eines Platten´s oder ähnlich gelagerten Problemen darfst Du Dich gerne wieder an mich wenden.
Würde mich freuen!

oberallgeier
30.10.2008, 22:33
tja bei mir waren keine dabei ...Ich hab noch ein paar übrig. Die kann ich Dir schicken, zusammen mit den O-Ringen. Schreib ne PN. Die Dinge heissen wohl: "Servohorn rund". Übrigens, wenn Du nicht beim großen C einkaufen willst: der Carson 502001 ist bis auf das Firmenschildchen identisch mit dem 5-€-TOP-LINE MINI SERVO (http://www1.conrad.de/scripts/wgate/zcop_b2c/~flN0YXRlPTE3OTk3NzE1Mzg=?~template=PCAT_AREA_S_BR OWSE&glb_user_js=Y&shop=B2C&p_searchstring=servo&s_haupt_kategorie=alle&zhmmh_area_kz=&p_init_ipc=X&p_page_to_display=DirektSearch&~cookies=1&scrwidth=1280) vom C. Und - wenn Du keine Geschwindigkeitsregelung brauchst, wenn Du also mit gehackten Servos fahren willsts, die noch die Elektronik drin haben, dann könntest Du die DIGI LINE MICRO SERVO (http://www1.conrad.de/scripts/wgate/zcop_b2c/~flN0YXRlPTE3OTk3NzE1Mzg=?~template=PCAT_AREA_S_BR OWSE&glb_user_js=Y&shop=B2C&p_searchstring=servo&s_haupt_kategorie=alle&zhmmh_area_kz=&p_init_ipc=X&p_page_to_display=DirektSearch&~cookies=1&scrwidth=1280) vom C nehmen. Zum Hacken von diesen wirklichen Mini-Servos gibts diesen Thread. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=42121&highlight=) Allerdings ist der Typ sehr energiehungrig: bei mir läuft ein Servo bei 6,xx Volt und Strombegrenzung auf 350 mA noch immer ruckelig, erst ab Strombegrenzung 400 mA läuft er bei Stellvorgängen rund.


... Als Bodengleiter habe ich entweder 2 oder 4 Büroklammern vorgesehen, oder wie ich im örtlichen 1€ Shop entdeckt hatte, Filzmöbel unterlagen ...Filzgleiter sind nicht schlecht, aber bei Teppichboden total unmöglich. Ich hatte dieselbe Idee wie Du - Büroklammern. Und ich kann Dir versichern, dass bei passender Lastverteilung (bei mir ist die recht ausgeglichen) diese Metalldinge nicht mal auf meinem guten Eichen-Esstisch Spuren hinterlassen. Ausserdem sind das gleich die Auflagen für die Karosserie. Fazit: wer hat weniger Bodenfreiheit als mein Dottie? Allenfalls ein Hoovercraft. Übrigens waren mir die Büroklammern irgendwann zu popelig - da hatte ich die Häkchen aus Edelstahl-Schweißstab gemacht - Ø 1,2 mm. Die Befestigung erfolgt an den zwei Stützpfeilern - M3-Gewindestangen, VA. Die gehen vom Fahrschemel bis oben hin. Diese beiden Gewindestangen sind sozusagen die tragenden Pfeiler der Mehr-Deck-Konstruktion.

...........................https://dl.dropbox.com/s/c7jrmg53z56hm65/kufen_Dottie.jpg?dl=0


... Diese Version1P wird whrscheinlich nicht gleich so toll, aber man kann immer verbessern (: ...Genau das ist es. Du weißt sehr genau was besser ist als Fortschritt. Das ist Verbesserung. Weiter viel Erfolg.


... Da muß man erst mal drauf kommen ...Ach Du ! Dir fallen doch ähnliche Dinge ein, wenn Du vor einem Problem stehst. Und ich hatte erst die verrücktesten Behelfe, bis mir das einfiel. War mehr ne Notlösung. Aber es ist mittlerweile das Einzige das passt. Platzmässig. Und zu den Minimotörchen hatte ich eine eigene Lösung kaum machen können, weil mir zu dem angefasten Wellenstummel nichts eingefallen war. Und jetzt bist Du ja eingesprungen. Danke!

PCF8574P
31.10.2008, 09:51
Hallo,

Ja ich schicke dir mal ne PN.

Gestern habe ich noch ein wenig mit der stellung der Servos gespielt.
Im Moment ist der Raddurchmesser cirka um 1-2mm zu groß. Der Gummi der Draufkommt macht nichts mehr aus. Denn die "Felgen" haben ja recht große Rinnen.

Das mit dem Drahtgleicter muss ich auch machen. Ich habe gestern noch mit meinem S2-LINE noch Büroklammern getestet und die gefallen mit nett so. Meine Pepsi soll auch nicht auf Teppich fahren ;)

Zudem Muss ich mir noch was überlegen das die Servos fester sitzen.

MFG

oberallgeier
31.10.2008, 15:11
... Meine Pepsi soll auch nicht auf Teppich fahren ...Vermutlich werden die Filzgleiter schon Probleme bei Zeitungs- und anderem Papier machen. Ich hatte ne Zeitlang überlegt als Gleiter so hochglänzende Knöpfe zu nehmen, die man ähnlich wie die Filzgleiter im Baumarkt für Stuhlbeine kaufen kann. Aber das wäre auch überdimensioniert gewesen. Die sind ja für über 10 kg/cm² Flächenbelastung.


... Muss ... mir noch was überlegen das die Servos fester sitzen ...Ich hatte in den Fahrschemel die vier U-förmigen Halterungen (https://dl.dropbox.com/s/iogcsc90mftunt8/fahrschemel_1257.jpg?dl=0) gelötet, die sehr knapp neben die Servos passen. Siehe auch mein letztes Posting. Damit werden die Servos sehr fest und vibrationsfrei nur von den beiden Haltestangen fixiert. Sie sind also schnell und einfach zu montieren und zu demontieren. Rallye-proof. Dabei war für mich von Vorteil, dass die Servos auf jeder Seite nur ein Befestigungsloch haben, das auch symmetrisch sitzt. Die Servos sind ja auch "auf Umschlag" montiert - d.h. wenn beide theoretisch in die gleiche Richtung drehen, dann würde Dottie um die Hochachse rotieren.

PCF8574P
31.10.2008, 15:21
ich habe auch 4 U-Förmige halterungen. 2 davon auf einer M3 Gewindestanke.
Damit sitzen sie auch recht fest, aber ich kann sie noch leicht hin und her bewegen.

Ich versuche gerade eine Unviversalhalterung für gleicter zu bauen (nur zum testen) das ich verschiedene Ausprobieren kann.

MFG

oberallgeier
11.11.2008, 21:56
Hallo Gemeinde,

diese Woche schon meine zweite Enttäuschung. Die erste war der Verlust von einigen Controllern und einem USB-Programmiergerät. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=44155&highlight=) Kann man nachkaufen, ist eben leider ein finanzieller Verlust. Diese Enttäuschung hier wiegt für meine Minidose schwer:

Die wunderschöne Arbeit von Klingon77 war umsonst. Die Aussparung lässt sich trotz aller Bemühungen nicht für eine wenigstens ausreichende Encoderfunktion nutzen. Ich dachte, ich könnte das Datenblatt besch...en, aber es half nichts. Der verfügbare Raum für den Encoder (-flügel oder -scheibe) ist so knapp, dass ich weniger als 0,4 mm in die Lichtschranke eintauche. Das Datenblatt verlangt mindestens das Vierfache. Aufbau meiner Lösung und Test zeigten, dass die erzielbare Welligkeit so gering ist, dass kein sinnvolles Signal abgenommen werden kann. Schade.

Jedenfalls mein Dank an Klingon77 für die präzise Arbeit.

Und das Fazit: Ohne Encoder (auf der Motorwelle) lässt sich der Motor natürlich nicht geregelt fahren. Da ich für den PWM-Betrieb dieser Minimotoren noch immer keine Möglichkeit habe, in der Aus-Lücke die Drehzahl zu messen, müsste ich auf die Regelung verzichten. Und das würde ziemlich schief gehen mit dem geradeaus oder definiert Kurven fahren. Schade.

vklaffehn
12.11.2008, 07:03
Moin!
Wäre es nicht möglich, eine Reflexlichtschranke hinter das Rad zu montieren, sowas wie ein CNY70?
MfG
Volker

oberallgeier
12.11.2008, 08:01
Hi volker,


... eine Reflexlichtschranke hinter das Rad ... ? ...Natürlich. Leider ist dann die Auflösung sehr gering. Mein Dottie fährt bolzengeradeaus. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390196#390196) Da habe ich einen zweiflügeligen Unterbrecher in der Gabellichtschranke und eine Untersetzung Motor-Antriebsrad (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=344432#344432) von 768:1. Ich bekomme für eine Radumdrehung 1536 Impulse. Das Rad hat ø24. Ich erhalte etwas mehr als 20 Impulse pro Millimeter zurückgelegten Weg (ohne Schlupf gerechnet). Das schlägt sich auf die Regelungsgenauigkeit nieder (kurze Totzeit in der Sensorik, hohe Auflösung) und ist für den Controller locker zu machen - allerdings schluckt die Regelungsroutine schon einen hoch einstelligen Prozentanteil meiner CPU-Zeit (mega168/20MHz).

Die aktuell geplanten Räder für die Minidose haben ø22. Und ich habe (noch/schon) ein Encoderrad ø14,5 (https://dl.dropbox.com/s/o6ikyqklnmudiqg/encD15.jpg?dl=0) mit 60 Schlitzen hier rumliegen. Blos - da ist die Auflösung dann ... ach Du kannst ja selbst rechnen/schätzen.

Klingon77
13.11.2008, 10:06
hi oberallgeier,

wirklich schade, daß es nicht funktioniert, wie Du es geplan hattest :cry:

Der Sensor der Lichtschranke sitzt, glaube ich, nicht an direkt an der Oberkante derselben.

Wäre es nicht möglich diese Kante einfach ein wenig abzufeilen, damit Du tiefer eintauchen kannst und das Signal somit verbessert wird?

Jeder 1/10mm sollte da schon eine Verbesserung bringen und falls Du zu tief feilst; so ein Sensor kostet nicht die Welt.
Ich denke, das wäre einen Versuch wert.



Andere Möglichkeit:
Unter der Platine hast Du noch ca. 10 mm Luft nach unten.
Wie wäre es, den Sender und Empfänger unter die Platine zu bauen und in das Getriebegehäuse zwei Umlenkspiegel im 45 Grad Winkel einzukleben?

Ginge das vom Platzbedarf?

Eine kleine lichtdichte Abdeckung für Sender und Empfänger unter der Platine wäre schnell gefräst.


Evtl. könntest Du Deinen Unterbrecher auch an ein anderes Zahnrad verlegen und so mit etwas weniger Auflösung eine Gabellichtschranke realisieren?


Einen kleinen, leichten, stumpf aufgeklebten Unterbrecher auf die Motorwelle der Rückseite des Motors könnte ebenfalls möglich sein.
Die Lichtschranke könnte dann direkt über dem Motor (am hinteren Ende) sitzen.
Die Platine müsste im Bereich des hinteren Endes des Motors etwas ausgespart werden.
Als Unterbrecher könnte ich mir 0,1mm dickes Blech vorstellen, welches mit Metallkleber (z.B: Lager- und Buchsenkleber von Conrad) aufgeklebt wird.

Das baut nur sehr wenig länger!



Das Getriebe ist offen:
Wenn man ein Zahnrad mit dem selben Modul bekommt könnte man es einfach an das bestehtende Getriebe ansetzen und die Lichtschranke aus dem Getriebe raus versetzen.

http://www.modellbauershop.de/

Zahnräder ab Modul 0,3 (ob das schon reicht?) Ggf. den Hersteller mal anmailen ob Du zwei Zahnräder separat erhalten kannst.


Das sind so einige mögliche Wege, welche mir einfallen.


liebe Grüße,

Klingon77

KR-500
15.11.2008, 10:15
Hallo,

Erstmal tolles Projekt gefällt mir sehr.
Das passt jetzt vielleicht nicht ganz zu dem oben geschriebenen, aber ich wollte trotzdem noch erwähnen, dass wenn man eine 9V-Blockbattrie aufmacht, 6 kleine 1,5V Batterien hat. Den Trick kannten vielleicht einige schon, aber da ich diesen Thread aufmerksam mitgelesen habe und es offensichtlich öfters mal Platzprobleme gab hab ich es noch erwähnt.

KR-500

radbruch
15.11.2008, 10:37
Die 9V-Blocks gibt es in verschiedenen Varianten. Entweder mehrere Zellen übereinander geschichtet oder eben als Mini-1,5V/1,2V-Batterien/Akkus nebeneinander verbaut:

https://www.roboternetz.de/phpBB2/album_thumbnail.php?pic_id=1278 (https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1278) https://www.roboternetz.de/phpBB2/album_thumbnail.php?pic_id=1279 (https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1279)
aus https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=259410#259410

oberallgeier
16.11.2008, 10:25
Kleiner Zwischenbericht,

@Klingon77: Danke für Deine Vorschläge. Einige werde ich noch prüfen, manche hatte ich schon überlegt,getestet,etc und musste sie verwerfen. Leider. Derzeit habe ich andere Probleme *schnief*.

@KR-500+radbruch: Danke KR-500 für das Lob, danke für die Hilfe. Für einige Projektchen hatte ich die 9V-Blöcke schon genommen. Ich kenne auch deren Aufbau - und deren übliche Spezifikation. Ich hatte aber auch vor dem Aufbau der Energieversorgung von Dottie dessen Strombedarf gemessen und daher hochstromfähige Akkus genommen. Die kleinen Block-Einzelzellen können diese Belastung leider nicht bringen. Servo + Motoren + 3 irLEDs + GP2D120 sind ziemliche Stromfresser, wenn auch nur stoßweise aber in nicht vorhersehbarer Kombination. Das digitale Multimeter sagt zwar als Durchschnittbelastung nichts alarmierendes, aber bei geringer belastbaren Stromquellen hätte ich sehr unschöne Spannungseinbrüche. Da helfen selbst die 4 Volt Überschuss nicht, die allerdings im Spannungsregler verheizt werden müssten. Beispiel: Stromversorgung über Labornetzteil und Strombegrenzung auf 350 mA: dann ruckelt der Servo, der ja parallel zu den Motoren läuft, schon ziemlich krank. Schade. Trotzdem danke.

oberallgeier
05.12.2008, 17:47
Aus gut unterrichteten Kreisen eines oberallgäuer Motorsportvereins sei ein herrenloses Fahrzeug, offensichtlich mit Elektromotor (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=402226#402226)angetrieben - vielleicht ein Hybride? - gesehen worden. Das Fahrzeug hatte möglicherweise keine vollständige Karosserie - vermutlich gedacht als Erlkönig-Tarnung. Der Berichter, der unbekannt bleiben will, sprach von schauderhafter Strassenlage des Fahrzeugs, das schon bei mittleren Geschwindigkeiten (die aber eher hoch aussahen) zum Übersteuern neigte, er hätte einzelne vollständige Schleuderturns gesehen. Unklar ist, wieso nicht erkannbar war, dass das Fahrzeug bemannt gewesen wäre. Schließlich vermutete man einen überhöhten Alkoholpegel - diesmal nicht beim (nicht vorhandenen) Fahrer.

Klingon77
05.12.2008, 18:12
hi oberallgeier,

doch keine alkoholfreie Dose genommen? :-k

Bilder / Video möglich?

freu mich schon \:D/

oberallgeier
05.12.2008, 18:19
... alkoholfreie Dose genommen ...Bier macht dick und alk mach krank, ich bin Kiffer, gottseidank.


... Bilder / Video möglich ...Du kennst mich: aus Gründen der Selbstachtung vermeide ich die Darstellung allzudämlicher Teillösungen. Ausserdem - bei den immer wieder auftretenden Schleuderturns - das Fahrzeug fährt flott dahin, es soll abgebogen werden, Platz wird eng, es wird also noch abgebremst, schöner Ringelpietz - kann ich mich nicht schnell genug mit dem Fahrzeug drehen. Aber ich arbeite dran. Und - klar - Video kommt noch. Leider konnte ich aus Gründen einer unerkannt mangelhaften Lagerhaltung nur zwei der geplanten drei irDME´s aufbauen. Das kneift natürlich auch.

Diese vorige Notiz sollte ja nur berichten, dass ein bisschen was vorangeht.

oberallgeier
27.12.2008, 17:28
Hallo Gemeinde,

vielleicht erinnert sich mancher noch an einen Fast-Fehlschlag-der-Woche, weil die aufwendige Fräsarbeit von Klingon77 bei meinen Minimotörchen nichts brachte - (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=407277#407277)der gewonnene Raum war für die Mini-Gabellichtschranke immer noch zu klein. Die Motörchen sollten das eigentliche Dosenroboterprojekt in einer kleineren Version mit einer 0,15-Liter-CC-Dose weiterführen - mit kleineren Motoren. Die müssen bei mir regelbar sein und dazu brauche ich einen Encoder (weil ich die elektrisch-elektronische Lösung mit der Gegenspannung in der PWM-aus-Phase nicht hinbekomme).

Ersatzweise hatte ich mich danach auf einen anderen Abzweig meines Miniprojekts gestürzt - die Geschwindigkeitserprobung (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=402226#402226) der IR-DME´s aus meinem R2D03. Die kommt langsam ans Laufen. Mittendrin hatte ich eine Idee zu den Motörchen - und Klingon77 hatte sich anhand meiner Konstruktionszeichnung bereit erklärt, mir eine kleine Encoderscheibe (https://www.roboternetz.de/phpBB2/viewtopic.php?t=45034) zu fertigen - sprich: zu zaubern. Das schnuckelige Teilchen ist heute bei mir angekommen und ich habe es natürlich sofort eingebaut (brennende Neugier):

...........https://dl.dropbox.com/s/9y249140kohzxob/enc_x01_1762.jpg?dl=0

Man sieht knapp rechts unter der Bildmitte die Anfräsung von Klingon77 für den ersten Versuch. Links, knapp unter der Bildmitte ist die kleine Encoderscheibe zu sehen. Das Teilchen in bekannter Klingonenqualität mit leichter Presspassung ließ sich ohne sonstige Probleme auf die Welle schieben - die ziemlich genau mit Motordrehzahl umläuft. Eine Prüfung der Passgenauigkeit ergab einen kleinen Lichtspalt zwischen Encoderscheibe und Aussendurchmessers des "anderen" Zahnrades über die gesamte Encoderscheiben-Umdrehung. Also hatte ich den Motor auf einer Testplatine aufgebaut und getestet. Das Ergebnis ist einerseits prinzipiell positiv, zeigt aber, dass die kreisrunden Aussparungen durch längliche Ausfräsungen ersetzt werden müssen. Mit dem Signalgang der kreisrunden Aussparungen ist ein TTL-Signal am INT0/-1 bestimmt nicht zu erreichen (2V+1ms/div).

...........https://dl.dropbox.com/s/x2di9ewlmrmltis/enc_x01_1671.jpg?dl=0

Das Signal des Schlitzes ist sehr gut und eindeutig - die Signale der Löcher sind sehr schwach sichtbar - ungenügend für meine Vorstellung. Das vorgestellte Signalbild geht mit entsprechender Verkürzung der Zeitachse bis deutlich über die empfohlene Versorgungsspannung des Motors mit praktisch ähnlichem Verlauf. Und - ich bin sicher, dass dieses Thema Mini-Dottie jetzt mit positivem Ausgang weitergeht - wenn ich mit dem Tempodingens fertig bin (ich will nicht ständig hin und herwechseln).


... Wenn es noch Erläuterungen zum Originalteil gibt ... warum sie gerade so aussieht, das wäre interessant ...
@Manf: Ich neige ja im Allgemeinen zu eher langatmigen und ausführlichen Beschreibungen - also auch hier: Die längliche Einfräsung ist Montageschlitz und Durchlichtschlitz in einem - daher auch das Maß: 1,0 mm Breite und ein halbrunder Auslauf, der nichts anderes als die (halbe) Zentrierbohrung darstellt *ggggg*. Da ich die Getriebe der Motoren nicht demontieren will (die Getriebe-Montageplatten sind über Distanzbuchsen vernietet - das wird nie wieder so genau wie gehabt) muss ich auf solche Montagetricks ausweichen. Die Bohrungen sind der Einfachheit halber wie gezeigt - Grund hierfür war die Hoffnung von mir und Klingon77, dass ausreichend Durchlicht anfällt um einen sauberen Signalgang zu erhalten. War leider nix. Der Aussendurchmesser des Encoders ist mit den besagten 4,8 ... 4,9 mm vermessen worden. Das Aufmass vom GetriebeINNEREN war etwas schwierig, siehe die Fotos von den Motörchen weiter oben im Thread - leider ist meine Schieblehre etwas größer als das Getriebe. Aber wie ich sehe passt es recht gut. (Nachgetragen:) Warum vier Durchlicht-Öffnungen? Der Montageschlitz (s.o.) muss 1 mm breit sein - das bestimmt das Maß der anderen Öffnungen. Wegen des Gabellichtschranken-Lichtflecks, siehe Datenblatt, (https://www.roboternetz.de/phpBB2/files/enco_mikro.jpg) muss der Teilkreis der Durchlichtöffnungen etwas mehr als 1 mm vom Aussendurchmesser der Encoderscheibe entfernt sein. Und auf diesem Teilkreis bekomme ich eben nur vier Öffnungen unter.

Freut euch mit mir!

Klingon77
27.12.2008, 17:36
hi oberallgeier,

freut mich, daß die Scheiben so gut gepasst haben.
Bin da auch zufrieden mit meiner kleinen "Eigenbau-Proxxon".

Die geänderte Konstruktion werde ich "die Tage" angehen und ich hoffe, daß Du sie bis Ende der Woche in Händen halten kannst.

liebe Grüße,

Klingon77

pinsel120866
27.12.2008, 17:39
Hallo Nachbar,

ich lese schon länger bei diesem hochinteressanten Threat mit und muss dir nun mal zu deiner "Nanotechnik", und das ist sie meiner Meinung nach schon fast, gratulieren. Es ist immer wieder erstaunlich, welche technischen Raffinessen du auf kleinsten Raum unterzubringen vermagst.

Weiter so!

oberallgeier
27.12.2008, 18:35
Hallo ihr!

@Klingon77: nochmal vielen Dank. Es eilt nun wirklich nicht mit den Scheibchen (sonst gehen die doch noch verloren). Ich bin derzeit genaugenommen mit dem "rasenden" R2D03-Derivat (https://www.roboternetz.de/phpBB2/viewtopic.php?p=402226#402226) zugange (da gehts mittlerweile auch lausig eng zu). Und wenn ich beim Mini-Dottie weitermache, dann fange ich wohl zuerst mit der Platine an - das muss dann weitgehend SMD sein - also steht mir noch VIEL Arbeit bevor.

@pinsel120866: Danke fürs Lob - aber wenn ich mal grob nachrechne, dann sind das ja doch (leider) erst Meganano (10hoch6*10hoch-6). Und die vorliegende Arbeit - also ich will jetzt nicht zeigen wie mein erster, selbst geschnippelter Encoder aus 0,3mm-Kunststoff aussah (als erster Funktionsnachweis, bevor ich Klingon um die Arbeit gebeten hatte). Aber immerhin hatte der funktioniert, total unsymmetrisch, war auch mal runtergefallen - ein richtiger, primitiver Schnelltest.

radbruch
27.12.2008, 18:55
Hallo

Sehr hübsch geworden :)

Wenn der Schlitz 1mm breit ist und die Löcher 1mm Durchmesser haben dann ist doch wohl die Lichtschranke nicht richtig ausgerichtet. Sie muss natürlich genau in der Mitte der Löcher durchschielen. Zum Ausrichten könnte man in eines der Löcher eine kleine Hülse (Aderendhülse?) schieben die den Lochdurchmesser zentrisch verkleinert. Vielleicht reicht für erste Tests auch die geringere Auflösung mit 1 Impuls/Umdr.

Gruß

mic

oberallgeier
27.12.2008, 22:05
Hallo mic,

danke für das Lob soweit es mich betrifft. Ich bin recht sicher, dass die Lichtschranke gut mit Motor- und (allen) Getriebeachse (n) fluchtet - soweit ich das beurteilen kann unter +-5°. Die zulässigen Toleranzen zur Schrägstellung werden bei diesem Aufbau über +-15° liegen.

Für die Konstruktion der Durchbrüche hatte ich die Abschattungen etwas größer als die LED-Fläche (genauer: Fensterfläche der GLS) und etwas größer als die Lichtdurchlässe der Encoderscheibe vorgesehen. Nach der Geometrie aus dem Datenblatt ist auch der Lichtdurchlass an der richtigen Stelle. Ausserdem sind die 1mm so ausgelegt, dass bei der aktuellen Beschaltung der Elektronik die Anstiegs- und Abfallzeit des Signals ein sicheres Schalten bis über die Maximalfrequenz des Motors ergeben.

(Und nun kommt die Standardfloskel aller massiven Fehlkonstruktionen, schweren Unfälle und sonstigen Fehlplanungen:) Nach allen Unterlagen hätte das also gut und ausreichend funktionieren müssen. Es ist offensichtlich das eingetreten, was ich nicht vorausrechnen konnte: die Lichtverteilung der LED ist natürlich keinesfalls so rechteckig wie das Fenster in der GLS, nicht gleichmäßig und vermutlich nicht mittig. Vermutlich genau da, wo ich sie nicht haben wollte.


... Vielleicht reicht für erste Tests auch die geringere Auflösung mit 1 Impuls/Umdr. ...Der erste Test zeigt es doch mit dem Oskarbildchen, dass der Montageschlitz eine sehr saubere Antwort gibt und die Löcher nur kleinere Spannungsabschwächungen. Und das hatte ich ja eben auch bis in höchste Drehzahlbereiche gemessen.

radbruch
27.12.2008, 23:08
Ich meinte: Der Abstand des Lichtstrahls zur Achsmitte ist nicht gleich dem Abstand der Lochmitten zur Achsmitte. Wenn das gleich wäre würden die Impulse gleich(er) sein. Vielleicht kannst du eine Art Blende vor dem Schlitz anbringen um zu prüfen, wo genau der Lichtstrahl ist....

oberallgeier
28.12.2008, 08:46
Hallo mic,

Ich meinte: Der Abstand des Lichtstrahls zur Achsmitte ist nicht gleich dem Abstand der Lochmitten zur Achsmitte ...Ahhhhh - kapiert. Das ist auch garnicht mein Entwurfsziel gewesen. Ich hatte ja als erste Encoder-"scheibe", die derzeit im Dottie erfolgreich läuft, diesen Unterbrecherbalken (https://dl.dropbox.com/s/gl10osi54ck3jij/GLS-einbau_1445_klein.jpg?dl=0) mit abgerundeten Enden/Schmalstücken. Da ich die Signale mit dem extINT0/-1 auf steigende Flanke triggere, kommt es lediglich auf den präzisen Beginn der Kante (in Umfangsrichtung) an. Aber dieser >signaltechnische Beginn< ist wegen der unterschiedlichen Öffnungscharakteristik von Radialschlitz und Lochblende eben unzulässig/stark unterschiedlich - abgesehen davon, dass die Löcher (zu) nahe an der Achse sitzen - sprich: zu tief !!! in die GLS eintauchen.

Manf
28.12.2008, 09:07
Vielleicht wäre es das "Einfachste" :-b auch die 3 Bohrungen der Encoderscheibe zum Rand hin zu Schlitzen zu erweitern, dann dürften sich kaum noch Unterschiede ergeben. Zwischen Bohrung und Zentrum wird kaum Licht durchpassen.
Hoffentlich hat die Scheibe mit Schlitzen noch genügend Stabilität.

radbruch
28.12.2008, 09:56
abgesehen davon, dass die Löcher (zu) nahe an der Achse sitzen - sprich: zu tief !!! in die GLS eintauchen.
Ups, das ist bitter. Vielleicht kann man mit der Schlüsselfeile die Löcher zu Schlitzen bis an den Scheibenrand auffeilen (oder mit dem Seitenschneider aufzwicken... Klingonen bitte wegschauen). Oder an den Gabellichtschranken das störende Material entfernen...

Gruß

mic

[Edit]Für diese Idee hab' ich über 'ne Stunde gebraucht, Manf war deutlich schneller ;)

Klingon77
28.12.2008, 12:28
hi,

das die Bohrungszentren nicht der Lage des Lichtstrahls entsprechen war auch mein erster Gedanke als ich das Oszi-Bild sah.

Bevor wir nun "X" Löcher in "Y" Scheiben bohren möchte ich die Tage ich neue Scheiben mit vier Schlitzen fertigen.

Einer der Schlitze läuft dann bis in´s Zentrum um die Scheibe auf der Achse zu fixieren.
Die drei verbleibenden werden nur so tief gefräst, das noch ca. 0,5mm zum ersten Schlitz stehen bleiben.

Das sollte genügen; denke ich.

@Oberallgeier: wollte die Scheiben, sofern sie funktionieren sowieso mit einem Tropfen Klebstoff fixieren. Ich bin zuversichtlich, daß es hält.


Eine Schlüsselfeile ist zu breit um die Bohrungen aufzufeilen.
Zu Testzwecken könnte es aber fuktionieren; sofern man die Scheibe zum bearbeiten sauber spannen kann.

Bei der Verwendung eines Seitenschneiders wird sich die Scheibe wahrscheinlich deformieren, da die Schneiden zuviel zur Seite drücken.

Testen kann man beide Varianten, auch wenn der Schlitz etwas breiter oder schmaler gerät. Ich mache sowieso neue Scheiben.


liebe Grüße,

Klingon77

oberallgeier
28.12.2008, 14:31
... Hoffentlich hat die Scheibe mit Schlitzen noch genügend Stabilität.Klar, GENAU das war noch ein weiterer Beweggrund für die Löcher. Da ich sehe, wie sauber das Dingelchen bei der Montage hält - und da meine feinmotorischen Defekte sich noch in Grenzen halten - wird es wohl auch mit Schlitzen statt Löchern gehen. Aber - no risk, no fortschritt.

@mic+Klingon77: Das mit dem Seitenschneider . . . . - ok, nächste Möglichkeit: an eine Schlüsselfeile hatte ich gedacht, dummerweise sind die Kontaktfeilen aus der Motorwerkstatt seitlich ohne Hieb :(, denn die hat 0,6 mm Dicke. An die Feilerei gehe ich morgen. Heute ist die Feinmotorik durch einen alpinen "Spaziergang" noch verbesserungsfähig. Und genaugenommen dürfte dieser Versuch unnötig sein: der Signalgang des Montageschlitzes sagt ja genug aus - finde ich.

Übrigens hatte ich die kurzen Funktionstest mit der lediglich geklemmten Scheibe gemacht - dies zu "madebyKlingon77". Später wird natürlich an der Ausrundung des Montageschlitzes die Kante leicht gebrochen und vorsichtig ein Mikrotropfen Sekundenkleber aufgebracht (Nur bevor Fragen kommen, hier ein alter Labortrick für mikroskopische Dosierungen. Kleines Papierstück, ca. 5x10 cm, max 80 g/m2. LÄNGS falten mit scharfem Knuff. Eine Art Speerspitze, Spitze stumpf, etwa 0,2 .. 0,5 mm breit, anderes Ende ca. 1..2 cm. Das gibt eine kleine Rinne. Mit dem feinen Ende dieser Rinne kann man schön Mikromengen dosieren - deutlich weniger als Tropfengrösse, bis unter 5 µl . Natürlich nur als Einmalwerkzeug).

Manf
28.12.2008, 15:02
Die kleinen Trenscheiben (für z.B. Dremel) haben 0,7mm Stärke. Bei guter Führung sollt sich damit ein Schlitz von 1mm herstellen lassen.
Mit der Hand wird das dann allerdings kaum noch gehen.

oberallgeier
28.12.2008, 17:11
Oooooch, Manf, ich begnüge mich vorerst mit einer eher knapperen Werkstatt. Meist komme ich ja damit zurande. Und mit Zahnarztwerkzeug umgehen durfte ich als Halbwüchsiger gelegentlich mal. Leider ist nichts übriggeblieben (von dem Werkzeug).

Im Übrigen danke ich euch allen für die Ratschläge und Denkanstöße - so etwas hilft gut weiter.

oberallgeier
29.12.2008, 17:24
Hallo Ihr,

eigentlich mehr zur Selbstbestätigung habe ich mich an den Umbau der Encoderscheibe gemacht. Auch mit dem Selbstbewusstsein, dass ich schon öfters Schnittstahl an vorherbestimmten Stellen in 10µSchritten abgefeilt hatte und in der Meinung, dass sich ein Studium ebenso wie ein Schlüsselfeilensortiment (kein "Satz") rechnen sollte. Die dünnste halbrunde Feile und eine einhiebige Kontaktfeile. Eine halbe Stunde Encoderscheibe am Boden suchen (feine Schlingenware, farbtreu mit der Scheibe). Schließlich auch: Klingon77 wird ja nagelneue Scheiben fertigen - in Klingonenqualität und - genauigkeit.

https://dl.dropbox.com/s/932px083i8fey9j/GS%2BES_x02_1675.jpg?dl=0 https://dl.dropbox.com/s/872o5xah9yhqokv/in_arbeit_1676.jpg?dl=0
Gabellichtschranke und modifizierte Encoderscheibe. Daneben: Feilengriff, Motor mit montierter Scheibe, Feile, gerolltes Stück 1000er Korn (wasserfest *ggggg* - nehm ich normalerweise mit Wasser zum Endschliff auf Spiegelglanz für aerodynamische "Objekte"), Pinzette.

https://dl.dropbox.com/s/d7w1qftxbedgnv6/enc_x02_1677.jpg?dl=0 https://dl.dropbox.com/s/q2471m3u2ys8jgb/enc_x02_1678.jpg?dl=0
2 Oskarbildchen (2V+1ms/div). Das linke Bild zeigt eine ganze Umdrehung.

Das Röllchen aus dem 1000er Korn hatte ich gebraucht, um den Wellensitz der Encoderscheibe sauber zu putzen - Rollendurchmesser ca. 0,9. Der Wellensitz/Schlitz war natürlich durch die Bearbeitung verschmutzt. Die Schlitze wurden von aussen mit der dünneren Kante der Schlüsselfeile markiert und vorgefeilt, dann mit der Kontaktfeile (s.o.: 0,6 mm dick) fertig gefeilt. Leider sind noch ein paar Eckelchen stehen geblieben. Und die sind auf dem Bild der Scheibe und im Oszillogramm auch sehr genau zu sehen. Ob das ohne Lupe, evtl. mit einer blickoffenen Scheibe im Dremel (gibts diese geschlitzten Scheiben für die Dremel?) besser geht weiß ich nicht.

Eine ganz wichtige Erkenntnis der Geschichte: festigkeitstechnisch ist die Konstruktion noch unproblematisch. Allerdings war mein Andruck beim Feilen etwa wie die Fußtritte von Schmetterlingen (gut, wenn man gelegentlich mal den Abzug an einer Olympiapistole=FreiePistole streichelt).

radbruch
29.12.2008, 17:46
Tja, kaum macht man's richtig funktioniert's :)

Glückwunsch zur perfekten Encoderscheibe *mitjubelt*

Ich bin mir nur noch nicht sicher bei wem von euch beiden ich lieber heimlich bei der "Produktion" zuschauen möchte *lol*

Klingon77
29.12.2008, 18:49
hi,

Glückwunsch zur gelungenen Operation.

Sieht doch wirklich ausgesprochen gut und gleichmäßig aus!

Besser hätte ich das von Hand auch nicht machen können; eher schlechter.


@radbruch:
Auf jeden Fall mußt du @oberallgeier: bei der Fertigung zuschauen.
Im CAD zeichnen, Teil einspannen, ausrichten, anfahren und beim Bearbeitungsprozess zuschauen ist leicht.

Die Fingerfertigkeit, Ruhe und Geduld beim Feilen dieser kleinen Teile ist sehr viel sehenswerter.

liebe Grüße,

Klingon77

oberallgeier
29.12.2008, 18:58
Danke für die Glückwünsche *gggg*.

@Klingon77:
... Sieht ... gleichmäßig aus ...Da ich (nur) die steigende Flanke nehme, würde ich sogar das Oskarbildchen als erfolgversprechend nehmen. Man sieht allerdings am Oskar und auf dem Foto der Scheibe ganz genau, dass der Montageschlitz zu seinem Gegenüber einen merklichen Versatz hat.

Klingon77
31.12.2008, 16:36
hi,

die Encoderscheiben sind fertig :mrgreen:

Gefordert waren sechs Stück; gefertigt habe ich acht.

Bei zweien sind kleine Fehler drinnen (roter Pfeil).
Die habe ich natürlich nachgefertigt.

Bei dem linken Teil habe ich eine "Anfahr-Spur" welche zur bestimmung der Z-Höhe entsteht.
Bei dem rechten Stück fehlt schlicht und einfach ein wenig Material am oberen Ende. Ich habe es nicht gemessen; es könnte so um 0,1mm sein.

Da die Fehler wohl eher optisch denn funktional zum tragen kommen habe ich sie dennoch dazugelegt.
Bei weiteren Projekten mit diesen kleinen Motoren hat @oberallgeier: dann auch gleich die passenden Encoderscheiben.

Die Oberfläche habe ich mit 400er Schmirgelpapier gereinigt.
Sie sieht nun auch in der Vergrößerung ein wenig besser aus.

Leider sind die Scheiben immer noch mit Schmutz (wahrscheinlich Reste vom doppelseitigen Kelebeband und ein wenig Schleifstaub) behaftet.
Ein kurzes Bad in Reinigungsbenzin und ein kleiner Pinsel schaffen diesbezüglich hoffentlich Abhilfe.

Damit Ihr seht, wie groß die Teile in Wirklichkeit sind habe ich unten rechts (im grünen Kreis) mal eine Scheibe in Originalgröße abgebildet.
Bei meinem 15" Monitor mit 1024 * 768 Pixel (Notebook) ist dieses Teil mit dem Original in etwa deckungsgleich.


Nun bin ich gespannt, ob die neuen Scheiben ebenso gut passen wie das Probestück.

Leider habe ich keine Endmaße um die Schlitzbreite zu verifizieren.
1mm Silberstahl oder Federstahl habe ich leider auch nicht.
Ein Stück Alu habe ich gemessen; das war aber um wenige 1/100mm zu dick.

Bin schon mal gespannt, wie sich die Scheiben auf den Motoren bewähren.


liebe Grüße und allen im Forum einen guten Rutsch heut nacht \:D/

Klingon77

oberallgeier
31.12.2008, 16:52
Hallo Klingon77,

erstmal vielen Dank für Deine schnelle Arbeit. Ich freue mich schon auf die weitere Arbeit mit den Motoren.

Dummerweise hänge ich mit meinem Schnellfahr-Dottie-DME-Test-Träger. Der soundsovielte Umbau - und die DME´s tun nicht wie ich will. Demnächst also erstmal mehr von dem "how-to-pimp-a-RCCar".

Guten Rutsch allen Lesern, freundlichen Daumendrückern und Ratgebern.

oberallgeier
02.01.2009, 22:45
Hallo Alle,

mein Dottie2 (<- Arbeitstitel) ist weitgehend fertig. Wieso?

Dottie2 heisst das Teilprojekt im Arbeitstitel, weil es das notwendige Folgeprojekt von Dottie ist, mit dem die Reaktionsgeschwindigkeit der irDME´s in einem schnell(er)en Fahrzeug erprobt werden sollte.

Dottie2 ist weitgehend fertig, weil es heute abends mit etwa 60..70% der Endgeschwindigkeit im Keller einen Satz AAA leergefahren hatte - ohne auch nur ein einziges Mal an mich oder an die Wand oder an herumstehende Gegenstände zu rammeln.

..............https://dl.dropbox.com/s/r5o2cdycaq7ukoj/W3_innenansicht_klein_1698.jpg?dl=0

Der Weg:
Das "Anfangsbild" ist weiter oben (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=402226#402226) zu sehen. Ursprünglich sollte das Gefährt neben dem Controller mit Sensorik noch die mitgekaufte Funkfernsteuerung (2 Kanäle schaltend, NICHT proportional - also vor-still-zurück oder links-mitte-rechts) aufnehmen, mit der ich z.B. die maximale Geschwindigkeit fernsteuern wollte. Aber es war lausig wenig Platz in dem Gefährt: die obige Innenansicht ist noch nicht komplett - dazu kommt ein 10xWannenstecker (3*5110), ein 6xWannenstecker (3*irLED´s) und Kleinkram - z.B. Steuertaste mit LED-Kontrolleuchte unter dem Fahrereinstieg. Also wurde die Fernsteuerung gestrichen - ich könnte sagen: aus prinzipiellen Überlegungen gehört so ein Hosenträger+Gürtel-Device sowieso nicht in ein elementar-autonomes Auto.

..............https://dl.dropbox.com/s/8kzzzv52eb9r1uu/W3_schaltung_x50_klein_1693.jpg?dl=0

Die ursprünglich geplante SMD-Platine habe ich durch eine TTH+SMD-Variante ersetzt. Sieht hässlich aus, aber noch bin ich nicht in der Lage eine saubere, störungsfreie Platine zu erstellen. Ausserdem war anfangs noch nicht ganz klar, was alles wie angeschlossen werden sollte. Immerhin sind (edit:) fast alle Widerstände, Kondensatoren und Entstördrosseln in SMD - nur der 2x3mm-SMD-Quarz wurde nicht montiert (kam zu spät).

..............https://dl.dropbox.com/s/o6ys44eyikz95j2/vormontage_1_klein_1746.jpg?dl=0

Verzögerungen gabs massenhaft. Verschiedene Montageversuche der Sensorik. Überarbeiten des Fahrwerks, weil das an sich technisch sehr saubere Chinadesign (viel geschraubt, saubere Passungen etc.) das rechte Vorderrad etwas hochgezogen hatte. Bei schnellen Linkskurven kippte das Fahrzeug leicht, hob das linke Hinterrad an und die Folge war ein sinnloses Übersteuern und schleudernde Drehung. Neue Bereifung. Die alten (in den Bildern die mit dem Profil) waren s..harte Kunststoffmischung ohne Grip. Die Neuen sind handgeschnitten (aus einem benutzten Fahrradschlauch), mit Schmirgelleinen fein angerauht, und mit Lösungsmittel in der Aussenhaut leicht gequollen -> weich und sehr gute Bodenhaftung. Viele Tage sind mit der Sensorik draufgegangen. Zu sensibel eingestellte IR-DME´s führten zu einem unzuverlässigen Steuerverhalten sodass der Controller im Fahrbetrieb meist in den unteren Geschwindigkeitsbereich geschaltet hatte. Besserung brachten erst größere Vorwiderstände der 5110, sodass die Empfindlichkeit der Sensorik zum fahrtechnisch notwendigen "Horizont" für höheres Tempo passte.

..............https://dl.dropbox.com/s/iklg2oitc1egj5v/vormontage_1_klein_1749.jpg?dl=0

Technische Daten:
China-RC-Car, 1:20, L*B*H: 203 * 98 * 58. Treibsatz von Haus aus 3xAA in einer Kassette am Boden, wird hier für den Controller mit Sensorik genutzt. Neuer Treibsatz für Motor und Servo (digitales Mini-Billigteil vom C), 4xAAA-NiMH, hängt am Cabriodach. Mega168, L293D - beide Kanäle parallel für den einzigen, originalen Antriebsmotor; fährt unter 800 mA praktisch gar nicht. UART (TTL232) und I2C-Stecker - derzeit mit zwei StatusLEDs - rot und grün. ISP: 6fach-Pfostenstecker. Starrachse ohne Differential. Keine Drehzahlregelung. Richtungs- und Geschwindigkeitssteuerung sehr simpel in Abhängigkeit der drei DME´s (z.B. wenn beide vorderen kein Hindernis erkennen - etwa ab 90 cm, wird das Fahrtempo auf "gib Gummi" gestellt). Die beiden vorderen 5110 sind wie im Bild dargestellt, die LED´s dazu liegen leider noch mit Tesamontage auf der Motorhaube.

Sehr viel Zeit hat ein Reengineering der Timerkonfiguration gekostet. Um den Servo feinfühlig bedienen zu können, hatte ich den auf den 16-bit-Timer gelegt, der ursprünglich die IR-LED bediente. Die LED musste also auf den 8bittigen Timer ausweichen. Da bekam ich gerade mal 40 kHz hin statt der benötigten 36. Und die SFH5110-40 stehen zwar im Osram-Datenblatt - aber leider habe ich die in den Angeboten meiner Lieferanten nicht gefunden. Trotzdem hatte ich das getestet (und schon wieder hardwaremässige Umbauten) - dann am Steckbrett getestet - danach alles zurück. Hätte ich mehr Haare, hätte ich sie mir anschließend gerauft.

.............. (https://dl.dropbox.com/s/00boydexhzmh3l6/vormontage_1_1752.jpg?dl=0)https://dl.dropbox.com/s/hnhau45ty64u4sy/vormontage_1_klein_1752.jpg?dl=0 (https://dl.dropbox.com/s/00boydexhzmh3l6/vormontage_1_1752.jpg?dl=0)

Video kommt in den nächsten Tagen - ich bin ziemlich froh, dass die erste, recht erfolgreiche Fahrt hinter mir ist, auch wenn das noch nicht mit Vollgas war.

PCF8574P
03.01.2009, 10:04
Hallo oberallgeier,

du hast es mal wieder geschafft. Wirklich gut gelungen.

Wenn ich richtig gelesen habe hast du den originalmotor benutzt, oder?
Werden Klingonen-Motoren in den BM*W oder in eine kleine Cola-Dose?

Könntest du mir mal bitte den Code für den L293D schicken???

Du hast geschrieben das die IR-LEDs mit Tesa auf der Motorhaube sind.
Mein Vorsclag ist die Leds als Scheinwerfer zu montieren. Mann muss sie nur richtig ausrichten.

Muss eigentlich der Reset-Pin vom AVR mit 10k auf VCC?
Das könnte bei mir ein Fehler sein.

MFG Max

oberallgeier
03.01.2009, 15:13
Hallo Pepsi-Fan Max,


... gut gelungen ... hast du den originalmotor benutzt, oder? ...Danke für den Beifall. Richtig, es ist der originale Motor - hat ein ausreichendes Drehmoment, ist sauber und vollständig montiert und läuft bei vollem Tempo relativ schnell. Ich hatte ca. 1,5 m/s gemessen.

KlingonenMotoren? Ich vermute, Du meinst die kleinen Motörchen mit den Encoderscheiben von Klingon77. Davon kommen zwei in die 0,15er Coladose. Braucht noch ne Weile.


... Könntest du mir mal bitte den Code für den L293D schicken??? ...Kein Problem: Du weißt aber, dass ich das in C (bei mir eher Cäh) mache - und dass ich darin nicht so gut bin. Aber hier ist er:

/* >>
Auszug aus ...\WR3_mot_x30.c ###>>> Variablendeklarationen z.T. nicht hier
================================================== =================================
Target MCU : ATmega168
Target Hardware : FLEX168 bzw WR168
Target cpu-frequ. : In der Quelle wählbar
================================================== =================================
Enthaltene Routinen: Auszug aus Motorroutinen
......
void TC0PWM_init(void) // Init Timer/Counter0 für Erzeugung PWM-Signal
......
void Mot_on_v( void ) // Motor14 vorwärts init., motspeed=0
void Mot_v( uint8_t mspeed ) // Motor setze Speed vorwärts o. rückwörts
void setMot14(uint8_t speed) // Geschwindigkeit Motor über beide L293D-Ausgänge
void M14an (void) // Motor 14 - PWM auf Pin PD5/OC0B einschalten
void M14mDp(void) // Motor 12+34 dreht im math. Drehsinn positiv
void M14mDn(void) // Motor 12+34 dreht im math. Drehsinn negativ
// = im Uhrzeigersinn drehen (Vorwärtsfahrt)
void M14aus(void) //Motor aus

================================================== =================================
*** Versionsgeschichte:
====================
x30 08Dez08 22ff Projekt wieder aufgenommen aus "altem" x14, Motortest ohne Sensor
............
x00 28nov08 1303 Übernommen von ... \WR-2_mot_x10.c
================================================== =================================
*** Aufgabenstellung : Motorsteuerung ....... mit L293D - Motoransteuerung über
beide L293D-Ausgaben auf einen Motor (Stromstärke!)
Original: ......\WR-2_mot_x10.c 25nov08 19ff
================================================== ============================== */


/* ================================================== ============================ */
/* == PWM-Routinen zur Motoransteuerung ======================================= */
void TC0PWM_init(void) //Init Timer/Counter0 für Erzeugung des PWM-Signals
{
TCCR0A |= (1<<COM0A1)|(1<<COM0B1); //Clear/set OC0A/OC0B on Compare Match,
// doc S102 , OC0A/OC0B ist Port PD6/D5
TCCR0A |= (1<<WGM01)|(1<<WGM00); // Fast PWM, TOP=0xFF=dez255, doc S104
// das ergibt aus 20 MHz mit Prescaler 1/64 1220 Hz
TCCR0B |= (1<<CS01)|(1<<CS00); // Prescaler ist clk/64 doc S106

OCR0A = 0; // PWM auf Null setzen
OCR0B = 0; // PWM auf Null setzen
Iz_diff0 = 0;
iesum12 = 0;
ie_mot12 = 0;
}
/* ================================================== ============================ */
void setMot14 (uint8_t speed) //Geschwindigkeit linker Motor = Mot 34
{OCR0B = speed;} // PWM auf PD5
/* ================================================== ============================ */


// ================================================== ===============================
/*### Motor einschalten für Fahrtrichtung vorwärts.
================================================== ============================= */
void Mot_on_v( void ) // Motor14 auf vorwärts initialisieren, motspeed=0
{
M14mDp(); // Setze math Drehricht pos = Vorwärtsfahrt
// ==================
M14an (); // Motor PWM auf PinD5 OC0B enable
setMot14(0); // Setze Motorfahrt auf Null

return;
}
/* ================================================== ============================ */
/* ================================================== ============================ */


// ================================================== ===============================
/*### Motorgeschwindigkeit setzten. Richtung etc muss bekannt sein
================================================== ============================= */
void Mot_v( uint8_t mspeed ) // Motor setze Speed vorwärts o. rückwörts
{
//uint8_t mspeed; // Motorspeed als PWM-Wert
setMot14(mspeed); // Setze Motorfahrt auf mspeed
return;
}
/* ================================================== ============================ */
/* ================================================== ============================ */


/* ================================================== ============================ */
/* Motoransteuerung mit dem L293D, hier werden die Drehrichtungen gesetzt ==========
Vorgesehene/belegte Anschlüsse am ATMega168 :
================== R4RS
........................
+++ VCC 7 22 GND ---
--- GND 8 21 AREF ref
XTAL1 PB6___9 20___VCC +++
XTAL2 PB7 10 19 PB5
(E6) PWM M14 uz+Guz,PD5 11 18 PB4
PD6__12 17___PB3, Reserve 2
(E8) _|-- M14 mDp,PD7 13 16 PB2, Servo
(E9) _|-- M14 mDn,PB0 14 15 PB1, OC1A = SFH 415, OUT (irDME)

Motorbelegung: Anschlüsse von M34 gehen auf beide L293D-Kanäle */
/* ================================================== ============================ */
void M14an (void) // Motor 14 - PWM auf Pin PD5/OC0B einschalten
{ TCCR0A |= (1<<COM0B1); // ENable set OC0B on Compare Match
}

/* ================================================== ============================ */
// Drehrichtungsbefehle für Motor 14 = Einziger Motor
void M14mDn (void) // Motor 34 dreht Uhrzeigersinn = math negativ Drehsinn
{PORTB |= (1<<PB0); PORTD &= ~(1<<PD7);}

/* ================================================== ============================ */
void M14mDp (void) // Motor 14 dreht im math Drehsinn positiv
{PORTB &= ~(1<<PB0); PORTD |= (1<<PD7);}

/* ================================================== ============================ */
void M14aus (void) // Motor 14 aus
{
PORTB &= ~(1<<PB0); PORTD &= ~(1<<PD7); // Motor-enable ausschalten
//TCCR0A |= (1<<COM0B1); // ENable set OC0B on Compare Match
TCCR0A &= ~(1<<COM0B1); // PWM-aus = Disable set OC0B on Compare Match
}
/* ================================================== ============================ */


/* ================================================== ============================ */
/* ===== ENDE Subroutinen ================================================== */
/* ================================================== ============================ */



... Vorsclag ist die Leds als Scheinwerfer zu montieren. Mann muss sie nur richtig ausrichten ...Danke für den Vorschlag. Leider geht das nicht - hinter den Scheinwerfern ist Struktur des Gehäuses, die ich nicht entfernen möchte. Ausserdem - hinter die Scheinwerfer sollten allenfalls - weiße LED´s - oder? Aber so weit bin ich (noch) nicht. Ich würde im Notfall die hübsch glänzende Kühleröffung opfern - aber mal sehen - es gibt noch andere Möglichkeiten.


... Muss eigentlich der Reset-Pin vom AVR mit 10k auf VCC? ...Ja - so wie hier. (https://www.roboternetz.de/phpBB2/files/m168d-schaltung-x97.pdf)

Ryoken
03.01.2009, 22:22
Nabendst!

Erstmal auch von mir Respekt für das, was Du da gebaut hast.

Zu Deinem Racingprojekt hätte ich mal noch ein paar Fragen:

Neue Bereifung. Die alten (in den Bildern die mit dem Profil) waren s..harte Kunststoffmischung ohne Grip. Die Neuen sind handgeschnitten (aus einem benutzten Fahrradschlauch), mit Schmirgelleinen fein angerauht, und mit Lösungsmittel in der Aussenhaut leicht gequollen -> weich und sehr gute Bodenhaftung.Die Behandlung mit Lösungsmittel macht also den Schlauch dicker und elastischer? (wie kommt man darauf das so zu machen?)
Wie hast Du den auf der Felge befestigt - einfach geklebt? Oder sogar quer geschnitten und so draufgezogen?


Video kommt in den nächsten Tagen - ich bin ziemlich froh, dass die erste, recht erfolgreiche Fahrt hinter mir ist, auch wenn das noch nicht mit Vollgas war.
*sehen will*
Wie hast Du denn die Bahnplanung gemacht? Das ist ja wohl noch mal ne Ecke was anderes, als bei Asuro und Co. Würde vor allem schätzen, dass der Robo da mehr "vorausdenken" muss und sich beim Rangieren leichter festfährt.

Hab hier auch noch nen alten Golf vom grossen C rumstehen, an dem ich solche Sachen vielleicht mal versuchen wollte.
Bin allerdings noch absoluter Robotikneuling und werde mich vorher noch mit einigen grundlegenderen Dingen befassen müssen.
Ausserdem braucht das Ding erstmal überhaupt ne gescheite Lenkung (bisher Starrachse mit Drehschemel).




... Vorsclag ist die Leds als Scheinwerfer zu montieren. Mann muss sie nur richtig ausrichten ...Danke für den Vorschlag. Leider geht das nicht - hinter den Scheinwerfern ist Struktur des Gehäuses, die ich nicht entfernen möchte. Ausserdem - hinter die Scheinwerfer sollten allenfalls - weiße LED´s - oder? Aber so weit bin ich (noch) nicht. Ich würde im Notfall die hübsch glänzende Kühleröffung opfern - aber mal sehen - es gibt noch andere Möglichkeiten.
Nebelscheinwerfer?

oberallgeier
03.01.2009, 23:00
Hallo Ryoken,

danke für das Lob - das entschädigt für manche endlose Fehlersuche und für sinnlose Modifikationen und Rückmodifikationen.


... Lösungsmittel macht also den Schlauch dicker und elastischer? ... Wie ... auf der Felge befestigt ...Vorsicht bei dem Lösungsmitteltipp. Aceton z.B. schädigt nicht nur die Haut und die Lunge, sondern löst den Schlauch recht bald auf. Da muss man etwas vorsichtig sein. Ich hatte Isopropanol genommen. Aber auch Äthanol (das ist das Zeugs, das die Punkte in Flensburg gibt) kann gehen - wenn es hochprozentig genug ist (ab 80%). Man kommt einfach drauf, wenn man sich mit Korrosion von Kunststoffen beschäftigt - dort ist es unerwünscht - ich habs eben als Nutzen gesehen. Der Schlauch quillt zwar - aber das hatte ich mit Vorsicht - und einem "leichten" Lösungsmittel - gemacht. Daher ist die Quellung kaum zu sehen - aber der Gummi wird weicher und ein kleines bisschen "klebriger". Montiert wurde das einfach: der Schlauch hatte Untermass - also dehnen und drauffallen lassen. Die Felgen sind Hohlfelgen - da passten drei Lagen "schmal" hinein, oben drauf kam dann ein breiter Abschnitt als eigentliche "Karkasse". Wenn man genau hinsieht, kann man die schmalen "Einlagen" erkennen.

Das Video kommt - Wochenende ist Ruhetag (da wird blos auf die verschneiten Berge gehetzt - zu Fuß :(). Und dann wird die Abstimmung der Sensoren und der Schaltpunkte noch verbessert - näher an die Wand ran.


... Wie hast Du denn die Bahnplanung gemacht ... dass der Robo da mehr "vorausdenken" muss ...Die Sensoren müssen nur weit genau schauen können - dann kann man das SEHR einfach machen. Wenns mal sauberer läuft, kann ich auch den schauderhaften Code vorstellen.


... Hab hier auch noch nen alten Golf vom grossen C rumstehen, an dem ich solche Sachen vielleicht mal versuchen wollte ...Ach - in meinem Alter würde man eher von einem Manta schwärmen. Ich werde jedenfalls NIE einen Golf nehmen - sonst spotten die Forumsmitglieder bei meinen Fehlern dann : oberallgeier und der böse Golf . . . .

Nebelscheinwerfer ? ? Ein SchnitzerBMW mit Nebelscheinwerfern? Wär das nicht uncool? Aber danke für den Hinweis. Ich überleg da noch - in der laufenden Testphase geht die Tesamontage noch.

PCF8574P
04.01.2009, 10:25
Guten Morgen oberallgeier

Mir ist gerade noch was zu den LEDs eingefallen
Man könnte diese Lufteinlässe (oder was auch immer, kann ich gerade nicht erkennen) ausschneiden, und die led nur ganz leicht durchschauen lassen.

http://www.rn-pcf8574-projects.roboterbastler.de/vormontage_1_klein_1752.jpg

MFG Max

Ryoken
04.01.2009, 18:57
Nabendst!


Das Video kommt - Wochenende ist Ruhetag (da wird blos auf die verschneiten Berge gehetzt - zu Fuß :().
Na denn erstmal viel Spass dabei.


Die Sensoren müssen nur weit genau schauen können - dann kann man das SEHR einfach machen. Wenns mal sauberer läuft, kann ich auch den schauderhaften Code vorstellen.
Durch die andere Lenkung muss er aber auch eher vorausplanen, wie er fährt, oder? Zumindest wenns eng wird bekommt er ja sonst Probleme, weil er nicht mal eben auf der Stelle drehen kann, wie mit Radseitenlenkung/Ketten.


Ach - in meinem Alter würde man eher von einem Manta schwärmen. Ich werde jedenfalls NIE einen Golf nehmen - sonst spotten die Forumsmitglieder bei meinen Fehlern dann : oberallgeier und der böse Golf . . . .Och - in meinem Alter nimmt man was man kriegt - Haup'sache fährt und hat Tüff...öhm...oder so.
Golf steht halt noch so rum. Hat mal nen Zehner (Mark!) gekostet - dementsprechend auch die High Tech Lenkung. Abgehen tut er aber nicht mal schlecht.
Optik ist schon etwas gepimped, als nächstes wär wohl das Fahrwerk dran und dann vielleicht mal die Autonomie.
Vorher werd ich mich wohl aber noch an nem Scorcher versuchen, der auch noch rumstaubt und zum anfangen erstmal die Seitensteuerung hätte.
Dazu wollt ich eigentlich auch mal noch nen Thread hier aufmachen, mit einigen Fragen. Mal sehen, wann ich zu komme.
Ausserdem: der böse Golf will auch nur gezähmt werden und mit so'm BMW kann einem auch ein Schnitzer passieren. 8)
Aber bisher sieht das doch gut aus...



Nebelscheinwerfer ? ? Ein SchnitzerBMW mit Nebelscheinwerfern? Wär das nicht uncool? Aber danke für den Hinweis. Ich überleg da noch - in der laufenden Testphase geht die Tesamontage noch.
Naja - cooler als ohne Kühler oder? :wink:
Nur bisschen Brainstorming. Fiel mir so spontan ein, beim Anblick der Sensoren unterm Spoiler.
Das mit den Lufteinlässen wär natürlich auch nicht schlecht, wenn die LEDs da reinpassen und dann noch genug Abstrahlung bringen.


Gruß
Ryoken

PCF8574P
05.01.2009, 10:59
Ach - in meinem Alter würde man eher von einem Manta schwärmen. Ich werde jedenfalls NIE einen Golf nehmen - sonst spotten die Forumsmitglieder bei meinen Fehlern dann : oberallgeier und der böse Golf . . . .Och - in meinem Alter nimmt man was man kriegt - Haup'sache fährt und hat Tüff...öhm...oder so.


Ach ja, Manta, geiles Auto. Ich steh aber auf die alten ganz "kleinen". Sowie Simcas oder NSU TT´s, Audi 50. naja aber ich glaub wir werden immer mehr offtopic.........

@oberallgeier:
Ich pass deinen Code grad mal an (für 2 Motoren).
Sieht aber schon gut aus.

MFG Max

oberallgeier
05.01.2009, 15:56
Hallo Max,


... Ich steh aber auf die alten ganz "kleinen"...Da muss ich an den Spass denken, den ein Goggo-Coupe machte - mit einem zündholzgroßen Schaltknüppel, oder der vierrädrige Messerschmidtroller - der, theoretisch, rückwärts so schnell wie vorwärts fuhr (Drehschiebersteuerung) . . . . . . ein bisschen offtopic darf ja mal sein.


... Ich pass deinen Code grad mal an (für 2 Motoren ...Na das hätten wir ja einfacher haben können - für den Dottie habe ich den ja sowieso für zwei Motoren. Ich lese jetzt draus, dass Du die Bascom-Aera hinter Dir gelassen hast!?!?!

Viel Erfolg

PCF8574P
05.01.2009, 16:45
Hallo,

du kannst mir ja auch noch mal den Dottie-Code senden.
Um zu vergleichen.

Ja, bascom war zu...bäh

MFG Max

oberallgeier
05.01.2009, 16:59
... du kannst mir ja auch noch mal den Dottie-Code senden ... Um zu vergleichenHihihihi - vergleichen. Und ich denke immer, ich sei der faule Hund . . . . *ggggg*
/* >>
### Auszug aus Sicherung 15sep08 1740 ...C1..\m168D_10\m168D_mot_10x80.c
================================================== =================================
Target MCU : M168
Target Hardware : m168D
Target cpu-frequ. : In der Quelle wählbar
================================================== =================================
Enthaltene Routinen: Alle Motorroutinen
##### nur Auszug #####
void TC0PWM_init(void) //Init Timer/Counter0 für Erzeugung des PWM-Signals

void setPWMrechts(uint8_t speed) //Geschwindigkeit rechter Motor
void setPWMlinks(uint8_t speed) //Geschwindigkeit linker Motor

void Mrechtsvor(void) //Motor dreht im mathematisch posit. Drehsinn
void Mrechtszur(void) //Motor 1,2 dreht im Uhrzeigersinn
void Mrechtsstop(void) //Motor aus

void Mlinksvor(void) //Motor dreht im mathematisch pos. Drehsinn
void Mlinkszur(void) //Motor 3,4 dreht im Uhrzeigersinn
void Mlinksstop(void) //Motor aus

================================================== =================================
*** Versionsgeschichte:
====================
x80 15sep08 1740 Version wie x77 - für zusätzliches Modul ~kal~
. . . . . .
x342 26jun08 08ff Interrupt für Motoren in TC0PWM_init/~mo1~ auf 1200 Hz stellen
================================================== =================================
*** Aufgabenstellung : Software für R2_D03
in einer ersten Ausbaustufe angelehnt an: siehe Original
Original: ...C1..\m168D_10\mm168D_mo1_10x342.h 26jun08 08ff
================================================== ============================== */

/* ================================================== ============================ */
/* == PWM-Routinen zur Motoransteuerung ======================================= */
void TC0PWM_init(void) //Init Timer/Counter0 für Erzeugung des PWM-Signals
{
TCCR0A |= (1<<COM0A1)|(1<<COM0B1); //Clear/set OC0A/OC0B on Compare Match,
// doc S102 , OC0A/OC0B ist Port PD6/D5
TCCR0A |= (1<<WGM01)|(1<<WGM00); // Fast PWM, TOP=0xFF=dez255, doc S104
// das ergibt aus 20 MHz mit Prescaler 1/64 1220 Hz
TCCR0B |= (1<<CS01)|(1<<CS00); // Prescaler ist clk/64 doc S106
//
OCR0A = 0; // PWM auf Null setzen
OCR0B = 0; // PWM auf Null setzen
}
/* ================================================== ============================ */
void setPWMrechts(uint8_t speed) //Geschwindigkeit rechter Motor
{OCR0A = speed;} // PWM auf PD6
/* ================================================== ============================ */
void setPWMlinks(uint8_t speed) //Geschwindigkeit linker Motor
{OCR0B = speed;} // PWM auf PD5
/* ================================================== ============================ */


/* ================================================== ============================ */
/* Motoransteuerung mit dem L293D, hier werden die Drehrichtungen gesetzt */
/* Vorgesehene/belegte Anschlüsse am ATMega168 für R2D03:
==========
hier, unter anderem, für die Motoransteuerung (Stand 22mai08 11ff) :
(E7) _|-- 3,4 Guz, PD4___6 23___PC0, SFH 5110, IN irDME 1-2 } ´168 n
VCC 7 22 GND
GND 8 21 AREF
XTAL1 PB6___9 20___VCC
XTAL2 PB7 10 19 PB5, Startblink (LED0), 3sec v Tmr0, Mehrzweck
(E6) PWM 1,2 uz+Guz,PD5 11 18 PB4 _|-- 3,4 uz (E4) (hier oder PB3)
(E5) PWM 3,4 uz+Guz,PD6___2 17___PB3, Reserve 2
(E8) _|-- 1,2 uz,PD7 13 16 PB2, Reserve 1
(E9) _|-- 1,2 Guz,PB0 14 15 PB1 SFH 415, OUT (irDME) */
// -----------------------
// Drehrichtungsbefehle für Motor 1,2 = "rechter" Motor
void Mrechtszur(void) //Motor 1,2 dreht im Uhrzeigersinn
{PORTB |= (1<<PB4); PORTD &= ~(1<<PD4);}
// r r r r r r r rechts rechter Motor r r r r r r
void Mrechtsvor(void) //Motor dreht im mathematisch pos Drehsinn
{PORTB &= ~(1<<PB4); PORTD |= (1<<PD4);}
// r r r r r r r rechts rechter Motor r r r r r r
void Mrechtsstop(void) //Motor aus
{ PORTB &= ~(1<<PB4); PORTD &= ~(1<<PD4);}
// -----------------------
// Drehrichtungsbefehle für Motor 3,4 = "linker" Motor
void Mlinkszur(void) //Motor 3,4 dreht im Uhrzeigersinn
{PORTB |= (1<<PB0); PORTD &= ~(1<<PD7);}
// l l l l l l l links linker Motor l l l l l l l
void Mlinksvor(void) //Motor dreht im mathematisch pos Drehsinn
{PORTB &= ~(1<<PB0); PORTD |= (1<<PD7);}
// l l l l l l l links linker Motor l l l l l l l
void Mlinksstop(void) //Motor aus
{ PORTB &= ~(1<<PB0); PORTD &= ~(1<<PD7);}
/* ================================================== ============================ */


/* ================================================== ============================ */
/* ===== ENDE Subroutinen ================================================== */
/* ================================================== ============================ */


... Ja, bascom war zu...bäh ...Dafür ist mein C eher Cäh. Ist nur ein Buchstabe weiter. Der Fortschritt hält sich damit also in Grenzen . . . . . .

PCF8574P
05.01.2009, 17:45
Hi,

Naja, soviel unterschied zu meinen Routinen ist ja gar net.

Ich finde C ist garnicht mehr so schwer wenns man mal gerafft hat wie die Sprache aufgebaut ist.

Vielleicht fährt meine Pepsi ja gleich mal.
-> Deine fertigen Routinen einbinden und testen

MFG Max

oberallgeier
11.01.2009, 17:26
Hallo Alle,

*gggg* ich hätte da eine Frage *gggg* nach einem "besseren" Antriebsmotor.

Es stimmt ja, was Klingon77 gesagt hatte:

... So eine Cola-Dose macht sehr viel mehr her als ein Auto ....aber er trifft ja genau den Punkt, warum ich die Dottie-"Technologie" auf ein Auto transferieren wollte
... Bei 1,5m/sek. müsste die Elektronik und Mechanik auch schon etwas rascher reagieren als bei der Cola-Dose ...und ein gewisser Nebeneffekt wäre ja noch (leider ohne Sprachausgabe)

... Auto wäre ... ein Gag, wenn ... zum autonomen ... Knight-Rider umfunktionierst ...

Nun hatte ich in der letzten Zeit riesige Nebenwirkungen, für die ich weder Arzt noch Apotheker fragen konnte. Na ja, fragen vielleicht. Die Sensorik spielt mir hier gerade ziemliche Streiche, aber ich bekomme sie wohl noch in Griff - es geht voran.

Die Frage:
Der Antriebsmotor von dem Autochen (https://www.roboternetz.de/phpBB2/viewtopic.php?p=402226#402226) ist noch das Original. Angesteuert wird er mit 4xAAA-Akkus tecxus 1100 mAh, die laut Datenblatt bei 1 kHz einen internen Widerstand von <35 mΩ haben. PWMFrequenz für den Antrieb ist 1,22 kHz. Laut Datenblatt kann der über 55 Minuten 1100 mA abgeben, das sollte meiner Meinung nach genügen. Die ursprüngliche Energieversorgung waren 3AA-Zellen. Simple Fahrtests hatten mir gezeigt, dass dieses Motörchen bei weniger als 800 mA sehr ungerne anfährt. Ab 800 mA (Stellung der Strombegrenzung am Netzteil) läuft er aber brav bei unter 2 V los. ABER ich habe keine Ahnung, was das für ein Motortyp ist - er hat keinen Aufdruck - richtiger no-name.

Der L293D wird über beide Kanäle auf den Motoreingang geschaltet.

Der Motor fährt für meine Zwecke nicht schnell genug hoch und ich suche einen leistungsfähigen Ersatz.

Die äusseren Abmessungen (https://www.roboternetz.de/phpBB2/viewtopic.php?p=417039#417039) entsprechen dem asuro-Motor: Länge über Lagerschalen 29 mm, Lüa 38 mm, D 20 mm, H 15 mm, Welle Ø2.0 mm. Drehzahl unter Last - am Motor ca. 160 Ups. Aber wie gesagt: das Hochfahren dauert "ewig".

Hat jemand Vorschläge für "Tuning-" Motoren? Danke im Voraus

Ich weiß, dass diese Angaben etwas dünn sind.

Edit am 11. Jan. 2009: (Motor-) Drehzahl unter Last geändert von 500 Ups auf 160 Ups - Anmerkung: 160 Ups sind etwa 9000 Upm.

radbruch
11.01.2009, 17:50
Eine sehr informative Diskussion zu alternativen asuromotoren (zur Leistungssteigerung) findest du hier:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=28548

oberallgeier
11.01.2009, 18:57
Danke mic für diesen Hinweis. Ich hoffe, dass ich diese Threads (die ja bis in eine rennfähige Konfiguration gehen) ordentlich durch bin. Mein Problem ist ja "doppelt" so schwer wie beim asuro: ich habe nur einen Motor bei derzeit 344 g Gewicht und der Motorhalter ist vorgegeben. Platz für mehr "Strom" ist leider auch keiner mehr, da ich nicht die Aussenkontur ändern will.

Für den Fall, dass meine Nachfrage nicht ergiebig ist, werde ich es mit dem Conrad Artikel-Nr. 228959 probieren (s. Posting von waste (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=262450#262450) vom März 2007). Meine sonstige Suche hatte nichts ergeben - zumal die Slotracing-Dinger oft ohne Datenblatt sind - und mir eben leider die höhere Spannung fehlt.

PCF8574P
11.01.2009, 19:04
Hallo,

ich habe hier noch 2 Motoren da.
Sie entsprechen nach der schnellen messung deines Motors.

Von mir aus kann ich sie dir gerne mal schicken.
http://www.rn-pcf8574-projects.roboterbastler.de/K640_BILD0692.JPG

Daten:
Ø-Stromaufnahme: 0.5 A
Max. Drehmoment: 0.4 Nmm
Leerlauf-Drehzahl: 8000 U/min
Leerlaufstrom: 0.2 A
Nennspannung: 1.5 V/DC
Last-Drehzahl: 5700 U/min
Läuft mit 1,5 bis 3 Volt

MFG Max

Edit: Ich sehe gerade die Motoren sind etwas langsam oder?

oberallgeier
11.01.2009, 19:38
Hallo Max,

das ist sehr lieb von Dir. Einen Versuch wärs mir ja wert - wenn die 3 Volt kein "nicht-zu-überschreiten" Wert wären. Dann dürfte die Lastdrehzahl mit dem 5,2 V vom Akku schon raufgehen. Ich hatte das nochmal genau in meinen Aufzeichnungen nachgesehen - für 1,5 m/s mit dem Fahrzeug brauche ich rund 9400 Upm am Motor. Aber bei Deiner Angabe steht ja schon Nennspannung 1,5 V - da brennt der mit >5V doch bestimmt durch. Spätestens nach ein paar Sekunden. Ich fürchte, das wird nicht gehen.

Trotzdem vielen Dank.

PCF8574P
12.01.2009, 14:00
Hallo,

die 3Volt sind kein Problem.

ich habe zwei weitere im Mini-Line-Follower im einsatz. Dieser läuft mit zirka 5 bis 5,5Volt.
Er hat schon mehrere Betriebsstunden hintersich.

MFG Max

Edit: 1,5Volt habe hingeschrieben weil er da anläuft.

oberallgeier
12.01.2009, 15:57
Na wunderbar. Dann melde ich mich bei Dir, sobald ich meinen Ärger mit der Sensorik hinter mir habe. Die läuft derzeit bei mir unter dem Motto: je optimiert, desto schlechter.

oberallgeier
17.01.2009, 17:33
Und es läuft doch.

Von den Problemen will ich nicht erzählen. Nun ist die Sensorik etwas weggepackt. Aber seht selbst im neuen Thread
https://www.roboternetz.de/phpBB2/viewtopic.php?p=420246#420246

Freut euch mit mir.

oberallgeier
23.01.2009, 18:33
Schönen Abend Klingon77, hallo Alle,

nach der Zwangspause, die ich mir mit der Sensorik von WALL R eingehandelt hatte geht es weiter mit den Encoderscheiben und den Minimotörchen.

2K-Kleber bereitgestellt, erste Encoderscheibe provisorisch montiert um im Probelauf die korrekte Funktion zu prüfen - und danach den Kleber als nicht erforderlich beurteilt. Die schicken Scheiben von Klingon77 gehen mit fester Passung auf die vorgesehene Welle und schnappen beinahe am hinteren Ende ein. Da finde ich es beim erwarteten Beanspruchungsspektrum (keine Erdbebensicherheit, muss nach einem heftigen Crash nicht mehr funktionieren) nicht erforderlich, das Risiko von evtl. in den Zahngrund hineinvagabundierendem Kleber einzugehen. Oder gibt es dazu gegenteilige Meinungen?

Mein einfaches, regelbares Netzteil hat nur 2,7 V als Untergrenze. Daher habe ich die beiden baugleichen Motoren in Serie geschaltet. Dumm gelaufen - der eine ist seit Monaten gestanden und ging sehr zäh. Nun ist höhersiedendes Benzin gut zum Waschen der mikroskopischen Verunreinigungen und ein prächtiges Schmiermittel - leider nur, bis es verdunstet ist. Nach der Waschung/Schmierung also ein Test => und das Oskarbild ist sehr ähnlich dem schon bekannten Bildchen hier. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=415959#415959) Die Flanken sind auch etwas sauberer als bei der handgefeilten Variante *gggg*. Leider macht die malteserkreuz-ähnliche Form ein recht unsymmetrisches Bild, das aber nicht stört, da ich sowieso auf steigende Flanke triggere. Der Low-Pegel ist auch ausreichend lange bzw. deutlich.

Jetzt muss ich die Motor- und Abtriebsdrehzahl in Abhängigkeit der Encoderfrequenz rechnen, es sind Drehzahlen von etwa 2 bis annähernd 10 /s zu erwarten. Was mir wirklich fehlt, ist ein geeigneter Motorenprüfstand . . . .

Schade - es bestehen bei mir trotz aller Probiererei immer noch Zweifel daran, dass ich beide Motoren in sinnvoller Montage in die kleine 0,15Liter-Dose bekomme - mit Akkus, Controllern, Sensoren . . . mal sehen.

BTW: wie groß dürfte ein kleiner Zweiräder incl. Controller und Treibsatz sein, damit er sich als "Kleinster" behaupten dürfte?? Und - gibts dann ausser Linienfolgen eine sinnvolle Aufgabenstellung?

PCF8574P
23.01.2009, 20:59
Hi oberallgeier,

Wenn die Encoderscheiben nicht Wackeln oder Eiern finde ich es schon ok diese ohne Kleber zu montieren.

Das mit dem Netzteil ist schon schade. Meines geht bis 0,5Volt hinunter. Naja ok, meines Wissens (und Tests) ist die Reihenschaltung von 2 Motoren recht ungenau, laut Oszi.

Wie triggerst du das Signal??? Mit dem AVR?

Was meinst du mit einem MotorenPrüfstand. Ich habe ein Holzbrett auf der Halterungen für Motoren montiert sind, eine Encoderscheide zum Kalibrieren. Damit Messe und rechne ich immer.

Natürlich müsste das in eine 015er passen. Nicht gleich aufgeben!!!

>>wie groß...Zweiräder
Sehr klein. Ich war mal bei diesen Robocontest mit meinen Linefollower. Da waren wirklich sehr sehr kleine Robbys dabei.

MFG Max

Klingon77
24.01.2009, 07:13
hi oberallgeier,

freut mich wirklich daß die Encoderscheiben so gut passen und das Signal sauber rauskommt.
Das mit der Passung an der Welle war (ehrlich gesagt) mehr Zufall als "Können".
Da hat die Paarung von Welle und Fräser im 1/100mm-Bereich gestimmt und die federnde Wirkung der Scheibenkonstruktion wird den Rest erledigen.

Reicht der Platz denn nicht, wenn Du beide Motoren mit Ihrem jeweiligen Ende aneinanderlegst?
Lötfhanen können umgebogen werden (zumindest einmal; bevor sie brechen).

Bei der kleinen Konstruktion fände ich es legitim deiner Renndose ggf. zwei Schutzbleche aus dem zugehörigen Dosenblech zu spendieren.
Falls jemand meint das passe nicht und störe die Gesamtkonstruktion murmelst Du etwas von den Vorzügen der Spurverbreiterung bei höheren Geschwindigkeiten :mrgreen:


Nun habe ich aber noch was konstruktives beizutragen:

Schau mal bitte da:
http://www.amateurfunkbasteln.de/vregler/vregler.html

Insbesondere am Ende des ersten Drittels der Seite findest Du den LM317T.
Damit lassen sich Spannungen bis auf 1,2V runterregeln.
Der Aufbau ist unkritisch und schnell gemacht.

Eine andere Alternative wäre (bei den kleinen Motorströmen) ein einfaches Mehrgang Wendelpoti.

http://www.conrad.de/goto.php?artikel=429252

Die laufen oftmals mit Drahtwendel; sind also im Rahmen belastbar.
Ein weiterer Vorteil wäre die wirklich feine und exakte Justage bei 10 Gängen des Potis.

Falls die Belastbarkeit des Poti´s nicht ausreicht könntes Du mit ihm an einen AD Eingang eines ATMEGA 8 eine Spannung regeln und über den PWM-Ausgang und nachgeschalteten Transistor den Motor sauber steuern.
Das müsste auch rasch aufgebaut sein und so funktionieren? Bin kein Elektroniker.

liebe Grüße,

Klingon77

oberallgeier
24.01.2009, 16:57
Hi Max, hallo Klingon77,


... Wie triggerst du das Signal??? Mit dem AVR? ...Klar - wie beim Dottie. Aber erst später - vorerst werden die Motore ja mit Encoderscheibe und Lichtschranke getestet. Später gehen die Signale auf INT0 und INT1 - klappt bei Dottie bestens.


... Was meinst du mit einem MotorenPrüfstand ...Einen Prüfstand für (meine) verschiedene(n) Motore mit Drehzahl- und Drehmomentmessung, Strombedarf, Sprungfunktion und so. Das wär mal ein hübsches Projektchen. Damit könnte ich beispielsweise quantitativ den Einfluss von Schmierung oder Nichtschmierung im Getriebe testen. Beim gestrigen Encodertest ist der eine Motor total schwer gegangen. Der lag ja auch seit Lieferung rum. Da hatten ein paar Mikroliter hochsiedendes Benzin geholfen . . . danach lief der . . . . wie geschmiert *gggggg*.


... Sehr klein. Ich war mal bei diesen Robocontest mit meinen Linefollower. Da waren wirklich sehr sehr kleine Robbys dabei ...Ich war noch nie bei einem Robocontest *schluchz*. Wo und wann ist so etwas? Wie klein ... in Millimeter? Auch wenns nur ungefähr ist. Danke!

@Klingon77,

... Passung an der Welle ... mehr Zufall als "Können"...Mann soll sein Licht nicht unter den Scheffel stellen . . .


... Reicht der Platz ... beide Motoren mit Ihrem jeweiligen Ende ... Lötfhanen können umgebogen werden ...Die verschiedenen Möglichkeiten habe ich hoffentlich schon alle durchprobiert. Auch an einen Winkeltrieb hatte ich gedacht - den mag ich nicht, weil dann nochmal deutlich Reibung auftritt (müsste ja eine extra Getriebewellenlagerung anfertigen) und ausserdem brauche ich vom Platz nach "oben hinaus" jeden Millimeter. Die Dose ist sowieso zu klein, viel zu klein, nicht nur für meine Elektronik+Mechanik - und ausserdem, was tut man schon mit einen Schlückchen von 0,15 Liter Cola ? ? ?


... Bei der kleinen Konstruktion fände ich es legitim ... zwei Schutzbleche ...Neee, das muss anders gehen. Ich weiß nur noch nicht wie.


... findest Du den LM317T ...Danke für den praktischen Hinweis, davon habe ich 3 Stück in meinem Vorratslager. Aber - ich war neugierig - und da ist der schnelle Aufbau vorrangig. Ging ja. Ne PWM hätt ich auch mit meiner FLEX168 machen können (hex liegt verwendungsfertig in einer entsprechenden Projektdatei "Motortest") und für meine RNControl habe ich auch einen "Auf-ab-Motortest" fix und fertig als hex. Wenn die Parameter nicht passen, kann man das in kürzester Zeit anpassen - aber wie gesagt - ich war neugierig.

Klingon77
25.01.2009, 07:46
hi oberallgeier,




... Bei der kleinen Konstruktion fände ich es legitim ... zwei Schutzbleche ...



Neee, das muss anders gehen. Ich weiß nur noch nicht wie.



wie wäre es mit einer Radlagerung und versetzt angebrachten Motoren?

Bei den geringen Kräften könnte die Kraftübertragung mit Hilfe eines O-Ringes erfolgen.


Ein Winkelgetriebe bei senkrecht stehenden Motoren würde nicht so viel Platz wegnehmen wenn Du es an den Dosenrand stellst.
Durch den Kreisabschnitt welcher sich daraus ergiebt würde in der Mitte der Dose immer noch recht viel Platz verbleiben.

Die Akku´s senkrecht und die Platine (n) ebenfalls.


Hat schon mal jemand einen Biegeversuch mit einer 0,5mm dicken Hartpapierplatine versucht?
Dabei müsste die Kupferschicht nach innen zeigen so daß sie gestaucht und nicht gezogen würde.
Evtl. bringt es etwas die Platine auf der Bestückungsseite mit einem scharfen Messer und einem Metall-Lineal z.B. im Abstand von 5mm anzuritzen.
Das Layout, die Bauteilpositionen (insbesondere der IC´s) und die Einschnitte, müssten natürlich aufeinander abgestimmt sein.

Wenn das funktionieren sollte könnte man die Elektronik an den äußeren Rand der Dose verlegen und somit einiges an Raumeffizienz erzielen.


Einige "Hirngespinste" habe ich noch... ](*,) :-k

liebe Grüße,

Klingon77

Bajuvar
25.01.2009, 09:25
Hat schon mal jemand einen Biegeversuch mit einer 0,5mm dicken Hartpapierplatine versucht?


Hallo zusammen

Bin mir jetz nicht ganz sicher wie die "normalen" Lochraster,..... Platinen das vertragen. Aber eventuell ist ein verbiegen unter wärmeeinwirkung möglich.

Gruß Bajuvar

PCF8574P
25.01.2009, 12:13
Hallo,

ich habe das grade mal getestet.

Ohne Hitze: Es bricht allemal.

Mit Hitze: Es lässt sich schon biegen, aber 90° Winkel waren nicht möglich.

Gut, ich hatte auch nur 1,5er Basismaterial da. Mit 0,5 könnte es besser werden.

@oberallgeier:
Der kleinste wo ich gesehen habe war ca 20 x 30 mm gross. Aber schnell wie sau. Allerdings musste der Akku sehr weit nach oben, womit er in engen Kurven fast umgekippt ist. Er wurde noch mit kleinen Sturzbügeln ausgestattet.

MFG Max

Klingon77
25.01.2009, 13:23
hi,

mal vielen Dank für Deinen Test :mrgreen:
90 Grad sind nicht notwendig.
Wenn man den Radius der Dose bekommt reicht das aus.


Evtl. könnte das biegen (sofern es für @oberallgeier: überhaupt in Frage kommt) mit unterschiedlichen Radien (von groß nach klein) und Wärme besser gehen?

Mit Hartpapier-Platinenmaterial habe ich noch nicht gearbeitet.

Ist Pertinax (als Trägermaterial) ein Duro- oder Thermoplast?

Fals es ein Thermoplast ist müsste es eigentlich funktonieren.
Die Leiterbahnen auf der Innenseite dürfen auch nicht reißen, da sie, bedingt durch die "neutrale Faser" gestaucht werden.


liebe Grüße,

Klingon77

oberallgeier
25.01.2009, 17:08
Hallo ,


... wie wäre es mit einer Radlagerung und versetzt angebrachten Motoren ...Wie gesagt - ich hab vermutlich alles sinnvoll Denkbare durchprobiert und der Platz reichte nicht. Aber ich krieg das sicher hin.


... Die Akku´s senkrecht und die Platine (n) ebenfalls ...Genau. Das musste ich schon für R2D03/Dottie so machen, (https://www.roboternetz.de/phpBB2/viewtopic.php?t=40507) um alles unterzubringen (zweites Bild von oben).


... Biegeversuch mit einer 0,5mm dicken Hartpapierplatine ...DAS hatte ich noch nicht gemacht.
... grade mal getestet ... Mit Hitze: Es lässt sich schon biegen, aber 90° Winkel waren nicht ...Danke Max. Die Platine bekomme ich schon unter. Die musste ich ja für meinen WALL R ziemlich stauchen - und diese Platine passt knapp in die Büchse - ist 35x65 und ich werde sie bei sparsamem Aufbau bis auf ca. 30x55 verkleinern können (ich glaube ich bin die Abmessungen der 0,15er Dose schuldig geblieben: øi = 50 mm, aber die Hardware muss unter ø48 bleiben, weil ich am unteren Ende Bördelränder nach innen habe als Verletzungsschutz und am oberen Ende ist der Standarddeckel mit dem gleichen Innenmaß - nutzbare Höhe innen ist 80 mm).


... Elektronik an den äußeren Rand der Dose verlegen ...Genau. Das hatte ich schon mit der existierenden WALL R-Platine so getestet, das geht.


... Einige "Hirngespinste" habe ich noch... Denk ich doch - ich spreche auch noch nicht über alles, weil einiges noch unausgegoren ist. Aber es gibt ein paar vielversprechende Dinge.


... Der kleinste wo ich gesehen habe war ca 20 x 30 mm gross ...JAAAAA - so etwas muss her. Hast Du Bilder davon? Links? Wo hast Du den gesehen? Ich glaube, ein kleiner Linienfolger wäre eine schöne Vorbereitung für die Minidose. Dann müsste ich nicht verkleinern - dann könnte ich vergrössern. Das geht erheblich einfacher. Mit dem Gedanken spiele ich schon seit ein paar Wochen. Daher auch die Frage, auf welchen Veranstaltungen das läuft.

@Klingon77: Pertinax ist ja mit dem Bakelit verwandt - und insbesondere mit Phenol. Das letzte Mal, als ich mit Phenol arbeiten musste, hatte ich einen leichten Vollschutz drunter und einen schweren drüber . . . . Nach drei Stunden Arbeit war ich innen klitschnass. Nicht nur wegen des Stresses.

PCF8574P
26.01.2009, 12:15
Hi Oberallgeier,

Bilder...mmhh mal aufm Laptop der Mutter schauen, die hat Bilder gemacht. Dieser Wettbewerb war allerdings nur für Schulen aus dem Landkreis Würzburg. Vermutlich wird dieses Jahr das ganze nochmal starten, weil viele Interessierte kamen.

Aber mal ne frage von mir: Soll die Dose nur ein Linefollower werden? Oder seh ich da was falsch?

Ich plane gerade meine Linefollower v3. Dieser soll ziemlich klein und extrem schnell werden. Ich kann dir gerne bilder schicken.

MFG Max

oberallgeier
26.01.2009, 12:32
Hi Max,


... Soll die Dose nur ein Linefollower werden ...Minidose soll sozusagen Dottie (=R2D03) in 0,15 L statt 0,33 L werden - mit der vergleichbaren Technik - wohl auch MIT Strohhalm. Das steht fest. Und (leider) ohne Linefollow-Funktion. Wobei ich den Ausdruck "nur ein Linefollower..." nicht mit tragen könnte. Da ist ja schon ein bisschen Entwicklungsmöglichkeit drin.

... Ich plane gerade meine Linefollower v3 ...
Lass mal sehen - bitte! Und vielleicht zum Vergleich auch mal v1 und v2?

... plane gerade meine Linefollower v3. Dieser soll ziemlich klein und extrem schnell werden ...Genau - das ist der Reiz für mich. UND wenn ich erst mal dazu eine geeignete Fahreinheit habe, dann kann ich mich wieder auf Dottie015 (=R3D01) stürzen und die kleine Einheit übernehmen oder grösser machen. Vergrössern geht wohl einfacher als verkleinern.

PCF8574P
26.01.2009, 13:35
Hi oberallgeier,

Ich weis, "nur ein Linefollower" ist falsch ausgedrückt.

v1 willst du garnicht sehen, glaub mir.
v2 ist schon ganz lustig. Aber ist mir ein wenig zu träge.

Ich fotografiere gleich mal meine Legeprobe.
Geplante Vmax sollen 1,5 bis 2 m/s werden.

MFG Max

oberallgeier
19.02.2009, 22:25
Hallo,

gute und schlechte Nachrichten zu meiner Absicht R3D01 zu bauen (https://www.roboternetz.de/phpBB2/viewtopic.php?p=399360#399360) (Roboter, mein 3ter, in einer ColaDose 0,15l , sprich: err drei do eins oder einfacher: MiniDO) .

Die schlechte(n) zuerst: meine SMD-Abenteuer beim Platinenbauen sind kaum erfolgreich - dauern aber lange. Es müsste auf alle Fälle eine doppelseitige Platine mit reichlich Durchkontaktierungen werden, anders bekomme ich das Routing nicht hin. Und durchkontaktieren kann ich nicht. Also baue ich nach vielen Fehlversuchen doch in TTH - der Platz wird knapp aber gerade ausreichend sein, wie es sich im WALL R gezeigt hat. Leider bekomme ich die Minimotörchen mit den Mini-Encoderscheiben nicht sinnvoll innerhalb der Dose unter. Also werde ich noch mal total umgebaute Servos nehmen - aber eine andere Variante.

Die guten Nachrichten. WALL R ist zu einem gewissen Abschluss gekommen und läuft recht stabil (Drehzahl- bzw. Wegmessung fehlt noch - und evtl. weitere Ideen) und deshalb muss und kann es beim 0,15LiterDöschen weitergehen. Beim Servoumbau habe ich eine tricky Variante gefunden (mir sind ja die im Dottie eingebauten Motore viel zu langsam) - sobald das betriebssicher läuft, werde ich berichten, dazu brauche ich neue Teile. Das neue Konzept der Minidose ist schon etwas vorangegangen und zeigt seine Machbarkeit.

....................https://dl.dropbox.com/s/wvaa9p4zfmdii36/miniDO_19feb09.gif?dl=0

Es ist nur eine einfache 2D-Darstellung zur Planung des realen Platzbedarfs und nach einigem Hin und Her habe ich die wenige Luft, die in Dottie noch war, soweit rausbekommen, dass die Hardware ziemlich sicher im MiniDo unterzukriegen ist. Die Platine wird weniger Stecker bekommen, deshalb wohl leider etwas viel Lötanschlüsse. Mal sehen wie das wird, auf alle Fälle wenig servicefreundlich. In der Übersichtsdarstellung oben sind im schraffierten Umriss der Dose, ø52, die Antriebe mit den bewährten Vollgummirädern zu sehen. Dazu ein runder Motorträger mit der senkrechten Platine und dem Energiepaket ähnlich Dottie. Zwischen Platine und Akkupack die beiden Gewindestangen als Rückgrat des Aufbaus. Da sich die SMD-irLEDs im WALL R so gut bewährt hatten, werden natürlich die und nicht die klobigen ø5mm - SFH415 eingesetzt - leider habe ich noch keine Entsprechung für den SFH5110 in SMD gefunden - aber Christian H wird sich bestimmt freuen. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390924#390924)

So - nun geht die Arbeit hoffentlich in die erfolgreichere Richtung weiter.

oberallgeier
23.03.2009, 14:31
Hallo,

es gab erhebliche Zeitverzüge durch herrliche Bordertage und scheussliche Virenkolonien. Trotzdem ist der Fahrschemel fertig geworden und die ersten Fahrten zum Funktionsnachweis des Antriebs ohne Regelung, noch keine Sprungantwort etc. sind hinter mir. Hier ein Bild (größeres Bild im Bild verlinkt - einfach ins Bild klicken).

...........30641 (https://dl.dropbox.com/s/jcumwios6k9vq4w/miniD0_fahrschemel_1837.jpg?dl=0)
...........Dose: ømax 52,8 mm, HüA 90,25 mm/nur Dose 86,1 mm, Spur 43 mm. Anm: es ist eine 0,15-Liter-Dose

Der Resettaster ist oben Mitte, unmittelbar links neben der Controllerfassung, auf dem I2C-Stecker zwei Status-LEDs, die ProgrammierLED links unten neben dem 6-fach-ISP ist praktisch nicht zu sehen, links oben zwei Taster mit LED-Anzeige für Schaltvorgänge/Testmodifikationen und rechts davon die TTL232. Die Platine ist noch immer viel zu gross geraten, ich würde sie jetzt um drei Lochreihen schmaler bauen: z.B. Quarz unter den Controller - aber es ist ja so schon ok. Die Schaltung für die Sensorik ist noch nicht aufgebaut.

Zum Schaudern der mechanischen Puristen die Motoraufhängung - wie immer eher rennsportmässig: vier einfache Drahtbügel fixieren die beiden Motorblöcke grob, zwei Standard-Lochplatinen 0,1"-Teilung dienen zur Klemmung der Motoren; man sieht in der Bodenplatte noch die herausragenden Motorblockhalter. Der Deckel der Dose ist noch jungfräulich. Die Servogehäuse sind teilamputiert, sonst hätte ich den Spurweite 43,0 mm nicht geschafft. ømax 52,8 mm, HüA 90,25 mm (Anm: es ist ja nur eine 150-ml-Dose).

Fahrgeschwindigkeit lt. Rechenblatt und nach der Methode des genauen Hinsehens ca. 0,8 m/s - mal sehen, was die Abstandssensorik dazu sagen wird (aber WALL R fährt an die 1,5 m/s sowie Anmerkung: die "alte" Funktion Kurve-zurück-mit-rechtem-Rad-um-1600-Encoderticks ergibt beinahe eine Pirouette). Die Sensorik für MiniD0(ttie) ist noch nicht aufgebaut - ich studiere noch das Platzangebot, da die Sensoren ja in die Büchse sollen und durch Sehschlitze/Hutzen möglichst unauffällig herausblinzeln sollen. Auch das hatte WALL R ja im Prinzip vorgemacht. Die beiden M3-Muttern sind relativ simple, aber notdürftig funktionable Gleitpads, die sogar auf mittellhohem Florboden laufen.

Durch Reduzieren der Baugruppe Energie: vier statt sechs Zellen, kein Spannungskonstanthalter, Batteriehalter statt 4xMicro 2 Stk 2xMicro, wurde deutlich Platz geschaffen. Leider gibts dann am Ende der Entladekurve schnell mal einen Reset. Dafür ist zwischen den beiden Batteriehaltern jetzt auch Platz für den Strohhalmservo. Und trotz meiner langen Bauzeit hat es Sharp noch immer nicht geschafft, die GP2Dxx-Familie in Kleinstformat zu bauen. Schade. Und den Sharp ohne Gehäuse zu betreiben traue ich mich nicht wirklich.

PCF8574P
23.03.2009, 15:48
Hallo,

Herzliche Glückwunsch zu deiner Dose im 015 Format.
Geniale Idee mit den Servos.


Bei mir geht leider grtad absolut nix voran.....neuer Pc....keine Serielle oder Parallele Schnittstelle. und halt Quadro

MFG Max

Richard
23.03.2009, 16:10
Hat schon mal jemand einen Biegeversuch mit einer 0,5mm dicken Hartpapierplatine versucht?
liebe Grüße,

Klingon77

Deine Idee läßt mich an Folienleiterplatten denken und gleich darauf
an Bastelartikel wie selbstklebende Kupferfolien.....Oder halt Kupferfolie
ohne Kleber, die gibt es glaube ich dicker und die mit Sprühkleber auf
eine Klarsichtfolie pappen. Wer eine Ätzanlage hat könnte das ja einmal
testen. Vor allem ob sich das Ätzen und Löten läßt. Platz Sparen sollte
damit aber gut möglich sein?

Grüße Richard

oberallgeier
23.03.2009, 18:28
... Geniale Idee mit den Servos ...Danke. Das war (aber) Idee 356, die anderen 355 waren dafür umso schlechter *ggggg*.


... Bei mir geht leider grtad absolut nix voran ... neuer Pc....keine Serielle oder Parallele Schnittstelle ...Ja, leider ist Fortschritt nicht immer eine Weiterentwicklung zum Besseren (siehe oben, die ersten 355). Und es gibt ja Kollegen, die sich zum Programmieren ein "altes" Gerät hinstellen nach dem Motto: ein "alter", geschenkter, kann billiger sein als ein neues USB-Programmiergerät.

Da wünsche ich Dir also für die nächste Zeit eine Besserung.

Klingon77
23.03.2009, 20:29
hi oberallgeier,

freut mich echt, Deine Fortschritte mit zu erleben \:D/


Idee 356...
Bist ja noch gut dran!

Schau mal wie viele Versuche Thomas Alpha Edinson gebraucht hat bis die Glühbirne dauerhaft brannte?
Ich glaube es waren weit mehr als 1000.
Das führte dann wohl auch zu dem Spruch:
"Erfinden ist 10 % Inspiration und 90 % Transpiration".

Die Versuchsreihe, welche zum Penizilin führte endete irgendwo zwischen 600 und 800 (die genaue Zahl habe ich nicht mehr im Kopf.

Spass beiseite:
Respektable Leistung; Hut ab :mrgreen:


Die Motorhalter sind doch OK.
Die Belastung ist nicht wirklich hoch und sie erfüllen platzsparend und ergonomisch angebracht ihren Zweck.


Das mit den Folienleiterplatten muß ich mal Google´n.
Das hört sich interessant an; ggf. hätte ich da mittelfristig eine Verwendung.


Wie sieht denn der Sharp aus?
Könnte man da nicht ein spezielles kleines Gehäuse passend zu Deiner MiniD0(ttie) entwickeln?

liebe Grüße,

Klingon77

oberallgeier
23.03.2009, 21:52
... freut mich echt, Deine Fortschritte mit zu erleben ...Das Schöne daran ist ja, dass Du und andere mit-"schreiten". Das macht einen ganzen Teil der Freude aus. Und vielen Dank für das respektable Lob.


... "Erfinden ist 10 % Inspiration und 90 % Transpiration" ...Sehr zum Ärger vieler Menschen, die mir schon mit innovativen Beiträgen helfen wollten, hatte ich mir vor vielen Jahren den Spruch zugelegt: "Wir entwickeln das ganzen Jahr über das, was uns am Neujahrsmorgen zwischen 12 und 12Uhr01 einfällt." Die meisten denken nämlich, dass "DIE Idee" das Tolle ist - aber Du weisst es ja besser: stetige Arbeit, Drehen (nicht an der ~bank) und Wenden bringts. Und die meisten Innovationen, die ich eingeführt hatte, waren nur Lösungen für gerade anstehende Arbeiten. Ok, ein gewisser Grundgedanke als Leitlinie ist mindestens anfangs immer vonnöten. Leider sind viele innovative Vorschläge Lösungen für Fragen, die gerade nicht anstehen.


... Das mit den Folienleiterplatten ...... bringe ich in diesem Thread gerade nicht in die Reihe. Müsste ich mal nach oben gucken - aber das hatte mir nie gefehlt. Ich glaub es ging mal darum, im MiniD0 die Leiterplatte der Behälterwand anzupassen. Ich passe eher die Bestückung an den verfügbaren Raum an.


... Wie sieht denn der Sharp aus? ... ein spezielles kleines Gehäuse passend zu Deiner MiniD0(ttie) entwickeln ...Tja, ich meine eben - das originale Gehäuse abfeilen - evtl. wie einen Strohhalm anpinseln oder so. Da wird schon was passendes auftauchen. Das kommt ja erst etwas später *gggggg*. Den Sharp kennst Du:

......................https://dl.dropbox.com/s/vxaajyn12kp8fn6/gpd2d-060608_1503.jpg?dl=0

Das Gehäuse ist aus leitfähigem Kunststoff - sicher nicht nur weil einer bei Sharp da grad ne Tonne davon rumliegen hatte. Ausserdem ist Sende- und Empfangsoptik präzise im Gehäuse einjustiert. Das gäbe mit Bestimmtheit Probleme. Leider.

oberallgeier
25.03.2009, 20:51
Nachtrag: in dem Bild oben (Posting vom 23. März 09) (https://www.roboternetz.de/phpBB2/viewtopic.php?p=432909#432909) mit den (schauderhaft) vielen Strippen - neben der eleganten Blechkarosserie war der Link auf das höher augelöste Bild irgendwie abhanden gegangen. Bis jetzt - jetzt ist er (wieder) da.

Klingon77
26.03.2009, 08:23
hi oberallgeier,

Mit dem Sharp hast du sicherlich Recht; mit dem Entwickeln leider auch.

Evtl. wäre eine zur Dose passende Umhausung möglich?
Einfach nur um das Ding ein wenig zu "tarnen".
Evtl. ein Kußmund aus Styropor oder sonstwas verrücktes...

Bin mal wieder am "Spinnen"; ist wohl wieder zwischen 12:00 und 12:01 Uhr O:)
Der Spruch gefällt mir; muß ich mir merken.



Wären für Deine Gleitpads aus M3 Muttern evtl. Kunststoff Hutmuttern eine Alternative?
Gibt es, glaube ich, beim großen "C".

Dann hättest Du ggf. zwei Fliegen mit einer "Klappe" geschlagen, sofern die Kunstsoff Hutmuttern in der Zugfestigkeit ausreichen.


liebe Grüße,

Klingon77

Sternthaler
27.03.2009, 01:06
Hi oberallgeier,

ich muss viel nachholen. Bin wieder da und lese wieder mit.
Deine 0.15-Dose sieht ja auf den schnellen Blick schon wieder nach Applaus aus.

Gruß Sternthaler

pinsel120866
27.03.2009, 06:36
Hi Nachbar,


...Der Deckel der Dose ist noch jungfräulich...

Ich stelle mir gerade vor wie du die volle Dose unten geöffnet hast. War sicher eine grosse Sauerei, oder? =P~

oberallgeier
27.03.2009, 09:53
Hallo Freunde,


... viel nachholen ... wieder da ... sieht ... nach Applaus aus ...Ohhhh - schön dass Du wieder "da" bist. Immerhin halten wir zwei ja die vorderen Ränge im OT *gggg*. Und manchmal fehlt(e) mir Dein softer, warer Ratschlag.


... die volle Dose unten geöffnet ... grosse Sauerei ...Hallo Nachbar. Zu solchen Fragen habe ich seit Jahren eine Antwort: "Wenn ich das nicht könnte, dann hätte ich in meinem Leben nix gelernt". Kleiner Hinweis: 1) Kühlen 2) nicht Schütteln, vorsichtig umdrehen 3) Schweizer Armeemesser - die Ahle . . . . . . genüßlich schlürfen . . . . . . . Nix S..erei ! Ok, danach kommt ein kleines, feines Detail - den Boden abscheiden mit einer kleinen, aber sehr festen, gebogenen Blechschere (die stammt wieder einmal aus dem Bedarf der Zahnärzte und -techniker). Danach 160-Korn, 600 Korn und zum Schluss mit 1000er nachputzen. Das muss sehr vorsichtig gemacht werden, weil die Festigkeit der Dose total weg ist mit dem Boden und kleine Falten nur sehr schwer auszubügeln sind (na ja, dazu gabs mal einen "Grundkurs" in der Nacharbeitsecke zu Karosseriefehlern bei einem Automobilbauer).


... Sharp ... ein wenig zu "tarnen" ... Gleitpads aus M3 ... Kunststoff Hutmuttern ...Ja, zur Tarnung wird mir schon noch etwas einfallen, das bringt einfach die Zeit. Und die Hutmuttern - ich müsste dazu die Norm ändern oder mir speziell flache drehen lassen. Im Moment fährt der "Erlkönig" (= ohne Dose/Karosserie) auf einer Melaminplatte mit Papiertaschentuch als Gleitpad - - - ist absolut ruhig! Man hört nur noch das Get riebe rauschen - oder ist das die PwM vom Controller???

oberallgeier
29.03.2009, 09:00
Es gibt kleine Fortschritte. VOR dem Aufbau der Regelung für den Antrieb brauche ich die Regelungsparameter. Trivial. Die werden - noch trivialer - aus der Messung der Sprungantwort bestimmt. Neu für mich war, dass das kleine Gefährt (fast) wirklich springt - zuerst beim Losfahren und dann erst richtig beim Stehenbleiben (bei dieser Messung lasse ich das Gefährt immer recht schnell stoppen, weil das Übertragungskabel ja mitgeschleppt wird). Aber die Datenaufnahme war ok. Immerhin ist zu erkennen, dass meine gehackten Miniservos auch mit meinen "eingesparten" Getriebestufen noch ein reichlich hohes Drehmoment haben. Endgeschwindigkeit sollte irgendwo nahe 0,8 m/s werden !

So sieht das Ganze VOR dem Losspurten aus - Fahrtrichtung ist im Bild nach links - das Bild ist mit dem Video auf YouTube verlinkt :

.....................https://dl.dropbox.com/s/a0g36hlknut3ojn/sprungantwort_vorstart.jpg?dl=0 (https://www.youtube.com/watch?v=52ND0dmOb68)

Man beachte die nach hinten geneigte Stellung, damit eine rückwärtige Abstützung da ist und auch kein noch so kleiner Wheelyeffekt auftritt, der die Messung verfälschen würde (ok Klingon77 - richtige Pads sähen hier vielleicht professioneller aus als die schönen VA-Muttern - aber es funzt prächtig). Das Kabel nach links vorne ist die TTL232. Die Datenausgabe wird mit einem Taster gestartet, einer von den beiden, die ganz oben links, (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=432909#432909) rechts von der grLED zu sehen sind.

So sehen dann die Werte auf dem Terminalbildschirm aus:

.....................https://dl.dropbox.com/s/lz7myiebypgem5n/sprungantw-280309_1600.jpg?dl=0

Izeit ist die Laufzeit der Messung (Izeit wird zu Messbeginn auf 0 gesetzt) und Izdiff ist die Messzeit in tupsi (TimerUnitsPerSensorInterrupt = die 50-µs-Zeiteinheit meines Allzwecktimers). Gemessen wird die vier-geschlitzte Encoderscheibe, siehe im separaten Motor-Thread. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=430624#430624) Um nicht zu kleine Messwerte bei vollem Tempo zu bekommen, wird aber nur jeder vierte Messschlitz gezählt - also eine ganze Umdrehung des Motors. Immerhin dreht der Motor mit max. 760+ Hz.

Noch kurz zur Energieversorgung. Platz für zwei getrennte Versorgungen Motor/Servo und Controller war nicht (schon gut - die Einschränkung heißt: ich besitze keine LiPos, sie sind mir zu teuer und vermutlich auch zu pflegebedürftig - aber ich habe etliche NiMH mit 1100 mAh).

Eine korrekte Spannungsversorgung mit einem oder zwei 7805, wie beim Dottie, und den nötigen Kondensatoren bekäme ich wirklich nicht unter (ausser der geplante Servo für den Strohhalm wird gestrichen). Der Akkuhalter 4xAAA mit zwei direkten Leitungen zu Servos/L293D und zum Controller ergab im Test dauernde Resets am Controller. Abhilfe brachten 200 µF unmittelbar VOR dem Controller und direkt an der Einspeisung zum L293D. Nun hat diese Konstruktion und die Akkuladung schon eine satte Stunde Betriebszeit drauf - ohne neue Ladung - und ohne Störung! Es lebe der Minimalismus.

jeffrey
29.03.2009, 11:50
hoi,
nachdem du die daten sowieso nach der messung überträgst, kannst du ja das rs232 kabel bei der messung weg machen, und erst vorm start der übertragung aufstecken.
treibst du nur ein rad bei der messung an?
mfg jeffrey

oberallgeier
30.03.2009, 19:20
Hallo Alle,

die Regelung läuft und lässt das Fahrzeug schön geradeaus laufen. (Diesmal wurde das Video hochgeladen bevor ich das Posting schreibe *ggggg*.) Immerhin soll ja die aufgenommene und ausgewertete Sprungantwort bestätigt werden durch eine passable Geradeausfahrt. Die ist im Video zu sehen. Da mir das Dolly fehlt, ist die Kamerafahrt etwas wackelig. Immerhin ist zu erkennen, dass die 1,6 m lange Teststrecke (feiner, halbhoher Velours) in rund 5 sec abgefahren wurde. Da die Ansteuerung mit etwa 25 % PwM erfolgt, dürfte bei vollem Tempo doch das angestrebte Ziel, etwa 0,8 m/s, erreicht werden. Da kommen dann sorgfältig berechnete Beschleunigungsrampen auf mich zu.

Die Kopflastigkeit bei der geringen Basis und der kleinen Spurweite ist schon bedenklich. Aber es ging nicht anders, die Motoren mussten ja schliesslich unten sein und für die Akkus war nur darüber Platz frei. Vielleicht gibts noch einen kleinen Bleireifen um die Motoren - unklar ist dann, wo das Optimum zwischen Stabilität und Beschleunigungsfähigkeit liegt. Klingt also nicht wirklich wie eine erstrebenswerte Variante.

.........................Der Erlkönig ist unterwegs (http://www.youtube.com/watch?v=52ND0dmOb68) . . . . (Bild ist mit YouTube-Video verlinkt)
.........................https://dl.dropbox.com/s/zml8d8fzip4koio/erlk%C3%B6nig-m-regelung-25%25.jpg?dl=0 (https://www.youtube.com/watch?v=52ND0dmOb68)

Verblüffend ist für mich wiederum, wie beim R2D03, wie tolerant die Regelung ist. Die Berechnug erfolgt ganzzahlig, geregelt werden die Motoren jeweils getrennt mit guten 400 Hz. Der Regelungsaufruf erfolgt innerhalb einer 1220 Hz-ISR, die mit einem Vorteiler den ADC bedient und mit dem gleichen Vorteiler die Regelung "Motor12" bzw. "Motor34" alternierend mit 400 Hz aufruft. Eine langsamere Taktung wäre denkbar, vielleicht sogar wünschenswert, aber ich sehe hier keinen Nachteil und die Güte der Regelung wird durch ein langsameres Takten nicht besser. Auch die Messung des Zeitbedarfs für die RegelungISR (stammt noch vom R2D03) ist "gut bis sehr gut".


... kabel bei der messung weg ...
... treibst du nur ein rad bei der messung an? ...Ich finde das Kabel bei der Messung nicht hinderlich und spare mir so bei einer eventuellen Fehlmessung das wiederholte An- und Abstecken. Das Ergebnis der Messung (bzw. der nachfolgenden Auswertung) bestätigt ja auch, das alles in Ordnung ist. NATÜRLICH treibe ich für eine Sprungantwort "über alles" beide Räder an. Das ist aus zwei Gründen notwendig: ich will die trägheitsabhängige Sprungantwort für lineare Beschleunigung messen - als vereinfachte, verallgemeinerte Grundlage für die Regelung und NICHT die trägheitsmomentabhängige Rotationsbeschleunigung. Daher ist auch ein kleines Zusatzgewicht für die fehlende Karosserie und ein paar elektronische Kleinteile drauf. Ausserdem werden ja beide Motoren zusammen mit der Elektronik von einem doch etwas knapp bemessenen Akku bedient. Die PwM für die Motorregelung für beide Motoren läuft ausserdem praktisch im Gleichtakt. Da könnte der benötigte Stromfluss schon einen Einfluss auf die Motorbeschleunigung haben - die das Messergebnis nicht realitätsgerecht verändern könnte. Würde und könnte - stimmt schon, es ist nicht nachgewiesen, aber ich habe auch keine Lust, solche Details nachzuweisen. So, wie es ausgeführt wurde, geschieht es aber nach bestem Wissen und Gewissen.

jeffrey
30.03.2009, 20:48
hoi,
meine frage kam daher, weil bei der messung ne linkskurve gefahren wird.
mfg jeffrey

Sternthaler
31.03.2009, 23:36
Guten Morgen oberallgeier und alle anderen auch,

wenn man sich das Video ca. 20 mal ansieht, kann man die reine Fahrzeit mit ca. 5 Sekunden ermitteln. (Start bei 5s+etwas; Stop bei 10s+etwas)
Weitere 10 Wiederholungen (ist ja schon fast wie: Bei ARD und ZDF sitzen sie in der letzten Reihe) bringen dann 7 Zollstockeinheiten á 20cm + Startposition bei ca. 15cm. Also nach Adam Riese 155cm

Somit zeigt diese Videoauswertung eine Pi-mal-Daumen-Geschwindigkeit von 155cm / 5s = 0,31 m/s.
Bei einem aktuellen PWM-Wert von 25% ist tatächlich dann ja mit einer noch beträchlichen Geschwindigkeitssteigerung zu rechnen.

@oberallgeier
Hast du irgendwo schon mal Messungen veröffentlicht die die Beziehung zwischen PWM-Wert und Geschwindigkeit/Drehzahl deiner Servos zeigt?

Hier findet man Hilfe wenn es um das Ausgleichen von Dreh-, Kipp- und (in diesem Fall wohl eher) um Schnapsideemomente geht: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=341270#341270 ;-)

Gruß Sternthaler

oberallgeier
05.04.2009, 19:12
Schönen Abend,


... frage kam daher, weil bei der messung ne linkskurve gefahren wird ...Ja, war mir schon klar. Ich habe zwei Motoren - ist Dir ja klar. Bei der Messung der Sprungantwort starte ich die im Rahmen des Möglichen gleichzeitig (also ein paar µs-Bruchteile hintereinander). Allerdings haben die beiden Motoren unterschiedliche Zeitkonstanten im Bereich von Millisekunden mit einer knappen Millisekunde Unterschied. Damit entsteht leider diese Drehung - die garnicht gewollt ist. Abhilfe könnte ein versetzter Start der beiden Motoren schaffen - aber ist dann die Sprungantwort genauer? ==> Wenn ich die Wahl zwischen zwei fehlerbehafteten Messmethoden habe, nehme ich die, die mir weniger Mühe macht.


... wenn man sich das Video ca. 20 mal ansieht ...Ich bin ja froh, dass Du mir Deinen Aufwand nicht in Rechnung stellst.


... fast wie: Bei ARD und ZDF sitzen sie in der letzten Reihe ...? ? ? ich hab ja keinen grossen Bildschirm fürs TV - aber soooo klein ist meiner nicht *gggg*. Es soll ja schon günstige, gute, grosse Bildschirme geben *ggggggggggg*.


... Videoauswertung eine Pi-mal-Daumen-Geschwindigkeit von 155cm / 5s = 0,31 m/s ...Ja, so etwa hatte ich auch gerechnet.


... Messungen veröffentlicht die die Beziehung zwischen PWM-Wert und Geschwindigkeit/Drehzahl deiner Servos zeigt ...Nein, das sind einfach Geheimakten, Du wirst das sicher verstehen. Aber ich will mal ein altes Blatt aus der Frühzeit von R2D03/Dottie hervorkramen:

.............https://dl.dropbox.com/s/0qvt4fx7m7jb3xn/drehz_alt_dottie.gif?dl=0

Du erinnerst Dich sicher: 1 tupsi ist 50 µs. Die Anzahl der tupsi ist (bei DIESER Messung bei Dottie) die Dauer für eine halbe Motorumdrehung; beim MiniD0 ist es die Zeit für eine viertel Umdrehung. 20 tupsi z.B. sind hier 20x50 µs für eine halbe Umdrehung, siehe Posting oben vom 29 März 2009. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=433979#433979) Die Untersetzung der Dottie-Motoren ist rund 768 : 1. Beim MiniDO ist die Untersetzung etwa 91 :1. Das Diagramm zeigt irgendwelche beliebige Messungen der beiden Motoren - genauere Details habe ich jetzt gerade nicht parat. Vermutlich aber "im System" - d.h. mit der Gesamtmasse.

Das "Aufkippen" des MiniDO ist der bekannte Effekt, dass das Gefährt nach hinten-unten wegtaucht, wenn man voll auf "Gib-Gummi" schaltet. Allerdings ist die Beschleunigung im Video rampenförmig! Sowohl positiv als auch negativ.

Sternthaler
06.04.2009, 00:36
Dann wünsche ich euch mal einen schönen Montag Morgen.

Ohhh, mit Geheimakten kann man nun etwas besser raten. Fehlt nur noch eine Angabe, wie viele der bis zu 300 PWM-Werte denn nun so ca. 25% sind.
Annahme: Wenn die 300 so schlappe 100% darstellen, dann ist ja bei der zartrosa-Linie noch einiges an Geschwindigkeitssteigerung zu erwarten. Die grüne Line würde ja nicht mehr so richtig auf wenige tupsis kommen. Und da sagt man doch immer, dass Grün die Farbe der Hoffnung ist.
Ich tippe bei den geheimen Messreihen auf unterschiedliche Bodenbeläge. Bleib also immer schön auf rosafarbenen Grund, da ist die Steigerungsrate viel besser ;-).

Die Daten zeigen aber leider, dass ab PWM=150 (50%?) die tupsi-geh-in-den-Keller-Zeit ziemlich abgelaufen ist. Hoffen wir mal, dass du noch auf 0,8 m/s kommen wirst. Daumen drück!

Und nun zum unvermeintlichen OT:
Wie, die Rechnung ist noch nicht angekommen? Da muss ich doch mal zum Minister um nachforschen zu lassen, was diese Schlamperei bedeutet.
Ich hoffe, dass noch ein paar Kameras zur MA-Kontrolle in Betrieb sind.

Frohes Dosenrennen und eine schöne Vorosterwoche
Sternthaler

oberallgeier
08.04.2009, 22:03
Hallo Sternthaler,

tut mir leid, da gibts ein kleines Missverständnis. Das Diagramm hier oben zeigt die Messung von den beiden Motoren des R2D03/Dottie (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390196#390196) - NICHT des MiniD0. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=434250#434250) Dabei wurde OHNE Regelung die PwM schrittweise jeweils um fünf Einheiten höher angesteuert und nach einer halbe Sekunde der Speedwert in tupsi gemessen. Die markanten Unterschiede in den erreichbaren Geschwindigkeiten bei gleichem PwM-Wert sind mir auch beim Bestimmen der Sprungfunktion für Dottie aufgefallen: Zeitkonstanten der Motoren "im System" rund 8 ms und 12 ms. Das fällt schon deutlich ins Gewicht. Daher kann Dottie auch nicht soooo schnell fahren, wie ursprünglich angesetzt - der schwerfälligere Motor erlaubt es nicht. Und ich muss ja - wenn geregelt wird, schon ein bisschen "Luft" nach "oben" lassen. Wäre dumm, wenn der Regler in die Sättigung fährt und das Dottie deswegen nicht mehr geradeaus läuft . . . .

Das MiniD0 habe ich noch nicht vermessen - das läuft aktuell nur mit Regelung. ABER hier sind die Zeitkonstanten relativ gleich (trotz des fürchterlichen Hakens beim Messen der Sprungfunktion).


Frohes Dosenrennen und eine schöne VorosterwocheHmmm - wird nix mit dem Döschen. Das Wetter ist einfach aktuell soooo schön, da treibt es mich raus zum Fliegen. Keine Zeit für nix vor lauter Freizeit *ggggg*.

Frohe Ostern.

Sternthaler
09.04.2009, 19:12
Grüß euch alle.

Das muss dir nicht leid tun oberallgeier. Ich hätte ja auch schreiben können, dass ich die Daten sehr wohl als Messwerte aus der Dottie gesehen hatte. Schließlich hast du das ja Dick und Fett angegeben.

Trotzdem sind die Daten interessant da ja das Verhalten von PWM zur Drehzahl im Prinzip aufzeigt was da passiert. Nämlich keinesfalls ein linearer Zusammenhang. Heul, buh. Dass die Kurve aber so stark 'gebogen' ist, hätte ich nicht erwartet. Hier ist aber bestimmt nicht der cw-Wert schuld dran.
Klar, dass zu den anderen Servos in MiniDO neue andersfarbige Linien entstehen werden. Aber ich bin relativ sicher, dass ein sehr ähnlicher Kurvenverlauf, halt nur an etwas anderer Stelle im Diagramm, auftauchen wird.

Deshalb nochmals :Strahl : Hoffen wir mal, dass du noch auf 0,8 m/s kommen wirst. Daumen drück!

Und nun schöne Ostern
Gruß Christof

oberallgeier
15.04.2009, 19:33
... Messungen ... die die Beziehung zwischen PWM-Wert und Geschwindigkeit/Drehzahl ... zeigt? ...Nachdem die s..guten Thermiktage vorerst hinter mir sind und ich die Fingernägel nach dem Klettern nicht total ab habe, hier die aktuellen Ergebnisse von MiniD0 im Leerlauf; die Terminalausgabe auszugsweise und das Diagramm für PWMSteigerung um je 5 Werte für beide Motoren. Unter Last sind die Ergebnisse ziemlich vom Untergrund, sprich vom Rollwiderstand, abhängig, da bin ich nicht sicher, dass eine solche Messung Sinn macht. Den deutlichen Ausreissern von Motor 34 gehe ich demnächst nach.

Izeit_1 ... der laufende 50-µs-Zählwert (max. 20000), I_diff0/~1 ... die Differenz in diesen Zeiteinheiten zwischen 4 Interrupts (weil die Encoderscheibe vier Schlitze hat und ich nur jeweils eine Umdrehung wissen will, daher auch die Größe tupsi_4 - sorry für den Tippfehler), kli/kre die PWM-Steuerwerte links/rechts resp. Mot 12/~34.

Messverfahren: die PWM wird durch den jeweils neuen OCR0x-Wert umgesteuert, danach wird rund 1 sec -waitms(1000)- gewartet. Dann werden die aktuellen Werte zwischen cli und sei ausgelesen. Die Ausgaberoutine kommt zum Schluss.

................https://dl.dropbox.com/s/7bpu4j3yad04s1e/speed_M-D01_trmnl.jpg?dl=0

................https://dl.dropbox.com/s/6vqd7ix5ks3t58f/speed_M-D01_tps4.gif?dl=0

Sternthaler
15.04.2009, 23:27
Hallo oberallgeier, hallo alle.

War ja klar, dass du nun einen weiteren Farbtest vornimmst.
Wie ich sehe hast du den rosafarbenen Untergrund nochmals benutzt ;-).

[Nur mal so am Rande]
Lese ich das richtig?
Pro Umdrehung der Encoderscheibe eine Angabe in I_diff0/~1 in 50-µs-Zeiteinheiten?
Dann kommt mein Taschenrechner bei den Werten:
- 99 auf: 1 / ( 50µs * 99 ) = 202 Umdrehungen / Sekunde -> 12000 RpM
- 38 auf: 1 / ( 50µs * 38 ) = 536 Umdrehungen / Sekunde -> 32000 RpM
Ähm, rattert ein Servo tatsächlich so rasend schnell innendrinne?
[/Nur mal so am Rande]


Hui, auch diese Kurve macht ja den gleichen krummen Bogen wie die Dottie-Kurve. Wenn man den X-Massstab von Dottie (0-50) und diesen (0-100) 'im Kopf' wegrechnet, dann scheint die Kurvensteigung recht ähnlich zu sein.

So richtig kann ich die kli/kre-Werte nicht interpretieren.
Im Text schreibst du: ".., kli/kre die PWM-Steuerwerte ...", aber in der Grafik wird die Y-Achse mit "akt.PWM-Wert" von 0 bis 250 angegeben.
Hast du kli/kre auf 100% normiert? Dann bleibt immer noch die Frage offen, wieviel von den 0-250 "akt.PWM-Werten" sind die 25%?
Denn es steht ja nicht geschrieben, dass bei 250 das Ende der Fahnenstange, äh, Y-Achse erreicht ist. Ich würde ja eher zu 255 tendieren ;-)?

Dann wären 25% laut Tabelle so 60 bzw. 84 I_diff0/~1-Werte. Und das sind dann ja die schon bei YouTube 40-250 mal gesehenen 0,3 m/s.
Runter bis 38 I_diff0/~1, und die 0,15-er-Dose müsste so um 0,5 bis 0,6 m/s drauf bekommen.
Ist in den R3D01-Servos auch schon ein Getriebeumbau, wie du ihn dort (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=430624#430624) beschrieben hattest?
Ich denke, dass du auch hier einen Ser vo-hack benötigen wirst. :-k

Gruß Sternthaler
P.S.: Ich hoffe, dass ihr alle Ostereier, vor allem die hinter den Heizungen, gefunden habt.
P.P.S.: ... die s..guten Thermiktage sind vorbei???? Es soll Leute geben die sich darüber freuen wenn du mit den Füßen am Boden bleibst und hier Beiträge postest.

oberallgeier
16.04.2009, 11:19
... Wie ich sehe hast du den rosafarbenen Untergrund nochmals benutzt ...Ohh, das Diagramm ist als GIF hochgeladen mit "Transparenz" für die ehemals weiße Hintergrundfarbe. Aber irgendwie ist Deine Farbenpalette eher in diese Wellenlänge?? .. weil in einem anderen Thread steht:
Ich habe gerade den 'roten' Knopf gedrückt ...... und dieser Knopf ist bei mir blau :-k


... [Nur mal so am Rande] ... Ähm, rattert ein Servo tatsächlich so rasend schnell innendrinne? ...[/Nur mal so am Rande]Rechnen wir doch mal bitte: die Servos, auch die Billig-Mini-Dinger sind meist mit 0,1 sec/60° spezifiziert - meine auch, real sind es aber eher 0,15sec/60°, entsprechend rund 60 Upm. Das konnte ich mit dem Standardhacking durch Entfernen der Abtriebsachsen-Potentiometerkupplung realisieren. Die von mir verwendeten haben rund i = 768,6. Also 768,6 * 1 U/sec * 60 sec/min ... Das bekommst Du im Kopf genauer hin als es die Reproduzierbarkeit hergibt.


... X-Massstab von Dottie (0-50) und diesen (0-100) ... kann ich die kli/kre-Werte nicht interpretieren ... "akt.PWM-Wert" von 0 bis 250 angegeben ... kli/kre auf 100% normiert ...Nein, das sollte auch nicht der Mitleser-Aufmerksamkeitstest sein. Ich hatte die Terminalausgabe auszugsweise wiedergegeben (siehe oben) - da ist die 100er Grenze leider verwirrend. Die kli/kre-Werte gehen bis 250, bis 255 hatte ich mir gespart, weil ich die Kurvensteigung dort oben kenne. Die tatsächliche Ansteuerung beim Lauf mit Regelung kenne ich (noch) nicht. Aber ich muss an der Regelung sowieso noch arbeiten: beim Fahren von mehreren Kreisen, bei denen die Drehung für das Aussenrad doppelt so schnell wie die für das Innenrad vorgegeben wird, gibt es einen Versatz von Kreis zu Kreis, der NICHT vom Untergrund abhängt. Seltsam - aber mir passieren ja immer so schräge Dinge *schnief*. Mit diesem Versatz kann ich schlecht leben, damit ist eine saubere Odometrie nicht möglich. Ein erster Befund, der ja auch im Diagramm herauslesbar wäre, deutet auf eine ungleichförmige Abtriebsdrehzahl des Motors 34 hin.


... Es soll Leute geben die sich darüber freuen wenn du mit den Füßen am Boden bleibst und hier Beiträge postest ...Danke.


... schon ein Getriebeumbau ...Ja, klar. Der ist ja speziell für den MiniDottie notwendig geworden, um mit den beschränkten Platzverhältnissen zurande zu kommen. Den Umbau habe ich mal ordentlich und am "alten" Ort beschrieben. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=437282#437282)

thewulf00
16.04.2009, 11:38
... Wie ich sehe hast du den rosafarbenen Untergrund nochmals benutzt ...Ohh, das Diagramm ist als GIF hochgeladen mit "Transparenz" für die ehemals weiße Hintergrundfarbe. Aber irgendwie ist Deine Farbenpalette eher in diese Wellenlänge?? .. weil in einem anderen Thread steht:
Ich habe gerade den 'roten' Knopf gedrückt ...... und dieser Knopf ist bei mir blau :-k
Ja, das wundert mich auch.
Das Bild verweist eindeutig auf ein blaues Kärtchen, aber vielleicht wurde browser- oder designabhängig eine andere Grafik geladen?

Sternthaler
17.04.2009, 00:56
Hallo oberallgeier, hallo thewulf00,


bei Farben war ich schon immer kreativ. Siehe auch beim Lego-Auto oberallgeier. War dort aber keine Beziehung mit der Politik eingegangen. Wirklich nicht!
OK, der Button ist blau. In was für Threads treibt ihr euch eigentlich rum?
Mit rosa meinte ich nicht die transparente Hintergrundfarbe, sondern die eine Kurve im Diagramm. Aber die wurde doch bestimmt auf rosafarbenem Untergrund aufgenommen, oder etwa nicht ;-)?


Wow, Servomotoren sind sauschnell.

Ja, das ist ein extravaganter Ausschnitt der Daten. Anhand der Izeit1 fällt es ja schnuckelig auf. Aber die 100 haben mich tatsächlich ziemlich abgelenkt. Und das die I_diffX-Werte im Diagramm auch unter 38 kommen, konnte ich bei meiner Farbenblindheit nicht so richtig erkennen. Gut dass oberallgeier immer schön antwortet. Auch wenn der Aufmerksamkeitstest mal wieder nicht die volle Punkzahl erreicht hat.

Ist echt ernst gemeint.

Zum Getriebeumbau hast du ja noch mal schöne Infos/Fotos gegeben. Leider kann ich mit Induktivitäten auch nicht helfen.


Aber ich muss an der Regelung sowieso noch arbeiten: beim Fahren von mehreren Kreisen, bei denen die Drehung für das Außenrad doppelt so schnell wie die für das Innenrad vorgegeben wird, gibt es einen Versatz von Kreis zu Kreis, der NICHT vom Untergrund abhängt.Wie ich dich kenne, hast du bestimmt schon ausprobiert, ob das Verhalten sowohl bei einer Rechts- als auch bei einer Linkskurve "schräge Dinge" erzeugt.
Du hast ja schon darauf hingewiesen, dass der blaue (diesmal richtige Farbe) Motor 34 möglicherweise Aussetzer hat. Dann müsste eigentlich beim Rechts-/Linkslauf ein unterschiedliches Verhalten auftreten.
Wenn R3D01 linke Kurve fährt, und "Schräges Ding" somit die Außenkurve kratzen muss, und stottert, dann sollten die Kreise größer sein als bei einer Rechtskurve.
--- Kann das festgestellt werden?

Ich weiß ja, dass du immer sagst, deine C-Künste wären noch Cäh. Aber ich kann mir nun nicht vorstellen, dass deine Datensammelei hier jetzt noch scheitert. Es muss somit etwas anderes sein.
Hast du mal die Servos getauscht? Nicht andere, sondern nur rechten und linken Servo. Bzw. die Ein- und Ausgänge am AVR.
Wenn nun der Mot 12 stottert, dann liegt es eher am Servo als am Programm.
Ist aber immer noch Mot 34 betroffen, dann solltest du mal nachsehen, ob die Eingänge für die Encoder-Interrupt von der Prio her so sind, ob die linke Seite eine höhere Prio gegenüber rechts hat. Dann bleibt nur zu vermuten, dass während der Int-Bearbeitung der linken Seite ein ankommender Impuls von rechts sporadisch 'versackt'. (Dies ist keine politische Aussage.)

Ansonsten bleibt nur zu sagen: Immer schön auf dem Teppich bleiben. Oder: Wer wird denn gleich in die Luft gehen?

Viele Grüße
Sternthaler

oberallgeier
17.04.2009, 15:27
... Wow, Servomotoren sind sauschnell ...Im Prinzip ja. Aber die aktuellen Messwerte zeigen mir, dass ich auf die 0,8 m/s nicht kommen werde (ausser ich mache größere Räder dran. Werde ich nicht tun, weil die mit meiner Hardware nicht in die Minidose passen).


... Wie ich dich kenne, ... schon ausprobiert ... sowohl bei einer Rechts- als auch bei einer Linkskurve "schräge Dinge" erzeugt ...Klar - das ist auf dem Video (Link zu YouTube bei Klick aufs Bild) auch gut zu sehen. Daten zum Video: Aufnahmeentfernung ca. 90 cm, senkrecht von oben. Fahrbahn melaminbeschichtete Spanplatte mit Strichmarken im Abstand 150 mm. Start "vorwärts" - im Bild senkrecht nach oben. Kreisfahrt durch Vorgabe von Geschwindigkeit "a" für ein Rad und "2a" für das andere.

................https://dl.dropbox.com/s/z1923fdky9cdm9e/rgl-tst-MiniD0_01.jpg?dl=0 (https://www.youtube.com/watch?v=wmL-exRvaow)


... müsste eigentlich beim Rechts-/Linkslauf ein unterschiedliches Verhalten auftreten ... Kann das festgestellt werden ...Hach was wäre das schön! Leider . . . nein. Das heißt - unterschiedlich schon - unterschiedlich fehlerhaft. Auch das Wechseln der Motoranschlüsse half nix. Also Mot34 als "~12" und umgekehrt brachte einen Unterschied - eben ein anderes, aber ähnlich fehlerhaftes Fahrverhalten.


... ob die Eingänge für die Encoder-Interrupt von der Prio her so sind, ob die linke Seite eine höhere Prio gegenüber rechts hat. Dann bleibt nur zu vermuten, dass während der Int-Bearbeitung der linken Seite ein ankommender Impuls von rechts sporadisch 'versackt'. ...Leider habe ich das nicht nachgewiesen - ich hatte dazu keine Messungen gemacht. Es werden natürlich die Encoder Interrupts entsprechend der mega168-Interrupt-Tabelle priorisiert. Also kommt extINT0 vom mot12 wichtiger daher als der vom extINT1 / mot34. Aber das wäre doch ein ziemlicher Zufall, wenn diese Priorisierung der Grund für die Störung ist. Die Regelung läuft für die Motoren aber zu unterschiedlichen Zeiten ab - 1,22 kHz, jeder vierte von 12 Aufrufen wird verwendet für die Regelung Motor 12 und jeder achte für Regelung Motor 34.

Das Fahrverhalten - siehe Video - sieht eher so aus, als ob der Wind aus einer Richtung kommt und das MiniD0 zur Seite bläst. Daher tippe ich auf fehlerhafte Regelparameter und eine daraus resultierende Schwingung in der Regelung. Ich werde also die ganze Regelung (Nachtrag 18.04.09, 11:03 - den ganzen Antriebsstrang, Hard- und Software) überarbeiten - von Grund auf.

Sternthaler
18.04.2009, 23:05
Hallo Dosen-Dompteur.

Wenn ich das so lese, dann kommen mir irgendwie Rechen- und Grübelfunktionen durcheinander.
Ich kann aktuelle nicht mithalten, was du genau bei den 1,22 kHz machst.
Ich bin mir sicher, dass du da einen Timerinterrupt laufen hast.
Wie sieht es mit den Motorencodereingängen aus. Sind die per Interrupt bearbeitet, oder kommt da auch der Timer mit den: " ... jeder vierte; jeder achte; von 12 Aufrufen ... " ins Spiel.
Wenn du per 4/12 bzw. 8/12 vom Timer die Encodereingänge bearbeitest, dann habe ich bei dem Speed der Motoren echt Probleme damit ob dein Timer nicht zu lahm ist.
Ich weiß, ich weiß. Mathe ist nicht mein Ding, Aber wenn da 20-, 30-Tausend UpM drin sind, dann ist ein Messtakt von 1.22 kHz so kurz vor dem theoretischen Grenzwert um die Encoderschlitze zu sehen. Hapert es hier?

Also rüber mit den Tatsachen:
Werden die Encoderdaten per Interrupt in den AVR gebaggert, oder 'pollst' du anhand des Timerinterrrrrupts die Eingänge? Code, Code, Code, ...

Der mit Fragezeichen versehene
Sternthaler

oberallgeier
19.04.2009, 16:48
Hallo ?ternthaler¿


... Der mit Fragezeichen versehene ... Sternthaler
Tut mir leid, dass ich Dich mitternächtlicher Weise ins Grübeln und zum Durcheinanderrechnen bringe. Die 1220 Hz stammen primär von der PwM für die Motoren. (https://www.roboternetz.de/phpBB2/viewtopic.php?t=37410) Die anderen Timer sind/werden genutzt, wie es die untenstehenden Übersicht zeigt. Ich nehme die gleiche Aufteilung beim MiniD0 wie beim R2D03.

............https://dl.dropbox.com/s/jinynurme0ao1ox/plan_irupts%2Btimr.gif?dl=0

Die ursprünglich höhere Frequenz (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=345517#345517) für die Motor-PwM, 4,88 kHz, musste ich nach unten korrigieren, damit mir die davon abgeleiteten ISR für die irDME´s - Deine CIRperei - nicht zu viel CPU-Auslastung in den Interrupts bringt. Außerdem passte die niedrigere Frequenz dann auch noch fürs Auslesen des ADC-Sharp (alle 10 ms ist etwas schnell, aber dadurch bekomme ich die neuesten Ergebnisse des Sharp eben recht flott) und für die Regelung. Der Ablauf sieht in einem simplen Diagramm damit so aus:


---C---1---2---3---4---5---6---7---8---9---A---B---C---1---2---3---4--> >
| | v | |
| v AR *) Mot34 | v
v AR Mot 12 v AR Mot 12
Auslesen des ADC/Sharp Auslesen des ADC/Sharp

*) AR: Aufruf der Regelungsroutine
Die externen Interrupts der Encoder/Gabellichtschranken (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) werden so initialisiert und ausgelesen (Ausleseroutine sinngemäß für beide) :


/* ================================================== ============================ */
/* === Initialisierung fuer EXT_INT0/1 auf Pin 4+5/PD2,3 bei m168 ================
$002 jmp SIG_INTERRUPT0 ; IRQ0 Handler _VECTOR(1)
$004 jmp SIG_INTERRUPT1 ; IRQ1 Handler _VECTOR(2) ================ */
void XTI_0_1_init( void )
{ //Initialisiere beide Interrupts auf rising edge
// d.h. EICRA ISC00,01,10+11 auf 1 (doc,S68)
EICRA |= (1<<ISC11)|(1<<ISC10)|(1<<ISC01)|(1<<ISC00);
EIMSK |= (1<<INT1)|(1<<INT0); // und erlaube diese I´s in EIMSK
// Initialisierung der Zeiten:
Iencdr0 = 0;
Iz_diff0 = 0;
Iz_yseci0 = 0;
Iz_ysecv0 = 0;
}
/* ================================================== ============================ */


// ================================================== ===============================
// === Nicht unterbrechbare ISR für EXT_INT0 auf Pin 4/PD2/mega168 ===============
/* Routine setzt einen Zähler hoch. Der Zähler wird im main ausgelesen
##>> cli/sei setzen ?? <<## und nach 2 (od. 5) hunderstel Sekunden
auf den Speicher WEG_L/_R vorzeichenrichtig aufaddiert und dann zurückgesetzt.
##>> Beim Richtungswechsel (cli/sei) wird der Zähler ausgelesen und genullt,
damit ist eine saubere Wegmessung möglich.
Der zugehörige Motor auf PD7/PB0 = re,li und PB1 Geschwind./PWM */
ISR(INT0_vect) // hiess mal: ISR(SIG_INTERRUPT0)
{ //
if (nenc0 < 4)
nenc0 = nenc0 + 1;
else
{ // Zähle NUR jeden vierten Interrupt
nenc0 = 1;
Iencdr0 ++; //zähle Counter/encoder0 hoch
Ienc0alt = Iencdr0;
Iz_yseci0 = Izeit_1; //Weise Iz_ysec-ist-0 dem akt. Timerwert zu
Iz_diff0 = Iz_yseci0-Iz_ysecv0; //Neue Zeit-Differenz1 ausrechnen
Iz_ysecv0 = Iz_yseci0; //der aktuelle Zeitwert wird "Alter"
}
}
/* ================================================== ============================ */
Die Größe Iencdr0 dient für allfällige Odometrieaufgaben, also z.B. um eine Drehung um genau 60° oder so zu erzeugen. Sie wird entweder sinnlos rundum gezählt, oder bei Bedarf auf Null gesetzt und in der entsprechenden Routine abgefragt.

Damit sollte Deine Frage nach dem Gewinnen der Encoderdaten doch beantwortet sein!? Also für mich sieht das nicht aus wie Pollen. Sowas brächte ja blos Heuschnupfen! Jede extINT-ISR holt sich (ja ja, das wär aber doch pollen) den aktuellen Zeitwert Izeit_1 aus dem 50µs-Timer und weist ihm dem Wert Iz_yseci0 --- i wie "ISTzeit" --- zu, errechnet daraus die Zeitdifferenz zum vorherigen Interrupt und merkt sich die aktuelle ISTzeit als Iz_ysecv0=VORheriger Wert. Ok?

Die Initialisierung der PWMs etc hatte ich in diesem Thread bereits vorgestellt (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=417751#417751) und die Regelung zum Dottie hatten wir bereits diskutiert (da gings um die Asymmetrie von iesum12 - ich kann den Link gerade nicht finden). Den Code für MiniDO stelle ich vor (wenns Dir recht ist), sobald die aktuelle Version auch weitgehend stimmt - derzeit sind die Parameter keinesfalls optimal.


/* ================================================== ============================ */
/* === Regelungsroutine für Motor 12 ========================================== */
/* Die gemessene Zeitdifferenz Iz_diff0 wird zur Regelung verwendet
*/
void rgl_mo_12(void) // (Wird) Regelung für Motor 12
{
if (stupsi12 <= 5) // Soll überhaupt gefahren werden?
{
OCR0A = 0;
return;
}
tupsi12 = Iz_diff0; // Übernahme Iz-Wert in Regelung
ndrz12 = stupsi12;
if ( tupsi12 > 100 ) { tupsi12 = 100; } // Eingrenzen
idrz12 = 1000 / tupsi12;
ie_mot12 = ndrz12 - idrz12; // Vergleich => Regelabweichung
iesum12 = iesum12 + ie_mot12;
if (iesum12 < -10) { iesum12 = -10;}
if (iesum12 > 500) { iesum12 = 500;}
iy12 = iesum12/2;
iy12 = iy12 + ie_mot12 + ie_mot12 + ie_mot12 + ie_mot12 + ie_mot12;
// Diese Rechenoperation benötigt in float 0,20 bis 0,25 ms!

if ( iy12 < 0 ) { iy12 = 0;}
if ( iy12 > 255 ) { iy12 = 255;}

OCR0A = iy12; // Ansteuerung der PWM direkt statt "setPWMlinks"

return;
}
/* ================================================== ============================ */
So, damit habe ich hoffentlich für Deine Feiertagsruhe gesorgt - wenigstens soweit, dass Du nicht nach meinem Cäh-Code grübeln musst. Wenn Du mehr Softfutter möchstest - kein Problem.

Übrigens hatte ich die Sprungantwort fürs MiniD0 etwas oberflächlich gemessen (auch nur ein Mal *brrrr*) und eine entdeckte Macke im Kurvenverlauf lasch als Aussreisser interpretiert und unbeachtet gelassen. Tatsächlich war die Messung für die Tonne, an neueren Messungen habe ich schon gearbeitet, aber heute standen auch (wieder) ein paar geradelte Straßenkilometer, gepaart mit Höhenmetern, auf dem Plan.

Sternthaler
20.04.2009, 19:39
Hallo oberallgeier,

danke für die Teil-Infos. Hilft schon mal etwas weiter.

Das habe ich hier gefunden:

Wenn die Variable Iz_diff0 nicht eine char-Variable, sondern ein längerer Datentyp wie z.B. int ist, dann kann es vorkommen, dass in rgl_mo_xx() der Zugriff auf diese Variable durch einen Interrupt unterbrochen wird.
Es kann dann sporadisch passieren, dass du beim Zugriff einen Teil der Bytes aus dem Speicher VOR der Int-Änderung holst, und das andere Byte NACH der INT-Änderung.

Sicherer ist folgendes in rgl_mo_xx():

int Iz_diff0_lokal;

interrupt_sperren(); -- dieses sei() und oder das andere Dingsda.
Iz_diff0_lokal = Iz_diff0;
-- und alle weiteren Variablen, die in Interrupts 'angefasst' werden.
interrupt_wieder_zulassen(); -- das andere Dingsda oder halt sei().

weiter mit deiner Funktion
Das gilt grundsätzlich für alle Variablen die in Interruptfunktionen geändert werden können.
Bei char-Variablen sollte man mal genauer auf den Output vom Compiler schauen, ob ein Zugriff komplett in einem Assembler-Befehl abgearbeitet wird. Dann, und nur dann, kann das sei() oder nicht sei() weg gelassen werden.

Gruß Sternthaler
P.S.: Ja, ich fahre jetzt nach meinem ersten Nach-Urlaubs-Arbeitstag auch wieder nach Hause.

oberallgeier
20.04.2009, 22:53
Hallo Sternthaler,

diese Geschichte mit den Mehr-als-ein-Byte-Werten liegt mir immer am Herzen (eigentlich nicht im Magen *gggg*). ABER, soweit ich weiß, wird der Interrupt bei den ATMELControllern verboten, sobald eine ISR angeworfen wird - und erst wieder nach deren RETI erlaubt. Präziser: ich habe softwaremässig keine nested Interrupts installiert (hoffe ich - wenn meine C-Kenntnisse in diesem Punkt stimmen). Bei mir läuft die Regelroutine nach Aufruf aus einer ISR. Bitte deswegen nicht schlagen - ich habe mich ausgiebig um die schnelle Abarbeitung gekümmert, damit ich in den Pausen meiner schnellsten Interrupt-Frequenz mit der ganzen Arbeit sehr locker zurande komme - dass also auch noch andere Aufrufe erfolgen können und kein Interrupt-Stau auftritt.


/* ================================================== ============================ */
/* === Nicht unterbrechbare ISR für ADC3 auf Pin 26/PC3/mega168 =============== */
ISR(ADC_vect) // _VECTOR(21)
{
- - - -

if (adc3_cnt == 4)
rgl_mo_12(); // Aufruf Regeln für mo_12

if (adc3_cnt == 8)
rgl_mo_34(); // Aufruf Regeln für mo_34

- - - -

}
/* ================================================== ============================ */
Also sollte eine neue ISR doch erst gestartet werden, wenn sowohl die rgl_mo_ij als auch die ISR ADC_vect fertig sind. Damit sollten meine je 2-bytigen Zeitvariablen ungestört leben können. Oder habe ich da etwas falsch verstanden? Hoffentlich nicht, sonst - hmmmm, dann müsste ich den ganzen Codeaufbau umwerfen.

PS: Hoffentlich hat Dir der Osterhase "auf Arbeit" kein allzu schweres (Arbeits-) Ei gelegt.

oberallgeier
03.05.2009, 16:59
Hallo Dosenfans,

die Regelungsfragen sind recht ordentlich geklärt worden. Die ersten Sprungantworten hatte ich ereignisgesteuert aufgenommen – es wurden hundert Interrupts an einem Motor erfasst, das waren anfangs 25 und sind jetzt 50 Umdrehungen. In den letzten Tagen (sprich nach etlichen unbefriedigenden Auslegungsversuchen) habe ich stattdessen isochrone Messungen durchgeführt: alle 1,0 ms (sprich: 20*50 µs) wurde der jeweils aktuelle Messwert für eine halbe Umdrehung der Motorwelle gespeichert. Diese Messungen scheinen mir aussagekräftiger zu sein. Im ersten Fall bekomme ich den ersten Messwert (vermutlich) dann, wenn der erste Interrupt erfasst wird. Im zweiten Fall werden Messwerte im Stillstand erfasst, danach wird die vollständige Anlaufphase des Motors dargestellt.

................https://dl.dropbox.com/s/zgxxsz85h7t0g5o/sprungfkt_MD0_020509.gif?dl=0

In diesem Diagramm wurde die Kurvensteigung mit der Wendetangente (schwarze Linie) bestimmt und daraus die Verzugszeit Tu und die Ausgleichszeit Tg. Die blaue Linie stellt eine weniger glaubhafte Wendetangente dar aufgrund einer sehr toleranten Auswertung. Danach wurde genau nach „Kochbuch“ im RNWiki: Dimensionierung nach Einstellregeln (https://www.roboternetz.de/wissen/index.php/Regelungstechnik#Dimensionierung_nach_Einstellrege ln) gearbeitet. Aus dem früher vorgestellten Speedtest (hier, weiter oben) (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437220#437220) wurde Kp mit 0,2 = 1/5 bestimmt. Aus den Zeiten Tu und Tg bzw. Tn und Tv wurde mit den Formeln im Wiki „Einstellregeln nach Ziegler/Nichols“ die Parameter für den PID-Regler bestimmt: Ki = 1/30 und Kd = 1/3.

Beim Aufbau meines Codes bin ich nach dem Motto vorgegangen: klau schau wem – und habe als Vorlage wieder das RNWiki (https://www.roboternetz.de/wissen/index.php/Regelungstechnik#Realisierung_mit_digitalem_Regler ) genommen sowie ein Codebeispiel von waste für einen PD-Regler (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=109451#109451) für Linienfolger. Mein Code sieht danach so aus:


// ================================================== ===============================
// === Regelungsroutine für Motor 12 =============================================
// Die gemessene Zeitdifferenz Iz_diff0 zwischen zwei Encoderinterrupts wird zur
// Regelung verwendet. Es gibt pro halbe Umdrehung einen Interrupt/Zeitwert.

void rgl_mo_12(void) // Regelung für Motor 12 mit 2 Interr pro Umdr.
{

if (sspeed12 <= 10) // Soll überhaupt gefahren werden?
{
OCR0B = 0; // Unter 10 mm/s soll nicht gefahren werden
return;
}
tupsi12 = Iz_diff0; // Übernahme Interruptabstand in Regelung
ndrz12 = sspeed12; // Nenn = Solldrehzahl = Soll-speed

sei(); // Erlaube Interrupts ##### nested Interrupts

ix12 = 8300 / tupsi12; // => Ist-Geschwindigkeit in mm/s
ie_mot12 = ndrz12 - ix12; // Vergleich => Regelabweichung

if (tupsi12 > 500) {tupsi12 = 500;} // Begrenze auf 500

isum12 += ie_mot12;
if (isum12 < -1000) { isum12 = -1000;}
if (isum12 > 1000) { isum12 = 1000;}

iyp12 = ie_mot12 / Kp12; // P-Anteil berechnen, Kptheor = 0,25 !!
iyi12 = isum12 / Ki12; // I-Anteil berechnen
iyd12 = (ie_mot12 - ie_alt12) / Kd12; // D-Anteil berechnen

iy12 = iyp12 + iyi12 + iyd12; // Gesamtkorrektur PID berechnet

if ( iy12 < 0 ) { iy12 = 0;} // Stellwert (PWM) begrenzen
if ( iy12 > 255 ) { iy12 = 255;}

OCR0B = iy12; // Ansteuerung der PWM direkt

return;
}
// ================================================== ===============================
und das MiniD0 läuft damit sehr schön (Danke Sternthaler, danke waste). Ach so: die Begrenzung der tupsi auf +- 500 und die von iesum auf +- 1000 ist aufgrund von Tests erfolgt. Hohe Werte von iesum führten zu deutlichen Störungen bei positiven und sehr auffallend bei negativen Beschleunigungen. Mit den genannten Eingrenzungen sieht der Lauf glatt und gut aus.

Leider fehlt immer noch einiges: Abweichungen an einem Motor führen zu bleibenden Winkelfehlern der zurückgelegten Spur und zu große PWM-Werte für einen Motor werden nicht gleich zum Abbremsen bzw. verringerter Sollwertvorgabe des anderen Motors benutzt. Beide Dinge sind für eine saubere Odometrie notwendig. Da muss ich wieder ne Weile auf Tauchstation.

Ein bisschen Legende:
vgmm ... Vorgabegeschwindigkeit in mm/s, vgmm12 ... für Motor12
sspeed ... Sollspeed, die eigentliche Führungsgröße/Sollwert W der Reglerschleife
Iz_diff0 ... Zeitdifferenz zwischen zwei Interrupts durch den Encoder am Motor 12 (ist gleich "Motor 0")
ix12 ... Der "eigentliche" Istwert X der Reglerschleife = Wert von Motor12.

Sternthaler
04.05.2009, 21:53
Hallo oberallgeier,

schön, dass du die Zusammenfassung geschrieben hast, die wir am Form vorbei angesprochen hatten.

Zwei Dinge scheinen mir also noch nicht so richtig zu gehen:
1) Die Zeit die du für den Regelvorgang benötigst ist zu lang.
2) Abweichungen auf einer Seite führen zu einem Winkelfehler.


---- Ding 1
Ich denke, dass die Rechenzeit für Problem 1) an der falschen Stelle verbraucht wird.
Nun wird mir auch klar, warum du in diesem Thread nicht auf meinen Hinweis mit den char- bzw. int-Variablen und dem cli(); bzw. sei(); eingehen wolltest. (Jubel, jetzt habe ich deinen Ablauf möglicherweise auch verstanden.)

In deiner oben gemachten Angabe mit
---C---1---2---3---4---5---6---7---8---9---A---B---C---1---2---3---4--> >
| | v | |
| v AR *) Mot34 | v
v AR Mot 12 v AR Mot 12
Auslesen des ADC/Sharp Auslesen des ADC/Sharp

*) AR: Aufruf der Regelungsroutineund der ISR(ADC_vect)
/*

================================================== ============================ */
/* === Nicht unterbrechbare ISR für ADC3 auf Pin 26/PC3/mega168 =============== */
ISR(ADC_vect) // _VECTOR(21)
{
- - - -

if (adc3_cnt == 4)
rgl_mo_12(); // Aufruf Regeln für mo_12

if (adc3_cnt == 8)
rgl_mo_34(); // Aufruf Regeln für mo_34

- - - -

}
/* ================================================== ============================ */liegt das Problem darin, dass du die Rechenzeit in der Interruptfunktion benötigst.
Wie vor langer Zeit mal bei dem "ASURO als Wecker" (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=341368#341368) angesprochen, und von dir ja auch gelesen, solltest du im Interrupt nicht die Reglung durchrechnen, sondern nur eine "Aufforderung" für das Hauptprogramm setzen.
Und diese "Aufforderung" dann im Hauptprogramm bearbeiten.

Aktuell hast du 2 Regler, die gerechnet werden wollen, also benötigst du natürlich auch 2 Variablen für die Aufforderungen.
ISR:
/* ================================================== ============================ */
/* === Nicht unterbrechbare ISR für ADC3 auf Pin 26/PC3/mega168 =============== */
ISR(ADC_vect) // _VECTOR(21)
{
- - - -

if (adc3_cnt == 4)
v_rgl_mo_12_knz = 1; // AUFFORDERUNG fuer Regeln für mo_12

if (adc3_cnt == 8)
v_rgl_mo_34_knz = 1; // AUFFORDERUNG fuer Regeln für mo_34

- - - -

}
/* ================================================== ============================ */Und im Hauptprogramm:
main ()
{
Variablen ...
Init ();

while (1)
{
/*
Der AUFFORDERUNG folge leisten ;-)
*/
if (v_rgl_mo_12_knz == 1)
{
v_rgl_mo_12_knz = 0;
rgl_mo_12(); // Aufruf Regeln für mo_12
}
if (v_rgl_mo_34_knz == 1)
{
v_rgl_mo_34_knz = 0;
rgl_mo_34(); // Aufruf Regeln für mo_34
}
}
...
}
Und nun unbedingt in den Funktionen rgl_mo_xx() diese cli(); und sei(); um das "Abholen" der im Interrupt veränderbaren Variablen legen.

Was gewinnst du hierbei?
Du koppelst die Rechenzeit komplett aus den Interruptfunktionen aus. Dein Timer wird nun ohne Probleme seinen Interrupt in kürzester Zeit, ohne Verlust von weiteren anstehenden Interrupts, abarbeiten können.
==> Auch die im Timer-ISR hängende Funktion "Auslesen des ADC/Sharp" solltest du so auslagern.


---- Ding 2
Da wird es bei deiner Geschwindigkeitsreglung schon schwieriger.
Im Asuro werden die Rad-Tiks bzw. die Differenz zwischen ihnen mit nur einem Regler bearbeitet.
Du müsstest 'im Prinzip' eine mittlere Geschwindigkeit regeln und das Ergebnis entsprechend deinen Vorgaben für die rechte bzw. linke Seite verteilen.
Ein anderer Ansatz wäre z.B., dass du doch anfängst zu lügen, wie schon mal in diesem Beitrag (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=414349#414349) angedeutet wurde.


Ich hoffe, nicht allzu viel Verwirrung gestiftet zu haben
Gruß
Sternthaler

P.S: Deine 'klau schau wem'-Aktion hast du gut umgesetzt. Ein bisschen verwirrend ist, dass du die Kp- und Ki-Parameter mit einer Division verrechnest. Ist zwar hier mathematisch i.O., aber eigendlich sollte da das '*'-en hin. Ansonsten musst du jedesmal in 1/K[parameter] denken.

oberallgeier
05.05.2009, 22:40
Hallo Sternthaler, hallo Mitleser,


... Ich denke, dass die Rechenzeit für Problem 1) an der falschen Stelle verbraucht wird ...Danke Sternthaler für Deine Analyse. Ich werde Deine Ratschläge zu Ding1 einarbeiten, aber bitte nicht gleich - ich freu mich momentan, dass es momentan recht gut läuft. Im Übrigen ist mir klar: es sind nicht nur zwei Dinge die nicht richtig gehen. Dabei bin ich relativ stolz darauf - gewesen - , dass ich auch mal nested Interrupts habe. Oder auch nicht. Es stimmt ja schon, ich hatte garnicht daran gedacht, dass die 100 RegelungsHertzen im main locker in einer Schleife geschafft werden können. Aber ich werde wohl beim Regelungsaufruf erstmal ein Flag setzen, dann die aktuelle Abstandsdauer zwischen zwei Interrupts auslesen und in eine geeignete Variable kopieren. Den Hinweis auf die char-u.ä.-Variablen konnte ich nicht befolgen, weil ich dann auf Interruptabstände unter 0,12 s begrenzt wäre - 255*50µs. Hängt also schon mit den ursprünglichen Auslegungswerten bei Adam und Eva zusammen. Die zu ändern führt aber zu dem bekannten Rattenschwanz.


... Du koppelst die Rechenzeit komplett aus den Interruptfunktionen aus ...Kurz und bündig: wird gemacht.


... Ding 2 ... wird ... bei deiner Geschwindigkeitsreglung schon schwieriger ...Ich fürchte eben, dass eine Aufteilung wie beim asuro bei meinen relativ kleinen und schwachen Motoren Schwierigkeiten macht. Aber ich kann in dieser Richtung mal ein bisschen Gehirn anstrengen. Ich überlege sowieso seit einiger Zeit die Geschwindigkeitsvorgabe nur für einen Motor herzunehmen und den anderen über eine entsprechend korrigierte Vorgabe mitzuschleppen (auf diese Vorgabe wird er dann geregelt), die den jeweiligen Krümmungsradius berücksichtigt. Leider ist sowohl der Krümmungsradius als auch die Krümmung einer Geraden oder Beinahe-Geraden ein etwas unhandlicher Wert . . . . . Aber ich werde dazu schon noch ne Lösung finden.


... Ich hoffe, nicht allzu viel Verwirrung gestiftet zu haben ...Nein, keine Bange. Noch bin ich nicht in einem Alter, in dem ich allzu leicht verwirrt werde. Und wenn ich das mal bin, dann werde ich es vermutlich garnicht merken *gggg*.


... Deine 'klau schau wem'-Aktion hast du gut umgesetzt. Ein bisschen verwirrend ist ... Parameter mit einer Division verrechnest ...Danke für das Lob. Zur Division: es ist halt so, dass die Integer-Division durch 30 mit Sicherheit schneller ist, als eine Real-Multiplikation mit 0,03333, und die recht gute Regelungsfunktion zeigt ja, dass der Regler mit ganzen Zahlen gut zurecht kommt.

Im Übrigen habe ich einen erheblichen Anteil an dem ursprünglich festgestellten Versatz des Fahrzeugs bei Kreis-Verkehr-Tests auf die Vorzugsrichtung der Fasern des Florteppichs zurückführen können.

Sternthaler
07.05.2009, 00:34
Hallo Dosenfans,

hier einiges zum letzten Beitrag von oberallgeier.



... Den Hinweis auf die char-u.ä.-Variablen konnte ich nicht befolgen, weil ich dann auf Interruptabstände unter 0,12 s begrenzt wäre - 255*50µs.Das war auch nicht so gemeint das du auf Bytes runter gehen sollst.
/* Irgendwo an der richtigen Stelle */
volatile int interrupt_var;

/* Im Interrupt */
{
...
interrupt_var = sin (interrupt_var) mod sternthalerzeit;
/* oder was einfacheres ;-) */
interrupt_var++;
...
}

/* In der Funktion ausserhalb vom Interrupt */
{
...
int lokale_var;

/*
Verhindern, dass ein eventuell auftretender Interrupt
die Variable aendern kann beim folgenden Auslesen von
interrupt_var
*/
cli ();

lokale_var = interrupt_var;
interrupt_var = 0; /* natuerlich nur bei Bedarf */

/*
Und die Interrupts wieder zulassen.
Die Zeit, in der die Interrupts nicht aufgerufen werden,
beschraenkt sich auf einige Taktzyklen. Es geht aber keine
Interruptanforderung verloren. Nach dem sei() wird ein
anstehender INT sofort bedient.
*/
sei ();
...
}


... ursprünglichen Auslegungswerten bei Adam und Eva ...Ist deshalb eben nicht notwendig.



Ich überlege sowieso seit einiger Zeit die Geschwindigkeitsvorgabe nur für einen Motor herzunehmen und den anderen über eine entsprechend korrigierte Vorgabe mitzuschleppen (auf diese Vorgabe wird er dann geregelt), ...Upps. Und genau hier wird dann wieder ein zweiter Regler ins Spiel kommen.
Einer hält die Geschwindigkeitsvorgabe, und der zweite Regler muss sich um die Anpassung der anderen Radseite kümmern, wenn Differenzen auszugleichen sind.



... Krümmungsradius berücksichtigt.Da schaust du hier beim EXCEL (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=168267#168267), wenn du Radiusvorgaben in Tiks umrechnen möchtest. OK, sind keine Geschwindigkeiten enthalten, aber das geht komplett über Geometrie und reduziert sich auf einfache Mathematik.
Bestimmt lässt sich auf diesem Weg auch ein Bogen mit Radius- und Winkelvorgaben in Geschwindigkeiten der beiden Räder umrechnen.



Danke für das Lob.Ehre, wem Ehre gebührt.



Im Übrigen habe ich einen erheblichen Anteil an dem ursprünglich festgestellten Versatz des Fahrzeugs bei Kreis-Verkehr-Tests auf die Vorzugsrichtung der Fasern des Florteppichs zurückführen können.Und warum sind dann die Startprobleme auch auf der Hartfaserplatte zu sehen? (Keine Killerfragen bitte ;-) )


Und schon ist es wieder über meinem selbst gesetzten 1:00 Uhr Limit ;-(
Gruß Sternthaler

oberallgeier
12.05.2009, 21:37
Hallo,

oder eher Hilfe. Manchmal (ver)zweifle ich einfach an ... allem.

Der Verdacht: offensichtlich hat eine Art Pest an meinen 3 mega168 auf drei verschiedenen Platinen die ADCs vernichtet.

Das Problem: ein Sharp GP2D120 soll mit dem ADC3 des mega168 eingelesen werden. Mittlerweile geht es nur um den 10bittigen ADC-Wert. Aber es läuft einfach nicht, weder auf der einen, noch auf anderen Platinen. Allerdings kann ich auf einer kleinen Tiny13-Experimentierplatine vom Sharp mit dem ADC sinnvolle Spannungswerte einlesen. Ausserdem ist das Vo-Signal des Sharp, gemessen mit dem Multimeter, sinnvoll mit dem Abstand korreliert. Auch Messungen direkt am Portpin PC3/ADC3 des Mega168 mit dem Multimeter zeigen, dass die entsprechende Spannung ankommt (als Test auf Falschverdrahtung). Controller wie immer mit 20 MHz getaktet.

Mit dieser Initialisierung werden die Portpins definiert:

DDRC = 0b01110000; // PC3 ist ADC3, PC0 .. 6 , kein PC7-Pin bei m168
PORTC = 0b00000111; // Beachte für ADC: PC3 ist ADC-Eingang ##>> OHNE Pullup !!
//
/* Dadurch Initialisierung der Anschlüsse für miniD0 : - - - - - - - - - - - - - -
/RESET,PC6 1 A A 28 PC5,(SCL), gLED
RxD,PD0 2 EU A 27 PC4,(SDA), rLED
TxD,PD1___3 EU E 26___PC3, ADC3=GP2D120
Und so wird der ADC initialisiert, anschliessend der Auszug der Testversion (main) mit dem der ADC etwa im Sekundentakt gelesen wird:

// ================================================== ===============================
/* === Initialisierung fuer ADC mega168 OHNE Interrupt =====================
ADC3/PC3 mit 10 Bit, Wandlung "auf Abruf", es wird kein Interrupt ausgelöst */
void ADC3_10_init(void) //
{ // Referenz Selection Bit1..0 = 00 =>
// AREF, Internal Vref turned off doc S 254
ADMUX |= (1<<MUX1)|(1<<MUX0); // Wandlung mit ADC3
ADCSRA |= (1<<ADEN); // AD Enable
ADCSRA |= (1<<ADSC); // starte erste Wandlung
}
// ================================================== ===============================


// ================================================== ===============================
// === HAUPTProgramm ================================================== ============

// Hier irgendwo die oben zitierten Portinitialisierungen
// und der Aufruf der ADC-Initialisierung
....

....

uint16_t igpd = 324;

.....

igpd = ADC;
ADCSRA |= (1<<ADSC); // starte nächste Wandlung
utoa(igpd, wortc, 10); //aktuellen Sharp-/ADC-Messwert ...
waitms ( 1000);

....
Als Ergebnis wird (auf drei verschiedenen Controllern) immer 1023 ausgegeben. Testweise wurde auch die Variable igpd mit 324 belegt. Wird nun der ADC ausgelesen, bevor igpd gesandt wird, steht 1023 da. Wird der ADC nicht ausgelesen, steht 324. Ein anderer Test bestand darin, den Portpin PC3 direkt mit Vcc und alternativ mit GND zu verbinden. Ergebnis ist immer 1023. Diese Stöpselei wurde notwendig, da die Messwerte der Ausleseroutine mit Interrupt ebenso 1023 waren. In früheren Protokollen gefundenen Ergebnisse zeigen aber, dass es mal funktionierte . . . .

Mittlerweile weiss ich nicht mehr weiter und bitte um Hilfe.

Nachtrag: AREF ist mit Vcc verbunden, AVCC liegt mit 10 µH an VCC und mit 100 nF an GND.

Sternthaler
12.05.2009, 23:29
Hallo oberallgeier,

wahrscheinlich wird es nicht helfen was jetzt kommt, aber man kann ja nie wissen.

Das im Register ADCSRA steckende Bit ADIF ist ein 'Schweinebit'. Laut Doku zum ATmega8, Kapitel "ADC Control and Status Register A – ADCSRA" muss man das Bit setzen um es zu löschen.
...
ADIF is cleared by writing a logical one to the flag. Beware that if doing a Read-Modify-Write on ADCSRA, a pending interrupt can be disabled. This also applies if the SBI and CBI instructions are used.
...
Dieses "Read-Modify-Write" macht man automatisch mit einem |= Befehl.

Da dein HAUPTProgramm-Ablauf ja wohl eine Schleife ist, solltest du darin mal nach weiteren |= suchen. Eventuell ist ein Register dabei, welches auch den ADC beeinflusst.
Ein Kandidat wäre noch ein löschen vom ADEN-Bit, da es die Wandlung sofort abbricht und möglicherweise dann mit deinen 1023 zurückkommt.

Ansonsten kann ich so nichts Falsches feststellen.
Ob nun die Schweinepest auf die AVR's überspringen kann, möchte ich hier aber mangels biologischer Vorbildung nicht sagen.

Gruß Sternthaler
P.S.: Zum Thema „setzen zum löschen“ von Registerbits gibt es in einem Thread im ASURO-Teil eine recht ausführliche Diskussion. Den Beitrag kann ich aber leider auch nach zig Stunden Suche nicht mehr finden.

oberallgeier
15.06.2009, 14:31
Meine ADC waren nicht von der Schweinepest befallen und laufen (wieder). Dafür kribbelte es mich, mal ein Döschen nicht nur rumrollern zu lassen. Ein kleines Teilprojekt gab mir neuen Antrieb und nun balanciert das MiniD0 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=446953#446953) - zumindest als Erlkönig und (noch?) nicht wirklich perfekt.

Es gibt sogar ein Video (aufs Bild klicken, dann meldet sich YouTube):

................https://dl.dropbox.com/s/m1szkntf4h2hm8y/MiniD0_balx01.jpg?dl=0 (http://www.youtube.com/watch?v=ZEsdntHpG7A)

mausi_mick
15.06.2009, 15:37
Hi oberallgeier,

das sieht doch echt super aus !

Glückwunsch !


Gruss
mausi_mick

oberallgeier
15.06.2009, 16:03
Danke mausi_mick.

Nun muss ich noch tiefer in die Regelungstechnik (baaaahhhhh - schauderhaft), damit ich den scheußlichen Ausleger wegbekomme und das Fahrverhalten weniger spastisch wird.

Sternthaler
15.06.2009, 17:32
Hallo oberallgeier,

mach noch nen Haken dran, und dann auf zum angeln ;-).

Da hast du dir aber eine echte Sauerei ausgedacht. (Sieht ja noch viel mehr nach Schweinepest aus.)

Wenn man das Video mal wieder 30- bis 42-mal ansieht, kann man erahnen, dass die Schwenkhöhe vom Sensor so um "Dosenhöhe durch 2,5" ist.
Das ist nicht allzu viel. Somit ist natürlich auch der Messbereich vom Sensor extrem klein und die Abweichungen vom Sollwert ja noch nur die Hälfte.

Liefert der Sensor in dem Abstandsbereich überhaupt 'glaubwürdige' Daten?
Es kann ja sein, dass du dich gar nicht auf die Regelung (da stimme ich deinem "baaaahhhhh - schauderhaft" voll zu), sondern eher auf die Datenerfassung konzentrieren musst.

Ansonsten bleibt auch mir die Spucke weg und ich stimme mausi_mick voll zu. Ratten-, bzw. um beim Thema zu bleiben: Saustark!

Gruß Sternthaler

oberallgeier
15.06.2009, 18:54
... Haken dran, ... zum angeln ...
Da hast du dir aber eine echte Sauerei ausgedacht...Schade, dass ich Dich verpasst hatte. Was glaubst DU denn, was man sich hier, hinter allen bekannten Wäldern, den ganzen Tag ausdenkt? Das ist hier schlimmer als in unseren Kanzleien und Ministerien (kommt NICHT von mini - aber eben auch nicht von ministere). Aber mit Angeln hab ich es nicht so.


... Somit ist natürlich auch der Messbereich vom Sensor extrem klein und die Abweichungen vom Sollwert ja noch nur die Hälfte ...Der GP2D120 hat aktuell einen Messabstand zwischen 54 und 83 mm, entsprechend rund 550 bis 350 digit. Anm.: Diagramme OHNE Motorbetrieb !

................https://dl.dropbox.com/s/6bnofayrbr8ubaj/GP2D120-ADC.jpg?dl=0

Mit dem Ausleger habe ich so eine Art ("Evolventen-" *gggg*) Sinus, der ja um die Null Grad recht linear verläuft. Das hilft schon viel. Später, wenn ich das auf dem MiniD0 realisieren sollte, wird nach meiner Methode "Blindenstock" gemessen. Der Abstand ist dann rund 99 mm bis 110 mm und ich werde mit etwa 50 bis 60 digit auskommen müssen (genau - die Regelung muss mit der Hälfte leben). Geht wieder ein bisschen ans Limit. Dabei habe ich mich auf diese Eichkurve bezogen. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=384168#384168) Die selbstständige Kalibrierung war beim MiniD0 notwendig geworden, weil ich keine Spannungsregelung habe und bei meinen Fahrten ein deutliches Fading nach ein paar Minuten feststellbar ist . . . . Zur Vermeidung von Rundungsfehlern und natürlich mit Blick auf die Zeit verwende ich die digits gleich als Regelungsgrundlage und rechne nicht erst nach Längeneinheiten um.
Nachtrag, spät abends: Die Messungen oben sind Einzelwerte ohne Durchschnittsbildung, Messzylus unter 60 ms. Damit hole ich fast alle (neuen) ADC-Werte des Sharp ab (ADATE = 1, ADCPrescaler = clock/128). Die Anfahrdellen bei einigen Kurven sind Nachschwinger nach dem Kippvorgang zwischen den beiden Extremwertmessungen - danach wurde die Wartezeit nach dem Kippen verlängert. Nach dem Kippen wird auch der neue Wert kontrolliert - manchmal schwingtkippt das Ding nämlich zurück.


... Liefert der Sensor in dem Abstandsbereich überhaupt 'glaubwürdige' Daten ...Ist ja fies, dass Du mir solche Fehler zutraust - ich schreibe vermutlich immer noch zu viel über all den Blödsinn, den ich mache und all die Sackgassen in die ich blind renne. Aber guck Dir doch das Bild und die Eichkurve im Link an: im aktuellen Bereich ist die Steigung des Sharp schön: viele Messwerte bei wenig Weg. Im Bereich um die 100 mm ist das immer noch ganz ok, erst über 150 mm wird der Messwert für die hier diskutierte Regelung wenig Wert sein. Die Datenerfassung ist schon ein Problem: der Sharp liefert neue Messwerte leider nur im Abstand von 40 ms, das ist für die Zeitkonstante des "Dosen-" Pendels etwas langsam. Aber wers nicht probiert, hat ja schon verloren.


... Ansonsten bleibt auch mir die Spucke weg ...Dagegen hilft bestimmt ein zügiger Zug aus einer vertrauenswürdigen Flasche. Prost!

Sternthaler
24.06.2009, 17:49
Hallo zusammen,

laßt euch bloß nicht von den "Evolventen" beeindrucken ;-).
Wahrscheinlich sind nun bei diesem 'Schwenkgewicht' die Getriebe-Zahnräder in den Antriebsservos so ausgefahren, dass dortige Abschabungen zu solchen Effekten führt. (Huuaaa, was für ein Unsinn kommt denn nun :-) )



Aber wers nicht probiert, hat ja schon verloren.Da muss ich dir uneingeschränkt Recht geben.


... ein zügiger Zug aus einer vertrauenswürdigen Flasche. Prost!Die Flasche war wie immer groß. Deshalb erst jetzt eine dumme Antwort. Muss ja bei klarem Verstand geschrieben werden.


Ist ja fies, ....... ja, Ja, JA ... Bist du was anderes von mir gewohnt? :evil:
Da ICH den "Messwert-Thread" von dir nicht gesehen, oder vergessen hatte, sollte das aber nicht heißen, dass DU das nicht schon lange erledigt hattes.
Nun bist du aber trotzdem, oder gerade deshalb, der Angeschmierte, da du dich nun doch um "baaaahhhhh - schauderhaft" kümmern musst :cry: .


Frohes Schaffen wünscht
Sternthaler

oberallgeier
11.07.2009, 11:22
Hallo Zuseher,


... Wahrscheinlich ... Getriebe-Zahnräder in den Antriebsservos so ausgefahren ...Das spastische Fahrverhalten hatte schon diesen Verdacht geweckt. Nach den ersten Balanceakten waren bei Normalfahrt, einfacher Vor- und Rückwärtsfahrt mit Kurven, deutliche Schwingungen zu sehen, die zuerst auf Verschleiss im Getriebe und erst nach näherer Kontrolle auf Fehlanpassung des Reglers deuteten.


... bist du aber trotzdem, oder gerade deshalb, der Angeschmierte ...Stimmt. Hobbies sind wie Urlaub "auf der Arbeit" - alles was zu tun ist, bleibt liegen, wenn Du es nicht selbst machst.

Genauere Tests zeigten eine Fehlanpassung der Regelung. Daher wurden die Regelparameter geändert. Trotzdem blieben Störungen, die teilweise eher zufällig auftraten. Sie zeigten sich vor Allem beim Übergang von gewissen Manövern - beispielsweise bei einfacher Geradeausfahrt nach einem schnellen Turn. Hier half keine Anpassung der Regelungsparameter - und diese Arbeiten waren nicht nur unergiebig, sondern auch zäh und langandauernd (habs halt nicht gerafft was da los war).

Zusätzliche Codeanpassungen hatten auch diese Störungen behoben. Dabei werden vor markant geänderten Fahranweisungen sämtliche Werte, die von der Regelung benutzt werden (letze Drehzahl u.ä.), auf Null initialisiert, die neue Teilfahrt bedeutet also immer ein Einschwingen des Reglers in seine Normalfunktion. Offensichtlich hatten vorhergehende Fahrweisen den Regler (bei der notwendigen Anpassung) so verstellt, dass er bei der neuen Fahrweise überreagierte.

................https://dl.dropbox.com/s/b8hme44923yu76o/test_1730.jpg?dl=0
................Die Testfahrt auf YouTube (http://www.youtube.com/watch?v=MjLqexH6fDQ)

Die Testfahrt mit diesen Änderungen ist im Rahmen der apparativen Möglichkeiten recht ordentlich. Dabei wird das MiniD0 mit aktivierter Regelung, aber sonst nur mithilfe der Odometrie gefahren. Wieso "im Rahmen der apparative Möglichkeiten"? Die Getriebe hatte ich von der originalen Übersetzung ca. 768:1 auf ca. 90:1 umgebaut. Dabei habe ich mittlerweile beinhahe 1 mm Fahrweg pro "Tick" bzw. halber Motorumdrehung - beim R2D03/Dottie sind das eher 0,1 mm ! Das bedeutet beim MiniD0 bei einer engen Kurve schon eine Richtungsänderung um fast ein Grad mehr oder weniger . . . . . Ich finde, dass es trotzdem gelungen ist.

oberallgeier
18.07.2009, 11:34
AUFRUF
an die Regelungsexperten.

Mit diesem Code bemühe ich mich, die beiden Motoren meines MiniD0 gleichmässig auf die geforderte Geschwindigkeit einzuregeln.

// ================================================== ===============================
// === HAUPTProgramm ================================================== ============
// Initialisierungen, LED1 kurzblinken als Signal für Programmstart,
.....
Kp12 = 2; // Regelfaktor P-Anteil !!! Divisor ### war 5 (=1/5), dann 4
Kp34 = 2; // Regelfaktor P-Anteil !!! Divisor
Ki12=Ki34 = 30; // Regelfaktor I-Anteil !!! Divisor
Kd12=Kd34 = 4; // Regelfaktor D-Anteil !!! Divisor
.....
// ===== Ende des main =====
// ================================================== ==============================


// ================================================== ===============================
// === Regelungsroutine für Motor 34 =============================================
// Die gemessene Zeitdifferenz Iz_diff1 zwischen zwei Encoderinterrupts
// wird zur Regelung verwendet

void rgl_mo_34(void) // Regelung für Motor 34
{

if (sspeed34 <= 15) // Soll überhaupt gefahren werden?
{
OCR0A = 0; // Unter x mm/s soll nicht gefahren werden
return;
}
tupsi34 = Iz_diff1; // Übernahme Iz-Wert in Regelung
ndrz34 = sspeed34;

ix34 = 8300 / tupsi34; // => Ist-Geschwindigkeit in mm/s
ie_mot34 = ndrz34 - ix34; // Vergleich => Regelabweichung

if (tupsi34 > 500) {tupsi34 = 500;} // 22apr09-0847 Begrenze auf 500 statt 250

isum34 += ie_mot34;
if (isum34 < -1000) { isum34 = -1000;}
if (isum34 > 1000) { isum34 = 1000;}

iyp34 = ie_mot34 / Kp34; // P-Anteil berechnen; Kptheor = 0,25 !!
iyi34 = isum34 / Ki34; // I-Anteil berechnen
iyd34 = (ie_mot34 - ie_alt34) / Kd34; // D-Anteil berechnen

iy34 = iyp34 + iyi34 + iyd34; // Gesamtkorrektur berechnet

ie_alt12 = ie_mot12;

if ( iy34 < 0 ) { iy34 = 0;}
if ( iy34 > 255 ) { iy34 = 255;}

OCR0A = iy34; // Ansteuerung der PWM direkt statt "setPWMxxx"
// PORTC ^= (1<<PC4); // "war-hier-Signal": LED auf PC4 toggeln

return;
}
/* ================================================== ============================ */
Das obige Video zeigt, dass mit meiner Odometrie (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) und dieser Regelung die Fahrt recht genau sein kann. Es gibt natürlich auch andere Videos - maximale Abweichung nach Rückkehr des MiniD0 rund 3 cm - nach etwa insgesamt 80 cm Fahrtstrecke (ohne Turn gerechnet), mit vier und 1/4 Vollkreisen, der 180°- und der 90°-Kurve. Sprich: die Reproduzierbarkeit der Fahrten ist unbefriedigend. Die Abweichungen haben wohl mehrere Gründe:

1) Ungleiches Anfahren aus dem Stillstand. Als Abhilfe habe ich jedesmal beim Anfahren die PWM für einen Zyklus auf 250 gestellt . . .
2) Mir fehlt natürlich die Kopplung der Antriebe bzw. eine Art Software-Differential, mit dem ich Nachhinken oder Vorlauf eines Antriebs in die Regelung bzw. die Vorgaben des anderen Antriebs übertragen kann. Dies könnte ja im schlimmsten Fall zu unkontrollierbaren Schwingungen führen.

Frage: Wie mache ich so eine softwareseitige Verbindung der jeweiligen Abweichungen der beiden Antriebe - mit der die Fahrstrecken z.B. alle fünf bis 20 mm (hier also etwa fünf bis 20 Regelzyklen oder mehr) aufeinander abgestimmt werden können?

vohopri
18.07.2009, 12:30
................
................Die Testfahrt auf YouTube


Hallo Joe,

schönes Ergebnis, fliessende Bewegungen. Leider bin ich mit der Regelungstechnik gar nicht vertraut. So bin in ich hier nur ein interessierter Zuseher.

grüsse,
Hannes

oberallgeier
19.08.2009, 23:10
... schönes Ergebnis, fliessende Bewegungen ...Danke Hannes für das Lob. Leider ist der Bewegungsablauf nicht so schön wie ich es will, insbes. die Reproduzierbarkeit krankt, siehe obigen Beitrag von mir.

Also habe ich dies und jenes versucht - und bin drauf gekommen, dass ich trotz mancher theoretisch basierten Einstellung eher blind am Regler herumschraube. Ergo: simultane Aufnahme verschiedener Reglerdaten (das hätte mir gleich einfallen müssen). Praktischerweise passt ein mega328 in mein MiniD0 - auch wenn seine Datenkapazität immer noch mässig ist: ein Feld mit 100 wordbreiten Daten belegt schon 10% seiner Kapazität. Immerhin konnte ich etliche Werte aufnehmen. Dargestellt ist hier eine der ersten Messungen mit Werten, die in der ISR für den Encoder des rechten Motors erfasst wurden.
Izeit_1 . . . . Bordzeit mit 50µs-Auflösung
iy12 . . . . . . PWM-Stellwert für rechten Motor (= mot12 nach L293-Lesart). Regelung etwa 100/s
lncges . . . . Encodertics-Gesamtstand zum Beobachtungszeitpunkt
mdiff0 . . . . Encodertic-Abstand zum Beobachtungszeitpunkt mit 50µs-Auflösung (reziproke Geschwindigkeit)
andere Werte

................https://dl.dropbox.com/s/v2bm8f362nyci2w/ftst_11-18Aug09.jpg?dl=0

Nun ist deutlich zu sehen, wie die Reglerwerte schwingen. Dass die Daten nur offline verfügbar sind, ist ein geringes Übel. Weitere Messungen werden folgen - natürlich auch für den zweiten Motor und auf anderen Wegstrecken. Ich hoffe, dass ich am Ende dieser Analysen der Frage nach dem elektronischen Differential (https://www.roboternetz.de/phpBB2/viewtopic.php?t=11135&sid=3cd430c6774848902ce2ca434cba8032) bzw. nach (m)einer Differentialsperre näher kommen werde.

Einige Dinge sind schon jetzt gut erklärbar. So zeigt beispielsweise die Wendetangente im frühen Verlauf von lncges das Kippen des nach vorne geneigten MiniD0 auf den hinteren Gleitpad an . . . *gggg* und die Gegenläufigkeit der Schwingungen von iy12 und mdiff0 ist ja nicht allzu schwer zu verstehen. Mal sehen, wie es weiter geht (auch wenn meist das schöne Wetter zu Kletter- und anderen Touren einlädt - und es gibt auch andere Dinge zu tun).

oberallgeier
25.08.2009, 17:56
Es ist ein bisschen vorangegangen. Die Speicherung möglichst vieler Parameter ist auch beim mega328 ein Platzproblem. Immerhin sind jetzt die wichtigsten sichtbar geworden. Beobachtet werden derzeit die ersten hundert Encoderticks, also rund 70 mm der ersten Teilstrecke von 150 mm. Wer will, kann das Video, siehe Link oben, dazu ansehen - es ist die erste Teilstrecke bis zum Multiturn. Anmerkung: der besseren Anschauung wegen wurden die Parameterwerte yp, yi und yd - jeweils nur für dem Motor 12 - mit einem offset dargestellt. Der ist im Diagramm genannt (z.B. ist die Nulllinie für yp12 die 30-er Linie). Anmerkung2: eine Unachtsamkeit bei der Programmierung hatte dazu geführt, dass uint16- und int16-Werte in der Regelungroutine gemischt waren. Dabei hatte ich feststellen müssen, dass die Typwandlung offenbar drastisch viel Zeit braucht. Derzeit können in jeder INTx-ISR alle drei Reglerparamterwerte erfasst werden - davor, mit Typumwandlung - ging das nur mit einem Parameter. Den übersetzten Code hatte ich aber aus Bequemlichkeit nicht durchgesehen.

Deutlich zu sehen ist der hohe Einfluss des integralen Regleranteils. Der führt dazu, dass noch in der Vorwärtsphase - eindeutig ohne irgendeinem vorgegebenen Bremsvorgang - der P-Anteil deutlich negativ werden muss (liegt also weit unter der 30er-Linie), weil der integrale Anteil so hoch geworden ist (35 - weil er mit offset 10 dargestellt wird). Eine geringere Verstärkung im integralen Anteil - schon z.B. bei Ki = 20 - führt zu deutlicherem Schwingen. Derzeit fahre ich mit Ki=22 bei einem Minimum an Schwingen. Dies wird festgestellt nach der Methode des genauen Hinsehens auf den Verlauf von diff0 - sprich: auf die inverse Geschwindigkeit. Der Wert diff0 ist die Zeit vom vorherigen Encoderinterrupt bis zum Beobachtungszeitpunkt, also bis zum aktuellen Interrupt.

................https://dl.dropbox.com/s/fgwzadh0bdl8t8j/MiniD0-dia-25aug09.jpg?dl=0

Der Lohn der Arbeit ist die ausführliche Vorstellung, wie die Regleranteile verlaufen und die Möglichkeit, besser gegen schnelle, kleine Schwingungen im Lauf vorgehen zu können. Bei den derzeitigen Testfahrten habe ich keine Verbesserung der Reproduzierbarkeit der unterschiedlichen Läufe gesehen. Aber das will ich noch in mehreren Fahrten mit derselben Einstellung testen.

Nachtrag 26Aug09-11:11
Das Diagramm nutzt einem Interessenten nur dann, wenn der Berechnungsgang der Regelungsroutine bekannt ist. Daher folgt hier der Code mit der kompletten Regelungsroutine, ergänzt um eine Legende zum Diagramm. Die Messdaten werden in den ISR des extINT0 übernommen und in einer Inforoutine dargestellt. In dieser Info-/Ausgaberoutine wird auch der offset für die Achsenkorrektur der Regelungswerte (+10, +30 und +40) eingerechnet und der Wert Izeit_1 in Millisekunden umgerechnet. Das Ergebnis wird seriell ans Terminal ausgegeben.


/* >>
Sicherung 25Aug09 1800 ..C2\D01-3_40\D01-3_40_mot_x02.c ###>>> noch nicht
================================================== =================================
Target MCU : m328p
Target Hardware : MiniD0
Target cpu-frequ. : In der Quelle wählbar
================================================== =================================
Enthaltene Routinen: Auszugsweise nur rgl_mo_12
================================================== =================================
*** Versionsgeschichte:
====================
x02 24Aug09 1500 Messdatensatz ändern zum möglichst kompletten Messen EINES Motors
x01 04Aug09 1450 Übernahme, erste Anpassungen+Änderungen für Messwerterfassung
================================================== =================================
*** Aufgabenstellung : Software für R3D01
Original: ....C2\D01_20test328\D01_20_mot_x50.c 07Jul09 1630
================================================== ============================== */


// ================================================== ===============================
// === Regelungsroutine für Motor 12 =============================================
// Die gemessene Zeitdifferenz Iz_diff0 zwischen zwei Encoderinterrupts
// wird zur Regelung verwendet
// Erläuterungen/Legende für die Diagrammdarstellung der Regelungswerte
//
// Izeit_1 Die Bordzeit, erzeugt aus einem Zähler für 50µs-Interrupts
// diff0 Abstand vom letzten zum aktuellen Interrupt in 50µs-Einheiten
// iyP12 P-Anteil der Regelung, im Code unten iyp12, in der Darstellung um
// 30 nach oben versetzt (Linie 30 ist Nulllinie)
// iyI12 I-Anteil der Regelung, sonst sinngemäß wie P-Anteil
// iyD12 D-Anteil der Regelung, sonst sinngemäß wie P-Anteil
// iy12 Gesamter Regelungsanteil, eingegrenzt auf [0, 255];
// damit wird die PWM/OCR=B angesteuert
// ncx0 bzw. Lncgs0 Anzahl der gefahreren Interruptticks der Odometrie
// 1 nxc0 sind theoretisch 0,83 gefahrene Millimeter
//
void rgl_mo_12(void) // Regelung für Motor 12 mit 2 Interr pro Umdr.
{
if (sspeed12 <= 15) // Soll überhaupt gefahren werden?
{
OCR0B = 0; // Unter x mm/s soll nicht gefahren werden
return;
}
tupsi12 = Iz_diff0; // Übernahme Interruptabstand in Regelung
ndrz12 = sspeed12; // Nenn = Solldrehzahl = Soll-speed

sei(); // Erlaube Interrupts ##### nested Interrupts

ix12 = 8300 / tupsi12; // => Ist-Geschwindigkeit in mm/s
ie_mot12 = ndrz12 - ix12; // Vergleich => Regelabweichung

if (tupsi12 > 500) {tupsi12 = 500;} // 22apr09-0847 Begrenze auf 500 statt 250

isum12 += ie_mot12;
if (isum12 < -1000 ) { isum12 = -1000; }
if (isum12 > 1000 ) { isum12 = 1000; }

iyp12 = ie_mot12 / Kp12; // P-Anteil berechnen, Kptheor = 0,25 !!
iyi12 = isum12 / Ki12; // I-Anteil berechnen
iyd12 = (ie_mot12 - ie_alt12) / Kd12; // D-Anteil berechnen

iy12 = iyp12 + iyi12 + iyd12; // Gesamtkorrektur berechnet

ie_alt12 = ie_mot12; // Merke Regelabweichung für D-Anteil

if ( iy12 < 0 ) { iy12 = 0;} // Stellwert (PWM) begrenzen
if ( iy12 > 255 ) { iy12 = 255;}

OCR0B = iy12; // Ansteuerung der PWM direkt statt "setPWMlinks"

return;
}
// ================================================== ===============================


// ================================================== ===============================
// ===== ENDE Subroutinen ================================================== ===
// ================================================== ===============================

oberallgeier
26.08.2009, 10:28
Nachtrag 26Aug09-11:11
Das Diagramm nutzt einem Interessenten nur dann, wenn der Berechnungsgang der Regelungsroutine bekannt ist. Daher folgt hier der Code mit der kompletten Regelungsroutine, ergänzt um eine Legende zum Diagramm. Die Messdaten werden in den ISR des extINT0 übernommen und in einer Inforoutine dargestellt. In dieser Info-/Ausgaberoutine wird auch der offset für die Achsenkorrektur der Regelungswerte (+10, +30 und +40) eingerechnet und der Wert Izeit_1 in Millisekunden umgerechnet. Das Ergebnis wird seriell ans Terminal ausgegeben.

PCF8574P
26.08.2009, 15:25
Hallo,

freut mich zu hören das du mit deiner dose immer weiter kommst.

Im Fieber von meinen Quadrokopter und Bau von einer V-22 Osprey bin ich auf eine Idee gestoßen, die es insich hat.

Motto:

"Lasset die Dosen die Lüfte autonom erobern!"


Also, man nehme:

http://live-verlag.com/zeitung/multimedia/archive/00117/coke2_117915a.jpg

+

http://img84.imageshack.us/img84/8642/heli2fz8.jpg

+

http://www.coolcomponents.co.uk/catalog/images/328.jpg





Soll ich das Projekt anfangen?


Gruss, Max

oberallgeier
27.08.2009, 21:00
Grüß Dich Max,

ja, das ist eine originelle Variante. Na ich weiß nicht - wenn Du damit durch die Lüfte fauchst und dann landest, könnte es sein, dass jemand meint - das Ding gehöre doch nicht auf den Boden - leere Dosen gehören in den Alumüll. Diese Versuchung besteht. Dagegen sind Dosen (bei mir sogar mit Halm) auf dem Tisch nicht unbedingt abzuräumen. Dank mal darüber nach.

Damit will ich Dich keineswegs hindern, Deine Idee durchzusetzen. Welche payload hat den so ein kleiner Hubschrauber? Die Dose (also eher nur die Zarge - ohne Boden und ohne Deckel mit Reißlasche) hat alleine 10 g, der Deckel mit Reißlasche fast 2 g und der dicke Boden 2. Insgesamt 14 g - ohne Befestigungsmaterial. Ein bisschen Sensorik und so . . . aber Du wirst das schon richtig planen, denke ich.

Was macht denn Deine Dose auf Rädern? Gibts dazu ein update gegen den Stand vom Januar?

PCF8574P
28.08.2009, 18:48
Hallo,

ohne Umabuten am Heli geht da nix voran. BL-Kit rein und dann dürfte man leichtbauweise das Ding in die Luft bekommen.

Wegen Halmen: Die Halme verstärken und als landgestell benutzen?


Meine Dose auf Rädern fährt PC gestützt durch die Wohnung.
Für einen Regelalgorythmus auf dem µC selber hatte ich ehrlich noch keine Lust. Ich habe 90% der Zeit in die Entwicklung/Programmierung von meinen Quadro und dem aktuellen Projekt, eine Bell-Boeing V-22 Osprey.

Idee hatte ich deshalb, wenn ich ehh schon eine Quadroregelung hierhabe, die so zu erweitern das der Heli alleine fliegt, und dann noch weitere Sensoren integrieren um die Lage im Raum festzustellen.


MFG Max

oberallgeier
29.08.2009, 12:57
Langsam komme ich wohl einer verbesserten Regelung näher (ja ja ja - DIESER Schritt ist ja, genaugenommen, trivial).

Die Analyse der Testfahrten anhand der Diagramme zeigte, dass deutliche Schwingungen auch bei längerer, gleichförmiger Fahrt existieren. Dies geht sicher auf "Rundungsfehler" - sprich - auf systembedingte Fehlmessungen zurück, weil meine Zeitrechnung in 50µs-Quanten eben nicht kontinuierlich ist (hihi - Zeitmessung ist NIE kontinuierlich *gggg*). ALSO habe ich - als einzige Änderung - mal den Zeittakt des Timers von 50µs auf 25 µs gesenkt. Fazit ist, dass mein Noch-immer-Erlkönig nun über die Teststrecken fetzt. Klar, Formel-1-Wochenende!

Aber seht euch mal das Diagramm an. Ich habe aus Platzgründen nur jeden vierten Encoderinterrupt - sprich: jede zweite Motorumdrehung - die Daten mitgeschrieben. Aber andere Messungen in diesem Testabschnitt sind feiner erfasst und zeigen die gleiche Tendenz, die Regelungsfreaks wohl klar ist. Schnellerer Zeittakt heißt genauere Zeiterfassung - und damit wird das Ergebnis der Regelung - die Geschwindigkeit - deutlich ruhiger. Im neuen Diagramm ist sowohl die Istdrehzahl I_drz12 als auch die Soll(Nenn-)Drehzahl Nenndrz12 erfasst.

Natürlich sieht der Geschwindigkeitsanstieg (sprich Istdrehzahl I_drz12, rote Linie mit Kreisen an den Stützpunkten) etwas langsam aus - die Vorgaben sind aber sozusagen doppelt so hoch, als Vorgabe über 300 mm/s. Am Ende des hier dargestellten Diagramms wird bereits zum ersten Turn abgebremst. Fahraufgabe noch immer die Prüfstrecke aus dem Video.

................https://dl.dropbox.com/s/f9uz3nt6isg1oj2/mMiniD0-dia-29aug09.jpg?dl=0

Es wird weitergearbeitet.

oberallgeier
11.09.2009, 10:12
Leider habe ich die Art der Messwerterfassung nicht deutlich erläutert.
... Was ich allerdings nicht so richtig nachvollziehen kann, ist das 'Raster' mit dem alle Kurven, außer "(ncx0 = lncgs0) * 10", versehen sind ...Die für mich einfachste Möglichkeit war es, die Messwerte innerhalb der ISR für den externen Interrupt aufzunehmen. Sprich: die Aufnahme der Messwerte orientiert sich an den Weglängen.

Damit verbunden ist die Möglichkeit, die Messwerterfassung ab einer vorher bestimmbaren Weglänge zu starten. Dazu wird in der extINT-ISR ein counter von x, z.B. 1999 runtergezählt und bei 1000 wird ncx0 - der Pointer auf das aktuelle Messwertfeld - von 200 auf 0 gesetzt. Die Messwerterfassung prüft diesen Pointer auf <100. Ist dies der Fall, wird ncx0 eins raufgesetzt und die Messwerte in das entsprechende Feldelement geschrieben. Ist der Messwertpointer auf 200 wirkt er deswegen als negierendes Flag für die Messwertaufnahme.

Nachteil: Wenn der Motorencoder schneller Interrupts erzeugt als die Regelung läuft, wird der Regelungsstatus mehrfach erfasst. Dies ist bei schneller Fahrt der Fall. Dumm gelaufen - und leider sieht das auch schrecklich aus.

So ist für mich aber die zeitliche Zuordnung der einzelnen Werte einfach durchzuführen. Andernfalls müsste ich zusammen mit den Regelungsparametern noch die entsprechende Zeit notieren, bei der die Parameter erfasst würden. Systematisch an sich kein Problem. Da ich das SRAM des m328 mit der aktuellen Datenerfassung schon zu rund 95% ausgefüllt habe, wäre dafür ein aktuell präsentierter Messwert zu streichen. Diesen Nachteil sehe ich gravierender als den derzeit bestehenden Zustand.

Ich hoffe, dass die Datenerfassung bzw. -präsentation jetzt nachvollzeibar(er) ist.

Nachtrag :
Das Schema der Ti mer und der Regelung ist weiter oben in diesem Thread (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437897&sid=26d23c360852c32e721194882413f45a#437897) schon mal präsentiert worden.

oberallgeier
19.09.2009, 16:15
Die letzten Prozente Genauigkeit zu holen kostet ja bekanntlich unverhältnismässig viel Aufwand. So geht es mir gerade.

Ein bisschen bin ich vorangekommen. Die ausführlichen Diagramme, Beispiele siehe oben, zeigten mir, dass gelegentlich der Ansteuerungswert iy12/~34 der PwM unter Null geht - dann wird das beschränkt auf den Nullwert. Es ist in den Diagrammen klar zu sehen, dass in diesem Fall auch die Ist-Geschwindigkeit wirklich hoch ist - und ein Auslaufenlassen bedeutet real ne recht niedrige Verzögerung. PwM kann nicht negativ werden. Regelungstechnisch bedeutet es ganz klar, dass die Istgeschwindigkeit zu hoch ist und schnell(!?) gesenkt werden müsste. ALSO musste eine Fallunterscheidung her und ein Bremsvorgang bei zu hoher Drehzahl. Erforderlich wäre sogar ein Bremsvorgang mit dosierter Verzögerung.


// ### Auszug aus Modul ~mot~:
// Hier ist der "alte", einfache code. Wird durch Fallunterscheidung ersetzt
//if ( iy12 < 0 ) { iy12 = 0;} // Stellwert (PWM) begrenzen
//if ( iy12 > 255 ) { iy12 = 255;}
// ---------------------------------------------------------------------------------
// ----- Hier folgt der geänderte/neue code - ab 17.Sept. 2009 -------------------
// Aufgabenstellung des neuen Codes:
// Wenn iy < 0 => Bremsen durch aktive Motorbremse
// iy >= 0 => Bei iy > 255 begrenzen auf 255
// iy = 0 <=> PWM = 0 = Leerlauf, sonst "Normaler"
// Lauf, ABER Motorbremse ausschalten
// ### Auszug aus Modul ~com~:
volatile int8_t mdir12, mstop12; // Fahr+Richtungsflags #####>>>>>
// mdir12 >0 => vorwärts = 0 => stop <0 => rückwärts
// Stopflag mstop ( =0 => "Normalfall") =1 => BremsenDamit wird in etwas aufwendiger Weise bei Werten unter Null die Bremse eingeschaltet. Dummerweise ist jetzt weiterer Aufwand nötig, weil der Mot ortreiber bei Rückkehr "Normalbetrieb" ab dem Wert Null wieder auf "vorwärts" oder "rückwärts" geschaltet werden muss. Macht nix. Je zwei Flags: mdir12 und mstop12 und ihre ~34-Pendants erlauben die Organisation der Bremserei.

Und der Gewinn? Ich will euch mit langweiligen Diagrammen nicht anöden (pssst - ich hab noch garkeine gemacht) - aber die Standardtestfahrt sieht schon besser aus. Das Vehikel läuft recht präzise die vorgegebene Strecke (siehe Kreuzchen am Schreibtisch im Testfahrtvideo) - weder zu kurz, noch zu lang, und ich habe den deutlichen Eindruck, dass die Änderungen auch das Vorbeifahren (Länge wird erreicht, aber Endpunkt liegt "daneben") deutlich verringert haben.

Was steht noch aus? Ich beabsichtige eine anderen Fahrvorgabe. Es sollen a) saubere Beschleunigungsrampen gefahren und b) die Wegpunkte abgeprüft werden. Mal sehen, ob es dann besser geht. Später kommt dazu c) Übertrag des Vor-/Nacheilens von einem Antrieb sinngemäß auf die Regelung des anderen - und damit endlich das ursprüngliche Ziel einer Art Differ ential-Sperrwirkung.

Nachtrag 19. Sept. 2009, 17:13
Interessant wäre es für mich zu erfahren, ob jemand mit diesem Bremsen bei PWM-Vorgabe unter Null schon gearbeitet oder sonstwie Überlegungen oder Erfahrungen dazu hat.
PS: Schon dumm, wenn man beim Editieren statt [edit] auf [x]=Löschen klickt :( :(

radbruch
19.09.2009, 16:25
PS: Schon dumm, wenn man statt [edit] auf [x]=Löschen klicktAua!

(Aber für mich besser als unnötig auf https://www.roboternetz.de/phpBB2/templates/fisubsilversh/images/icon_bcard.gif zu klicken ;)

Schönes WE

Gruß

mic

Waldichecker
22.09.2009, 18:03
Hey das Teil fin ich geil!!!

Bammel
22.09.2009, 18:24
@waldichecker... ich beobachte die jezze schon länger.. sag mal was sollen immer diese unnützen und sinlossen kommentare? postgeil?

Waldichecker
29.09.2009, 17:08
@Bammel
Ok Sorry ich hör auf damit!

oberallgeier
30.09.2009, 08:44
Ein winziger Schritt in die richtige Richtung: Moto rtreiber auf Null wenn Sollfahrt (=iy12PWM) Null ist UND Moto rtreiber auf Bremsen, wenn der PwM-Sollwert UNTER Null ist, bringt eine winzige Verbesserung in der Reproduzierbarkeit. Leider weiß ich immer noch nicht, ob jemand diese Verzögerungstaktik auch schon angewendet hat.

Der Wald vor lauter Bäumen . . . .:
Viel wichtiger erscheint mir derzeit ein anderes Detail. Im Code (siehe Posting vom 18 Jul 2009 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=451800&sid=003683d0d4abc1a5e6d706952536db18#451800), 12:34) ist gezeigt, dass meine Regelungsroutine als Sollwert die Fahrgeschwindigkeit (vom "main" bzw. der zugehörigen "NIR" Nicht-Interrupt-Routine) in der Dimension mm/s bekommt. Daher muss die aktuelle Istgeschwindigkeit in tupsi - also die Zeit zwischen dem vorletzten und dem letzten Odometrie-Interrupt - ebenfalls in mm/s umgerechnet werden. Blödsinn generell und besonders, dies in der ISR zu machen, das ist mir mittlerweile klar.

Die Vorgabe in stupsi (= S oll-tupsi) würde mir die Division "8300 / tuspi" ersparen. Damit komme ich mit der Regelung zeitnäher an den Messzeitpunk, ok, ist weniger bedeutungsvoll, erspare aber einiges an Rechenzeit. (Auszug aus einer Mail an einen Kollegen): Nicht genug der Divisonen: meine Regelungsparameter Kp, Ki und Kd werden ja auch alle „rein-dividiert“. Also Rechenzeitbedarf satt. Gerade überlege ich, was passiert, wenn ich die Geschwindigkeitsvorgabe an die Regelung schon in stupsi mache – das lief früher so (stupsi = Soll tupsi = S oll T imer U nits P er S ensor I nterrupt) und es war wohl bloß die Freude nach einer anschaulichen Führungsgröße, die diese Änderung brachte. Schwachsinn ! ! ! Also wird wieder geändert , Zeit vergeht – und nix Sinnvolles geschieht. So ist das Leben.

oberallgeier
07.10.2009, 10:31
Der Sprung - in der Schüssel oder in den Überraum? ? ?

Für eine gute Regelung braucht man genaue Motordaten.

Zur Kontrolle der aktuellen Eigenschaften der Motoren vom MiniD0 bietet sich die Aufnahme der Sprungantwort an. Keine Frage. Die Sprungantwort hatte ich schon mal ermittelt. Schon damals (http://www.youtube.com/watch?v=_MC7Znbm6DQ) war mir eine kurze, heftige Drehung in Richtung Motor34 des Gefährts aufgefallen - das ist in Fahrtrichtung eine linke Kurve, Motor 34 ist der Motor, der an den Ausgängen 3Y + 4Y des L293D hängt. Diese Drehung beim Start stellte ich dieser Tage wieder fest. Nachbesserungen am Motor und am Getriebe brachten keine merkliche Besserung, ein anderer Motor oder ein neues Getriebe waren auch etwa so gut oder so schlecht. Offensichtlich ist mein Motor12 eine optimale Ausnahme meines Motorenparks. Mehrere genaue Messungen der Sprungantwort zeigten dieselbe Tendenz: Der langsamere Motor läuft etwa 1 .. 3 ms später an als der schnelle. Dies wurde auch nach Tausch der Motoransteuerungen festgestellt - ein Softwareproblem wurde erstmal nicht vermutet.

................https://dl.dropbox.com/s/kdutktrhy7cn1iu/sprungfkt_neu_06okt09.jpg?dl=0
................Zeitabstände zwischen zwei Encoderinterrupts beim Anfahrvorgang beider Motoren. Aufnahme im Abstand von je 1/2 ms.
................Als Sprungfunktion wird 5 ms nach Start der Aufzeichnungen die Motor-PWM auf 255 gesetzt.

Vermutung: Die PWM läuft nicht simultan an.
Der deutliche Verzug beim Motorstart von Mot34 deutete darauf hin, dass die PWM für den Motor34 den übergebenen Wert (vorzugsweise) erst einen Zyklus nach der PWM für Mot12 übernahm: Die PWM wird zusammen mit anderen Initialisierungen gleich nach den Ports gestartet und auf "beide Motoren stop" gesetzt. Laut Atmel-doc gilt für OCR0x: "Update at Bottom" => damit können die beiden Werte für zwei aufeinanderfolgende PWM-Zyklen wirksam werden. Beim geltenden Prescaler sind das rund 1 ms Zyklusdauer. War hier doch die Softwarekonstruktion falsch?

Änderung: NUR für die Aufnahme der Sprungantwort wird OCR0x auf 255 gesetzt, BEVOR der PWM-Timer initialisiert wird. Jetzt starten beide Motoren "gleichzeitig" - das Ergebnis ist reproduzierbar gut.

................https://dl.dropbox.com/s/0h59inoz6tga3zt/sprungantwort-07Okt09-09h10.jpg?dl=0
................Der höhere Endwert der Geschwindigkeit ist hier auf frisch geladene Akkus zurückzuführen.

Die Sprungfunktion wird für Messzwecke also im Rahmen des Möglichen simultan gestartet. Die Motorcharakteristiken bewirken trotzdem ein Nachhinken des Mot34 beim Anlauf, obwohl der Motor bei Maximaldrehzahl einen Tick schneller läuft. Beides ist aus dem zweiten Diagramm gut abzuleiten.

Bei Verwendung der Regelung wird hier vieles ausgeglichen, daher sind Auswirkungen nur in wenigen Sonderfällen markant, möglicherweise ein Grund für die mäßige Funktion des früher gezeigten Balancierers. Bei dem muss ja dauernd Fahrtrichtung gewechselt werden, da ist ein Versatz von einer Millisekunde schon erkennbar.

Erkenntnis: eine sehr schnelle PWM-Frequenz ist mit Blick auf die Regelung empfehlenswert. Bei meiner derzeitigen Auslegung ist eine schnellere PWM-Frequenz nicht mehr möglich. Am Timer0 hängt der Interrupt für die CIR-perei und die ADC-Messung sowie mit einem Prescaler die Regelung.

Ganz allgemein ist zu vermuten, das ähnliche Probleme bei ähnlichen Lösungen auftreten. Davon dürfte die genaue Funktion einer Odometrie beeinflusst werden.

oberallgeier
17.10.2009, 22:23
Hallo alle,

ich fürchte fast, dass die vielen Sprungantworten schon jetzt zuviel sind. Aber die Antwort auf "Motor ein" ist leider nur die halbe Wahrheit. Höchstens. Da ich mittlerweile in meiner Regelung bei einer theoretischen Stellgrösse kleiner als Null den Motor elektrisch bremse, wollte ich natürlich mal wenigstens eine ungefähre Vorstellung darüber haben, was sich beim Ausschalten des Motors bzw. bei den unterschiedlichen Arten der Verzögerung tut.

Daher also nochmal drei "Sprung"antworten. Der Anfahrsprung ist klar - PwM auf Maximum, hier also 255. Der Ausschalt"sprung" ist ja weniger klar, es gibt mehrer Möglichkeiten. Die reine und wahre Sprungfunktion ist "volle Bremse" - das ist bei meinen Betrachtungen unten aber erst die dritte Variante. Die hier präsentierten Messungen - alle mit Betonung auf das Abfahren der Motoren - habe ich ohne Last gemacht, die Räder hingen also in der Luft. Sowohl die Antwortfunktion beim Anfahren als auch beim Abfahren bzw. Bremsen sind erwartungsgemäß im tatsächlichen Fahrbetrieb deutlich anders: die positive Beschleunigung ist durch die Massenträgheit des Dosenroboters etwas verzögert, im Schubbetrieb ist die Verzögerung ebenfalls geringer, deutlich geringer als beim Anfahren. Die Ergebnisse unter Last habe ich hier nicht bereitgestellt - wer das wissen will, kann es per PN erfahren, es ist kein Geheimnis. Ich fürchte halt ein bisschen, dass ich das Thema zu sehr strapaziere. Daher auch die Diagramme nur als Link.

Die erste Variante (https://dl.dropbox.com/s/nz3qtdnnw9ysndd/SpA-an-gst-ab-oBr.jpg?dl=0) in den Diagrammen ist eine Art abgestuftes "Fuß-vom-Gas" nehmen, schnell, aber nicht plötzlich, sprich: nach Bremsbeginn wird etwa alle 5 ms der PwM-Stellwert um 25 dekrementiert. 5 ms sind etwas kurz, weil bei mir die Regelung mit ca. 100 Hz läuft. Damit ist aber die Tendenz gut zu sehen.

Zweite Variante (https://dl.dropbox.com/s/q27xvaj6eeglnum/SpA-an-Sp-ab-oBr.jpg?dl=0) ist "Gas-sofort-ganz-weg" - ein wirkliche Sprungfunktion, sprich: der PwM-Stellwert wird zu Beginn der Verzögerung sofort auf Null gesetzt.

Dritte Variante (https://dl.dropbox.com/s/fb5txpntejswgw7/SpA-an-Sp-ab-mBr-akt.jpg?dl=0) ist "Volle-Bremse" - eine zweite, mögliche Sprungfunktion, sprich: zum Bremsbeginn wird bei vollem PwM-Stellwert die aktive (elektrische) Motorbremsung eingeschaltet.

Variante1 und V2 unterscheiden sich praktisch nicht in der Steilheit der Verzögerung. Allerdings tritt die Verzögerung beim gestuften Absenken der PwM mit deutlicher Verspätung von ca. 30 ms ein. Das bedeutet im Vergleich der Diagramme: schaltet man den Motor (!!bei meiner Hardware!!) fast 30 ms später ab als gestuft "Gas wegzunehmen", dann entsteht trotzdem eine praktisch synchrone Verzögerung. Das war überraschend.

Vielleicht nutzen diese Ergebnisse jemandem. Immerhin scheint es hier neu zu sein.

PS. Nun ist auch eins sichtbar: die Maximalgeschwindigkeit des MiniD0 ist mit den getunten
Hackeservo-Getriebemotoren knapp über 500 mm/s.

Richard
20.10.2009, 12:29
Frage: Wie mache ich so eine softwareseitige Verbindung der jeweiligen Abweichungen der beiden Antriebe - mit der die Fahrstrecken z.B. alle fünf bis 20 mm (hier also etwa fünf bis 20 Regelzyklen oder mehr) aufeinander abgestimmt werden können?

Moin moin.

Das frage ich mich auch schon länger. Leider bin ich kein Regelexperte,
kann mich aber schwach erinnern einmal etwas von gegenseitig verschränkten Reglern gelesen zu haben. Was immer das auch sein mag.

Ein Denkansatz währe möglicherweise die Regelabweichung des jeweilig
anderen Reglers mit einfließen +/- lassen? Oder einen Übergeortneten
3. Regler der nur für die Differenzen der untergeordneten zuständig ist
und dessen ist/Soll Vorgaben beeinflusst? Fragt sich nur wie mann dann
noch eine Kurve fahren können soll?

Gruß Richard

oberallgeier
20.10.2009, 12:40
... Denkansatz währe möglicherweise die Regelabweichung des jeweilig anderen Reglers mit einfließen +/- lassen? ...Genau so sieht mein derzeitiger Entwurf aus. In der Kurve muss eben die kurvenäussere Übergeschwindigkeit berücksichtigt werden.

Meine praktische Erprobung steht noch aus - ich habe mich in der letzten Zeit praktisch ausschließlich mit der oben genannten Regelungsproblematik "Was tun bei Stellwertvorgabe < 0" beschäftigt. Diese Frage steht ja in unmittelbarem Zusammenhang mit dem sauberen Abstimmen zweier Antriebe. Durch diese "Nebentätigkeit" bin ich mittlerweile ziemlich firm zum Thema "Bremsen von kleinen DC-Motoren mit Motortreibern" durch zahlreiche (oder zahl - lose?) Sprungantwort-Aufnahmen zu Brems-Sprungfunktionen. Und seit ganz kurzer Zeit kann ich meinen Zweiräder auch recht sauber stoppen bis zum Stillstand - aktiv stoppen, nicht auslaufen lassen (es lohnt sich dabei, wenn man gute Erfahrung mit Booten der Klasse über 10 to hat).

Sobald ich die übergeordnete Regelung zwischen den beiden Antrieben im Griff habe, werde ich dazu wieder schreiben.

Richard
20.10.2009, 12:57
(es lohnt sich dabei, wenn man gute Erfahrung mit Booten der Klasse über 10 to hat).



Klar, die Bremsen nicht so schnell. :-) Ich habe eben etwas gegoogelt,
viel ist nicht dabei herausgekommen außer ein Blockdiagramm bei denen
die ist-werte von 2 Reglern gekreuzt auf die Regelwerte geführt werden.

Gruß Richard

oberallgeier
20.10.2009, 13:23
... etwas gegoogelt ... Blockdiagramm bei denen die ist-werte von 2 Reglern gekreuzt ... werden ...Bei Kreuzungen jeglicher Art gibt es ein Vorfahrtsproblem. Das wird nur dann problemlos, wenn die Vorfahrt geregelt ist.

Richard
20.10.2009, 17:18
... etwas gegoogelt ... Blockdiagramm bei denen die ist-werte von 2 Reglern gekreuzt ... werden ...Bei Kreuzungen jeglicher Art gibt es ein Vorfahrtsproblem



Nicht wenn "Werner" mit dem Messer zwischen den Zähnen
unterwegs ist. ;-) ;-)


Gruß Richard

Sternthaler
23.10.2009, 00:21
Hallo oberallgeier,

Mal etwas zu deinen 3 Varianten "verschiedene Bremsarten".

Ist nicht so leicht 'aus der Ferne' zu beantworten.
Der Unterschied, bzw. der fehlende Unterschied, zwischen 'Fuß vom Gas' und 'Gas sofort ganz weg' ist ja erst einmal nicht sichtbar.
Wenn man aber bedenkt, dass beim 'Fuß vom Gas' eine Rechner-Reaktion schon 30ms vorher erfolgen muss gegenüber dem 'Gas sofort ganz weg', dann könnte man auf den Gedanken kommen einen Digitalregler einzusetzen.
Jede kleinste Regelabweichung schaltet nur noch zwischen 0 und 255 an der PWM um. Schließlich zeigt das 'Gas sofort ganz weg'-Diagramme ja ein gleiches Verhalten zu einem 'soften' Regler, außer dass es dann schneller, nach der Rechner-Reaktion, zur Geschwindigkeitsänderung kommt.
Das aber kann es ja nun nicht wirklich sein! Sagt zumindest das Bauchgefühl. Hast du das schon mal versucht?

Beim 'Volle Bremse' Diagramm fehlt mir der abfallende Strich vom OCR0B. Dann könnte man gut sehen, ab wann gebremst wird. Die Zeitangaben in der Diagrammlegende interpretiere ich mit 55 ms. VRad12 fällt aber erst bei ca. 70/75 ms. Das passt nicht in meinen kleinen Kopf.
Die Verzögerung allerdings sieht gewaltig gut aus.
Ist aber diese Art von Digitalregler im Hinblick auf eine gekoppelte Reglung (rechter/linker Motor) möglich? Hier ist ja absolut kein Spielraum für ein 'Bremse etwas lockern' vorhanden. Somit ist auch keine Möglichkeit da, auf Unterschiede beider Seiten zu reagieren.

Mein Fazit:
Ich halte die Variante 1 'Fuß vom Gas' für die sinnvollste, da hier alle Mittel vorhanden sind, Einfluss auf eine Geradeausfahrt zu nehmen und die wahrscheinliche Notwendigkeit, den 'Fuß wieder auf Gas' besser regelbar ist, als ein 'Bleifuß' bei Kurvenneigung des gesamten Systems.

Mir fällt gerade noch ein, dass im Code zu wastes 'Linienregler' auch gebremst wird. Wo war denn der nochmal? Irgendwo auf Seite 15 oder 19 vom Linien-Thread?

Gruß Sternthaler

oberallgeier
23.10.2009, 09:46
Hallo Sternthaler,

erstmal danke für Deine ausführliche Durchsicht meiner chaotischen Ergüsse. Du machst Dir immer so viel Arbeit und mir hilft das ungemein.

... dass im Code zu wastes 'Linienregler' auch gebremst wird. Wo war denn der nochmal? Irgendwo auf Seite 15 oder 19 vom Linien-Thread ...Du meinst sicher den Thread Linienfolger mit PD-Regler, der hat bei mir grad 7 Seiten. Ich hatte den schon mehrmals, teils ziemlich ausführlich, durchgegangen, aber vom Bremsen nichts gelesen. Gibt es noch einen anderen Thread (den ich noch nicht kenne) ?


... Beim 'Volle Bremse' Diagramm fehlt mir der abfallende Strich vom OCR0B ...Das hat Gründe. Einmal hatte ich festgestellt, dass die Bremswirkung bei meiner Schaltung (ich frage mich warum das so ist) höher ist mit OCR0B = 255, als mit OCR0B = 0, obwohl es laut doc zum L293D doch gleich sein sollte. Daher geht die OCR0B-Linie leider durch. Ausserdem hatte ich Probleme beim Auslesen der Messdaten festgestellt: die Zuordnung der Zeitachse stimmt um ein paar Millisekunden nicht - auch die Erklärung bleibe ich schuldig. Allerdings sieht mittlerweile die Zeitachse um einiges besser aus (wieso klappt bei mir der soundsovielte Test besser als die ersten :- / ?).


... dann könnte man auf den Gedanken kommen einen Digitalregler einzusetzen ...Ich hatte eine wichtige Motivation für meine Messungen eher versteckt und missverständlich erwähnt:

... Für eine gute Regelung braucht man genaue Motordaten ...Sprich: ich bin derzeit vorzugsweise beim Messen der Sprungfunktion des Bremsvorganges und sehe bzw. suche erstmal nicht die mögliche Anwendung in der Regelung sondern will mir einen möglichst vollständigen Überblick erarbeiten. Mit Blick auf die Anwendung beim Regeln denke ich derzeit im Prinzip allenfalls so, dass ich bei Stellwert gleich Null die PwM auf Null fahre und bei Stellwert < 0 den Motortreiber einfach auf Bremsen stelle bei gleichem oder halbem OCRnx-Wert.

Die weiteren Betrachtungen zum Bremsen sollen mir nur ein Gefühl dafür geben, "was Sache ist" (ich spreche jetzt ausdrücklich nicht von Grundlagenforschung sondern eher von einfacher Beschäftigungstherapie bzw. von meinem Spieltrieb). Immerhin gibt es einige Aussagen zur elektrischen Motorbremsung, aber eine gründliche Analyse kenne ich nicht. Allenfalls könnten meine Messungen ein altes Ziel ermöglichen, das MiniD0 (oder allgemein: einen Antrieb) punktgenau nach einer bestimmten Strecke zum Halten zu bringen. Und da bin ich mit einer Variante der Motorbremse (https://dl.dropbox.com/s/j3oyn1b7wyl7qed/spr-a_211009-12h40.jpg?dl=0) mittlerweile ziemlich weit gekommen: da die Leistung der Motorbremse mit sinkender Drehzahl = sinkender Gegeninduktion drastisch nachlässt, wird nach einigen Millisekunden ein Gegenschub gegeben - ebenfalls im Millisekundenbereich. Fazit: schnelle Verzögerung bis zum Stillstand.

Ich arbeite (spiele) weiter mit dem Thema und werde in absehbarer Zeit hoffentlich abschließend (und hoffentlich kurz und bündig) berichten können.

Edit 24Okt09_0933: "Variante der Motorbremse" - Exceldatei durch jpg ersetzt.

oberallgeier
04.11.2009, 17:17
Der Thread ist leider recht unübersichtlich lang und unstrukturiert geworden. Da doch einige Besucher kommen, habe ich ganz vorne (https://www.roboternetz.de/phpBB2/viewtopic.php?p=373999#373999&sid=45bbe64fc773e5a2622857d9ce184ba6) ein Inhaltsverzeichnis eingefügt. Vielleicht hilfts gelegentlich. Ich hoffe, dass das Inhaltsverzeichnis ausreichend lang und übersichtlich kurz ist.

Sternthaler
05.11.2009, 18:17
Hallo oberallgeier,

SUPER GEMACHT.

Gruß Sternthaler

Brantiko
21.01.2010, 22:53
Am besten ist sowas denn die Geschwindigkeit direkt am Motor selber abgenommen wird. Dann kann man die Impulslänge messen und bekommt super genaue Messergebnisse:

Das hier war ein PI-Regler mit P-Regler zur Positionsregelung.


http://www.youtube.com/watch?v=WaPhzc9_ul0

thewulf00
22.01.2010, 07:15
Geier, das ist ne gute Idee, hilft aber nur, wenn die Benutzer die Anzahl der Threads pro Seite in ihrem Profil nicht verändert haben (sofern das vom Admin nicht abgeschaltet wurde).

Sternthaler
30.01.2010, 22:16
Na endlich habe ich wastes Bremsmanöver gefunden.

Du schaust hier: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=109451#109451
im Codeblock in der Funktion FollowLine() am Ende und findest:

if (speedLeft < 20) leftDir = BREAK; // richtig bremsen
if (speedRight < 20) rightDir = BREAK;Ja, ja, es ist schon auf Seite 4 und nicht erst auf 15. Muss ich wohl übersehen haben ;-)

Viele Grüße von hier
Sternthaler

oberallgeier
03.02.2010, 08:00
JAAAA, danke für den Hinweis. Also hats doch schon jemand gemacht - kräftig bremsen, wenn der Karren "davonfährt". Je weniger Reibung unsere Gefährte haben, umso deutlicher wird dieses Thema. Daher fiel mir die Problematik auch erst bei MiniD0 mit den getunten Getrieben auf - Dottie läuft mit viel mehr innerer Reibung. Dieses Bremsen ist ja regelungstechnisch auch sinnvoll. Es hätte mich gewundert, wenn noch niemand darauf gekommen wäre und es realisiert hätte. Dass es von waste kommt - beruhigt doppelt! Besonders der Ausdruck "... richtig bremsen ...". Noch etwas finde ich bemerkenswert - waste hat im gleichen Posting an dieser Stelle auch schon abgestuft gebremst:
speedRight = 255; // falls Begrenzung
y2 = speed - speedRight; // dann Rest links berücksichtigen

... Der D-Anteil kann sehr hohe Werte annehmen, die in einem Zyklus gar nicht verwertet werden können. Um dennoch das richtige Verhalten des Reglers zu erreichen, wird der nicht verwertete Rest in der Variable "drest" gespeichert und bei den nächsten Zyklen wieder berücksichtigt ...Genau das habe ich auch festgestellt, bei mir sind die D-Anteile 3 bis 4mal so groß wie die beiden Anderen. Aber ich habe mir zu grosse Anteile (Überhang...ähh...anteile) nicht gemerkt. Da ich mit int16 rechne, bleibt sicher nicht sooo viel auf der Strecke.

Hrmpf - ich werde die Neubearbeitung meiner Regelung trotzdem noch etwas schieben. Das Konzept zur Regelung ist im Kopf, aber mein gegenwärtiges Thema beschäftigt mich noch eine Weile.

oberallgeier
16.08.2010, 17:42
ENDLICH bläst dem Controller beim Fahren der Fahrtwind nicht mehr so schlimm um die Pinns. Die Karosserie ist aufgeschoben, der Deckel geht vor Fahrtantritt vollautomatisch auf und nach Fahrtantritt ebenso zu und nimmt die Sensorplatine mit. Weil man ja über den Dosenrand schauen muss zum Navigieren.

................http://i4.ytimg.com/vi/kQWbKYPBNMQ/default.jpg (http://www.youtube.com/watch?v=kQWbKYPBNMQ)
................Video anschauen bei klick. (http://www.youtube.com/watch?v=kQWbKYPBNMQ)

Endlich. Leider ist der SHARP (StroHAlmsensor zur ReferenzPeilung) aus Platzgründen vorerst nicht montiert, der noch im Dottie so schön funktionierte. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390196#390196) Ausserdem staubt die Chose nicht mehr so grausam ein.

5Volt-Junkie
16.08.2010, 17:55
Das ist echt geil. Sieht überhaupt nicht nach einem Roboter aus. Die lebendige Cola-Dose. Wieviel Bodenfreiheit ist bei deinem Robby noch verfügbar?

oberallgeier
16.08.2010, 18:24
... geil ... Sieht ... nicht nach einem Roboter aus...Danke für das Lob. Ich finde, dass ein Roboter nicht wie ein Haufen zusammengelötete Elektronikbauteile aussehen muss. Und ein Aufbau wie eine Stereoanlage vom Doktor Frankenstein mit Fahrradleuchten oben drauf ist auch nicht mein Fall.

... Wieviel Bodenfreiheit ...Bodenfreiheit? 4 mm. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=432909#432909) Das reicht für die geplante Umgebung. Der ursprüngliche Entwurf war für (Konferenz-) Tische - als Zeitanzeige für die Vortragsdauer - fährt bei Vortragsende los *ggg*. Also reicht eine formel1-mässige Bodenfreiheit. Hat ja auch als Federung nur die Vollgummireifen.

amieX
16.08.2010, 21:41
Ich will auch eine Dose auf zwei Rädern. Echt genial. Bald gibts betimmt eine Fanta, MEzzo, Sprite Dose :D Dann wird Rennen gefahren =)

PICture
16.08.2010, 21:49
Hallo!

Finde ich wirklich toll, schaut für mich aber mechanisch mit dem Deckel zu kompliziert. Wenn er problemlos alle Hindernisse in meiner Wohnung ohne Umfallen passieren könnte, würde ich mir gerne sowas mit virtuellem Bumper als Kunsttier bauen ... :)

MfG

Searcher
16.08.2010, 23:24
Klasse, das gefällt mir auch sehr!

Gruß
Searcher

Richard
17.08.2010, 12:58
Ist sehr schön geworden!

Gruß Richard

oberallgeier
17.08.2010, 22:34
Nochmal danke für das viele Lob.


... toll ... Deckel zu kompliziert ...Gerade die Deckelmechanik finde ich nicht kompliziert. Komplizierte Dinge kann ich mit meinem bescheidenen Werkzeug garnicht aufbauen.

................https://dl.dropbox.com/s/48owk6f2nkwa94s/dosendeckel_oh_sens.jpg?dl=0
................Funktionsnachweis durch ein Video (klick hier oder aufs Bild). (http://www.youtube.com/watch?v=99G7wRI5nf8)


... will auch eine Dose ... Bald gibts betimmt eine Fanta, MEzzo, Sprite ...Wär ja schön, dann mach mal voran. Max (PCF8574P) war schon ziemlich weit gekommen, (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=420332#420332) aber seit fast einem Jahr war er nicht mehr im Forum :-(. Dabei war seine Dose (http://www.rn-pcf8574-projects.roboterbastler.de/K640_DSCF2846.JPG) soooo schön blau.

Richard - diesmal siehts ja dann schon ein bisschen nach Werner mit dem Messer (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=466350#466350) zwischen den Zähnen aus, nicht wahr ;-) ?

PICture
18.08.2010, 16:39
Hallo!

Danke sehr für das Foto und Video, die alles perfekt erklären ! :)

Ich sehe, dass ich immer schlimmer sehe ... :)

Ich habe nämlich "gesehen" und bisher gedacht, dass deine "Dose" den Deckel öffnet um sich mit Sensoren in der Gegend umschauen und weitere Fahrt "plannen".

Aber wenn es nicht so ist, brauche ich diese zwar nicht komplizierete Mechanik nicht. Für mich, ausser tollem Effekt für ein Beobachter, der bewegliche Deckel nutzlos ist, da ich möglichst einfache Spielzeuge ausschliesslich mit und für Spass baue ... :)

MfG

Bammel
18.08.2010, 17:50
Hi,
ich finde die mechanik auch genial.. ist nen echt netter gag...

@picture: da soll später doch sensorik rein hat er oben geschrieben

PICture
18.08.2010, 17:58
Hallo Bammel!

Danke dir fürs Info ! :)

Ich habe leider den ganzen Tread nicht gelesen, dann ist es anscheinend eine Telepathie ... :)

MfG

Richard
18.08.2010, 19:54
Ich habe nämlich "gesehen" und bisher gedacht, dass deine "Dose" den Deckel öffnet um sich mit Sensoren in der Gegend umschauen und weitere Fahrt "plannen".
MfG

Hatte ER ja, im oder am Strohalm, ich denke das kommt auch noch,
wenn`s zum Drachenfliegen und Moped fahren zu kalt wird. :-)
ich finde die Lösung ganz einfach... einfach, praktisch und super
gelöst. So einen IR Abstand Sensor bekommt ER auch noch unter den
Deckel gepappt, wetten?

Gruß Richard

PICture
18.08.2010, 20:38
Nein, ich wette nie, weil "Nichts ist unmöglich" (TOYOTA) ... :)

MfG

Richard
18.08.2010, 21:06
Nein, ich wette nie, weil "Nichts ist unmöglich" (TOYOTA) ... :)

MfG

Hmmm, kennst Du eine andere Methode einen z.B. Audi R8 V10
zu erwerben ?

Gruß Richard

oberallgeier
19.08.2010, 10:58
... da soll später doch sensorik rein hat er oben geschriebenEs ist doch immer wieder schön, wenn man merkt, dass mitgelesen wird. Daher diese Vorveröffentlichung, denn die Sensorikplatine ist eigentlich noch nicht präsentabel. Sollte auch erst präsentiert werden, wenn ALLES funzt. Aktuell fehlt mir für das Verbindungskabel Controllerplatine-Sensorplatine der Zwischenstecker - das wird noch ne Weile dauern, ich stelle gerade (m)eine Einkaufsliste zusammen.

................ https://dl.dropbox.com/s/yu5jledh3fmfbp4/snsr_plat_2475-mini.jpg?dl=0 (https://dl.dropbox.com/s/tfsxhbq2xcz2k4g/sensor_plat_2475teil.jpg?dl=0) Höhere Auflösung im Bild verlinkt.

Hier der aktuelle Stand. Die Sensoren sind komplett eingebaut, der mittlere IR-Empfänger SFH5110 ist versuchsweise mit einer Blende aus dünner Alufolie versehen, damit er nicht (zumindest weniger) von den Dioden SFH4600 gestört wird. Die IR-LEDs konnten nur ungefähr ausgerichtet werden. Hier mussten ja aus Platzgründen die SMD-Dinger gewählt werden, die schon beim WALL R gut funktionieren. Die 5mm-Geschütze passen hier nie und nimmer - es ist ein ständiger Kampf mit der Platznot. Die IR-Empfänger sind noch nicht ausgerichtet auf optimale Messwerte der Zielflächen (siehe hier). (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=363793#363793) Der spätere Test des Gesamtsystems wird zeigen, ob das so gut funktioniert wie beim Dottie. Der Sharp auf dem Strohhalm wird wohl nicht installiert werden können. Einmal war unter dem Deckel nicht mehr genug Platz für den Sharp - die Abstandsmessung beim dottie läuft aber vertrauenswürdig genug. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390196#390196) Eine Mechanik zum Aus- und Einfahren des Strohhalms bekäme ich selbst dann nicht mehr in die kleine Dose, wenn ich den Sharp weglassen würde(Platzgründe: ømax 52,8 mm, HüA/nur Dose 86,1mm - siehe hier). (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=432909#432909)


... kennst Du eine andere Methode einen z.B. Audi R8 V10 zu erwerben ?Leider hab ich keinen Audi R8 V10, nur einen alten Z4. (https://dl.dropbox.com/s/iklg2oitc1egj5v/vormontage_1_klein_1749.jpg?dl=0) Den würde ich aber nicht gern hergeben.

PICture
19.08.2010, 16:39
Hallo!

Mir ist wieder eine "verrückte" Idee eingefallen, dass man die zwei Funktionen d.h. die Augen für Zuschauer und Sensoren voneinander trennen könnte.

Ich würde auf dem durch einfache Mechanik beweglichem Deckel von unten z.B. Glassaugen befestigen und für ungewegliche Sensoren nötige Löcher in der Dose machen.

Wenn überhaupt möglich, scheint mir das einfacher und genauer, mit gleichem tollen Effekt zu sein ... :)

MfG

oberallgeier
22.08.2010, 15:46
... Mir ist wieder eine "verrückte" Idee eingefallen ... zwei Funktionen ... trennen --- scheint mir das einfacher und genauer ...Ja, das ist eine Möglichkeit, die vor zwei Jahren von Christian H angeregt wurde. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390924#390924) Finde ich nicht praktikabel, weil ich bei IR-Sensoren sowohl bei Sendern als auch bei Empfängern Probleme mit Streulicht festgestellt (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390932#390932) hatte, wenn die hinter Durchbrüchen waren.

Mein Aufbau funktioniert gut und die Trennung würde zusätzlichen Aufwand bedeuten. Also nicht einfacher. Zusätzliche Löcher in der Dose vermeide ich aus optischen Gründen (es sieht dann wirklich durchlöchert aus, fast wie durchgerostet - vor Allem bei so einer glänzenden, leuchtend lackierten Oberfläche) und bei Sensoren wegen Problemen mit Streulicht. Meine Dose sieht von oben im Stillstand recht "unbeschädigt" aus - siehe Video. Selbst die Räder sind von oben kaum zu erkennen. Nur von unten sieht man, dass Eingriffe erfolgt sind.

............https://dl.dropbox.com/s/av5b205ifal2xgc/SOC_pic_0.jpg?dl=0 (http://www.youtube.com/watch?v=OCJVgOiIT5c)....https://dl.dropbox.com/s/yh8r1ztaxe22epm/miniD0_kpltx01_1839.jpg?dl=0
............Video Deckeltest (links) und Ansicht von unten (rechts):

Richard
22.08.2010, 16:14
(es sieht dann wirklich durchlöchert aus, fast wie durchgerostet

Hmmm, ich habe Letztens so eine Rostlaube (PKW) mit aufgeklebten
Einschuss Löchern gesehen, für deine "Dose" etwas groß könnte aber
als Sensor Öffnung brauchbar sein. :-) Allerdings währen Ausschuss
Löcher Optisch "wertvoller".......Nehme doch mal ne Dose (Nicht Deine)
und eine 357 Magnum Bumm,Bumm,Bumm. :-)

Bin heute irgendwie Sch... drauf, Gruß Richard

oberallgeier
27.08.2010, 16:32
Mittlerweile geht es auch wieder an Odometrie und Regelung des MiniD0. Dabei stelle ich fest, dass ich mit meiner simplen Lichtschranke garnicht die Drehrichtung erkennen kann und dass so keine exakten Distanzmessung möglich ist. Fehler entstehen, weil ich - beispielsweise - codemässig schon auf Umkehrschub bin und daher die "andere, neue" Drehrichtung rechne, obwohl das Döschen noch die alte Bewegung drauf hat.

Grundlage: ich verwende im MiniD0 ebenso wie im Dottie diese kleine Gabellichtschranke (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) GP1S096HCZ mit der Spezialencoderscheibe von Klingon77 in meinem Hackeservo - weil halt da, direkt an der Motorwelle, ziemlich wenig Platz ist. Zur Drehrichtungserkennung bräuchte ich eine zweite Lichtschranke.

............https://dl.dropbox.com/s/17429rtd9ub223a/GP1S-x.jpg?dl=0
............Mini-Gabellichtschranke Sharp GP1S096HCZ - Auszug Maßblatt

Frage: gibt es kleinere, speziell schmalere Lichtschranken bzw. kleine Doppellichtschranken, damit ich meinen Encoder mit Drehrichtungserkennung bauen kann? Kleiner/schmaler meine ich mit Bezug auf das obige Maßblatt.

PICture
27.08.2010, 16:51
Hallo oberallgeier! :)

Ich kann dir wahrscheinlich nicht viel hefen, aber für mich jeder kommutierter DC Motor schon internen perfekten Impulsgeber hat. Siehe dazu meine "verrückte" Skizze in: https://www.roboternetz.de/phpBB2/viewtopic.php?p=504934#504934 . Seit ich das ausprobiert habe, ist das meine beliebte (weil einfachste) Methode für genaue Drehzahlmessung von DC Motoren geworden.

Ich kann wirklich nicht verstehen, warum ständig versucht wird etwas besseres extern zu entwickeln ... :)

Es ist mir ganz klar, dass nur wenn ein Motor nicht von einem µC gesteuert wird und die Drehrichtung bekannt werden soll, sind Lichtschranken o.ä. notwendig.

MfG

Kenny5020
27.08.2010, 17:30
Leider scheint niemand mehr Interesse an solchen Sachen zu haben.
Farnel spuckt folgendes aus:
http://at.farnell.com/jsp/search/browse.jsp?N=0+6350703&Ntk=gensearch_002&Ntt=PHOTOINTERRUPTER&Ntx=mode+matchallpartial&suggestions=false&ref=globalsearch&_requestid=1487819&No=0&getResults=true&appliedparametrics=true&locale=de_AT&catalogId=&prevNValues=0&filtersHidden=false&appliedHidden=false&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN% 3D0%26Ntk%3Dgensearch_002%26Ntt%3DPHOTOINTERRUPTER %26Ntx%3Dmode%2Bmatchallpartial%26suggestions%3Dfa lse%26ref%3Dglobalsearch%26_requestid%3D1487819%26 No%3D0%26getResults%3Dtrue%26appliedparametrics%3D true%26locale%3Dde_AT%26catalogId%3D%26prevNValues %3D0

Anscheinend produziert Sharp keine mehr. Vll hab ich aber auch was übersehen:
http://www.sharpsme.com/Page.aspx/europe/en/134f6b9b-800e-4400-b23a-ee90c054389a/Photointerrupters/

Digikey: nur die Abgekündigkten Sharps
RS_Components: auch nichts; nur welche mit 1 Kanal

Nur von Hamamatsu scheints was zu geben. Da hab ich aber keine Preise dafür.
http://sales.hamamatsu.com/
Hamamatsu P10210 und Hamamatsu P11159-01AS

Suchworte waren: Photointerrupter; 2 phase; 2 Kanäle; 2 channel

Vll kannst du ja von den abgekündigen Sharps noch irgendwo ein paar Restposten ergattern.

MfG

oberallgeier
28.08.2010, 16:29
Leider ... Nur von Hamamatsu scheints was zu geben ... Photointerrupter ... 2 channel ...Danke für Deine Mühe, das ist sehr nett. Was mir als Zusatz beim Suchen fehlte, war der 2te Kanal . . . Die Teile hatte ich mir inzwischen angesehen (nein, nur die Datenblätter). Leider sind die immer recht groß, etwa 8x mein Miniteil - doppelt oder mehr in jeder Dimension, siehe Maßskizze oben. Schade, so viel Platz habe ich nicht.


... Vll kannst du ja von den abgekündigen Sharps noch irgendwo ein paar Restposten ergattern ...Von "meinen" GP1S096xx hab ich schon ne kleine Reserve, die vertreibt CSD.

Derzeit überlege ich, ob es nicht Sinn macht, die Sensorik von Licht auf Magnetismus zu wechseln. Die tle4905.. sind ja richtig klein. Ich weiß blos nicht, wie die sich in engster Nachbarschaft (Übersprechen, wenn der Erregermagnet in nächster Nähe ist) und überhaupt in der sehr engen Umgebung verhalten; ausserdem muss ja das Signal eines Kanals ne Weile anstehen, um die Drehrichtung diagnostizieren zu können. Die Ansprechgeschwindigkeit wird hoch genug sein. Aber es wäre einen Versuch wert.

Erstmal werde ich wohl den Versuch machen, zwei GP1S096.. nebeneinander zu setzten. Dazu muss ich mich aber zuerst nach einer geänderten Encoderscheibe umsehen. Der Servohack mit der eingesparten Getriebestufe, (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) der als Antrieb im MiniD0 sitzt, dürfte gerade noch dafür Platz haben. Muss ich mir nur für die Verkabelung ein Mikroskop kaufen.

Matthias 321
28.08.2010, 18:15
Falls du es noch nicht mitbekommen hast: Die Stasi gibt's nicht mehr! :D

Ne, im Ernst, das is ja sowas von genial \:D/ Ich musste so lachen als ich das gesehen habe! Aber das is wirklich ein Meisterwerk, auch oder vor allem das mit der Ausklapp-Sensorik im Deckel!
Also echt WOW!

Gruß Matthias

EDIT:
Mit nem 5 Liter Party-Bierfass ließe sich doch bestimmt auch was anfangen, vlt. mit integriertem Dosenkühler mit Peltier-Elementen?

Richard
28.08.2010, 19:09
Aber das is wirklich ein Meisterwerk, auch oder vor allem das mit der Ausklapp-Sensorik im Deckel!
Also echt WOW!


Ich kenne fast alle Postings von oberallgeier und freue mich immer wieder
mit welcher Detail Liebe er arbeitet. :-)

Gruß Richard

oberallgeier
14.09.2010, 23:23
Danke @Matthias 321 und @Richard für das Lob. Das hilft über schwierige Stunden. Wieso schwierig? Was soll das MiniD0 denn werden?

Vordergründig eine kleinere Variante des R2D03/Dottie. Aber auch eine verbesserte Odometrie. Ich verliere mit der aktuellen Lösung manches Increment, weil ich die Drehrichtungsumkehr nicht erkennen kann. Daher muss also in die vorhandenen Motoren eine zweite Gabellichtschranke - es ist ja genug Platz im Getriebe. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) Nur - es wird dann in jedem Motor noch ein Draht mehr notwendig - und diese zwei Leitungen brauchen zwei Pinne von dem einen, der noch übrig ist . . . . Obs platzmässig wirklich geht und funktionieren wird kommt also erst auf.

............https://dl.dropbox.com/s/byh4da8v4kdft88/GMot_enc4_1710mini.jpg?dl=0 (https://dl.dropbox.com/s/p9e686zxbbixvgo/GLS-einbau_1445.jpg?dl=0) Im Bild ein Link zum alten Umbau

Bei diesem Vorhaben stellte ich auch gleich fest, dass eins der beiden Getriebe leider ein minimales Rutschen der umgebauten Getriebestufe hat, offensichtlich bei höherem Drehmoment. Nicht deutlich - und daher bis jetzt nicht festgestellt.

Zur weiteren Freizeitbelustigung gabs Störungen über Störungen beim Motorbetrieb - bis ich feststellte, dass der Controller seinen Geist aufgab. Natürlich tat er das langsam - damit ich mehr davon habe. Ist aber, glaube ich, der erste 328p den ich geliefert habe. Wenigstens EIN Lichtblick.

oberallgeier
06.01.2011, 16:26
Der kleine Fortschritt im neuen Jahr stammt eigentlich aus dem alten: das MiniD0 fährt autonom, aber es können mit einer Fernbedienung verschiedene Aufgabenstellungen in Art eines Menues ausgewählt werden.

Ein RC-5-Decoder ist ja nicht allzu schwierig. Im MiniD0 läuft der jetzt immer dann, wenn die IR-Sensoren nicht als Abstandsmesser - sprich Hindernis- oder Abgrund-detektoren - arbeiten müssen.

Eine alte, ausgediente RC-5-Fernbedienung dient zum Starten und zur Auswahl verschiedener Aktionen der autonomen Dose. Autonomie à la carte.

Der kleine Spalt, der aus fertigungstechnischen Gründen zwischen Deckel und Dose entstanden ist, bietet neben der erforderlichen Bewegungsfreiheit des Deckels auch genügend Platz für eine ausreichende Lichtdurchlässigkeit für die Infrarotsteuerung. Die für den autonomen Betrieb erforderlichen drei IR-Empfänger dienen im üblichen Fahrbetrieb als Abstandsmesser zum Erkennen von Hindernissen und Kanten. Unmittelbar nach dem Einschalten und immer nach Ablauf eines Tasks läuft der Menuebetrieb. Die Infrarotsensoren dienen dabei als Empfänger für die Fernbedienung.

............https://dl.dropbox.com/s/izdij5dy6d0vdoh/FB_MiniD0.jpg?dl=0 (https://www.youtube.com/watch?v=jgm9DhS7vS4&list=UUm7F31vxwrXCjAoB3TW4tpA&index=11)
............Video auf YouTube im Bild verlinkt

oberallgeier
15.01.2011, 22:50
Hi brückenwächter.


... finde ... robos in dosen absolut genial ...Danke für das Lob. Das freut mich.


... hab ich mir jetzt einen arduino gekauft :P quasi weicheierprogrammieren ...Hmmm, ich habe mit dem arduino nie gearbeitet, aber so weicheiartig kann ich mir die Arbeit mit dem nicht vorstellen. Ein Ziel meiner Projekte war das Erlernen der Sprache C (jaaaaa, ich weiß, dazu hätte auch eine saubere Dokumentation gehört), daher habe ich die arduino-Variante nie verfolgt.


... jetzt wollt ich dich mal anhauen ob du bau- und schaltpläne sowie struktogramme für dieses dosenprojekt ... ob ich da mal auf dem arduino sowas aufsetz und eine ausführliche PDF doku dazu schreibe eben um dran zu wachsen und anderen anfängern den einsteig zu erleichtern ...Whow, alle Achtung. Da würde ich Dich gern unterstützen. Ich habe aber nur sehr spärlich dokumentiert. Das Projektchen ist eigentlich aus vielen recht kleinen, gut überschaubaren Teilprojekten gewachsen, in denen ich die Gedanken schrittweise realisiert hatte. Dabei ist ja so ziemlich alles veröffentlicht, was ich habe. Saubere Struktogramme habe ich nicht, grad mal aus der Anfangsphase ein Nassi-Shneidermann der Hauptroutine. Der Schaltplan ist in diesem Posting verlinkt, (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390834#390834) einen gewissen Einblick in die Struktur habe ich mit der Tabelle der Interrupts und Ti mer dokumentiert. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=437897#437897) Unter dieser Tabelle ist auch eine kleine Skizze (als code-Fenster), in der die Verschränkung von Regelung und ADC-Messung dargestellt ist. Im gleichen Posting ist auch der Regelungscode, natürlich nur für einen Motor der sinngemäß auch für den anderen steht.

Etliche weitere Softwareabschnitte sind im Thread verstreut untergebracht. Ebenso sind auch reichlich Messungen der Regelungsparameter vorhanden, deren Diskussion und Codeumsetzung im Thread. Mehr habe ich nicht. Übrigens gibts im ersten Thread-Posting eine Inhaltsübersicht für Seitenlängen von ca. 20 Postings je Seite.

PNs zu Threads/Themen beantworte ich immer öffentlich.

oberallgeier
05.03.2011, 14:06
Ja, so macht das Video wiedergeben Freude:



http://www.youtube.com/watch?v=jgm9DhS7vS4

Ripper121
10.03.2011, 10:34
echt tolles projekt :-)

5Volt-Junkie
10.03.2011, 10:40
quasi weicheierprogrammieren ...

naaajaa, man kann es auch ziemlich kompliziert anstellen :D

Richard
10.03.2011, 13:00
Moin moin Oberallgeier.

Ich habe (wo?) schon Gabellichtschranken mit 2 internen Optokoppler gesehen, die hatten einen Takt UND einen Richtungs Ausgang. So etwas würde zumindest den Aufwand etwas entschärfen wenn es solche Teile klein genug zu Kaufen gibt. Dabei müssen die Flanken nicht 90 Grad versetzt kommen, ein Zeitlicher Abstand reicht um die Richtung zu erkennen. Bei solch einem Sensor brauchst Du dann nur 1. Signalleitung zusätzlich.

Ich glaube einige alte Mechanische Mouse hatten so etwas anstatt 2 90 Grad versetzte Lichtschranken verbaut.

Gruß Richard

oberallgeier
10.03.2011, 18:38
Danke Ripper, im Moment - wie geschrieben - hänge ich hardwaremässig.


... Gabellichtschranken mit 2 internen Optokoppler ... wenn es solche Teile klein genug ...Ah, danke. Ich seh schon, ich muss wieder mal in bisschen Marktrecherche machen zu den Gabellichtschranken. Nur - die in den Mäusen sind leider viel zu groß für meinen Bedarf, meine GLS sind recht winzig, sind laut Datenblatt für Cameras, CD-ROM drives und VCR und so:

......18202 (https://dl.dropbox.com/s/17429rtd9ub223a/GP1S-x.jpg?dl=0)
und ich habe in meinen Servo-/Getriebegehäusen lausig wenig Platz (siehe hier). (https://www.roboternetz.de/community/showthread.php?32293-DC-Kleinstmotor-mit-Getriebe-Drehsensor-5V-510-Upm&p=401963&viewfull=1#post401963) Aber vielleicht gibts neue, kleinere Technik, ich denke an Schiebehandy und so.

Vor ein paar Tagen habe ich einen Versuch (und eine Kontrolle mit einer CADKonstruktion) gemacht, um zu sehen, ob evtl. die Reflexlichtschranken Osram SFH 9202 passen könnten. Das geht weder in der Höhe (Bauteilhöhe) noch im verfügbaren Raum bzw. Grundriss. Vielleicht sollte ich mal ne Digicam zerlegen . . . .

(PS und OT: im Moment baue ich mir ne C-Quelle für das PingPong - ein Rack/Schläger läuft schon brav auf und ab *ggg*. Aber in C ist das für mich etwas mühselig)

Sebas
12.08.2011, 16:17
hab vorher ein video auf youtube gefunden da musst ich sofort an dein projekt denken:
http://www.youtube.com/watch?v=7hag6Zgj78o (http://www.youtube.com/watch?v=7hag6Zgj78o&feature=player_embedded)
eine andere art und weise die dose zu bewegen :-)
mfg Sebastian

oberallgeier
26.01.2012, 15:21
Mein MiniD0 lag monatelang auf Eis. Hauptgrund: die vorhandene Akkuversorgung - 4xAAA-NiMH/1100mAh - war nicht in der Lage, Motoren und Servo (Deckelbetätigung) wirklich ausreichend über eine halbe Stunde zu versorgen. Fazit: die IR-LEDs schwächelten relativ schnell und in Folge waren die Ergebnisse der IR-DMEs über eine sinnvolle Zeit nicht ausreichend konstant. UND - ein Nachjustieren online wie beim Dottie/R2D03 ist nicht möglich, da wegen Platzmangel der Sharp entfallen musste.

Problem :
Instabile Energieversorgung
Kein Platz für größere Zellen
Li-xy derzeit nicht geplant

Lösung:
Bei pololu (nicht klicken, Gefahr von Werbung) (http://www.pololu.com/catalog/product/2120) gibts einen Schaltregler (SEPIC-Wandler = Kombination aus Abwärts- und Aufwärtswandler) im Zahnplombenmaßstab - na ja, 11mm x 17mm x 2mm ! Eingangsspannung laut Datenblatt min. 1,5 V, Ausgang max. 16V, Ausgang - je nach Ein-/Ausgangsspannung typisch 300 mA. DAS sollte passen.

Bestellt, Ursprungsplatine teilweise entrümpelt, Regler eingebaut, auf 5,02V gestellt und zur Versorgung von µC und IR-Strang verdrahtet, Motoren und Servo laufen direkt vom Akku. Hoffung auf ausreichende Kondensatorwirkung mit der vorhandenen Ausrüstung im Controllerstrang.

Heute einige Probefahrten. Anfangs war der Akkupack irgendwo bei 5,6V - am Controller natürlich die 5,02V *ggg*. Fahren bis -- ja, genau -- bis der Akkupack bei etwa 3,5V angelagt war. Bei dieser Spannung läuft der Deckelservo bereits nicht mehr und die Motoren bewegen das Döschen (für die Umbauphase ohne Dosenkarosse) sehr langsam bis garnicht. Der Controller dagegen läuft und läuft und läuft und die IR-DMEs messen recht ordentlich - haben ja auch immer noch 5,00 V.

Im eingeklinkten Bild ist das Miniteil einigermassen deutlich zu sehen.

......21323
(https://www.roboternetz.de/community/attachment.php?attachmentid=21323&d=1327591249)
Ich finde dieses Teil phantastisch! Für haarscharf unter zehn USTaler und in der Größe ein tolles Teil!

5Volt-Junkie
29.01.2012, 01:32
Das ist ja mal ein schlaues Platinchen :)
Pololu macht echt tolle Sachen besonders was Größe angeht, alles nicht größer als eine Münze :)

Hast Du danach gezielt gesucht oder zufällig gefunden und dann an Dein MiniD0 gedacht?

oberallgeier
29.01.2012, 10:49
... Pololu ... tolle Sachen besonders was Größe angeht ... gezielt gesucht ... ?Stimmt, die Leute sind ziemlich gut in ihren Produkten. Ausserdem sind sie typisch nordUSamerikanisch-verbraucherfreundlich - kulant, sehr auskunftfreundlich, richtig angenehm. ABER sie haben erhebliche Lücken in der Dokumentation. Das stelle ich seit Jahren fest.

Das Platinchen hatte ich beim letzten Einkauf "drüben" mitgenommen, weil mir die ungeregelte Versorgung schon beim Dottie (klick) (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01?p=358873&viewfull=1#post358873) Probleme bereitet hatte. Dort hatte ich zwei Stromkreise nachträglich eingerichtet. 6xAA über zwei 7805, jeweils eine für Motor+Servo, der andere für den "Rest".

Beim Dottie sieht das so aus (klick) (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01?p=358642&viewfull=1#post358642) - also REICHLICH größer.

oberallgeier
06.09.2015, 10:39
Von Niggi hab ich ne Anfrage nach den Motoren vom MiniD0 bekommen. Klar, bei den Abmaßen der 0,15l-Dose ist der Platz sehr beengt: ømax 52,8 mm, HüA 90,25 mm/nur Dose 86,1 mm; daraus bekam ich ne Spurweite von 43 mm - weil die Räder ja auch ne Breite haben und Befestigung etc. Meine damalige Recherche hatte keinen Erfolg bei üblichen Getriebemotoren,daher hatte ich Servos umgebaut - Servohack-Methode 2 (klick) (http://rn-wissen.de/wiki/index.php?title=Servos#Servos_hacken) und deren Gehäuse soweit es geht abgeschnitten.

Damit alle was davon haben habe ich ein Foto wieder eingestellt (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01/page14?p=397824&viewfull=1#post397824) (es sind ja fast alle meine Forumfotos durch Einstellen meines Bildservers ersatzlos im www verloren gegangen - eine der vielen unsichtbaren Energien im Weltall).


.. da ich von deinem Dosen-Roboter so begeistert bin .. nach deinen Motoren fragen könnte, weil ich ebenfalls einen kleinen Motor brauche für meinen mini- roboter ..Eine Ansicht der Innereien vom MiniD0 - also ohne Karosserie - gibts hier (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01?p=397824&viewfull=1#post397824). Dabei sind auch die kleinen, teilamputierten Servomotoren unter dem Roboteraufbau gut zu sehen. Diese Servos enthalten ne Gabellichtschranke, mit der die Motordrehzahl über Encoderscheibe auf der Motorwelle abgefragt wird. Ein weiteres Bild vom MiniD0 gibts auf DIESER Seite, weiter oben.

oberallgeier
08.09.2015, 09:28
Hi Niggi,

hat der Ratschlag geholfen? Oder hast Du noch Fragen?