Tod eines Arduino Leonardo

Servus,
ich habe leider den 2 Tod eines ATmega32u4 auf einem Arduino Leonardo zu bedauern. Leider finde ich nicht raus was seinen Tod verursacht hat.
Deffekt sind D12 und A7(D6). Praktischerweise liegen diese ja im selben Port des ATmega32u4, daher tipp ich darauf das D12 kaputt gegangen ist, weil D6 sich verabschiedet hat.

Die Schaltung soll ein paar Aufnehmer mit 12 oder 15V zum Warmlaufenversorgen versorgen. Über eine Diose (LL4148) zwischen dem Aufnehmer (max 200mA pro Sensor) und GND wird dann die Spannungabgegriffen und in die Analogeingänge geführt.

Follgendes hab ich geprüft:

  1. Dioden und Widerstände sind in Ordung --> vmtl. also nicht direkt 12 V an den eingängen Anliegen gehabt ( Ps beim 1ten mal war ein 2 Ohm Shunt drin der durchgebrannt ist)

  2. Leiterbahnen von der GND seite zum Anschluss Ground liegen um die 0,2 Ohm

  3. Eine Reihenschaltung von 4,4 Ohm an den gehenden Analogeingängen hat diese nicht zerstört sondern nur die Widerstände erwartungsgemäß durchschmoren lassen.

Was könnte man sonst noch testen?

Schaltplan: Screenshot by Lightshot

Hallo,

ich kann den Schaltplan nicht öffnen. Hänge die Datei (Bild?) als Anhang ran. Ist einfacher. Vorher auf sinnvolle Größe verkleinern. 1024x768 oder so sind mehr als ausreichend finde ich. 800x600 tun es meistens auch.
Deinen Beitrag kannste auch editieren.

Ich darf mal den Schalplan sichtbar machen :slight_smile:
(siehe Attachment für besser lesbare Größe)

Was ist ein "Aufnehmer" in diesem Kontext? Bzw. was schliesst Du jeweils an 1 und 2 (6 Pol Dose) an?

Hallo,

Danke für den Schaltplan. :slight_smile:

Also für die Pins links an die LEDs sehe ich keine Gefahr.
Die Pins rechts A0...A7 sind alles Eingänge bei dir?
Wie sieht denn der Rest der Schaltung "Pol Dose" aus? Nicht das der Spannungsteiler nicht stimmt und von den 12V oder 15V bedingt am Ende mehr wie 5V an den analogen Eingängen dauerhaft anliegen und dieses zerstören. Mit den Sinn der Dioden rechts komme ich auch nicht klar ohne den Rest zu kennen. Denn so würde ich behaupten das du eigentlich immer 0,7V messen müßtest, wenn etwas dran hängt. Was hängt wie an den Kontakten "Pol Dose"? Das würde Licht ins Dunkel bringen.

Denn so würde ich behaupten das du eigentlich immer 0,7V messen müßtest, wenn etwas dran hängt.

Nicht immer, aber immer unter 0,8V
Strommessung.

Solange GND der Dioden und Arduino GND ZUVERLÄSSIG verbunden sind, und keine negativen Spannungen auftreten, geht das klar.

Hallo,

stimmt, könnte eine Strommessung werden. :slight_smile: Der Rest der Schaltung wäre dennoch gut zu kennen.

Ich würde vor die A0..A7 noch 10k Widerstände zwischen schalten. Die Stören nicht, und wenn du einen Eingang ausversehen als Output setzt, geht dann auch nix kaputt und die Schutzdioden im µC freuen sich.

Morgen, schon mal danke für die ganzen Antworten.

pylon:
Was ist ein "Aufnehmer" in diesem Kontext? Bzw. was schliesst Du jeweils an 1 und 2 (6 Pol Dose) an?

Solche Aufnehmer:http://www.eth-messtechnik.de/de/01_produkte/01_drehmomentaufnehmer/120_sensor_rotierend.html
Prinzipiell versorgen die den Aufnehmer in dem einige Op-schaltungen, eine PWM Schaltung... drinn ist

Doc_Arduino:
Die Pins rechts A0...A7 sind alles Eingänge bei dir?
Wie sieht denn der Rest der Schaltung "Pol Dose" aus? Nicht das der Spannungsteiler nicht stimmt und von den 12V oder 15V bedingt am Ende mehr wie 5V an den analogen Eingängen dauerhaft anliegen und dieses zerstören. Mit den Sinn der Dioden rechts komme ich auch nicht klar ohne den Rest zu kennen. Denn so würde ich behaupten das du eigentlich immer 0,7V messen müßtest, wenn etwas dran hängt. Was hängt wie an den Kontakten "Pol Dose"? Das würde Licht ins Dunkel bringen.

Ja A0-A7 sind Eingängen, bei dennen ich dann im Betrieb 0,7V messen möchte über die Dioden.

Das was du zu beschreiben versuchst, verstehe ich nicht.

