INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino Mega Interrupts
23.06.2014, 19:07
Beitrag #1
Arduino Mega Interrupts
Hallo zusammen,
laut folgendem Link hat der Arduino Mega ja nur 6 "Interrupt-Pins".
http://arduino.cc/de/Reference/AttachInterrupt

Für ein kommendes Projekt muss ich aber 10 Sensoren anschließen, die unabhängig von Programmschleifen und Delays überwacht werden müssen. Gibt es eine Möglichkeit mehr Interrupt-Pins zu bekommen außer mit dem Arduino Due? Auf den würd ich gern verzichten, weil der mit 3,3V arbeitet.
Im Notfall müsste ich halt zwei Sensoren an ein Pin anschließen, aber das ist auch nicht so das wahre...:/

Vielen Dank schonmal

Liebe Grüße

Julian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.06.2014, 19:24
Beitrag #2
RE: Arduino Mega Interrupts
(23.06.2014 19:07)dyne schrieb:  ....
Für ein kommendes Projekt muss ich aber 10 Sensoren anschließen, die unabhängig ...

Hallo,
..öhm was für Sensoren denn Bitte ? So einfach läßt sich deine Frage nämlich nicht beantworten.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.06.2014, 19:42
Beitrag #3
RE: Arduino Mega Interrupts
Stimmt, sollte man erwähnen Big Grin
Es handelt sich hierbei um 10 Durchflusssensoren, die jeweils das Volumen verschiedener Flüssigkeiten messen sollen. Als Signal bekomme ich ein Rechteckimpuls. Bei einem Liter Durchlass sind es 2500 Impulse und diese müssten eben gezählt werden.

Das Produkt & Datenblatt ist hier
http://www.conrad.de/ce/de/product/15039...01-10-lmin

Man kann natürlich auch weniger Sensoren nehmen. Beispielsweise einen für zwei Flüssigkeiten. Dann würde ich das Problem lösen, aber dann muss ich die Schläuche wieder verbinden mit Rücklaufventilen. Ich weiß nicht was mehr Aufewand ist.

Also ihr dürft mich gern korrigieren, wenn ich was falsches sage. Ist ein Experiment, wo meine Überlegungen noch nicht sehr weit sind.

LG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.06.2014, 21:34
Beitrag #4
RE: Arduino Mega Interrupts
(23.06.2014 19:42)dyne schrieb:  Stimmt, sollte man erwähnen Big Grin
Es handelt sich hierbei um 10 Durchflusssensoren, die jeweils das Volumen verschiedener Flüssigkeiten messen sollen. Als Signal bekomme ich ein Rechteckimpuls. Bei einem Liter Durchlass sind es 2500 Impulse und diese müssten eben gezählt werden.

Das Produkt & Datenblatt ist hier
http://www.conrad.de/ce/de/product/15039...01-10-lmin

Man kann natürlich auch weniger Sensoren nehmen. Beispielsweise einen für zwei Flüssigkeiten. Dann würde ich das Problem lösen, aber dann muss ich die Schläuche wieder verbinden mit Rücklaufventilen. Ich weiß nicht was mehr Aufewand ist.

Also ihr dürft mich gern korrigieren, wenn ich was falsches sage. Ist ein Experiment, wo meine Überlegungen noch nicht sehr weit sind.

LG

