- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 46

Thema: Welchen Controller??

  1. #11
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich würde die Entscheidung nicht von solchen Schlagworten wie Multithreading abhängig machen. Das ist doch eine Sache der Software bzw. Interpreters. Das kann man bei Mega´s ganz genauso programmieren, sogar flexibler da er ja viel schneller ist. Gewöhnlich braucht man es nicht da man mit Interrupt quasi auch mehrere Dinge gleichzeitig machen kann.

    Um sich für den richtigen Controller zu entscheiden solltest Du schaun was du mit machen willst. Stell dir folgende Fragen und Suche die Antwort im Forum. Alles wurde schon oft besprochen.

    Reicht der Speicherplatz für die geplante Anwendung?
    Reichen die I/O Leitungen für Sensoren und Aktoren etc.?
    Reicht die Geschwindigkeit des Controllers überhaupt für die Aufgabe aus?
    Will ich eventuell an einen Bus Erweiterungen anschließen und wird der Bus auch unterstützt?
    In welcher Sprache kann ich den Controller programmieren? Wird diese unterstützt?
    Findet man genug Literatur zum Controller und der Programmiersprache?
    Findet genug Anhänger um sich auch in Foren auszutauschen?
    Findet man genug Software-Beispiele im Internet?
    Was brauche ich zusätzlich um mein Ziel zu erreichen?
    Gesamtkosten für Projekt?

    Also im Grund musst du erst ein wenig mehr planen um die richtige Entscheidung zu fällen. Bei konkreten Projekten sollte die Controllerwahl erst am Ende stehen.

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Der Speicher ist grösser als es auf den ersten Blick scheint, und Multithreading braucht man eigentlich nie.
    Mal davon abgesehen hat das nichts mit dem Controller zu tun, sondern mit der Software.
    Entweder man verwendet eine art mini-Betriebssystem (gibt's für die meisten Controller)
    das Multitasking ermöglicht, oder man schreibt sich da selbst was einfaches.

    Bei der primitivsten Variante gibt man einfach jeder betroffenen Funktion (also alle die quasi parallel ausgeführt werden sollen) ein Flag.
    in main werden dann der Reihe nach alle Funktionen aufgerufen deren Flags gesetzt sind (und die Flags selber natürlich wieder gelöscht).

    Ich kenne keinen einzigen Mikrocontroller der multithreading hardwaremässig unterstützt.
    (von den gängigen Desktop-Prozessoren kann das doch auch nur der P4)



    Wenn man sich mit Mikrocontrollern befasst (egal mit welchen)
    muss man sich zunächst mal klarmachen, daß man sie nicht direkt mit normalen Computern vergleichen kann.

    8MB RAM sind bei einem PC nur ein schlechter Witz, bei einem Mikrocontroller hingegen wäre das extrem viel.

    30MHz Taktfrequenz wären bei einem PC unvorstellbar, für einen Mikrocontroller ist das schon sehr schnell.
    (die ATmegas laufen mit max. 16MHz)


    Ein ATmega32 ist absolut ausreichend für einen durchschnittlichen Roboter,
    auch wenn der Speicher auf den ersten Blick extrem knapp zu sein scheint.


    edit: da war ich wohl 'n bischen zu langsam
    So viele Treppen und so wenig Zeit!

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.02.2005
    Ort
    Wels
    Alter
    62
    Beiträge
    512
    Zitat Zitat von Felix G
    8MB RAM sind bei einem PC nur ein schlechter Witz, bei einem Mikrocontroller hingegen wäre das extrem viel.

    30MHz Taktfrequenz wären bei einem PC unvorstellbar.......
    hey, ich hab noch langsamere pcs im keller stehen
    mein 286er hatte 20Mhz und 2mb ram, dazu 20mb harddisks, die leider kaputt ist.
    wie sagte billyboy mal?
    mehr als 640kb wird nie ein programm brauchen?

    mfg knacki

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    37
    Beiträge
    578
    @Frank
    Ich würde nicht behaupten, dass die CC2 langsamer ist (von Haus aus).
    Der 16Bit Prozessor von Infineon mit 16Bit (Mega hat nur ist sehr leistungsfähig.
    Also nichts mit viel schneller!

    Den Speicher braucht ihr nicht?
    Naja was weiß man jetzt, was man mit dem Roboter machen will.
    Wenn man zum Beispiel Bilder speichern will (CMUCam z.B.) oder eine Karte anlegen will, ist viel Ram sehr wichtig.

    Finde ich Schade, dass die CC2 immer von allen runtergeredet wird.
    99% von diesen Leuten haben sich noch nichtmal damit beschäftigt, was die CC2 alles kann. Sicher ist sie nicht ganz billig, aber ich habe die Investition nie bereut.

    Multithreading braucht man nie?
    Also es ist schon sehr sehr praktisch, wenn nicht das ganze Programm halten muß, nur weil man auf Daten wartet.


    ACU!
    http://www.roboterbastler.de
    endlich wieder online

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Der Performance Unterschied zwischen 8 und 16-Bit ist nicht so groß wie man es erwarten würde.
    Nicht immer muss der 16 Bit Controller dem anderen überlegen sein

    Zum speichern großer Datenmengen würde ich (wenn die Übertragung per Funk und abspeichern auf dem PC nicht in Frage kommt) eine SD-Karte verwenden.
    Die sind leicht anzusteuern und bieten mehr als genug Platz.


    Und das multithreading ist, wie schon erwähnt, eine reine Softwareangelegenheit.
    Dabei ist es völlig egal welchen µC man verwendet.
    So viele Treppen und so wenig Zeit!

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    37
    Beiträge
    578
    @Felix G.
    Die SD Karten Hersteller werden feiern.
    Wenn du das machst, ist die Karte schnell im A... .
    Die maximalen Schreibzyklen sind schnell erreicht. Besonders wenn du den Speicher zum Beispiel als Messwerte-cache benutzt.

    Multithreading mußt du erstmal programmieren.
    Ist nicht so einfach. Wenns schon da ist: umso besser.
    Ich benutze es oft und habe mich daran gewöhnt.

    Bei bestimmten Operationen ist ein Leistungszuwachs schon da!
    Du mußt bedenken, dass es nicht so ist, wie zwischen 32Bit und 64Bit.
    Die AMD 64 haben nur manche 64Bit Befehle. Sie sind nicht reinrassig 64Bit.
    Die CC2 ist komplett 16Bittig.


    ACU
    http://www.roboterbastler.de
    endlich wieder online

  7. #17
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hallo Acu,

    es will doch niemand die CC II runter reden. Aber wenn schon was erwähnt wird, dann darf man es ja sachlich vergleichen und ein wenig klarer stellen.
    Wie gesagt: Multithreading ist eine Sache der Software - die kann überall implementiert werden. Es ist ja schön das die CC II Software das dort kann, aber das hat wenig mit dem Controller zu tun.
    Aber ich geb´s langsam auch auf, Controller, Betriebsystem und Controllerboards - immer wieder wird alles durcheinandergeworfen obwohl es schon 100 mal hier im Forum erläutert wurde.

    Der große Speicher der CC II ist vorteilhaft und ein echtes Argument, aber es gibt auch Megas mit viel Speicher sogar mit Anschluss für externen Speicher. Und das gute, fast alle Megas (AVR´s) sind fast auf die gleiche Weise programmierbar. Man kann sich also für jedes Projekt ohne große Lernphase den passenden Controller zulegen oder sogar mehrere kombinieren ohne das es allzu teuer wird. Beim kombinieren mehrerer Controller hat man dann übrigens echtes Multithreading

    Bei den Kosten sollte man auch mal berücksichtigen das man einen Fehler macht und einen Port himmelt. Sowas wird dann bei den verschiedenen Controllern die ausgewechselt werden müssen auch unterschiedlich teuer. Einen Mega8 bekommt man für 3 Euro, einen Mega 32 glaub für ca. 8 Euro. Was kostet die CC2?

    Übrigens 8 Bit Risc Prozessoren (wie die Megas) sind in vielen Aufgaben den 16 Bit Controllern überlegen, was Rechenleistung betrifft. Auch das findet man hier im Forum. Für bestimmte Steueraufgaben wo mehr Mathematik statt Timing gefragt ist, da ist vermutlich die Stärke der CC II. Aber bei Robotik, Modellbau etc ist das Timing oft wichtiger, da sind die schnellen Megas einfach oft besser einzusetzen. Es ist halt so!
    Es gibt sicherlich noch ne ganze Reihe weiterer Controller die noch besser wären, allerdings sind die nicht sehr populär und wenig öffentlich dokumentiert was dann auch wieder ein großer Nachteil für Hobbyisten ist.

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Die SD-Karten waren ja nur ein Beispiel, es kommt natürlich immer darauf an was man konkret speichern will.
    Wenn der Roboter eine Karte von seiner Umgebung erstellt sind die gut geeignet, da sich diese ja nicht so häufig ändert.
    Bei Daten die sich andauernd ändern muss man natürlich eine andere Möglichkeit suchen den Speicher zu erweitern.


    Gegen das multithreading sage ich ja garnichts,
    und es ist natürlich sehr praktisch wenn ein System das schon von sich aus beherrscht.
    Aber dieser Luxus kostet für meinen Geschmack einfach zu viel Rechenleistung.
    Bei der C Control vermutlich noch mehr als bei einem AVR mit mini-Betriebssystem,
    denn die CC nutzt nunmal eine Interpretersprache, und die sind in fast jeder Hinsicht normalen Programmiersprachen unterlegen.


    Der Unterschied zwischen 8 und 16Bit ist ähnlich gering wie der zwischen 32 und 64Bit.
    Einen spürbaren Leistungszuwachs gibt es hingegen beim Sprung von 16 auf 32Bit.
    (ich bin eh der Meinung daß die 16Bit µCs relativ nutzlos sind, denn so viel teurer sind 32er nun auch nicht)
    So viele Treppen und so wenig Zeit!

  9. #19
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    10.03.2004
    Ort
    München
    Alter
    40
    Beiträge
    286
    Ich muss jetzt doch auch nochmal meinen Senf dazu geben

    Wie viele von Euch wissen, habe ich einige Erfahrung mit der CC2, jedoch
    wenig Erfahrung mit anderen Controllern - gut möglich, dass meine Ansicht
    etwas verzerrt und sehr subjektiv ist.

    Als Anfänger ist es meiner Meinung nach ganz wichtig, dass möglichst
    schnell was funktioniert. Außerdem sollte das Ganze möglichst flexibel
    sein. Zugegebenermaßen CC2 und Applicationboard sind nicht ganz billig,
    dafür kann ich ohne Hardwareerfahrung schnell "ein paar Zeichen auf dem
    Display" ausgeben.

    Und wozu das Rad neu erfinden? Klar lässt sich Multithreading selber
    programmieren. (Wobei der erwähnte Ansatz nur das sog. "Zeitscheiben-
    verfahren" ergibt - bei der CC2 gibt es jedoch auch Prioritäten für die
    einzelnen Threads...) Das "Betriebssystem" auf der CC2 macht den Pro-
    zessor natürlich etwas langsamer, aber von der Programmierung her -
    gerade für PC-auf-µC-Umsteiger deutlich einfacher handhabbar...

    Es ist nicht immer nur alles "schwarz-weiss". Es gibt keine "guten" und
    "schlechten" µC...

    Aber dieses Thema wird ja immer wieder zu einer Grundsatzdiskussion


    Gruß,
    Simon
    Robterus Project (http://robterus.com)
    Nestlers Webseite - http://nestlers.de

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2005
    Beiträge
    20
    Ihr macht mir die Entscheidung nicht einfach...
    Im übrigen Suche ich auch nach einem ganzem Board.

    Ich werde sehr viel speicher brauchen, weil der Roboter zur Navigation eine Karte erstellen soll. Der Roboter soll die Karten mit hilfe von einem Ultraschall-Sensor (wahrscheilich SRF0 erstellen. Das Karten erstellen brauch, so wie ich das einschätze, viel rechen Leistung und Speicher.

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