Show Posts
Pages: [1] 2 3 ... 6
1  International / Deutsch / Re: Drahtbefestigung an den Arduino Buchsenleisten on: January 27, 2013, 09:08:58 am
Designfehler glaub ich nicht. Eher ein Schutz, um die Shields nicht verkehrtrum draufzustecken.
Was sagt einer der Entwickler dazu?
http://arduino.cc/forum/index.php/topic,22737.msg171836.html#msg171836
2  International / Deutsch / Re: suche Altenative zu delay(); on: January 25, 2013, 07:58:19 pm
Der üblichere und deutlich weniger rechenintensive Weg wäre, statt einer Division einfach eine Subtraktion zu nehmen. Der Code der Halbsekundentakt-Funktion sähe dann so aus:
Code:
  static long alterWert;
  if (milllis() - alterWert > 500)
  {
    alterWert=millis();
    return(true); 
  }
  else return(false);
Analog für andere Taktungen.
3  International / Deutsch / Re: Leonardo (USB Keyboard): VendorID ProductID /Name ändern on: January 22, 2013, 07:31:32 am
Herzlichen Glückwunsch, das Teil bringt dir überhaupt nichts. Der USB-Chip ist nicht ausbaubar und passt außerdem nicht in so eine Fassung. Das gilt für den Leonardo genau so wie für den Uno, nur dass bei letzterem wenigstens der andere Chip, der mit dem eigentlichen Programmcode, entfernt, umprogrammiert und gewechselt werden kann (sofern es nicht die SMD-Variante ist).
Was du brauchst ist ein In-System-Programmer oder ISP. Den kannst du dir notfalls auch aus einem anderen Arduino zusammenbauen, aber der muss auf jeden Fall an die 6 ISP-Pins am rechten Rand vom Arduino angeschlossen werden können.

Und Uwe, deine Beschreibung von VID und PID stimmt auch nicht ganz. VID und PID stellen gemeinsam eine Gerätesignatur dar, die für alle gleichartigen Geräte (und manchmal auch etwas mehr) identisch ist. Der Unterschied ist lediglich, dass die VID vom USB-IF an einzelne Hersteller vergeben wird, welche dann 65536 verschiedene Gerätetypen damit herausgeben können.

DreiMalNull, wenn du soweit bist dass du eine Hex-File draufgebrannt kriegst kannst du ihn beim Schreiben einer falschen Hex-Datei auch ohne weiteres wiederherstellen, wenn er nicht mehr antwortet. Das einzige was du so kaputt machen kannst dass du den Chip mit einem Programmiergerät nicht mehr beschreiben kannst sind die Fuses, und an die solltest du bei deinen Programmieraktionen gar nicht drankommen.
Gut, streng genommen könntest du deinen Chip noch elektrisch zerstören, aber das liegt dann nicht an der falschen Hex-Datei, sondern an falschen Spannungen. Ein ordentliches Programmiergerät sollte sowas aber nicht ermöglichen, wenn du den Stecker richtig draufsteckst.
4  International / Deutsch / Re: Alte Platinen wiederverwenden on: November 28, 2012, 04:15:15 am
Die Versorgungsspannung passt schon, aber die Pegel für das Umschalten dazwischen sind oft unterschiedlich definiert. Also wie viel "Spielraum" man für seine High- und Low-Pegel hat, was Dämpfung und Rauschen und sowas angeht. Das sollte aber nur eine nennenswerte Rolle spielen, wenn man die Hardware am Limit betreibt. Ordentliche 0V- und 5V-Pegel werden natürlich ordentlich verarbeitet, solange man nicht Voltweit daneben liegt oder Nanosekunden-Präzision in den Schaltzeiten braucht ist eigentlich alles in Ordnung.
Das Klassische Beispiel ist der Edge Detector. Es ist möglich, eine Schaltung zu konstruieren, die auf einen Eingang folgende Logik anwendet:
Y = A und nicht A.
Eigentlich sollte Y immer 0 sein, da "A" und "nicht A" nie gleich sein können. Trotzdem kannst du durch Verzögerungen schon mal einzelne Spitzen kriegen. Das hat zwar bisher nichts mit verschiedenen Technologiefamilien zu tun, aber hier hast du ein Beispiel, wie kurze Verzögerungen dein Ergebnis beeinflussen könnten, obwohl du an sich gar nicht so Empfindlich mit der Zeit sein willst.
Wenn HCT es taugt, tut es LS genau so gut. Das T in HCT steht ja extra dafür, dass die Pegel auf Kompatibiltät mit den alten TTL-Teilen ausgelegt sind.
5  International / Deutsch / Re: Double Modulo on: November 28, 2012, 04:05:06 am
Streng genommen hat die Standard-C-Mathematikbibliothek eine Modulo-Funktion für floating point Zahlen, aber nicht über den %-Operator, sondern mit der fmod(double,double)-Funktion. Wie gut sie von avr-libc und Arduino implementiert ist weiß ich jedoch nicht. Aber selbst wenn, bleibt das bereits von anderen erwähnte Problem der Präzision von floating point.
6  Development / Other Hardware Development / Re: Allduino (bluetooth, lipo battery+charger, ATMEGA328P, FTDI) Eagle Design on: November 17, 2012, 01:32:57 pm
Cool thing, but forcibly tying the BT module to a software serial means it cannot be moved to the hardware serial for cool stuff like wireless programming and such.
7  International / Deutsch / Re: Digitalpin Eingang mit USB Lader 5V 500 - 1000ma beaufschlagen? on: November 15, 2012, 05:40:33 pm
...
Wo kein Strom, da keine Spannung. ...
Diese Aussage kann ich nicht teilen. Spannung (Potentialunterschied) kann vorhanden sein ohne daß Strom fließt. Strom fließt aber immer zwischen 2 verschiedenen Potentialen (Dichte der freien Ladungen in einem Leiter).
In Ordnung, ich präzisiere: Bei endlichem Widerstand. Und die Inputs haben soetwas, besonders wenn die Dioden leitfähig werden.

