Show Posts
Pages: [1] 2 3 4
1  International / Deutsch / Re: Automatischer Lageausgleich Quadrocopter on: February 23, 2014, 03:46:40 pm
Bei mir sind es normale 5050 LED-Strips die von den Vorwiderständen  her eigentlich auf 12V ausgelegt sind. Zweck: Lageerkennung
Was hast Du vor?
2  International / Deutsch / Re: Automatischer Lageausgleich Quadrocopter on: February 23, 2014, 02:21:37 pm
Hallo,
Hatte vor 1,5 Jahren sehr ähnliche Gedanken. Nach mehreren verschiedenen Boards (7) bin ich bei dem Crius AIO PRO gelandet. Als Software die Multiwii auf Arduino Basis. Will Dich aber nicht bremsen, vielleicht programmierst Du eine Alternative zur Multiwii.
Ansonsten meine Empfehlung: MPU6050 als Gyro und Beschleunigungssensor.  Beschleunigungssensor wirst Du brauchen, sonst wird das mit dem automatischen Lageausgleich nicht funktionieren. Ebenfalls empfehlenswert ist ein 3 Achsen Magnetometer (entsprechende Abschirmung vorausgesetzt).
Der MPU6050 ist nM besser als die adxl oder die ausgebauten Teile aus den Nunchucks/Multiwii bzw. der bma020.
Und wenn Du keine Loopings fliegen willst, sondern ruhiger wird ein Baro Sensor nicht schaden. Der MS5611 Baro hat bei mir besser als der BMP085 funktioniert.
GPS kannst Du später nachrüsten, dabei solltest Du aber nicht sparen.
Die LED Strips werden bei mir über die 16,8V direkt versorgt, solange ich fliege. Warum willst Du sie schalten?
3  International / Deutsch / Re: SoC - Linux - RaspberryPi...Programmierung? on: November 15, 2012, 04:13:54 pm
Wenn du deinen raspberry hardwarenah programmieren willst, dann schau dir „dexbasic for raspberry pi“ an. Ist inspiriert von der Arduino Idee. Allerdings wird dort mit flat assembler programmiert, und es gibt noch nicht viele libraries. 3 Tutorials gibt es aber schon einmal.
4  International / Deutsch / Re: Verwendung Watchdog on: September 27, 2012, 03:21:25 am
Danke für die Infos.
Jetzt wo die Nachteile bekannt sind, habe ich kein schlechtes Gewissen mehr.
5  International / Deutsch / Re: Verwendung Watchdog on: September 25, 2012, 01:45:18 am
Signale auf der Schnittstelle sind kein Problem für den Bootloader, wenn der µC durch den Watchdog resettet wird. In diesem Fall wird der Bootloader ja übersprungen. Also horcht der BL gar nicht ob Signale anliegen.

Bei einem manuellen Start/Reset kann dies ein Problem sein. Allerdings verzögert der Bootloader den µC Start dann nur oder blockiert der Bootloader den Chip wenn keine sinnvollen Signale ankommen?

Und: Inwiefern sind die mods inkompatibel?
6  International / Deutsch / Re: Verwendung Watchdog on: September 24, 2012, 02:06:40 pm
Hallo Udo,
mein Widerspruch bezog sich damals auf den Beitrag Nr. 16.
Auch wenn der neue Bootloader „fixer“ ist, so ist er nicht schnell genug.

Ärger habe ich keinen gehabt. Habe nur getestet ob das Watchdog-Problem bei einem Chip mit dem neuesten unmodifizierten Bootloader noch immer auftritt. Und das tut es leider.


Mittlerweile brenne ich auf jeden neuen Chip sofort den geänderten Bootloader weil:
Nur 1 Kabel. RX und TX brauche ich beim Debuggen sowieso. Bei eingebauten Arduinos muss nur ein billiges USB-Kabel zugänglich sein. Beim Netbook brauche ich keinen USB Hub usw…


Bis jetzt sind mir keine Nachteile durch den DWatchdogMods-Parameter bekannt.
Deshalb frage ich mich:
Warum wird der offizielle Bootloader auf die Chips nicht gleich mit den DWatchdogMods gebrannt???

7  International / Deutsch / Re: Verwendung Watchdog on: September 24, 2012, 12:06:39 am
im Arduino Unterverzeichnis:
  hardware\arduino\bootloaders\atmega
in der Datei:
  makefile
beim entsprechenden Target bei:
  CFLAGS +=
den Parameter:
  '-DWATCHDOG_MODS'
hinzufügen

Beispiel für den Mega:
mega: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=0' -DBAUD_RATE=57600 '-DWATCHDOG_MODS'

Hex-Datei sichern, und aus dem Verzeichnis entfernen. Danach den Bootloader neu kompilieren (make.exe…)und via ISP auf den Chip brennen.

8  International / Deutsch / Re: Welches Arduino Board für CHDK Camera-Steuerung on: August 22, 2012, 09:00:00 am
Hallo,
ich will auch etwas Ähnliches machen, allerdings bin ich noch ganz am Anfang des Projektes (gebrauchte Kamera günstig ersteigern).
Mit dem CHDK kann man erkennen ob am USB Eingang eine Spannung anliegt. So funktionieren die CHDK Fernauslöser.

Mit entsprechender CHDK Programmierung ist es evt. möglich diesen Eingang als Schnittstelle zu missbrauchen. Wird zwar sehr langsam sein, müsste aber funktionieren.
9  International / Deutsch / Re: Verwendung Watchdog on: August 01, 2012, 01:11:31 am
UdoKlein ich muss Dir leider widersprechen. Ich habe soeben den Bootloader der Version 101 auf einen 328er gebrannt (Nano). Ohne die DWatchdogMods Option.
Nach dem Auslösen des WD ist der Chip Blockiert. Es lassen sich keine weiteren Sketche aufspielen. Der Chip kommt nicht einmal dazu über Serial etwas auszugeben.
Nach einem kurzen Trennen der Stromversorgung ist der WD (noch) nicht aktiv. Damit kann man über den Bootloader einen neuen Sketch aufspielen. Somit entkommt man der Falle, die man sich selbst gestellt hat. Ich glaube jedoch dass es nicht sinnvoll ist einen WD einzusetzen der nur den Chip blockieren kann. wg. Ausfallsicherheit usw :-)
Leider habe ich keinen Uno mehr frei um dasselbe damit zu testen.
Ich bleibe vorerst bei meiner DWatchdogMods Option. Lasse mich jedoch gerne eines Besseren belehren.

10  International / Deutsch / Re: Verwendung Watchdog on: July 31, 2012, 02:29:22 pm
@ UdoKlein
Du hast natürlich recht mit den Programmierfehlern. Allerdings waren die „Programmierfehler“: 1. WD vergessen zu setzen, 2. WD zum debuggen deaktiviert. Somit hat der WD selbst nicht versagt.
Bei einem externen WD mit Jumper wäre mir das genauso passiert.

@ids2001
Es wird vermutlich zu Konflikten kommen. Lese dir:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Watchdog (Hat mir UdoKlein damals empfohlen, Danke im Nachhinein)
Vor allem „WDT nach einem Reset“. Ich hatte mit einem Atmega328 genau das Problem. Erst WD auf 8 Sekunden eingestellt. Nach einem WD Reset war der WD auf eine sehr kurze Zeit (15ms ?) eingestellt. Keine Chance für den Bootloader.

Mit dem -DWATCHDOG_MODS Parameter gibt es kein Problem.

11  International / Deutsch / Re: Verwendung Watchdog on: July 31, 2012, 02:39:15 am
Die Argumente in den Links sind einleuchtend aber ich glaube etwas übertrieben. Lt. Datenblatt vom Atmega328 besitzt der interne WD einen eigenen Oszillator, wg Unabhängigkeit.
Wenn ich mir ein Szenario ausmale wo die Gefahr besteht dass ein wild gewordenes Programm den Watchdog ausschaltet, dann bin ich nicht mehr weit davon entfernt eine Risikoanalyse durchzuführen und die Lebensdauer der Taster zu berechnen...
Ein externe WD darf dann nicht mehr auf den Reset Pin vertrauen, sondern soll gleich die Stromversorgung des Arduino trennen. Galvanisch getrennt natürlich.
Vielleicht liege ich falsch aber bis jetzt hat bei mir der interne WD immer super funktioniert. Immer wenn ich dem internen WD die Schuld geben wollte, war es doch nur ein Programmierfehler.
Bei wem von euch hat der interne WD schon einmal richtig versagt?