shortcut,
also mal hochgerechnet können die Sensoren 3l/min macht dann 2500*3L*10Sensoren = 75.000 Imp/min / 60 = 1250/sek = alle 800uS ein Impuls was für die CPU zu schaffen sein soll im Worst Case. Nur das mit der Anzahl der Interrupts klemmt noch... man könnte mal beim Mega2560 danach schielen ob er noch Timer frei hat...zum zählen...
lass mich mal drüber schlafen.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.06.2014, 22:27
Beitrag #5
RE: Arduino Mega Interrupts
Hi,
mal sehen...
Folgende Möglichkeiten fallen mir dazu ein:
  • Zwei Megas nehmen
  • Ein Zähler-IC für jeden Sensor (z.B. http://www.produktinfo.conrad.com/datenb...6__TID.pdf. Das Auslesen der Zähler "verbraucht" dummerweise viele Pins, aber da könnte man was mit Schieberegistern machen. Die Zählerstände kann man dann relativ gemütlich auslesen.
  • 1-Wire Counter (http://www.eservice-online.de/Stromzaehl...unter.html). Das ist ähnlich wie der vorherige Vorschlag, nur mit weniger Hardware. (Man kann die Dinger hintereinander hängen und braucht zum Auslesen nur einen (!) Pin.
  • Das ganze ohne Interrupts machen und einfach pollen. Das könnte noch funktionieren.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.06.2014, 18:04
Beitrag #6
RE: Arduino Mega Interrupts
(23.06.2014 22:27)Thorsten Pferdekämper schrieb:  Hi,
mal sehen...
Folgende Möglichkeiten fallen mir dazu ein:
  • Zwei Megas nehmen
  • Ein Zähler-IC für jeden Sensor (z.B. http://www.produktinfo.conrad.com/datenb...6__TID.pdf. Das Auslesen der Zähler "verbraucht" dummerweise viele Pins, aber da könnte man was mit Schieberegistern machen. Die Zählerstände kann man dann relativ gemütlich auslesen.
  • 1-Wire Counter (http://www.eservice-online.de/Stromzaehl...unter.html). Das ist ähnlich wie der vorherige Vorschlag, nur mit weniger Hardware. (Man kann die Dinger hintereinander hängen und braucht zum Auslesen nur einen (!) Pin.
  • Das ganze ohne Interrupts machen und einfach pollen. Das könnte noch funktionieren.
Gruß,
Thorsten

Hi,
kurzer Kommentar zu deinen Vorschlägen, also der 4040 ist nun mal für diskrete Digitaltechnik gemacht, als der entstand gabs noch keine Mikrokontroller....merkt man. Und der DS2423 scheint so teuer zu sein das man für einen Chip sich schon einen Fernost-Mega-Arduino leisten kann znd man bräuchte dann auch gleich 5 Chips davon. Ergo ist dein Vorschlag mit dem Zweiten Mega wohl der einfachste Weg das zu lösen. Das mit dem Polling....da hätte ich nun bedenken... aber auch müßte man mal untersuchen was passiert wenn alle 6 Interrupts gleichzeitig anstehen....wäre mal Interessant das zu testen.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.06.2014, 18:12
Beitrag #7
RE: Arduino Mega Interrupts
Hallo Bk,
Zitat:aber auch müßte man mal untersuchen was passiert wenn alle 6 Interrupts gleichzeitig anstehen....wäre mal Interessant das zu testen.
Das müsste doch per Definition in die Hose gehen, oder ? Huh
Man liest doch überall Interrupt ruft ISR auf. Während ISR läuft, läuft nix anderes, also auch keine ISR von anderem Interrupt ???

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.06.2014, 18:17 (Dieser Beitrag wurde zuletzt bearbeitet: 24.06.2014 18:22 von Thorsten Pferdekämper.)
Beitrag #8
RE: Arduino Mega Interrupts
(24.06.2014 18:04)Bitklopfer schrieb:  kurzer Kommentar zu deinen Vorschlägen, also der 4040 ist nun mal für diskrete Digitaltechnik gemacht, als der entstand gabs noch keine Mikrokontroller....merkt man.
Kann schon sein. Ich kann mir aber vorstellen, dass das ganze ohne etwas wie einen extra Zähler schwierig wird. Vielleicht gibt es geschicktere Lösungen als den 4040, aber im Prinzip ist die Idee nicht ganz so dumm, oder?
Man kann so im Prinzip garantieren, nie einen Impuls zu verpassen.

Zitat:Und der DS2423 scheint so teuer zu sein das man für einen Chip sich schon einen Fernost-Mega-Arduino leisten kann znd man bräuchte dann auch gleich 5 Chips davon.
Das liegt wohl daran, dass die DS2423 anscheinend nicht mehr hergestellt werden. Ist eigentlich schade, weil ziemlich praktisch.

(24.06.2014 18:12)rkuehle schrieb:  Hallo Bk,
Zitat:aber auch müßte man mal untersuchen was passiert wenn alle 6 Interrupts gleichzeitig anstehen....wäre mal Interessant das zu testen.
Das müsste doch per Definition in die Hose gehen, oder ? Huh
Man liest doch überall Interrupt ruft ISR auf. Während ISR läuft, läuft nix anderes, also auch keine ISR von anderem Interrupt ???

Ich hätte da auch irgendwie meine Bedenken, aber andererseits wäre es schon komisch, wenn das ein Problem ist. Sonst würden ja immer mal wieder Interrupts verloren gehen, oder?
Ich denke, dass die Interrupts sozusagen gespeichert bleiben und dann nacheinander abgearbeitet werden. ...außer natürlich, das Ding kommt gar nicht mehr nach.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MEGA 2560 mit 5V 12A Netzteil betreiben möglich? Nafetz 18 478 11.11.2016 05:59
Letzter Beitrag: peterfido
  3 Arduino Mega, 2 Sender 1 Empfänger claudius 22 619 18.10.2016 17:32
Letzter Beitrag: Pardini
  Zwei Ausgabeports am Mega verbinden um 50 mA Verbraucher anzuschließen ? holo 15 860 01.02.2016 13:07
Letzter Beitrag: Bitklopfer
  Arduino Mega Fehlverhalten hanse44 5 722 27.01.2016 08:25
Letzter Beitrag: hotsystems
  Pinbelegung UNO und Mega für TFT Anschluss AchDuShrek 4 1.478 19.11.2015 21:40
Letzter Beitrag: Klaus(i)
  Absturz/Interrupts bei externer Erdung/GND dsjiern 20 1.966 29.10.2015 18:39
Letzter Beitrag: hotsystems
  UTFT an Arduino mega mit Flachbandkabel anschließen Jensus 1 876 03.10.2015 12:52
Letzter Beitrag: hotsystems
  MPU 9150 mit Arduino Mega Neo2030 6 904 19.09.2015 21:01
Letzter Beitrag: HaWe
Question Mega und nrf24 MeRo113 0 728 19.08.2015 17:56
Letzter Beitrag: MeRo113
  Windows 10 erkennt Arduino Mega 2560 nicht Th3o 5 2.120 08.08.2015 09:02
Letzter Beitrag: Th3o

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste