Arduino UNO <-> NANO, Software mit INT0 läuft nur auf UNO --> gelöst :-)

Hi,

jetzt bin ich mit meinem Latein am Ende.
Habe auf einem UNO mit 328 DIL-Chip eine Software entwickelt, die auf PinD2 (= INT0) die Signale eines S0-Zählers aufnimmt und die Zeit zwischen 2 Signalen berechnet. Aufbau wie folgt: PinD2 mit 4k7 gegen 5V. dann PinD2 mit dem optokoppler des S0-Zählers gegen Masse. Klappt prima und bringt auch plausible Werte.

Nachdem die Softwareentwicklung abgeschlossen ist, wollte ich das Programm auf einem Nano (Platzproblem) portieren. Auf dem Nano ist ja auch ein 328er. Zwar eine andere Bauform, aber das sollte m.E. unkritisch sein.

Allerdings bekomme ich hier auf D2 keine stabilen Signale rein. Normal erwarte ich alle 10 Sekunden einen Impuls. Aber auf dem Nano flattert das Signal richtig. Ich hab die Schaltung jetzt schon 3 mal neu auf einem Breadboard aufgebaut, aber immer das selbe Ergebnis.

Hab ich irgendwas übersehen? Sind die beiden Chips doch nicht identisch?
Wäre um jede Hilfe dankbar. Aktuell hab ich keine Idee mehr

Gruß/hk007

hk007:
Hab ich irgendwas übersehen? Sind die beiden Chips doch nicht identisch?
Wäre um jede Hilfe dankbar. Aktuell hab ich keine Idee mehr

Die Atmega328 sollten sich gleich verhalten.

Aber hast Du auch die Polung des Optokopplers beachtet oder ist der jetzt vielleicht verpolt an Deinem S0-Zähler angeschlossen?

Polung passt. Bin ich mir sicher :slight_smile:

Edit:
Hab mal umgebaut auf D3 (Int 1) Da läuft es :slight_smile:
Da hats wohl jetzt was mit dem Pin D2.... Mal suchen

Meines Wissens ist der Unterschied zwischen DIL und SMD Version des ATmega328 daß die SMD Version 2 Analoge Eingänge mehr hat die nicht als Digitale Pins verwendet werden können.
Natürlich ist es möglich, daß Dein NANO kaputt ist und deswegen Pin 2 nicht funktioneirt. Hast Du es mit einem 2. NANO versucht?

Grüße Uwe

Hi,

an einen defekten Nano, oder ne kalte Lötstelle hab ich auch schon gedacht.

Aber manchmal ist man wie vernagelt. Ich hab auf dem Nano noch ein Ethernetshield drauf gesteckt : http://www.ebay.de/itm/Ethernet-Shield-for-Arduino-Nano-UNO-R3-work-as-ENC28J60-RJ45-Webserver-/111242798349?pt=Wissenschaftliche_Geräte&hash=item19e696650d. Auf dem UNO hatte ich ein anderes, das ich selber verdrahtet hatte.

War immer der Meinung, das nutzt nur die Ports D10/11/12/13.
Irgendwann so um 3:45 Uhr hab ich dann so weit rückwärts gebaut bis es funktionierte. Und siehe da. Das Shield war der Übeltäter. An und für sich ist das Shield eine super Sache, klein und direkt auf den nano steckbar. Allerdings hab ich dann ewig im Inet nach nem Schaltplan gesucht, und siehe da: Der Pin D2 wird auf dem Shield mit dem /INT des ENC28J60 verdröselt. Da das Shield auch ohne das Signal läuft, häng ich den jetzt am Shield einfach ab und hab wieder meine 2 Interrupt-Pins.

So long /hk007

Das mit dem Shield hattest Du nicht gesagt :~
Gratulation zum Fehlerfinden
Grüeß Uwe

uwefed:
Das mit dem Shield hattest Du nicht gesagt :~

Ja ich weiss, das klebt so schön unter dem Nano, dass ich es total vergessen habe. Mea culpa, mea maxima culpa :cold_sweat:

und Danke für den Link zum Shield - kannte ich noch nicht und ist sehr interessant

Ist halt kein Wiznet, sondern "nur" ein ENC28j60. Ne Lib gibts ja dafür und reicht mir für meine Belange vollkommen aus.
Bei Interesse suche ich noch mal den Link fürs Schaltbild.

==> ein bischen OffTopic.
Willst du eine "echtes" kleines Wiznet haben schau mal hier

Gruß
DerDani