@Kduin:
Zeige uns doch bitte Deinen Code.
12  International / Deutsch / Re: Verwendung Watchdog on: July 28, 2012, 06:49:47 am
Füge beim Arduino Bootloader den Parameter DWATCHDOG_MODS hinzu, kompiliere ihn und Brenne ihn auf den Chip.
Wenn der Arduino dann durch den Watchdog resettet wird, dann wird der Bootloader übersprungen und der Sketch sofort gestartet. Wenn das Reset einen anderen Grund hat, wird der Watchdog deaktiviert, und der Bootloader wartet auf den neuen Sketch.
13  International / Deutsch / Re: PHP Frage zum Arduino Webserver / PHP / Text parsen on: July 20, 2012, 02:27:02 am
Quote
Wäre es möglich die Daten auf meinem Server zu Speichern

Ja natürlich. Ich betreibe u.a. einen Arduino als Client. Dieser schickt mir alle 5 Minuten eine Request mit entsprechenden Daten an den Server. Dieser speichert die Daten, und gibt sie später entsprechend aufbereitet aus. In meinem Fall müssen bei einer Jahresstatistik über 100.000 Daten pro Variable verarbeitet/durchlaufen werden. Auch weniger sind ist für den Arduino zu viel. Wenn man dafür nur JavaScript verwendet, wird es auch für Clients (Smartphones) eng. Darum die ServerPHP Variante.
Wenn der Arduino Server bleiben soll, musst Du die Daten eben per Cronjob pollen. Sonst als Client.

Ich würde es so machen:
Der Arduino misst permanent die Temperatur. Bei einer Veränderung der Temperatur um 1 Grad, werden die Daten an den Server geschickt.
Der Server speichert die Daten in der Form:
Uhrzeit_Temp1_Temp2_Temp3[Zeilenumbruch]
Also
1342771934_0293_0283_0288
in einer Datei. (Uhrzeit kommt vom Server)

Wenn dir das Aussehen der Datei und der Kommunikation egal ist, dann mach den String so, dass er immer die gleiche Länge hat. Also:
…?T1=0293&T2=0283&T3=0288
Die TemperaturDaten werden inkl. Nullstellen in die Datei geschrieben. Beim Auslesen mit PHP beginnen die Temperaturwerte immer an der gleichen Stelle. Die Nullen werden ignoriert.
Wenn Du als Temperaturwerte Kelvin nimmst, ersparst Du dir das Minus (mit seehr großer Wahrscheinlickeit). Du musst nur die Temperatur in Einer, Zehner und Hunderterstelle zerlegen, und diese an der jeweiligen Stelle im Request eintragen. Wenn der Messbereich zwischen (-173°C und 726°C liegt, reichen auch nur 3 Stellen)

Solange Du Kontrolle über beide Server hast, kannst Du Dir ja alles so einfach wie möglich machen.
14  International / Deutsch / Re: PHP Frage zum Arduino Webserver / PHP / Text parsen on: July 19, 2012, 02:09:54 am
Ich würde Dir empfehlen die Werte in einer anderen Form in der Textdatei zu speichern. Ich würde die Textdatei gar nicht überschreiben sondern immer mit der aktuellen Uhrzeit den neuen Wert in eine neue Zeile schreiben. Dann kannst Du den Verlauf auswerten, ist eine nette Spielerei.

Wenn Du
$TEMPbuffer1 = fgets($TEMPhandle);
gegen
$TEMPbuffer1  = $TEMPbuffer;
tauscht geht es.

$TEMPbuffer1 ist leer wenn nur 1 Zeile in der Txt Datei steht.
15  International / Deutsch / Re: Arduino aus dem Internet erreichen on: July 17, 2012, 12:48:56 pm
Natürlich ist es für zeitkritische Anwendungen nicht geeignet.
Ich denke jedoch für Anfänger die 1 Sekunde warten können, und sich dafür die ganzen Sicherheits –und Netzwerkfragen ersparen, ist die Variante interessant. Außerdem kann man es auch in einem fremden Netzwerk einsetzen ohne etwas einstellen zu müssen.(DHCP vorausgesetzt)
Um mit einer Pan Tilt Kamera jemanden zu verfolgen ist es viel zu langsam.

Wg. Aufwand für DNS
Verstehe ich nicht ganz. Der Vorteil ist ja dass ich kein DNS-Service benötige.

Pages: [1] 2 3 4