Zeig mal wie die Drehgeber angeschlossen sind.
Welcher Gebertyp wird genau eingesetzt?
Was geben die Geber aus? Strom/Spannung welcher Bereich?
Woher kommt die Schaltungsidee (Schaltplan)?
Wozu benötigt es eine 12V/15V Umschaltung?
Der Sketch wäre auch nicht schlecht.

#include "TimerOne.h"  
int a = 0;
int b = 1800;
int c = 0;
int d = 1800;
int e = 0;
int f = 1800;
int g = 0;
int h = 1800;
int i = 0;
int j = 1800;
int k = 0;
int l = 1800;
int m = 0;
int n = 1800;
int o = 0;
int p = 1800;
int alle_x_sekunden=1;

void setup() {

pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

Timer1.initialize(alle_x_sekunden*1000000);
Timer1.attachInterrupt(abfrage);


}

void abfrage (){
  //Wenn A0>(5V*(60/1024)) dann start
  if( a > 60 ){
  b--; }
  else if( a == LOW)
  { b = 1800;}
   if( b == 0 ){digitalWrite(13, LOW);}
  else if( b > 0 ){digitalWrite(13, HIGH);}
//a ist der Analog Read von CH1

   if( c > 60 ){
  d--; }
  else if( c == LOW)
  { d = 1800;}
   if( d == 0 ){digitalWrite(12, LOW);}
  else if( d > 0 ){digitalWrite(12, HIGH);}
//c ist der Analog Read von CH2

  if( e > 60 ){
  f--; }
  else if( e == LOW)
  { f = 1800;}
   if( f == 0 ){digitalWrite(11, LOW);}
  else if( f > 0 ){digitalWrite(11, HIGH);}
//e ist der Analog Read von CH3

  if( g > 60 ){
  h--; }
  else if( g == LOW)
  { h = 1800;}
   if( h == 0 ){digitalWrite(10, LOW);}
  else if( h > 0 ){digitalWrite(10, HIGH);}
//g ist der Analog Read von CH4

    if( i > 60 ){
  j--; }
  else if( i == LOW)
  { j = 1800;}
   if( j == 0 ){digitalWrite(9, LOW);}
  else if( j > 0 ){digitalWrite(9, HIGH);}
//i ist der Analog Read von CH5
  
    if( k > 60 ){
  l--; }
  else if( k == LOW)
  { l = 1800;}
   if( l == 0 ){digitalWrite(8, LOW);}
  else if( l > 0 ){digitalWrite(8, HIGH);}
//k ist der Analog Read von CH6

      if( m > 60 ){
  n--; }
  else if( m == LOW)
  { n = 1800;}
   if( n == 0 ){digitalWrite(1, LOW);}
  else if( n > 0 ){digitalWrite(1, HIGH);}
//m ist der Analog Read von CH7

   if( o > 60 ){
  p--; }
  else if( o == LOW)
  { p = 1800;}
   if( p == 0 ){digitalWrite(0, LOW);}
  else if( p > 0 ){digitalWrite(0, HIGH);}
  //o ist der Analog Read von CH8
  
  }
  
void loop() {
 a = analogRead(A0);
 c = analogRead(A1);
 e = analogRead(A2);
 g = analogRead(A3);
 i = analogRead(A4);
 k = analogRead(A5);
 m = analogRead(A6);
 o = analogRead(A7);
}

mde110:
Das was du zu beschreiben versuchst, verstehe ich nicht.
1.Zeig mal wie die Drehgeber angeschlossen sind.
2.Welcher Gebertyp wird genau eingesetzt?
3.Was geben die Geber aus? Strom/Spannung welcher Bereich?
4.Woher kommt die Schaltungsidee (Schaltplan)?
5.Wozu benötigt es eine 12V/15V Umschaltung?
Der Sketch wäre auch nicht schlecht.

1.Er wird über die 6 Poldosen Angeschlossen an Pin 2 Ub und Pin1 GND
2. alle
3. Egal die sind dann auf der gegenseite auf Pins die in der Schaltung nicht angeschlossen sind. Es wird nur die Versorgungsspannung angeschlossen das die Elektronik warmlaufen kann, vor dem kalibrieren.
4. T1, T2 und Leonardo waren vorgabe von meinem Meister um es günstig zu halten. ps. der ist auch Planlos.
5. Es gibt 12 V und 15V Aufnehmer bei der DRFL-Reihe, somit braucht man 2 Betriebsspannungen.

1.Er wird über die 6 Poldosen Angeschlossen an Pin 2 Ub und Pin1 GND

Und was wollt ihr mit den Sensoren Messen? Drehzahl/Drehwinkel??
Hat die Messung je Funktioniert und plausieble Werte ausgegebn?

Nach deiner Beschreibung sind die aus meiner Sicht völlig falsch angeschlossen!
Die Sensoren geben Messwerte 0-10V aus.
Ihr braucht 3 Pins:
Ub, GND, "Uout"

Bitte schicke mal die Steckerbelegung exemplarisch für den DRFL. Ich finde die nicht.
Und mache mal bitte ein Foto vom Aufbau/Anschluss der Sensoren.

mde110:
Und was wollt ihr mit den Sensoren Messen? Drehzahl/Drehwinkel??
Hat die Messung je Funktioniert und plausieble Werte ausgegebn?

Nach deiner Beschreibung sind die aus meiner Sicht völlig falsch angeschlossen!
Die Sensoren geben Messwerte 0-10V aus.
Ihr braucht 3 Pins:
Ub, GND, "Uout"

Bitte schicke mal die Steckerbelegung exemplarisch für den DRFL. Ich finde die nicht.
Und mache mal bitte ein Foto vom Aufbau/Anschluss der Sensoren.

Wir wollen messen ob ein Aufnehmer angeschlossen ist, nichts anderes. Ist keiner Angeschlossen fällt über der Diode dank dem Pull-down 0V ab, eine Rote LED leuchte (zb. LED 16). Sobald jedoch ein Aufnehmer angeschlossen ist fallen ja 0,7V ab und nach 30 min soll dann die Rote Led (zb. LED 16). ausgehen und einer grüne Angehen(zb. LED 15).

Ok, dann habe ich zu kompliziert gedacht.

Ich empfehle also nochmals >10k vor jeden Analogeingang. Dann sollten die Pins durch die int. Schutzdioden gut genug geschützt werden können.
Wenn z.B: eine Diode (D1 bis D8) kaputt geht, oder einen Wackler hat, bekommst du sonst die vollen 12V/15V auf den Eingang. Und dann heißt es RIP again!

Eventuell zu D1 bis D1 noch antiparallel eine Diode (Schutz vor neg. Spannungen woher auch immer).

Die Beschaltung wäre in diesem Sinne korrekt.
Du müsstest dann an entsprechenden Eingängen eine Digital-Wert von wenigsten 100 lesen müssen (0,5V).

Wie schaut es denn aus, wenn du mal ein Multimeter über die jeweilige Diode legst ? Was misst du da ?

Ich finde es problematisch eine Diode in der Masseleitung des Sensors zu haben. Die Messung der Ausgangsspannung des Sensors wird dadurch ungenau.

Grüße Uwe

..... nicht unbedingt - sofern die Betriebsspannung noch intern stabilisiert wird und im Betrieb dadurch keine nennenswerten Spannungsschwankungen auftreten.
Elegant ist es dennoch nicht.

Ich vermute vielmehr - wie schon geschrieben wurde - das hier. z.B. beim Aufbau auf einem "Brot-Brett" irgendwann mal kein richtiger Kontakt der Diode(n) und/oder 1k-Widerstände und/oder "fliegende Masse" vorlag und so der arme Leonardo mächtig was aufs Auge bekommen hat.
24V dürften definitiv tödlich sein.

uwefed:
Ich finde es problematisch eine Diode in der Masseleitung des Sensors zu haben. Die Messung der Ausgangsspannung des Sensors wird dadurch ungenau.

Grüße Uwe

Er will ja nur messen, ob ein Sensor angeschlossen wurde. Keine Ausgangsspannungen, davon war ich am Anfang auch ausgegangen.
Meiner Meinung nach ist die Schaltung mit der DIode dafür im Prinzip ok.

Eventuell hätte ich über einen Shunt und der 1,1V Referenz des Arduino gemessen. Für mich hätte auch eine günstigerer UNO gereicht.
Aber danach wird ja nicht gefragt...

mde110:
Er will ja nur messen, ob ein Sensor angeschlossen wurde. Keine Ausgangsspannungen, davon war ich am Anfang auch ausgegangen.
Meiner Meinung nach ist die Schaltung mit der DIode dafür im Prinzip ok.

Eventuell hätte ich über einen Shunt und der 1,1V Referenz des Arduino gemessen.

Prinzipiell war es am Anfang mit 2,2 Ohm/0,25W shunts da sind aber dann auch 2 Board innerhalb des 1 Monats durchgebrannt. Rechnerisch gesehen bei 0,2A hätten max 0,08W und im schlimmsten Fall bei 0,5A max 0,22W abfallen sollen.

Also kam die Entscheidung auf Dioden zuwechseln um einen festen Spannungsabfall zu haben. Das lief jetzt bei 4 im Umlaufbefindlichen boxen, in dem die Leonardos drin sind jetzt 1 Jahr lang Problemlos bis Kurz vor Weihnachten und niemand konnte sich erklären, warum er denn sich jetzt verabschiedet hat.

mde110:
Ich empfehle also nochmals >10k vor jeden Analogeingang. Dann sollten die Pins durch die int. Schutzdioden gut genug geschützt werden können.

Eventuell zu D1 bis D1 noch antiparallel eine Diode (Schutz vor neg. Spannungen woher auch immer).

Das wären die Maßnahmen, die ich jetzt machen würde. Damit sind die Eingänge sowohl gegen hohe Spannungen wie auch Verpolungen geschützt, falls durch Induktion und eine unglückliche Unterbrechung eine Gegenspannung auftreten kann.