- LiFePO4 Speicher Test         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 42

Thema: Ohne Vorkenntnisse Roboter für Wettbewerb konstruieren

  1. #11
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo KiwiJoghurt,

    ihr habt ja schon tolle Dinge geleistet und ein schönes Vorhaben. Da werde ich neidisch, ich bin seit Monaten Anfänger - aber mein kleines, eigenes Projekt kann schon minimalistisch autonom laufen. Vom RNControl bin ich für mein Projekt abgekommen, ich habe einen mega168/20MHz - der hat den einen oder anderen Vorteil für meine Ansprüche. Sein Takt z.B. ist mit 20 MHz schon mal 25% schneller als der M32 .

    Zitat Zitat von KiwiJoghurt
    ... alle Informationen ... was man wo anschließt:

    1. Tastsensoren können an einfache I/O Ports angeschlossen werden. Da von hat das RN-Board 32.
    2. IR-Abstandssensoren (und Utraschallsensoren?) brauchen analoge Ports, davon gibts 8.
    3. Servos brachen einen pwm Port, davon gibts drei und man kann dieses Signal auch manuell durch andere Ports geben.

    Nun fehlen noch Angaben über Gabellichtschranken ...
    Das kann man so nicht wirklich stehen lassen:

    ad 1. Das stimmt, aber . . . Das Board RNControl hat 5 Taster an einem analogen Port. Auch der asuro hat seine sechs Kollisionstaster an einem analogen Port. Vielleicht schaut ihr mal dort in die Manuals/Beschreibungen/Schaltpläne.
    ad 2. Auch das kann man anders lösen. Ich habe drei IR-Abstandssensoren, die an drei Ports digital eingelesen werden, dazu habe ich eine P WM für die drei irLED´s.
    ad 3. Hardware-P WM´s brauchen die entsprechenden Ports, stimmt. Der Mega32 hat davon drei. Aber ich lasse z.B. (m)einen S ervo softwaremässig im Interrupt laufen auf einem T imer, den ich sowieso für Zeitnahmen brauche z.B. zu Drehzahlmessung über die Gabellichtschranke für die Motoren, allgemeine Zeitnahmen etc.

    ad Gabellichtschranke: Ich habe sie in meine gehackten S ervos montiert, sie geben das Signal an je einen externen Interrupt, bei dem ich auf die steigende Flanke triggere.

    Vielleicht hilft Dir das zu all den anderen Informationen, die schon hier sind.
    Ciao sagt der JoeamBerg

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    28
    @oberallgeier: Das mit den Tastern ist warscheinlich nicht so schwierig, wenn man für jeden Taster eine andere Spannug verwendet. Wenn man diese Werte kennt, müsste man aus dem Gresammtergebnis herausrechnen können, welche Taster gedrückt sind.
    Den Satz mit der Gabellichtschranke habe ich noch nicht ganz verstanden, ich habe zwar gesehen, wie du die Lichtschranke angebracht hast, aber ab dem Interrupt komme ich nicht mehr mit.

    Kann es sein, das 'analogen Ports' einen ADC beinhalten?
    Und I/O Ports sind Leitungen mit denen man die Zustände Eins und Null senden bzw. empfangen kann ja?
    Dann müste mann doch an 10 I/O Ports ein 10 Bit Analog Digital Wandler Anschließen können, der, sagen wir, einen Lichtsensor auswertet. Wenn man dann noch 4 weitere Ports dazunimmt kann man dafür sorgen, das bei einer bestimmten kombi dieser 4 Ports mit einer geschickten Multiplexerschaltung ein bestimmter Lichtsensor seine Werte an den ADC sendet, solange bis sich die Kombo ändert. Dann sendet ein anderer Lichtsensor. Ist das möglich?

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Hallo KiwiJoghurt,

    Zitat Zitat von KiwiJoghurt
    ... mit den Tastern ist warscheinlich nicht so schwierig, wenn man für jeden Taster eine andere Spannug verwendet ...
    Genau so wird es ja auch gemacht. Die Taster bedienen verschiedene Spannungsteiler an einem einzigen AD-Wandler (ADC = Analog Digital Converter), so dass die Spannung am ADC davon abhängt, welcher Taster gedrückt ist. Bei geschickter Wahl der Widerstände könnten auch mehrere Taster, auch gleichzeitig, erkannt werden. Die Widerstände, die Versorgungsspannung und die Referenzspannung - letztere sorgfältig entstören, steht im doc - sollen dann sehr genau sein.

    Zitat Zitat von KiwiJoghurt
    ... Den Satz mit der Gabellichtschranke habe ich noch nicht ganz verstanden, ich habe zwar gesehen, wie du die Lichtschranke angebracht hast, aber ab dem Interrupt komme ich nicht mehr mit ...
    Ja ja, mein Jammer - ich schreibe immer viel, aber nicht sehr verständlich. Schlimm schlimm.

    Der Lichtstrom der Gabellichtschranke wird von einer Art Propeller auf der Motornabe unterbrochen. Deshalb gibt sie mir ein Signal "beinahe 5V", und "knapp über Null Volt", also logisch high oder low. Dieses Signal geht an einen Pin "external interrupt request". Das ist ein ziemlich hoch priorisierter Interrupt der anspricht, wenn der Pin entsprechend initialisiert ist und einen Pegelwandel 0->1, also steigende Flanke, oder 1->0, also fallende Flanke, erkennt. Ich habe den für steigende Flanke initialisiert (ist eigentlich gehupft wie gesprungen) und bei jedem Mal, wenn dieser Pin erkennt, dass eine solche Flanke vorliegt, dass also der Unterbrecher den Lichtstrom frei gegeben hat und die Lichtschranke von 0 auf 1 geht, dann wird die Interruptroutine aufgerufen und ich schreibe darin den Wert eines Zeitzähler in eine Variable die etwas so heisst "aktueller_Zeitwert_von_Interrupt_0". Ausserdem zähle ich von diesem Wert den Wert des vorher notierten "alt_aktueller_Zeitwert_von_Interrupt_0" ab und notiere diesen Wert als Dauer zwischen dem vorhergehenden und dem aktuellen Interrupt. Dieser Wert ist ein Mass für die Drehzahl meines Motors. Ist das verständlicher? (puhhh - hoffentlich - ist halt leider wieder ewig lang).

    Zitat Zitat von KiwiJoghurt
    ... Kann es sein, das 'analogen Ports' einen ADC beinhalten?
    Und I/O Ports sind Leitungen mit denen man die Zustände Eins und Null senden bzw. empfangen kann ja? ...
    Jein. Ein analoger Port kann bei unseren Controllern als ADC arbeiten, aber auch als "normaler" digitaler Output oder Input. Es kommt darauf an, wie der Port aktuell initialisiert ist. Ich könnte den Port zum Start als digitalen Input nehmen und auf den Kontakt einer einzigen Taste warten - und den gleichen Port anschliessend für ...irgendetwas Analoges... initialisieren und verwenden. USW.

    Zitat Zitat von KiwiJoghurt
    ... Dann müste mann doch an 10 I/O Ports ein 10 Bit Analog Digital Wandler Anschließen können, der, sagen wir, einen Lichtsensor auswertet. Wenn man dann noch 4 weitere Ports dazunimmt kann man dafür sorgen, das bei einer bestimmten kombi dieser 4 Ports mit einer geschickten Multiplexerschaltung ein bestimmter Lichtsensor seine Werte an den ADC sendet, solange bis sich die Kombo ändert. Dann sendet ein anderer Lichtsensor. Ist das möglich?
    UUUUPs - das klingt jetzt für mich schwer verständlich. Aber mal überlegen.

    Soweit ich es weiß, können alle AD-Wandler bei ATMEL-Controllern eine 10 Bit Wandlung durchführen. Die kann bei entsprechender Parameterisierung auch als 8 Bit Wandlung genutzt werden.

    Controller die 10 Ports mit ADC Funktion haben, also z.B. der tiny26 (11 ADC) oder der mega640 (16) oder der mega2560 (16) können an jedem dieser Ports nach entsprechender Initialisierung einen analogen Wert einlesen bzw. auswerten (lassen). Der Controller den ich einigermassen gut kenne, der m168, hat 6 oder 8 AD´-Pins, je nach Bauart, und kann die für AD-Wandlungen nutzen. Du hast recht - es ist nur ein einziger AD-Converter drauf, der gemultiplext werden muss. Auch weiter hast Du recht: wenn Du jetzt vier (sagen wir mal DIP-) Schalter hast, dann kannst Du darüber durch entsprechende Kombination einen dieser Ports auswählen (= DIP-Schalter durch Software einlesen und bei Änderung entsprechenden Port initialisieren) - bei 6 ADC´s reichen sogar drei Schalter. Für Deine 10 Ports brauchst Du aber fünf Bits (schon klar, oder?). Dabei wird je nach Schalterstellung die ADC-Initialisierung entsprechende Parameter für die Ports setzen bzw. in das Multiplex-Register senden. Genaueres steht in den doc´s von Atmel (<<<= bequeme Ausrede, wenn man nicht mehr weiter weiß!). Trifft das die Frage?
    Ciao sagt der JoeamBerg

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    28
    @oberallgeier: Danke für die ausführliche Antwort.
    Ser letzte Teil ist wohl ein wenig verwirrend, deswegen volgt nochmal eine ausführliche Erklärung:
    Mein Ziel war es mit 12-14 Digitalen Ports möglichst viele Sensoren zu betreiben, die ein analoges Signal geben. Eigentlich ist das für das Thema auch garnicht entscheidend, ist halt so ein wenig der Versuch die Infos, die ich hier kriege praktisch zu verarbeiten.
    Versuch der Erklärung: Also Je nach dem, welche der vier Ports eine 1 senden
    wird auf der anderen Seite ein Sensor geschaltet der sein analoges Signal dann an den ADC gibt. Der sendet dieses dann in digitaler Form zurück. Besser sieht man das Ganze warscheinlich an der Zeichnung die ich angehängt habe. Hier ist auch noch eine Tabelle mit möglichen Kombinationen der vier Steuerports:

    1. 0000
    2. 0001
    3. 0010
    4. 0100
    5. 1000
    6. 1001
    7. 1010
    8. 1100
    9. 0101
    10. 0011
    11. 0110
    12. 0111
    13. 1011
    14. 1101
    15. 1110
    16. 1111
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken logikschaltung.jpg  

  5. #15
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.685
    Hi, KiwiJoghurt,

    Du musst mal wirklich dringend das ATMEL-doc zu dem Controller lesen, den Du einsetzen willst - den Abschnitt über die ADC´s. Auf alle Fälle wird es notwendig sein, dass Du das Tutorial ADC durcharbeitest.

    Zitat Zitat von KiwiJoghurt
    Mein Ziel ... mit 12-14 Digitalen Ports möglichst viele Sensoren zu betreiben, die ein analoges Signal geben. ...
    Das hatte ich so ungefähr verstanden.

    Zitat Zitat von KiwiJoghurt
    ... Eigentlich ist das für das Thema auch garnicht entscheidend, ist halt so ein wenig der Versuch die Infos, die ich hier kriege praktisch zu verarbeiten. ...
    Dann wär es also doppelt gut, ein Tutorial über die Controller durchzuarbeiten. Dort steht alles über IO-Ports, deren Verwendung und wie man die konfiguriert.

    Zitat Zitat von KiwiJoghurt
    ... welche der vier Ports eine 1 senden
    wird auf der anderen Seite ein Sensor geschaltet der sein analoges Signal dann an den ADC gibt. ...
    Also brauchst Du ein separates IC, das sein Signal an den ADC-Port des Mikrocontrollers leitet. Ein Multiplexer? Mit denen kenne ich mich nicht aus. Intern werden bei den Controllern keine Signale gesandt (das hatte ich schon vorher so verstanden - aber gehofft, dass es nicht so gemeint sei).

    Zitat Zitat von KiwiJoghurt
    ... der sein analoges Signal dann an den ADC gibt. Der sendet dieses dann in digitaler Form zurück. ...
    Wie gesagt, guck Dir mal die Tutorials zu den Controllern an. Ich kann für diese Aufgabenstellung nicht helfen.
    Ciao sagt der JoeamBerg

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    28
    Danke für den Link zu diesem umfangreichen Tutorial.
    Als IC wollte ich einen Microcontroller verwenden und ihn entsprechend für diese Aufgabe Programieren. Vom rein Logischen Aspekt sollte das auch so funktionieren. Und wenn ich nur I/O Ports erweitern will kann ich ja Schieberegister verwenden

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    28
    So, um noch mal auf den Controller zurück zu kommen. Ich hatte überlegt das RN-controllerboard zu nehmen. Allerdings gibt es da das Problem, dass wir nur 7 analoge Ports nutzen können (Da wir warscheinlich die Taster brauchen). Wir wollen aber mindestens 10 Lichtsensoren und 5 Entfernungssensoren anschließen. Dass heißt, wir müssen mehrere Sensoren an einem Port anbringen. dazu habe ich mir überlegt könnte man die Sensoren so ansteuern, das man sie mit einem I/O Port verbindet und sie nur dann AN sind, wenn der I/O Port eine 1 liefert. Die Alternative währe das
    RN-Mega2560 Board. Aber auch das bietet warscheinlich zu wenig analoge Ports.

    Ich habe mal einen Schaltplan entworfen, da ich aber nur über die elementarsten Elektrotechnikkentnisse verfüge kann es aber sein, das die Schaltung so garnicht existieren kann, ich Transistoren und Dioden faltsch herum verwendet habe und die Stromversorgung so nicht klappt. Ich bin also über jede Anregung und Verbesserung froh. Niel Spass also beim Zerflücken meiner Schaltung
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltung1_103.jpg  

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    28
    Also eine einfache Erklärung, was richtig oder faltsch ist, würde schon genügen

  9. #19
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Mit der Programmierung eines Multiplexers lädst Du dir aber eine Menge Rechenzeit für wenig Nutzen auf.
    Warum dann nicht gleich Ein paar ADC's mit I2C Interface nehmen?
    Die wandeln dann alle Paralell und puffern die Werte bis der Busmaster sie abfragt.
    Kostet zwar mehr aber wenn Du Wettbewerbtauglich sein willst, solltest Du wo es geht Rechenzeit auslagern damit der MC frei wird für wichtiges.

    Anstelle eines Kompass Moduls kann man auch 6 2-Achs Beschleunigungssensoren verwenden. Damit bekommst Du eine autake Trägheitsnavigation die alle drei translatorischen und rotatorischen Achsen abdeckt. Kosten natürlich auch wieder und sollte von einem eigenem MC ausgewertet werden.

    Ich selbst habe zwar an keinen Wettbewerben teilgenommen, aber nehme die Aufgabenstellungen meist um meine Testparcours zu gestalten.

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2008
    Beiträge
    28
    Ist die Schaltung denn richtig oder nicht? O.o

    Zitat Zitat von i_make_it
    Mit der Programmierung eines Multiplexers lädst Du dir aber eine Menge Rechenzeit für wenig Nutzen auf.
    Wiso? Ich brauche nur den einen Port auf low zu legen, einen anderen auf high und den Wert des Analogen Ports abzufragen. Bracht das so viel Rechenleistung? Ich brauche von den I/O Ports nur wenige.
    und so würde ich die Zahl der Anschließbaren Sensoren Verdoppeln oder vervierfachen. das ist doch eine große Wirkung.

    Warum dann nicht gleich Ein paar ADC's mit I2C Interface nehmen?
    Die wandeln dann alle Paralell und puffern die Werte bis der Busmaster sie abfragt.
    Kostet zwar mehr aber wenn Du Wettbewerbtauglich sein willst, solltest Du wo es geht Rechenzeit auslagern damit der MC frei wird für wichtiges.
    Ja das ist richtig, es würde eine Porterweiterung geben. Aber das kostet ja leider und du weist ja sicher wie viel Geld staatliche Einrichtungen Wie Schulen haben :/ Und da dieses Projekt nunmal sowiso nicht so billig ist (mindestens 270 Euro, für eine AG ist das schon viel) wir das wohl schwer
    Aber ich denke das wir auch so Wettbewerbstauglich sind, wir sind dieses Jahr mit 4 Lichtsensoren und drei Bumpern am NXT immerhin Weltranglistenplatz drei in der Einzelwertung *angeb*


    Anstelle eines Kompass Moduls kann man auch 6 2-Achs Beschleunigungssensoren verwenden. Damit bekommst Du eine autake Trägheitsnavigation die alle drei translatorischen und rotatorischen Achsen abdeckt. Kosten natürlich auch wieder und sollte von einem eigenem MC ausgewertet werden.
    O.o Da ist der Slave ja nur noch am Rechnen. Außerdem ist das wohl nicht nötig, da wir nur wissen müssen, ob wir gerade fahren und selbst da ist noch nicht raus, ob wir einen Kompass brachen, da wir vor haben die Servos so zu modivizieren, das sie die 'Schrittzahl' mit Hilfe einer Lichtschranke messen können. Dann würde auch die Navigation in der roten Zone nur mit den Motoren möglich sein. Ist vieleicht sogar besser, ohne Kompass zu fahren.


    Ich selbst habe zwar an keinen Wettbewerben teilgenommen, aber nehme die Aufgabenstellungen meist um meine Testparcours zu gestalten.
    Du kannst ja auch mal dort teil nehmen Leider geht der Wettbewerb nur bis 18 oder 19.

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen