Pages: [1]   Go Down
Author Topic: Frage zu Interrupts  (Read 419 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich habe eine Frage zum Thema Interrupts. Ich möchte an einem MEGA den Interrupt auf PIN 2 durch einen zweiten MEGA auslösen. Dabei bin ich auffolgendes, mir unverständliches gestoßen. Wenn ich es wie im ersten Bild (not_working.jpg)machen, also vier Digitale Ports via Breadboard direkt an den Interrupt lege passiert nichts. Setze ich jedoch Zener-Dioden dazwischen geht es (Bild 2, working.jpg).

Hier noch der Code:

Code:

int TIMER_MIN = 500;
int TIMER_MAX = 3000;
int RELEASE_PIN_1 = 7;
int RELEASE_PIN_2 = 8;
int RELEASE_PIN_3 = 9;
int RELEASE_PIN_4 = 10;



void setup(){
 
 Serial.begin(9600);
 pinMode(RELEASE_PIN_1, OUTPUT);
 pinMode(RELEASE_PIN_2, OUTPUT);
 pinMode(RELEASE_PIN_3, OUTPUT);
 pinMode(RELEASE_PIN_4, OUTPUT);

}


void loop(){
 
 int iRandomPin = random(RELEASE_PIN_1,RELEASE_PIN_4);
 int iRandomTime = random(TIMER_MIN, TIMER_MAX); //set delay
 
 delay(iRandomTime);
 
 digitalWrite(iRandomPin, HIGH);
 String sRandomPin = String(iRandomPin, DEC); //convert Pin to String
 String sOutput = String("Pin "+ sRandomPin +" triggered"); //build output string
 Serial.println(sOutput); //Output as String
 delay(50);
 digitalWrite(iRandomPin, LOW);
 
}

Woran liegt das?


Danke
Peter


* not_working.jpg (293.94 KB, 1186x1696 - viewed 24 times.)

* working.jpg (299.14 KB, 1188x1709 - viewed 22 times.)
Logged

Germany
Offline Offline
Edison Member
*
Karma: 46
Posts: 2309
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Im ersten Fall deklarierst du alle Pins als Ausgang und legst sie auf Masse. Die Pins untereinander haben aber eine direkte Verbindung! Wenn du nun einen der Ausgänge High schaltest, gibt es einen saftigen Kurzschluss. Dies ist ein sehr effektives Mittel, seinen Arduino in die ewigen elektronischen Jagdgründe zu schicken.

Im zweiten Fall verhidnerst du durch die Dioden den Stromfluss zu den Low-Ausgängen - kein Kurzschluss, alles bestens. Bist du sicher, dass du Zener-Dioden verwendest?
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ja danke für den Hinweis in der Tat  habe ich in den Zeichnungen etwas vergessen, auf dem Brettchen ist allerdings.
Ja es sind Zener,.. warum?


* not_working1.jpg (301.17 KB, 1231x1702 - viewed 21 times.)

* working1.jpg (302.86 KB, 1192x1712 - viewed 21 times.)
Logged

Germany
Offline Offline
Edison Member
*
Karma: 46
Posts: 2309
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nach den Zenerdioden fragte ich deshalb, weil du normale Dioden im Schaltplan hast. Zenerdioden haben eine Durchbruchspannung, daher ist deine zweite Schaltung nicht gerade "sicher" - abhängig davon welche Zenerdioden verwendet wurden.
Übrigens sollten beide Mega2560 das gleiche Bezugspotential haben, eine Masseverbindung beider Boards ist also ratsam.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Laut Fritzing sind es Zenerdioden. Das sie "live" anders aussehen ist mir auch schon aufgefallen smiley. Ich verwende 3V3-Zener auf meinem Board, weil die gerade in meinem Kasten waren.

Danke für den Tipp mit der Verbindung beider Boards. Werd dann heute abend daran denken.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 46
Posts: 2309
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Eine 3,3V-Zener bricht aber beim 5V-Pegel der Pins auch durch. So ganz ausgereift ist die Beschaltung nicht. Wozu ist es denn notwendig, zwei Boards zu verwenden? Waas für ein Projekt wird das denn?
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich hab das mit den Zener so verstanden, das der Strom in Richtung Markierung fließt. Also nach "oben" in meinem Fall.

Ja zum Projekt,... das ist eins von einem Freund, welches ich Testen soll. Im Prinzip sollen per Interrupt das Vorliegen von Sensorwerten gemeldet werden. Insgesamt sind es vier Sensoren. Der Testaufbau soll zunächst einmal das Prinzip darstellen.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 46
Posts: 2309
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In Durchlassrichtung verhalten sich Zener ja wie herkömmliche Dioden. Nur gibt es eben einen gewollten Spannungsdurchbruch, wenn man sie in Sperrrichtung betreibt. In deinem Fall ist dieser Spannungsdurchbruch jedoch sicher nicht gewünscht, du solltest zumindest herkömmliche Dioden verwenden. Alternativ lassen sich auch Logikgatter (hier: Oder-Gatter 74HC32 o.ä.) verwenden.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Faraday Member
**
Karma: 96
Posts: 3501
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du braucht noch einen Widerstand, dann hast du ein Wired-OR:
http://en.wikipedia.org/wiki/Wired_logic_connection#The_wired_OR_connection

Das geht aber mit normalen Dioden. Die Diode sperren dann wenn an allen Low anliegt (bzw. es liegen einfach beide Seiten an GND). Sobald an einer High anliegt, fließt Strom der am Widerstand in einer Spannung abfällt.
« Last Edit: August 21, 2013, 04:33:01 am by Serenifly » Logged

Pages: [1]   Go Up
Jump to: