-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: RP6 ArduIO Board - Software

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791

    RP6 ArduIO Board - Software

    Anzeige

    Hi Besteller und Nutzer des RP6 ArduIO Boards von fabqu:

    Zur aktuellen Stand der Hardware-Entwicklung gibt es hier noch diesen Thread von fabqu: I/O-, ADC- und DAC Erweiterung für RP6??? 3,3V und 5V!?

    Hier wird es mal um die Software-Entwicklung gehen.
    Wenn ihr wollt, könnt ihr schon mal in die RN-Wissen-Artikel gucken: Hardware, Software!
    Für die Software gibt es schon einen Konfigurations-Header (nur für einen 1. Eindruck...).
    Mehr folgt, wenn ... naja, erst sollte es schon die Hardware geben ...

    Wenn ihr zur Software aber schon Ideen/Vorschläge habt: Es ist noch früh genug!

    P.S.:
    Ich Suche noch "Co-Programmer" für die Arduino-Seite. Mir schwebt da auch eine Arduino-Lib vor, mit der man das ArduIO Board normal als Arduino Shield (und nicht zwangsläufig auch mit RP6) nutzen kann.
    Gruß
    Dirk

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.346
    Hi Dirk,

    Zitat Zitat von Dirk Beitrag anzeigen
    Wenn ihr zur Software aber schon Ideen/Vorschläge habt: Es ist noch früh genug!
    also fange ich mal mit den ideen an ...

    Ich habe mir jetzt mal (viel zu spät, ich weiss) die "RP6Control_MultiIO_03_bumper.c" angeschaut, weil ich jetzt endlich den SRF02 einsetzen will. Recht komfortabel, was da in der lib drin steht und was man damit alles machen kann, sowas ähnliches wäre für den hc-sr04 ein traum! Einsetzbar für den HC beim einsatz auf der arduinoplatine oder m32, oder beides? Evtl. kombiniert mit dem signal-längen-messgerät welches per parameter für die verschiedenen signalmessungen (IR...US) auf verschidenen pins verwendbar wäre?

    Durch die H-brücken auf der neuen platine rückt die möglichkeit alternativer antriebe für den RP6 in greifbare nähe Es wäre phantastisch, liessen sich diese auf die gleiche komfortable art und weise steuern wie jetztigen - move, rotage, jedes rad einzeln, dist und was es sonst der dige gibt...

    ich hoffe ich bin hier nicht zu gierig - aber Du hast ja gefragt
    gruß inka

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Oh je,



    Warum habe ich nur gefragt ...?

    Was wolltest du dann denn noch freundlicherweise selbst programmieren?

    Aber,- hier mal als Beispiel die geplanten Befehle für die H-Brücken (x = 1..2):
    powerHBx(__DIR__,__DUTY__)
    powerHBxSTOP()
    powerHBxFWD(__DUTY__)
    powerHBxBWD(__DUTY__)
    powerHBxBRK()
    powerHBxOFF()

    move, rotage, jedes rad einzeln, dist und was es sonst der dige gibt...
    "Rad", "dist" ???
    Ich muss mal fabqu fragen, ob ein bestimmter Antrieb Teil der Lieferung des ArduIO Boards ist ...
    Gruß
    Dirk

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.346
    Zitat Zitat von Dirk Beitrag anzeigen
    Was wolltest du dann denn noch freundlicherweise selbst programmieren?
    naja, die superlibs anwenden und fragen stellen...

    ich übertreibs jetzt mal ein bischen: meine tochter fährt auch auto, ob sich im motor die kurbelewelle dabei lins oder rechtsrum dreht ist ihr nicht so wichtig. Das trifft aber nur für meine tochter zu, ich bin da ganz anders, von mir hat sies also nicht


    Zitat Zitat von Dirk Beitrag anzeigen
    "Rad", "dist" ???
    Ich muss mal fabqu fragen, ob ein bestimmter Antrieb Teil der Lieferung des ArduIO Boards ist ...
    aber Du weisst schon was ich meine
    gruß inka

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    755
    Hey!#
    Kleiner Dämpfer an dieser Stelle:
    Nicht im "Packungsinhalt" ist ein Drehzahlsensor sowie ein Stromsensor Daher wird das Auslesen von Umdrehungen etc nicht direkt möglich sein, müsste man sich eben selbst dazu basteln.

    Grüße

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.346
    hi fabqu,

    vielleicht habe ich was missverstanden, aber frage:

    die multi IO hat doch einen stromsensor?

    und die drehgeber sind doch an den rädern (im getriebe bei RP6)? Braucht man da nicht nur die pulse zu zählen?
    gruß inka

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    755
    Beides richtig
    aber der rp6 kann das ja auch alles alleine? Mit dieser h-brücke wirst du wegen der beschränkten bandbreite von 1000Hz nichts besseres hinbekommen als der rp6 es kann. Und die arduIO bietet ja nur diese... Sie sind wirklich nur für ohmsche lasten empfohlen, für (kleinere) motoren zwar auch nutzbar aber ich glaube nicht, dass es spaß macht damit

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    450
    Hallo,
    ich habe mir mal heute die Software angeguckt. Erst einmal vielen Dank an Dirk.
    In der RP6Control_ArduIO_03.c geht es ja um die Mosfet SP8M3. Für mich sieht es so aus als wenn sich jetzt Motoren mit 10% drehen sollen.
    Will ich aber nicht. Ich will von den 8 Kanälen erst einmal 2 nutzen um meine Verbraucher zu schalten. Wie mach ich das ?

    Ist es nicht etwas unglücklich gewählt 2x die RP6_ArduIO.h zu benennen ? Sie stehen zwar in verschiedenen Verzeichnissen trotzdem kann es ja zu verwechselungen kommen.

    Nachtrag:
    ich habe da schon einiges gefunden
    enableHB und enablePPWM_G, wäre aber schön wenn man mich an die Hand nimmt und es mir mit einem konkreten Beispiel zeigt.
    Geändert von TrainMen (27.11.2014 um 17:03 Uhr)
    Gruß TrainMen

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hi TrainMen,
    In der RP6Control_ArduIO_03.c geht es ja um die Mosfet SP8M3. Für mich sieht es so aus als wenn sich jetzt Motoren mit 10% drehen sollen.
    Will ich aber nicht. Ich will von den 8 Kanälen erst einmal 2 nutzen um meine Verbraucher zu schalten. Wie mach ich das ?
    Dafür gibt es z.B. die Funktion setArduIOPowerPWMs().

    Ist es nicht etwas unglücklich gewählt 2x die RP6_ArduIO.h zu benennen ? Sie stehen zwar in verschiedenen Verzeichnissen trotzdem kann es ja zu verwechselungen kommen.
    Auf meinem PC ist das Arduino-Verzeichnis völlig getrennt von den RP6 Examples/Libraries. Das geht auch gar nicht anders! Dadurch kommt es nicht zu Verwechselungen.

    ich habe da schon einiges gefunden
    enableHB und enablePPWM_G, wäre aber schön wenn man mich an die Hand nimmt und es mir mit einem konkreten Beispiel zeigt.
    Die Befehle im Bereich // ArduIO Status ermöglichen es, die jeweiligen (Schreib-)Funktionen der Lib zu sperren.
    Du brauchst sie normalerweise nicht, weil alle Schreibfunktionen standardmäßig EINgeschaltet sind. AUSNAHME: Alle H-Brücken-Befehle sind standardmäßig AUSgeschaltet, weil ihre Benutzung bei falscher Beschaltung die Platine zerstören kann.
    Beispiele:
    setArduIOPowerPWMs(0b00001010); ==> Schaltet Power PWM 2 und 4 EIN und alle anderen AUS.
    dimArduIOPowerPWM(1, DUTY_50); ==> Setzt Power PWM 1 auf eine PWM von 50%
    setArduIOPowerPWM2(1); ==> Schaltet Power PWM 2 EIN.
    Gruß
    Dirk

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.556
    auch wenn es jetzt ein Doppel-Post ist...

    Bleibt die Frage der Programmierbarkeit mit Sketch
    - hier meine ich...:
    wie man die neuen Ports über die Programmierung des Arduino anspricht. Ideal wäre es, wenn die "remote"-Muxerpins mit Nummern angesprochen werden könnten z.B. ab 100 oder 128 aufwärts), die sich dann im Arduino-Sketch-Programm genauso verwalten lassen wir die lokalen Arduino-Pins.
    Also z.B.:

    uint8_t ISRab |= (digitalRead(2) << 1) | digitalRead(3); // liest die lokalen Dpins 2 und 3 für einen Motorencoder
    // während
    uint8_t ISRab |= (digitalRead(102) << 1) | digitalRead(103) // die 2. und 3. Dpins auf dem Muxer-Board liest.

    Wie das ganze über I2C ausgeführt wird, müsste dann ein Wrap um eine I2C-Funktion leisten können.
    Da das ganze zeitkritisch ist, müssten alle 24 DPins für Encoder (4 lokal, 8 auf dem Board) mindestens alle 250-500µs über IRQs (IRQ1 per DueTimer) ausgelesen werden können.

    Denkst du, das Board bzw. der i2c-Bus für die ganzen Pins ist dazu schnell genug? Es sind zwar nur 4kHz für die Encoder-Pins. aber der ganze Rest an Daten hängt ja auch noch dran.

    ps,
    auch für alle übrigen pins wäre so eine remote-zu-lokal-Transcodierung ideal: alle lokalen inputs nummeriert wie gehabt, aber die auf dem Board ("remote") genau wie die lokalen zu handhaben - nur über eine Art Offset für das Muxer-Board.
    lokal: pinMode(A0, OUTPUT); digitalWrite(A0, HIGH); int x=analogRead(A0);
    Muxer: pinMode(A100, OUTPUT); digitalWrite(A100, HIGH); int x=analogRead(A100);


    edit:
    Möglicherweise über eine Routine (Endlos-loop als eigener Task per DueTimer.h und Scheduler.h), die einfach nur alle Werte zwischen Mux-Board unf Arduino so schnell wie möglich hin- und her schaufelt, und dann alle Mux-Sensor-Werte in globalen Variablen abspeichert (die dann ähnlichwie die lokalen gepollt werden können):
    So ähnlich, wie ich es hier zwischen NXT und Mega gemacht habe, nur eben schneller, in Echtzeit:
    http://www.mindstormsforum.de/viewto...&t=8302#p65015
    Geändert von HaWe (27.11.2014 um 23:20 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. RP6 + M256 + PC-Software
    Von markus788 im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 01.12.2013, 14:04
  2. RP6 Akkustand abfrage per Software
    Von o.g.1985 im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 15.07.2011, 16:52
  3. Board und Software verbinden (r232)
    Von Thomas Glas im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 21.04.2011, 08:41
  4. RP6 Software (Library und Demos)
    Von Dirk im Forum Robby RP6
    Antworten: 53
    Letzter Beitrag: 19.04.2009, 17:36
  5. Linuxinstallation der RP6-Software
    Von rp6flash im Forum Robby RP6
    Antworten: 16
    Letzter Beitrag: 30.03.2009, 19:24

Berechtigungen

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