http://www.emlid.com/raspberry-pi-real-time-kernel/
ich muß mal zu hause gucken, ich habe noch ein link.
http://www.emlid.com/raspberry-pi-real-time-kernel/
ich muß mal zu hause gucken, ich habe noch ein link.
das leben ist hart, aber wir müssen da durch.
Display muss kein SPI sein- es gibt auch welche für den I2C-Bus. Fängt bei ganz kleinen, aber grafikfähigen OLED-Displays an und geht über diverse LCD (16x2, 20x4) weiter.
Die IMU die ich habe, läuft ebenfalls über I2C, somit braucht man schon mal gar keine extra Pins.
Nen Arduino Mega 2560 steuert bei mir z.B. nen Modell-Segway:
-zweiRC-Kanäle einlesen (gibts ne tolle Bibliothek für)
-IMU auslesen, und die Werte mittels Kalman-Filter aufbereiten (gibts ne Bibliothek für)
- zwei Motoren mittels PID-Reglern ansteuern (gibts auch ne Bibliothek)
-I2C-Display ansteuern (ist so nen kleines OLED)
-Akku überwachen, Beleuchtung schalten
Da du mehr Zeit hast (soo extrem schnell brauchen Verbrennungsmotoren nicht angesteuert werden, dazu sind sie eh zu träge), reicht das also dicke.
Den Mega hab ich deshalb genommen, weil er einfach deutlich mehr Speicher hat, den die umfangreichen Berechnungen wohl auch brauchen. Von den Pins her könnt das auch nen Uno- auch mit denen wurden schon Balancierer gebaut.
Ausserdem hab ich immer gern nach oben etwas Luft- und nennenswert mehr kostet der Mega einfach auch nicht.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
also, I2C ist echt ne lahme Krücke für Displays. Die haben max. 400kHz Takt (eher sogar nur 100kHz), und SPI geht bis 16 oder sogar bis 84 MHz Takt. Wenn dann noch andere Geräte am I2C hängen - vergiss es. Mit LCD1602 oder 2004 würde ich auch gar nicht erst anfangen.
Aber wenn du dich für eine Variante entschieden hast - Mega oder Due - sag Bescheid, ich kann dir ein paar Tipps zu Displays geben.
Hier schon mal ein kleiner Überblick:
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8491
dieses ist momentan mein Favorit:
http://www.mindstormsforum.de/viewto...&t=8491#p66189
geeignet u.a. für Arduino DUE und ebenfalls UNO und MEGA etc.
Vorteil: volle Ausnutzung des Hardware-SPI-Busses mit schneller Taktung!
Testergebnis mit DUE: Text 15x so schnell wie UTFT, Graphics 13x so schnell wie UTFT !
auch wenn ich nicht mit deinen Erfahrungen bezgl. mbed-Boards aufwarten kann - bzgl deiner Beobachtungen von Code-Kompaktheit der Due-Arduino-IDE-Executables gegenüber nativen ARM Compilern hast du sicher Recht, das ist aber nichts was Due-typisch ist, das trifft auch auf Arduino-AVR-Kompilate zu.
In 1 Satz: ja, es geht auch sogar noch schneller, wenn man mbed verwendet.
Aber nicht einfacher, wenn man schnell Ergebnisse braucht, nicht alle libs selber schreiben will, und sich nicht mit low level-Compilerproblemen und make file herumschlagen will.
Auch das gilt für alle Arduino-Boards, egal ob AVR oder arm - kein Thema ntl für erfahrene embedded-C-Programmierer, oder die, die es werden wollen.
Auch ich will dem TO nichts ein- oder ausreden, ich wollte nur mit Vorurteilen und Berührungsängsten aufräumen, die den Vergleich der Arduino-ARM-Plattformen (Due, Zero, Tian, 101) mit Arduino-AVR-Plattformen (Uno, Mega, Nano, Micro) angeht:
Zum Thema Geschwindigkeit: hier hat man trotz allem beim Due eine über 10x größere Leistung gegenüber dem Mega (cpu clock, Speicher, runtime-Ausführungsgeschwindigkeit).
Und wegen der hohen Abstraktionsebene, auf der man mit der Arduino-IDE arbeitet, ist es eben kein nennenswerter Unterschied mehr, ob man für AVR oder ARM damit kompiliert.
Und wenigen technischen Nachteilen bei einigen älteren externen Zusatz-Komponenten (die z.B. keine 3.3V Kompatibilität besitzen) stehen jede Menge großer Vorteile gegenüber (Speicher, Geschwindigkeit, Multitasking zusätzlich neben Hardware-Timern und ARM- Hardware-IRQs, und eben 3.3V Kompatibilität für neuere Zusatzkomponenten, die keine 5V-Komp. mehr besitzen), und von den libs, die der TO wohl beabsichtigt zu nutzen, sehe ich keine einzige, die ausschließlich für die AVRs zugänglich wären.
ps,
Anm.:
Immerhin ist 5V ein recht alter Standard, 3.3V ist eher der modernere und IMO eher zukunftträchtigere Standard (alle ARM Boards haben den, auch Raspi und BBB), einige Komponenten nutzen bereits heute sogar nur 1.8V - und für alles andere gibt es notfalls Levelshifter.
Geändert von HaWe (20.01.2016 um 14:10 Uhr)
Hallo an alle,
diskutiert ruhig weiter - ich lerne ja jedesmal dazu ....
Aber um die Diskussion nicht in's Uferlose abdriften zu lassen: Es gibt wohl Argumente pro / contra DUE / Mega, womöglich gibt es auch noch weitere Alternativen anderer Hersteller. Hilft alles nix. Irgedwann muss man mal einen Schritt machen: Ich werde (nicht sofort, aber bald) mir ein Arduino Due holen.
Dazu würde ich noch benötigen :
1 Display - dabei wäre es wichtig, dass das Display mit einigem Abstand zum Board betrieben werden kann
1 kleinen und billigen Analog- Joystick (Link wurde ja schon gepostet, Danke)
1 Möglichkeit, zwei Stellmotoren (können auch MOdellbau Servois sein) ansteuern zu können
1 genaue IMU, die ich anbinden kann
Es wurde ja schon diverse Vorschläge gemacht - falls jemand noch Tipps hat - DANKE!!!
MERCI überhaupt noch mal an alle!
Display: wieviel Pixel? s/w oder farbig?
wieviele Zeichen sollen dargestellt werden?
(ich persönlich habe nur farbige verwendet, min. 176x220, ca.12 Text Zeilen lesbar in Querformat).
SPI: nicht weiter als 20cm, sonst Geschwindigkeits-Einbruch!
Joystick s. Link
Servos: kenne ich mich nicht mit aus, geht über pwm => in Arduino Playground suchen
IMU: habe ich schon gepostet http://www.mindstormsforum.de/viewto...tart=15#p67401
Geändert von HaWe (21.01.2016 um 08:13 Uhr) Grund: (typo)
ich kann mich dunkel erinnern, dass zumindest nicht alle MPU6050 libs voll ARM (Due) kompatibel sind, denn (zumindest manche) greifen wohl für I2C Befehle auf AVR Interrupts zu. Es gab zumindest Probleme, als ich es mal selber probiert habe.
Daher würde ich dann eher die CMPS11-Rohwerte verwenden, die sind leichter zu pollen - oder zumindest einen anderen als den MPU verwenden.
(Beschränken wir uns bitte auf Bemerkungen zur Sache und sparen die Bemerkungen zum Gesprächspartner aus) Anmerkung von Manf
Selbst auf der Arduino-Seite gibt es Beispielcode für den Due.
mfg
Geändert von Manf (25.01.2016 um 20:32 Uhr)
eine neue pwm-Lib für den Due, speziell auch für Servos:
https://github.com/antodom/pwm_lib
Lesezeichen