Hallo, Vorgeschichte: sehe mich gerade nach der richtigen Rechenmaschine für einen Roboter um... das tolle und gleichzeitig der Fluch an der Geschichte ist, dass mir nicht genau gesagt werden kann, wohin die Reise denn gehen soll. So ne art Glücksfall, dass unsere Vertriebler jemanden einen haufen Geld abgeschwatzt haben, ohne zu sagen, was das genau werden soll... ihr wisst schon... ganz modern und state of the arts... habe ne menge auf Mikrocontrollern gearbeitet (Atmega, ARM7), welche von ihrer Komplexitaet her noch zu überschauen waren... Suche: Da ich sowieso eins auf den Deckel bekommen werde, weil am ende nicht rauskommt, was der kunde wollte, möcht ich mich wenigstens weiterentwickeln. Daher suche ich einen Mikrocontroller mit den folgenden eigenschaften - preis ist egal - stromversorgung ist gesichert - soll alles mögliche möglichst schnell können Es soll also der dickste uC sein, den man bekommen kann... das ganze ist nur dadurch begrenzt, dass der uC von seiner Komplexität her auch von einer Person (mir) zu stemmen sein soll. Das gibt viel raum zum herumspinnen: 1. Nehme einen Intel i7 und pack diesen auf ein kleines Board. - macht es sinn die dinger selber zu proggen? oder brauch man da schon Windows/Linux? wie schwierig ist das ganze drum herum aufzubauen? da brauch man doch einen hochfrequenz spezialisten? (ein fertiger PC soll es nicht sein, da ich nichts lerne und das ding auf dem roboter sitzen soll) 2. Nehme einen mini PC. - einen fertigen will ich nicht nehmen, da ich wieder nichts lerne. - zu dieser klasse gehoeren doch auch schon die Cortex A prozessoren? ist das ganze drumherum auch wieder was fuer einen hochfrequenz-techniker oder liesse sich hier der aufbau ähnlich wie bei den uCs machen? 3. Nehme einen dicken uC - bin hier ziemlich schnell bei Cortex M4 gelandet. gibt es dazu (besser=dickere) alternativen? Würde mich freuen, wenn ihr erfahrenen mich in die richtige Richtung stoßen könntet.
Zu 1: Mit Intel i7, (oder auch den kleineneren) ist ein eigenens Board extrem aufwendig. Braucht ausserdem ein angepasstes BIOS (teuer). Als System entweder ein teures RTOS oder Windows/Linux. Sinnvoll ist hier nur ein fertiges IndustrieMB einzusetzen. Zu 2. Mini PC, Mit Intel Atom gilt das Gleiche wie bei 1. Zu ARM Cortex A siehe unten. Zu 3. Cortex M4 ist unter Umständen nicht flexibel genug, vor allem wenn die SW Anforderungen steigen. Für den Einsatz auf einem eigenen Board empfiehlt sich als Kompromiss ein Arm 9 (z.B. Atmel AT91..) oder Cortex A8 (z.B. TI). Die lassen sich noch ohne zu grossen Aufwand zu Fuss programmieren, taugen aber auch für Linux., bzw wenns sein muss auch WindowsCE. Gibt ausserdem ünstige RTOS. Zudem haben diese oft auch noch Dinge wie ADC, PWM, I2C, SPI ... on Chip.
...was soll denn der roboter alles können/machen und wie sich bewegen ?
Can Cobe schrieb: > 3. Nehme einen dicken uC > - bin hier ziemlich schnell bei Cortex M4 gelandet. gibt es dazu > (besser=dickere) alternativen? Kommt drauf an, s.u. > > Würde mich freuen, wenn ihr erfahrenen mich in die richtige Richtung > stoßen könntet. 1. In der Leistungsklasse ist ein Betriebssystem (insb. schon passend angepasstes inkl. aller Treiber) sinnvoll 2. Schnell = HF 3. SoCs sind "etwas einfacher", da "weniger" extern angebunden werden muss 4. TMS320DM8148 (Cortex-A8 + C674x DSP 1)), OMAP5432 (2x A15 @ 2 GHz, 2x M4 2) 1) http://www.greenbaset.com/products.php?index=9&c1= 2) http://www.phytec.com/products/som/phycore/omap5.html 5430
Ihr verkauft was ohne zu wissen was? Und der Kunde weiss auch nicht was er will oder bekommt? Und du entwickelst jetzt was für IRGENDEINEN Roboter? srsly? Eure Firma lebt noch?
Erst mal, was soll den das für ein Roboter werden ???? Wie viele Achsen usw. 6-Achser gibt es wie Sand am Meer von Stäubli, Kuka, ABB, Fanuc und sonst auch noch viele. Ein Prozessor wird Dir wohl auch nicht ganz reichen, denn das ganze muss auch Not-Aus Sicher aufgebaut sein, also mindestens noch einen zweiten für die Sicherheitstechnik. Einen Cortex-M4 wäre die unterste Grenze, aber auch nur für eine unbedeutende Lego-Bastel-Anlage. Wenn das was "Ordentliches" werden soll, dann braucht es auch deutlich mehr als "nur einen" Entwickler. Dazu kommt noch ein gescheites Handbediengerät. Schreibe mal etwas genauer was Du willst, bzw. machen sollst.
> Einen Cortex-M4 wäre die unterste Grenze, aber auch nur für eine > unbedeutende Lego-Bastel-Anlage. Früher ist man noch mit einem Bruchteil der Rechenleistung eines Atmega zum Mond geflogen. Heute reicht ein CortexM4 grade noch so für Lego? Ich denke mit einem stm32F4 kann man schon recht ordentliche Dinge tun. Immerhin läuft der mit 168Mhz, besitzt DMA und DSP. Ohne Nennung der Anforderungen kann die Frage nicht beantwortet werden.
kauf dir doch einen günstigen IndustriePC Embedded PC mit intel i3 i5 oder Atom. dort läuft deine software drauf egal ob windows oder linux. Die haben meistens auch eine IO Karte mit den PWM's erzeugen ffür Schrittmotoren etc. Kommt in etwas sogar auf das gleiche raus vom Preis und hast ein funktionierendes system.
hans schrieb: > Früher ist man noch mit einem Bruchteil der Rechenleistung eines Atmega > zum Mond geflogen. Mondlandung: Eine Messgrösse (Bodenabstandsradar), Eine Stellgrösse (Schub), notwendige Reaktionszeit: viele Sekunden wenn nicht gar Minuten. Roboter: Unzählige Sensoren, Bildauswertung, viele Schrittmotoren etc. Notwendige Reaktionszeit: msec.
@Lattice User: vielen dank... ich schau mir deine vorschläge genauer an... aber ein frage schonmal vorweg: was macht die Cortex M4 basierten so unflexibel? dafuer gibts doch auch lauter OS... @tom: >was soll denn der roboter alles können/machen und wie sich bewegen?" - will damit anfangen einfach vorgegegebene Positionen anzufahren - dann wird wohl noch das ausweichen von Hindernissen hinzukommen - dann riecht es foermlich danach, dass noch viele viele wuensche kommen werden... to be continued (mehr weiss ich nicht, daher suche ich eine Zwischenloesung, die mir möglichst viel luft nach oben laesst) @Arc Net: danke... schau mir deine vorschlaege auch in ruhe nochmal an. @fly: >Ihr verkauft was ohne zu wissen was? >Und der Kunde weiss auch nicht was er will oder bekommt? naja, die vertriebler bomadieren den kunden mit allem moeglichen was sie hoeren wollen... und wenn die infos dann bei uns technikern ankommen, ist da absolut keine linie/richtung auszumachen. ist halt alles dabei was man sich fuer so einen roboter so ausmalen kann... >Und du entwickelst jetzt was für IRGENDEINEN Roboter? srsly? ja >Eure Firma lebt noch? ich weiss auch nicht wie unsere vertriebler das machen... die kommen halt immer wieder zurueck mit einem sack voll geld. @ Markus Müller: >Erst mal, was soll den das für ein Roboter werden ???? Wie viele Achsen.. eigentlich sind das mehrere roboterarme... mehr als 6 achsen werden es wohl nicht werden (ich mach nur den uC)... erstmal sind schrittmotoren angesagt >6-Achser gibt es wie Sand am Meer von Stäubli, Kuka, ABB, Fanuc und sonst auch noch viele. die arme sind ne eigenentwicklung... unsere maschinenbauer haben schon vorarbeit geleistet (die haben dieselben probleme wie ich und einfach drauf losgebaut) >Ein Prozessor wird Dir wohl auch nicht ganz reichen, denn das ganze muss auch Not-Aus Sicher aufgebaut sein, also mindestens noch einen zweiten für die Sicherheitstechnik. danke fuer den tipp >Einen Cortex-M4 wäre die unterste Grenze, aber auch nur für eine unbedeutende Lego-Bastel-Anlage. echt? also doch fertigen mini PC oder kennst du eine uCs alternative? >Wenn das was "Ordentliches" werden soll, dann braucht es auch deutlich mehr als "nur einen" Entwickler. sag das meinem chef >Dazu kommt noch ein gescheites Handbediengerät. im ersten schritt sollen die uCs einfach feste positionen anfahren... >Schreibe mal etwas genauer was Du willst, bzw. machen sollst. ich wuenschte ich koennte... @hans: ich haette auch gedacht, dass man mit den Cortex M4ern was reissen kann... >Ohne Nennung der Anforderungen kann die Frage nicht beantwortet werden. das ist ja gerade mein problem... daher sind die anforderungen: - moeglichst viel luft nach oben offen lassen - entwickler möchte mal ferner zukunft uC guru werden wobei letzteres mehr prio hat, da ersteres schwerer festzunageln ist, da "luft nach oben" bei unterschiedlichen anforderungen ganz unterschiedliche ergebnisse liefern koennen.
"Luft nach Oben" ist zu definieren mit: - Netzwerkanbindung, Gigabit - Diverse Protokolle per Netzwerk um Kommunikation mit einer überliegenden Bildverarbeitung zu erhalten - Conveur Tracking - Bahnoptimierung, Überschleifen etc. - Bahnberechnung im Voraus Dafür ist ein STM32F4x7 mit 168MHz deutlich zu schwach. Wenn das einer alleine schaffen will, dann braucht der vor allem Erfahrung mit Mathematik und Koordinatensystemen. Warst Du überhaupt schon mal auf einer Roboter-Messe und hast Dir mal angeschaut was die alles so können und wie deren Steuerung aussieht? Mollmilchlegende Eiersau...
z.B. Adept stellt Steuerungen für Roboter her. Kaufe die und werde glücklich.
Die Motore mit kleinen DSPs steuern bzw. regeln oder nen Controller aus dem automotive bereich benutzen. Als User interface nen Embeded PC mit schnellem x86. Über PCIe nen FPGA mit nem DSP zusammen die die kleinen Motoren steuern. > das ganze ist nur dadurch begrenzt, dass der uC von seiner Komplexität > her auch von einer Person (mir) zu stemmen sein soll. Hast ja nichts über die Zeit gesagt 8-)
Die OMAP5 haben Dual-Cortex-A15 und Dual-Cortex-M4. Damit würdest du dir zumindest die zweite CPU sparen können, falls die nicht physisch getrennt auf einer anderen Platine liegen muss. Prozessoren in dieser Leistungsklasse will man eigentlich nicht mehr händisch programmieren, d.h. da kommt ein vollwertiges Betriebssystem (Linux) mit allen Treibern usw. rein. Den Echtzeitanteil kannst du in einen der kleinen Cortexe auslagern. Ansonsten ist das Projekt je nachdem wieviel du lernen willst, eine reine Zeitsenke. Wenn Zeit eine Rolle spielt, setz was fertiges drauf und mach den Kunden glücklich.
Von OMAP würde ich abraten. Die sind für den schnelllebigen Smartphone Hype Markt gedacht, und keiner weiss daher wie lange die einzelnen Generationen verfügbar sind. Und TI hat auf diesem Markt leider keinen Fuß auf den Boden gebracht. An Samples zu kommen ist ausserdem auch nicht einfach. Wenns unbedingt Multicore Cortex A15 sein muss, dann mal die neuen TI Keystone Processoren anschauen.
Was Du hier fragst ist doch absoluter Unfug. Du kannst nie erfolgreich sein, wenn Du Dir über den Einsatzzweck nicht im Klaren bist. Alle Empfehlungen sind demzufolge auch wertlos. Es ist ja gar nicht klar, was der Roboter eigentlich können soll. Und ein Cortex M4 und Intel i7 unterscheiden sich wie ein Corsa vom Bentley. Ich kenne auch niemanden, der mit so einem Spektrum losläuft und ein Auto kauft. Also Can Cobe, denk mal drüber nach!
Hi, du willst flexibel sein, etwas lernen? Nimm FPGA. Da kannst du dir beliebige Hardware (Timer, PWM, SPI....) selbst basteln, dann noch ein Softcore dazu - fertig. Bei den µC kanns immer mal passieren, das ein SPI/PWM/I²C/Timer zu wenig da ist....
Can Cobe schrieb: > So > ne art Glücksfall, dass unsere Vertriebler jemanden einen haufen Geld > abgeschwatzt haben, ohne zu sagen, was das genau werden soll... Die nehmen wohl ihre Aufgabe wörtlich und vertreiben die Kunden. Sowas kann leicht nach hinten losgehen. Auch wenn es keiner gerne macht, eine Entwicklung fängt man nicht vor dem Pflichtenheft an. Peter
@Markus Müller: >Dafür ist ein STM32F4x7 mit 168MHz deutlich zu schwach. Wofür braucht man denn eine netzwerkverbindung im gigabit bereich? Was fuer infos laufen denn darueber? um eine bahn abzulaufen benoetigt man doch so gefuehlte 20xAddition/subtraktion, 10xMultiplikation/division, paar mal wurzel ziehen und ein wenig trigonometrie berechnungen pro achse und anlaufpunkt (Rückwärtsrechnung)... reichen da die 168MHz nicht aus? >Warst Du überhaupt schon mal auf einer Roboter-Messe nein... habe zwar schon ein paar roboter geproggt, aber immer mit PCs @ Uwe und marvin m. 6 monate um ein paar vorgefertigte anlaufpunkte anzufahren... die naechsten 3jahre restlichen wuensche entziffern und umsetzen. FPGA ist dann wohl doch zu steil was die lernkurve angeht @Svenska ich schau mir mal die OMAPs an. kann man sagen, dass man ab der A Klasse grundsaetzlich nicht mehr alles zu fuss proggt? wuerde gerne ein gefuehl dafuer bekommen. @ Lattice User die TI werden auch genauer unter die Lupe genommen @RoboterControllerAuskenner ja... ist schon ein wenig unfug... daher bin ich auf der suche nach einem jeep, um moeglichst auf alles einigermassen gewappnet zu sein. @Peter Dannegger wie wahr, wie wahr... werd dahingehend weiter versuchen das durchzusetzen.
>Wofür braucht man denn eine netzwerkverbindung im gigabit bereich? Wenn Du heute eine Schaltung entwickelst, die erst in 3 Jahren fertig sein sollte und danach sollte diese noch für mindestens 10 Jahre verkauft werden, dann sollte man unbedingt das modernste einsetzen was nur irgendwie machbar ist. Bei HW ist das ein Problem, wenn es für ein Netzteil nur eine blöde Drossel nicht mehr gibt kann es ein Redesign bedeuten. Daher am besten ein Standard-PC ATX Board nehmen und Linux drauf und darauf programmieren. (z.B. Mini-ITX mit passiv Kühlung, 24V Netzteil usw., gibt es hier: http://www.cartft.com/) Die HW MUSS Erschütterungen aushalten können, denn in einer Produktion bewegt und vibriert ständig was. Damit hast Du automatisch Fernwartung und LAN. HW kannst Du immer tauschen, modernisieren usw. Dazu entwickelst Du Dir ein paar spezielle IO Karten um Deine speziellen Anforderungen an den Prozessor binden zu können, wenn es die nicht schon gibt.
Wir experimentieren gerade mit ComExpress Modulen herum. Die sind einigermassen klein, gibt es von Intel Atom bis zu Core I7. Und die haben Standard-Schnittstellen. Standardsoftware (Windows, Linux) geht auch.
>Es soll also der dickste uC sein, den man bekommen kann...
Eine total undefinierte Frage! Sowas gibts nicht!
Ausserdem stellt sich die Frage nach Rechenleistungs- u.
Echtzeit-Anforderungen, ms? us? ns???
Mit nur nem PC dürfte man wohl grosse Echtzeit-Probleme kriegen.
Man kann mit einem Verbund von (mehr oder weniger) aktuellen uCs
eigentlich alles machen. Mit einem alleine wirds wohl nicht gehen, bzw
wird das Design wohl schnell am Anschlag sein, wenn man was erweitern
will.
eine Option wäre einen CortexM4 für die Echtzeitanforderungen und die Hardwarenahe Seite und ein Linuxsystem (mini micro oder pico itx board) für die Mensch-Maschine Schnittstelle oder auch komplexe Rechnungen für Bildverarbeitung oder Ähnliches zu verwenden. Diese Kombination hat sich schon oft als sehr sinnvoll erwiesen.
Schau dir mal einen AM335x von TI an. Ist ein Arm Cortex A8, der hat einen Realtime Coreprozessor mit 200Mhz. Wird im Beaglebone verwendet.
> Ihr verkauft was ohne zu wissen was? > Und der Kunde weiss auch nicht was er will oder bekommt? Willkommen im ganz normalen täglichen Wahnsinn! Ich "durfte" auch schon eine Anlage mit 18 CNC-Achsen programmieren, da bestand das "Plichtenheft" aus 1,5 Seiten DIN-A4 mit nicht widerspruchsfreiem Prosa... Ihr naiven (jungen?) Menschen habt einfach keine Ahnung, wie die reale Welt funktioniert.
"Spieglein, Spieglein ... Welches Projekt wirft in nächster Zukunft den meisten Profit ab?" Antwort: "Suche Dir ein Mikrocontroller-forum und rufe 'Roboter-IC' in den Wald! Schon allsbald melden sich potenzielle Kunden...!"
Man man man das ist ja teilweise haarsträubend was hier so erzählt wird. Bei DEN völlig undefinierten Anforderungen kann man eigentlich erstmal nur ein fertiges Modul zum experimentieren hernehmen, zunächst nur die Software bauen und gucken wieviel Rechenleistung denn tatsächlich gebraucht wird. DANN wenn das läuft kann man sich HW in der passenden Richtung suchen. Und wenn die Stückkosten keine Rolle spielen wäre es bescheuert einen Rechner selbst zu entwickeln - da nimmt man was fertiges.
Can Cobe schrieb: >>Ein Prozessor wird Dir wohl auch nicht ganz reichen, denn das ganze muss > auch Not-Aus Sicher aufgebaut sein, also mindestens noch einen zweiten > für die Sicherheitstechnik. > danke fuer den tipp Naja, einen 2. µC rein und das war es, so einfach ist es denn doch nicht. Dazu gehört dann viel HW und SW logic dazu die beiden zu vergleichen und daraus Reaktionen abzuleiten. Sieh dir eher mal µC an dir auch in sicherheitskritischen automotiv Anwendungen drin sind. Ganz besonders das Stichwort "LockStep" zb sowas hier: http://www.ti.com/mcu/docs/mcuprodoverview.tsp?sectionId=95&tabId=2835&familyId=1931
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.