- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 55

Thema: Anfänger braucht Hilfe

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Morgen allerseits,

    @021aet04: Danke für die Antwort! Ich habe diesen Rechner hier gefunden: http://www.led-store.ch/vorwiderstand-rechner.php Wenn ich z.B. 3 Weiße LED´s (Standard) an meinen RP6 anschließen möchte, wie gehe ich da am besten vor? Der Rechner benötigt noch ein paar Angaben, über z.B. Stromaufnahme und Betriebsspannung.... Wie viel beträgt denn die Betriebsspannung beim RP6? (6x1,2V Akkus habe ich drinnen, ist dass dann auch die Betriebsspannung?) Wo schließe ich Sie dann an, dass ich sie auch so ansprechen kann wie z.B. die Standard LED´s (die die schon verbaut sind)? Könnte man diese an eine Platine anschließen, und diese dann an den RP6 bauen (z.B. die Experimentierplatine oder auch eine andere, habe hier noch ein paar )

    @danimath: Ja, dieses Video hatte ich glaube ich auch gesehen... Ich möchte jetzt einfach mal was an der Hardware "ändern" basteln...
    Ja, diese Erweiterungsplatine finde ich echt cool, da sind doch recht viele Anschlüsse... Das LCD-Display ist halt schon krass auf dem Ding dann
    Wenn Du auch soweit bist, kannst ja auch gerne ein Video machen und hochladen..

    Beste Grüße

    Crystal Eye
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Damit du die Led betreiben und den Widerstand richtig berechnen kannst brauchst du verschiedene Angaben. Du hast bei einer Led einen bestimmten Maximalstrom. Bei Standard und superhelle Leds sind diese meist zwischen 20 und 40mA. Das ist der Maximalwert, diesen darfst du nicht bzw sehr kurz (z.B. zum Multiplexen) überschreiten. Den tatsächlichen Wert darfst du (natürlich nur bis zum Maximalwert) selbst festlegen. Ein weiterer Wert den du brauchst ist die Flussspannung. Diese hängt von der Led ab die du verwendest. Die Flussspannung hängt auch vom Strom ab den du verwendest (es gibt eigene Kennlinien), diese sind bei Standard/ superhelle Leds nicht so notwendig. Ein weiterer Wert der den Strom beeinflusst ist die Temparatur. Diese ist bei Standard/superhelle Leds ebenfalls zu vernachlässigen. Diese Dinge sind eher bei Hochleistungsleds (über 1W) zu beachten, da diese selbst Wärme erzeugen und je höher die Temparatur desto niedriger wird der Widerstand der Led.

    Hast du schon Grundlagen durchgelesen. Du solltest nicht den Rechner verwenden wenn du die Grundlagen noch nicht kennst (meine Meinung). Wie du es berechnest findest du im Internet. Z.B. hier http://de.wikipedia.org/wiki/Leuchtdiode

    Zur Flussspannung z.B. hier http://www.led-treiber.de/html/vorwi...#Flussspannung

    MfG Hannes
    Geändert von 021aet04 (09.08.2011 um 09:48 Uhr)

  3. #3
    Danke für die viele Information. Ich werde mir das heute noch genauer zu gemüte führen. Also ich habe vor "nur" die Standard LED´s zu verwenden. Wo (an welchem Eingang) schließe ich sie an. Ich weiß nicht genau, ob Du es jetzt schon beantwortet hast, aber wie hoch ist denn die (Standard) - Betriebsspannung? *Sorry*

    Danke auch für die Links

    Beste Grüße

    Crystal Eye
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Die Betriebsspannung eines µCs ist normalerweise von ca. 1,8V-5V. Beim RP5/RP6, Asuro,... wird 5V verwendet. Welchen Pin du verwenden kannst weiß ich nicht, da ich keinen RP6 habe. Das findest du in der Anleitung. Wie du die jeweiligen Pins ansteuerst findest du auch dort.

    Wenn du zu wenige Pins hast kannst du auf Erweiterungen mit entweder Schieberegister oder andere Buserweiterungen (z.B. via I2C) umssteigen. Diese Pins sollten am µC natürlich frei sein oder du verwendest einen Software Bus (z.B. SoftI2C oder SoftSPI). Dannn kannst du jeden beliebigen Pin verwenden.

    MfG Hannes

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Vielen Dank auch vom danimath!

    viele Grüße
    Andreas

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Die Akkuspannung UB beim RP6 beträgt bis zu 8,4V. Mit dem 5V-Spannungsregler wird dann die Bordspannung VDD erzeugt. Die Belegung der Erweiterungssteckplätze kann man sich im Schaltplan anschauen.

    Eine Übersicht der Pinbelegung hat Dirk zusammengestellt:
    https://www.roboternetz.de/community...s-des-ATMega32

    Eine Auflistung der Anschlussmöglichkeiten und einen Belegungsvorschlag für den USRBus gibts natürlich auch von mir:
    https://www.roboternetz.de/community...l=1#post453061

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    Ganz viele Infos zum RP6 findest du auch im RN-Wissen.
    Wenn du die Led's am Sensorpanel Befestigen willst, findest du die Schemas auf der Arexx-RP6 Webseite
    Schau einfach mal genau auf dein Mainboard. Überall wo VDD steht, kannst du geregelte 5V "abzapfen".
    Wenn du aber die Leds gerne ein/und ausschalten willst (davon gehe ich ja mal aus), leg sie direkt an einen I/O. Wo die sind, siehst du auch hier!
    Wenn du im Schema des Mainboards (Seite 2/4) in den Feldern E2-4 nachsiehst, wirst du die I/O's auch sehen.
    Du kannst aber auch den ADC0 / 1 Port verwenden. Die ansteuerung ist aber etwas weniger simpel. (Kann dir auch nicht zu 100% sagen, wie das geht, aber es geht! (vergleiche Servos)
    MfG
    Filou

  8. #8
    Vielen Dank für die viele Information. Ihr seit echt SPITZE!! Ich werde das mir jetzt erstmal alles durchlesen, und dann sehe ich weiter. Evtl. schildere ich Euch dann noch wie ich es vor habe zu bewerkstelligen.

    Ich habe heute mal probiert, mein Programm zum Ausweichen von Hindernissen zu optimieren. (Das Video, welches ich weiter oben gepostet habe, war schon gut, jedoch war da einprogrammiert, dass er sich um 45° drehen soll usw.) Jetzt versuche ich es so zu basteln, dass er solange z.B. nach links fährt/rotiert, bis der Gegenstand nicht mehr im Wege ist. Das habe ich auch schon zum Teil recht gut gemacht, wie ich meine. Das Problem ist, dass wenn er in einer Ecke ist, bekommt er Probleme.. Er weiß einfach nicht wie er da raus kommen soll & ich weiß nicht, wie ich es ihm am besten beibringen kann.... Die Beispielcodes verstehe ich nicht ganz, somit hänge ich da gerade.

    Wenn Ihr Euch den Code evtl. mal anschauen wollt(?) Bei der Gelegenheit hätte ich noch eine Frage: Warum leuchten die LED´s (die Roten Standard) nicht auf, wenn er ein Hinderniss erkennt? - Habe ich doch ins Programm geschrieben... (Anders machen sie es ja auch nicht in den Beispielen)

    Hier der Code:

    Code:
    #include "RP6RobotBaseLib.h"
    void acsStateChanged(void) //ACS
    {
    	// Hindernis links
    	if(obstacle_left){
    	rotate(50, RIGHT, (obstacle_left = false), true); // dreht sich so lange bis der linke Sensor kein Hinderniss mehr hat
    	}
        // Hindernis rechts    
    	if(obstacle_right){
    	rotate(50, LEFT, (obstacle_right = false), true); // dreht sich so lange bis der rechte Sensor kein Hinderniss mehr hat
    	}
        // Mitte?
    	if(obstacle_left && obstacle_right ){
    	move(60, BWD, DIST_CM(10), true); //10 cm Rückwärts
        rotate(50, LEFT, 180, true); // um 180° nach links drehen
    	}
    	
    	//if(getDirection() == LEFT && getDirection() == RIGHT){
    	//startStopwatch1(); // Stopwatch1 starten
    	//}
    }
    //Bumpers
    void bumpersStateChanged(void) {
    	//if(bumper_left || bumper_right){        //Wenn ein Bumper berührt wurde, dann mal das machen, egal welcher.
    	//moveAtSpeed(0,0);                       //Nicht unbedingt nötig, aber ich würde die beiden Zeilen zur Sicherheit schreiben.
    	//mSleep(500);
    	//move(60, BWD, DIST_CM(25), true); //25 cm Rückwärts
    	//}
        if(bumper_left && bumper_right){
    		mSleep(500);
    		move(60, BWD, DIST_CM(10), true); //10 cm Rückwärts
            rotate(50, LEFT, 188, true); // um 180° nach links drehen  
    	}
        else if(bumper_left){
    		mSleep(500);
    		move(60, BWD, DIST_CM(5), true); //5 cm Rückwärts
            rotate(50, RIGHT, 49, true); // um 45° nach rechts drehen
    	}
        else if(bumper_right){
    		mSleep(500);
    		move(60, BWD, DIST_CM(5), true); //5 cm Rückwärts
            rotate(50, LEFT, 45, true); // um 45° nach links drehen
    	}
    }
    
    void fahrenFunction(void){
    	// Geschwindigkeit einstellen !!Richtung nicht vergessen!!
    	changeDirection(FWD);
    	moveAtSpeed(90,90);
    	if(getStopwatch1() > 3500) // Sind 3500ms (= 3,5s) vergangen?
    		{
    		// Bewegungsrichtung ändern:
    		if(getDirection() == FWD) // Fahren wir vorwärts...
    		changeDirection(BWD); // dann Rückwärts einstellen!
    		else if(getDirection() == BWD) //... oder Rückwärts?
    		changeDirection(FWD); // dann Vorwärts einstellen!
    		setStopwatch1(0); // Stopwatch1 auf 0 zurücksetzen
    	}
    }
    
    int main(void) {
    
        initRobotBase(); 
        setLEDs(0b111111);
        mSleep(2500);
        setLEDs(0b001001); 
    
        // ACS Event Handler registrieren:
        ACS_setStateChangedHandler(acsStateChanged);
        // Set Bumpers state changed event handler:
        BUMPERS_setStateChangedHandler(bumpersStateChanged);
        // ACS Empfänger einschalten (und Encoder etc.)
        powerON();
        // ACS auf mittlere Sendeleistung stellen.
        setACSPwrMed();
    
    
    	// Main loop
    	while(true){
            // Aus der Hauptschleife ständig die motionControl Funktion
            // aufrufen – sie regelt die Motorgeschwindigkeiten!
            task_motionControl();
            // ADC Wird wegen den Motorstromsensoren aufgerufen!
            task_ADC(); 
            // Bumper automatisch alle 50ms auswerten
            task_Bumpers();
            // ständig die task_ACS Funktion aufrufen!
    		// task_ACS();
            task_RP6System();
    		//Fahren
    		fahrenFunction();
    		/////////////////////////Bumper//////////////////////////
    		statusLEDs.LED6 = bumper_left; // Bumper links gedrückt
    		statusLEDs.LED4 = !bumper_left; // links nicht gedrückt
    		statusLEDs.LED3 = bumper_right; // Bumper rechts gedrückt
    		statusLEDs.LED1 = !bumper_right; // rechts nicht gedrückt
    		// Beide Bumper gedrückt:
    		statusLEDs.LED2 = (bumper_left && bumper_right);
    		statusLEDs.LED5 = statusLEDs.LED2;
    		updateStatusLEDs(); // LEDs aktualisieren...	
    		/////////////////////////Obstacle////////////////////////////
    		statusLEDs.LED6 = obstacle_left && obstacle_right; // Mitte?
    		statusLEDs.LED3 = statusLEDs.LED6;
    		statusLEDs.LED5 = obstacle_left; // Hindernis links
    		statusLEDs.LED4 = (!obstacle_left); // LED5 invertiert!
    		statusLEDs.LED2 = obstacle_right; // Hindernis rechts
    		statusLEDs.LED1 = (!obstacle_right); // LED2 invertiert!
    		updateStatusLEDs();
    	}
        return 0;
    }
    Ist der Code so einigermaßen in Ordnung? Ich hoffe, dass Ihr mir helfen könnt. Könnte mir jemand nochmal auf die Sprünge helfen, wie das mit den prioritäten war? Obwohl ich diese hier nicht beachtet habe, reagiert er trotzdem auf die "Bumper" & die "Obstacles"

    Beste Grüße

    Crystal Eye
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

Ähnliche Themen

  1. Anfänger braucht Hilfe
    Von Tonyy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 14.12.2010, 07:16
  2. hilfe Anfänger braucht hilfe beim start
    Von thomas3 im Forum Robby RP6
    Antworten: 26
    Letzter Beitrag: 20.09.2010, 21:07
  3. Anfänger braucht Hilfe
    Von vitja09 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 07.10.2006, 13:31
  4. Anfänger braucht hilfe!!!!
    Von mathisdedial im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 22.12.2004, 13:02
  5. Anfänger braucht hilfe
    Von khazad im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 25.10.2004, 11:27

Berechtigungen

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

12V Akku bauen