Show Posts
Pages: 1 2 3 [4]
46  International / Deutsch / Re: Kann man diesen Code vereinfachen? on: November 10, 2011, 04:19:31 am
Habe ich das jetzt richtig verstanden?

Der ?-Code kann zur Compilezeit aufgelöst werden, wenn das Ergebnis feststeht.
Damit kann ich mir Schreibarbeit ersparen.
?-Code funktioniert dann wie ein intelligentes #define (unter obiger Voraussetzung).

Wenn das Ergebnis nicht feststeht wie beim Abfragen eines Pins, bringt mir der ?-Code dann Vorteile? Ist er schneller als If .. else?

Ich habe ein paar einfachste Zeitmessungen gemacht und keinen Unterschied feststellen können.

47  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 20, 2011, 02:26:46 pm
Hallo Uwe,

Ich habe die Arduinos nur zum Messen der Spannungen im Fehlerfall gekoppelt. Hätte ich GND nicht koppeln sollen? Habe gedacht dass muss so sein? War ein Versuch den Fehler zu finden, der Fehler ist auch davor aufgetreten. Wie gesagt bin Anfänger.

Wg. Schweißgerät
Bedeutet der Einsatz von einem Schweißgerät automatisch, dass der Arduino ausfällt? Gibt es eine Möglickeit das zu verhindern?
48  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 20, 2011, 12:34:58 pm
Hallo,

ich habe in der Zwischenzeit zumindest einen Pin vom 328-er geschrottet. Neuer ist schon bestellt. Größerer Kerko auch.

Also wenn es auf ein Problem mit der Spannungsversorgung hindeutet, meinst Du damit die Bereitstellung der 5V für den Arduino über den Spannungswandler auf dem Board, oder die Spannungsversorgung?
Warum tritt dieses Problem aber auch dann auf, wenn ich über die USB Buchse oder über eine 12V Batterie die Spannung bereitstelle?
Oder kann es ein Problem von z.B. Leitungen im Gebäude sein?

Aktuell habe ich ein Problem mit einem Arduino Mega Board. Die Peripherie habe ich leider schon vor den Problemen gebaut. Also wieder interne Pullups und LOW Prüfung. Leitungslänge 10cm zum Optokoppler. Spannung via ATX Netzteil, verbaut in alten PC Tower

Wenn ich ca. 20 Meter davon entfernt Schweiße, dann reagiert der Mega so, als ob der Optokoppler schaltet und den Pin auf Low zieht.
Ich habe einen 2. Mega (USB betrieben, Gnd gekoppelt) via Analogpins angeschlossen, um die Spannungen zu messen. (5V, 3,3V und Pin)
Alle Werte waren leider normal.

Beim Mega tu ich mir schwer einen Kerko anzulöten. Welche Bohrungen wären zu empfehlen?
Hat niemand anderer ähnliche Probleme?



Übrigens: Tipp, wenn ihr ein Sensor Shield für den Mega in China bestellt, achtet auf Pin vierzehn --> GND.
49  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 14, 2011, 03:12:43 pm
Ich habe jetzt 2 10nF Kerkos parallel an die Besprochenen Pins gelötet. (kein 22nF mehr vorhanden. Wäre ein 100nF besser gewesen?)

Ergebnis: es dauert etwas länger den Fehler auszulösen. Jedoch tritt er immer noch auf.
Danach habe ich die Masse der Batterie geerdet. Keine Verbesserung.
TasterPin habe ich auch wieder geändert.

Quote
Spannungsversorung in Reihe mit einer "Spule mit 1 Windung" und ziemlich großer eingeschlossener Fläche

Ok, das verstehe ich nicht. Vorallem (wie) kann man das ändern? Erstmalig ist das Problem auf übrigens einem freien Platz(30m) aufgetaucht.

Kann dies theoretisch bei PullDown auf Masse und Prüfung auf HIGH auch passieren?
50  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 14, 2011, 12:24:28 pm
Die Spannungsversorgung war bei den letzten Tests eine 12V Bleibatterie.
Ursprünglich war es ein 2-poliges Lautsprecherkabel mit ca 1mm2. Zum Schluss 30cm Einzelkabel mit Krokoklemmen.

Nachdem ich mir ein Board gekauft habe, habe ich mich überhaupt nicht damit beschäftigt. Also sollte ich ein 22nF Kerko zwischen Pin7 und Pin8 des Atmega328? (natürlich sind nicht die Arduinopins sondern die Pins des Atmega gemeint)
 
51  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 14, 2011, 11:44:11 am
Hallo,

jetzt habe ich es aufgegeben. Ich werde nur noch mit PullDown auf 5V schalten um etwas zu starten.

Ich habe mit einem 2. Duemilanove die Spannung am TasterPin gemessen und auf einem kleinen Grafikdisplay ausgegeben. Die Spannung war immer HIGH also „1023“. Außer ich hatte den Taster gedrückt oder einen Widerstand dazwischen gehängt da waren die Werte dann entsprechend.

Beim Berühren des Pins wie oben beschrieben, hat TuWas() immer wieder gestartet. Bei den Werten war jedoch keine Änderung erkennbar. Ich glaube eigentlich nicht, dass die Messungen zu langsam waren, Ich habe nur alle 100 ms Daten ausgegeben. Und da den niedrigsten Wert der Messungen dazwischen.

Dann habe ich eine Fernbedienung für TuWas() entdeckt! Ein Bunsenbrenner mit Piezozündung im Abstand von 10 – 15 cm. Und TuWas() startet (wie oben bei jeder 2., 3. Zündung). Dabei waren außer der Spannungsversorgung  keine Kabel eingesteckt.

Danach Test mit externem PullUp. Ergebnis: etwas weniger Starts von TuWas() aber immer noch Fehler.

Danach Test mit PullDown auf Masse und Prüfung auf HIGH.  Das erste Mal kein Fehler!!
Auch nicht wenn ich den Abstand verringere. Ist fast zu schön um wahr zu sein. Ich werde das irgendwann weiter Testen. Ein Plasmaschneider sollte genügend Störungen erzeugen?


Danke für eure Hilfe
52  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 14, 2011, 01:54:39 am
Hallo,

ich habe gestern ein bisschen weiter gemessen:

hier das Bild:



Multimeter 1 (V1 in Zeichnung): Innenwiderstand 1M Ohm
Multimeter 2 (V2 in Zeichnung): Innenwiderstand >2M Ohm (Multimeter1 kann nicht mehr als 2M Ohm Messen)

Ad Skizze 1:
Taster offen, Spannung zwischen Pin 7 und Gnd mit Multimeter1: 4,75 V (bei 12V Versorgung aus Netzteil/Akku)
Taster offen, Spannung zwischen Pin 7 und Gnd mit Multimeter2: 4,95 V (bei 12V Versorgung aus Netzteil/Akku)
Taster geschlossen, Spannung zwischen Pin 7 und Gnd: 0V bis max 0,01V.
Die Funktion TuWas() startet bei gedrücktem Taster immer. Bei nicht gedrücktem Taster alle 1 - 2minuten.

Ad Skizze 2:
Tasterkabel hängt in der Luft.
Spannungsmessung von V1 unterschiedliche Werte bis zu 200mV
Spannung zwischen Pin 7 und Gnd mit Multimeter2: 4,95 V

Wenn das Tasterkabel von Multimeter1 getrennt wird und wieder angehängt wird (im laufenden Betrieb), dann startet: TuWas() bei ca jedem 2. - 3. mal. Wenn das Tasterkabel angehängt bleibt startet TuWas() nach Pause von 1 bis 2 Minuten immer wieder einmal.
Multimeter2 zeigt keine Spannungsänderung.
Das Multimeter1 nichts sinnvolles misst ist mir jetzt klar. In den vorangegangenen Tests wollte ich damit einen möglichen Kurzschluss ausschließen.

Ad Skizze 3:
Wenn im laufenden Betrieb mit einem 3cm Drahtstück Pin7 berührt wird, dann startet TuWas() bei ca. jeder 2. Berührung. Am Multimeter ist keine Spannungsänderung zu erkennen.
Wenn das Multimeter2 von Pin7 getrennt(!) wird dann startet TuWas() bei ca. jeder 3. Trennung.

Ich habe alle Messungen mit unterschiedlichen Spannungsversorgungen durchgeführt.
Spannungsversorgungen: Schaltnetzteil 12V 8,5A; 12V BleiAkku( voll geladen); PC USB Buchse. Egal was angeschlossen war, der Fehler war immer wieder reproduzierbar. Bei Versorgung über die USB Buchse war nur die Spannung zwischen Pin7 und Gnd geringer.

Oszi habe ich leider keines. Bei den Ideen geht es mir ähnlich.
53  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 12, 2011, 03:29:12 pm
Hallo,

ich habe mit Funken diverse Störungen gemeint (Leuchtstofflampen...). Ich habe einmal ein Problem mit einem Relais gehabt (bei einer zugekauften und fremdprogrammierten Funk-Platine). Die Schaltung hat ohne Last super Funktioniert. Mit Last hat das Relais angefangen zu klackern. Selber Effekt wenn man ein Elektrisches Feuerzeug gezündet hat.

Beim Anschließen am Arduino hat nichts sichtbar gefunkt. Wohin auch?  Ich bin nur mit meinem Latein am Ende.

Danke für den Tipp mit der Spannungsversorgung!
Der Fehler tritt jedoch bei Versorgung über USB Buchse sowie über ein 12V Schaltnetzteil auf. Ich werde das morgen noch einmal mit anderen Quellen testen.
54  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 12, 2011, 02:51:14 pm
Hallo Udo,

der Taster trennt sauber. Auch wenn ich den Taster vom Kabel abklemme und auch die Rückleitung nicht am Arduino angeschlossen ist (damit ist ausgeschlossen dass das Kabel selbst einen Kurzschluss verursacht), kommt der Fehler.

Den Innenwiderstand des Multimeters weiß ich noch nicht. Aber bei der Messung mit dem Multimeter habe ich es zwischen den Tasterpin und die Tasterleitung (die ins nichts führt) gehängt. Und beim Anhängen hat er geschalten.

Kann es sein dass ein Funke so eine Störung verursachen kann?
55  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 12, 2011, 02:11:56 pm
Danke für die Überprüfung!! Schön dass es der Code nicht ist. Danke für die Hintergrundinfos.

Alles weitere kann ich mir auch nicht mehr erklären. Also zwischen TasterPin und Gnd liegen 4,5 Volt an. Wenn der Taster betätigt wird, dann 0V.
Wenn ich an Pin7 das Multimeter hänge, und das 2. Multimeterkabel an die Leitung des Tasters, welcher nicht betätigt ist. Und die Rückleitung des Tasters nirgends angeschlossen ist. Dann zeigt mir Das Multimeter bis zu 0,5Volt an (bei freihängendem Kabel).
Trenne ich das Kabel des Tasters vom Multimeter und verbinde ich es danach wieder, so wird wieder geschaltet > TuWas();.

Kann man die internen Pull-ups eigentlich irgendwie abschiessen? Ich werde in Zukunft wohl nicht mehr auf die internen Pull-ups vertrauen.
56  International / Deutsch / Re: Taster mit internem Pull-up Anfängerfrage/Problem on: April 12, 2011, 12:18:16 pm
Danke für die schnelle Antwort.

Tschuldigung mein Fehler. Mein WerkstattPC hängt nicht am Netz dadurch habe ich falsches kopiert und gepostet.  smiley-red

Hier der aktuelle Code (gerade getestet):
Code:
boolean Sperre2 = false;
const int Taster = 7;

void setup() {
 pinMode(13, OUTPUT);
 pinMode(Taster, INPUT); // setzt Taster als Eingang
 digitalWrite(Taster, HIGH); //Pullup einschalten
 delay(1000);
}


void loop(){
  if (digitalRead(Taster) == LOW && Sperre2 == false){
   Sperre2 = true;
   TuWas();
   delay(500);
   Sperre2 = false;
  }
}

void TuWas(){
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
}

Das hat jedoch nichts an meinem Fehler geändert. Ca. jedes 2. oder 3. mal wenn ich mit dem Kabel den TasterPin berühre started das die Funktion TuWas(). Sogar wenn ich ein Multimeter dazwischenhänge  (zwischen Pin und freihängendem Kabel) welches mir beim Berühren kurzzeitig bis zu 0,5V anzeigt wird gestartet.
Kann es sich dabei um Potentialunterschiede oder Kapazitäten oder EMV-Störungen handeln? Ich habe zu wenig Ahnung und nicht die richtigen Geräte dafür. Vorallem wie kann ich es abstellen?

Ist eine Schaltung mit externen Pullups/Pulldowns verlässlicher? Ich will meinen Arduinos wieder vertrauen.
57  International / Deutsch / Taster mit internem Pull-up Anfängerfrage/Problem on: April 12, 2011, 07:41:23 am
Hallo,

ich wollte mit einem Duemilanove mehrere Relais und Pneumatikventile steuern. Dafür habe ich einen Taster an Pin8 mit ca. 2 Metern Länge, den ich gegen Masse schalte. Am Pin8 ist der interne Pull-up eingeschalten.

Mein Problem ist jedoch, dass wenn das Kabel des Tasters angeschlossen ist, dann wird das Programm gestartet, ohne Druck auf den Taster. Das passiert nicht immer sondern nur von Zeit zu Zeit. Auch wenn im Betrieb ein 10cm Kabel an den Pin angehängt wird beginnt er ab und zu von selbst.
 
Am Tasterpin liegen ca. 4,5 Volt an. Ändern des Pins auf einen anderen bringt keine Verbesserung. Bei meinem 2. Duemilanove Board (anderer Hersteller) ist es das Selbe.

Mein Code:

Code:
boolean Sperre = false;
const int Taster = 8;

void setup() {
  pinMode(Taster, INPUT); // setzt ‘pin’ als Eingang
  digitalWrite(Taster, HIGH); //Pullup einschalten
  delay(1000);
}

void loop(){
  if (digitalRead(Taster) == HIGH && Sperre == false){
   Sperre = true;
   TuWas();
   delay(500);
   Sperre = false;
  }
}

void TuWas(){
  digitalWrite(13, HIGH);   // set the LED on
  delay(100);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
}

Woran könnte es liegen? Ist es generell besser auf die internen Pullups zu verzichten? Kann es sein dass irgendwie Störungen eingefangen werden, und der Taster als Antenne fungiert?
58  International / Deutsch / PS/2 Keyboard: multiple Keys Fehler on: March 02, 2011, 02:17:35 pm
Hallo,

vorweg ich bin Anfänger und habe vor 2 Wochen das erste Mal vom Arduino gelesen. Am selben Abend hab ich dann auch das erste Board bestellt. Nach ersten Hallo Welt Programmen, habe ich heute eine PS2 Tastatur an den Duemilanova angeschlossen.

Das Auslesen der Tastendrücke funktioniert, solange nur eine Taste gedrückt wird. Werden jedoch 3 Tasten gleichzeitig gedrückt, dann erscheinen im Serial Monitor falsche Werte z.B.: '[' beim Drücken von  'z'. Beim Druck auf andere Tasten gibt es überhaupt keine Reaktion mehr.
Wenn ich den Serial Monitor schließe und wieder öffne (ohne Reset des Nova) dann ist das Problem behoben. Solange bis wieder 3 Tasten gleichzeitig gedrückt werden.

Als Libraries hab ich 3 unterschiedliche ausprobiert. Unter (Anderem http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html)

Jedoch war es immer das selbe. Woran könnte es liegen?

Danke im Voraus.

Mein Code:

Code:
#include <PS2Keyboard.h>
const int DataPin = 4;
const int IRQpin =  3;
PS2Keyboard keyboard;

void setup() {
  delay(1000);
  keyboard.begin(DataPin, IRQpin);
  Serial.begin(9600);
  Serial.println("Keyboard Test:");
}

void loop() {
  if (keyboard.available()) {
     Serial.println(c);
  }
}



 
Pages: 1 2 3 [4]