Quote from: Fat D
Weiterhin könnte man auch einen Spannungsteiler verwenden. Hierbei sollte aber sichergestellt sein, dass der Pegel bei aktivem Netzteil deutlich über VIH liegt. Zwar verhindert ein Schmitt-Trigger, dass nennenswert statische Verluste auftreten, aber ich denke du hättest trotzdem gerne einen stabilen Pegel. Ansonsten gäbe es noch den ADC oder den Komparator.

Die Engänge des Arduino haben keine Schmitttrigger-Funktion.
Atmega328P-Datenblatt Abbildung 13-2 (Seite 76) unten. In Abschnitt 13.2.5 noch mal seperat erwähnt. Gut, es ist kein präzise spezifizierter oder einstellbarer Schmitt-Trigger, aber es sollte gut genug sein, um statische Verluste zu minimieren. Dynamische allerdings könnten durch Rauschen weiterhin entstehen, je nach Hysterese mehr oder weniger.
8  International / Deutsch / Re: Digitalpin Eingang mit USB Lader 5V 500 - 1000ma beaufschlagen? on: November 15, 2012, 01:54:06 pm
Wenn der Pin sicher ein Eingang bleibt, ist der Strom kein Thema.
Uwe's Einwand des Stromverbrauchs eines offen betriebenen USB Laders ist vermutlich auch nicht so gravierend, im Vergleich zum Stromverbrauch von Pumpe / Ventilator, die ja eigentlich "überwacht" werden.
Aber Bernd's Einwand:
Quote
In dem Anwendungsfall hier ist es viel wichtiger die Spannung von 5V zu verifizieren!
Ich habe hier etliche "angebliche" 5V-Steckernetzteile rumliegen, die im Leerlauf locker 7-8V Ausgangsspannung haben und erst bei (entsprechend hoher) Belastung auf ca. 5V einbrechen.

ist sehr wichtig: Der Arduino mag keine Eingangsspannung über 5.5 V, egal wie wenig Strom fließt.

Eine 4.7V Zenerdiode ( zusätzlich zu den schon beschriebenen Widerständen ) wäre in diesem Fall erforderlich.

Wo kein Strom, da keine Spannung. Wenn du eine Leerlaufspannung von mehr als VCC+0.7V oder so anlegst, fließt Strom durch die ESD-Dioden (und die parasitären Substratdioden der MOSFETs), welche den Pin beschädigen können wenn der Strom zu hoch ist. Daher kommt die Gefahr der Eingangsspannungen. Ist dieser Strom jedoch durch einen Widerstand beschränkt, sorgen die Dioden auch dafür, dass die Spannung am Pin wieder sinkt. Es muss nur sicher gestellt werden, dass das nicht bei zu großem Strom passiert, da das wieder auf die Dioden geht. Daher ist eine Schutzschaltung sinnvoll. Ausreichend dimensionierte Widerstände sollten reichen, aber eine Z-Diode schadet nicht.
Weiterhin könnte man auch einen Spannungsteiler verwenden. Hierbei sollte aber sichergestellt sein, dass der Pegel bei aktivem Netzteil deutlich über VIH liegt. Zwar verhindert ein Schmitt-Trigger, dass nennenswert statische Verluste auftreten, aber ich denke du hättest trotzdem gerne einen stabilen Pegel. Ansonsten gäbe es noch den ADC oder den Komparator.
9  International / Deutsch / Re: Probleme mit der Berechnung von Integer-Werten on: November 11, 2012, 06:15:07 pm
Natürlich ist Uwes Lösung die eleganteste, aber ob direkte Portmanipulation bei der Vermeidung von Fehlern hilft ist immer recht zweifelhaft.
10  International / Deutsch / Re: Probleme mit der Berechnung von Integer-Werten on: November 11, 2012, 05:28:51 pm
Das Problem könnte sein, dass pow(int,int) nicht definiert ist.
pow(float,int) ist außerdem ziemlich Ressourcenaufwändig, genau wie float-Arithmetik an sich. Ich würde zu einer Variablen raten, die in jedem Schleifendurchlauf verdoppelt wird. Falls du das ganze dann weiter optimieren willst kannst du die Verdoppelung dann anstatt per Multiplikation auch per Addition realisieren oder per Bitverschiebung. Aber das ist auch nicht unbedingt nötig.
11  International / Deutsch / Re: Warum eigentlich so teuer? on: November 11, 2012, 07:10:47 am
Die Leute wollen sagen, dass der Vergleich mit dem Pi ein wenig hinkt, weil dieser ein vollkommen anderes Einsatzgebiet hat. Natürlich hat der Pi eine höhere Rechenleistung und Funktionsvielfalt, allerdings kommen beim Due weitere Kostenfaktoren hinzu wie die Spannungsregelung höherer Eingangsspannungen, die hohe Zahl an GPIOs, verscheidene zusätzliche Peripheriefeatures (ADCs, zusätzliche UARTs, ein weiterer I²C, CAN etc.), und damit verbunden die ganzen vorbestückten Header. Außerdem arbeitet die RPi-Foundation bewusst darann, den Preis runterzuschrauben, während es dem Arduino-Team darum ging, möglichst viel Mikrocontroller-Funktionalität (und dazu zählen die oben genannten Peripheriecontroller mehr als Rechnerhardware wie beim Pi) in ein Paket zu schaufeln.
12  Community / Products and Services / Re: Arduino Micro Debut in the US on: November 06, 2012, 03:03:51 pm
The Micro is clearly a small, breadboardable Leonardo. But it is more expensive and while it does break out the SPI pins (both the data/clock lines only wired to the ISP on the Leo and the SS pin which is not broken out on the Leo at all), it is still slightly gimped compared to Adafruits non-Arduino 32U4 dev board, which also features the RXLED and HWB pins broken out. While one might be able to jumper some wires to the two NC pins, I do not think the Arduino label makes the extra price and effort for a full-featured 32U4 dev board worthwhile. Only good for those who cannot bootload it themselves, I guess.
13  International / Deutsch / Re: Arduino UNO: ISP-Verbindung für EthernetShield V5.0 notwendig?? on: October 21, 2012, 11:32:14 am
Eine der weniger schicken Designentscheidungen des Arduino-Teams, keine standardisierte Position für ISP auf den Rand zu packen. Beim TWI konnten sie das ja mit dem 1.0-Layout (Uno/Mega2560 R3, Leonardo, Due) noch nachholen, aber für die drei bis vier weiteren Pins gab es wohl weder Interesse noch Platz, und die Verwendung von D10-D13 hat man sich ja schon beim Mega verbaut.
14  International / Deutsch / Re: dynamisches Array on: October 01, 2012, 12:55:52 pm
Deine Fassung sieht auf jeden Fall sinnvoller aus.
15  International / Deutsch / Re: dynamisches Array on: September 30, 2012, 10:34:33 am
Der C++-Standard sieht keine Arrays dynamischer Länge vor. Willst du solche hinzufügen bedarf es also solcher Dinge wie new oder malloc.
Pages: [1] 2 3 ... 6