Forum: Mikrocontroller und Digitale Elektronik Arduino Yun defekt


von Marcel L. (superhans)


Lesenswert?

Wie kann ich herausfinden ob ein Kanal meines Arduinos einen defekt hat? 
Ich wollte mit zwei Arduinos (Uno und Yun) sowie 2 XBee Modulen eine 
Funkstrecke Überbrücken. Habe vorher noch nie die Rx/Tx Linien der 
XBee's bzw auch nicht der Arduinos genutzt. Nach längerer suche habe ich 
nun festgestellt das der D0 des Arduino Yuns also der Rx Eingang nicht 
mehr sauber auf 0V heruntergeht wenn dieser Low ist. Ich habe bei Low 
geschaltetem Ausgang 0,96V an dem D0 anliegen. Der Tx dagegem schaltet 
sauber auf 0V (oder besser auf 0,04V) durch wenn ich ihn auf LOW lege. 
Höchstwahrscheinlich funktioniert deswegen auch die drahtlose 
Kommunikation nicht.

Kann mir jemand sagen ob die 0,9V ein sicheres Anzeichen für tot sind 
oder worin mein Fehler liegt.

von PittyJ (Gast)


Lesenswert?

Ein Eingang geht nicht runter?
Der soll doch auch nicht schalten, oder?
Oder wie ist das genau gemeint?

von R42 (Gast)


Lesenswert?

R42 ist kaputt.

von Markus (Gast)


Lesenswert?

Marcel L. schrieb:
> Kann mir jemand sagen ob die 0,9V ein sicheres Anzeichen für tot sind

Nein, ist nicht sicher.

Marcel L. schrieb:
> oder worin mein Fehler liegt.

Port ist auf Ausgang geschalten?
Schreib einen ganz einfachen Code der nur diesen Ausgang ein und 
ausschaltet und zeig den Code.

Hänge die ganze Peripherie ab, und miss dann nochmals.

von Marcel L. (superhans)


Lesenswert?

Markus schrieb:
> Port ist auf Ausgang geschalten?
> Schreib einen ganz einfachen Code der nur diesen Ausgang ein und
> ausschaltet und zeig den Code.
>
> Hänge die ganze Peripherie ab, und miss dann nochmals.

int port = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(port, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if (true)
    digitalWrite(port,HIGH);
    delay(2000);
    digitalWrite(port, LOW);
    delay(2000);
}

Mit diesem Code messe ich an D0 (also Rx) 2s lang 0,96V und dann 2s lang 
4,58V. Direkt mal ne andere Frage, warum geben die Arduino Boards nie 
saubere 5V aus sondern ehr die 4,5V das ist mir beim UNO ebenfalls 
schonmal aufgefallen.

von Sprachpolizei (Gast)


Lesenswert?

Markus schrieb:
> Port ist auf Ausgang geschalten?

"ist geschalten"? => "ist geschaltET"
Gewöhne Dir das mal ab ;-)

von San L. (zwillingsfreunde)


Lesenswert?

Marcel L. schrieb:
> Nach längerer suche habe ich
> nun festgestellt das der D0 des Arduino Yuns also der Rx Eingang nicht
> mehr sauber auf 0V heruntergeht wenn dieser Low ist.

Ist dies auch so, wenn keine Peripherie mehr angeschlossen ist?
Bedenke aber: RX ist ein EINGANG! Schlussendlich kann es dir sogesehen 
egal sein, ob dieser Pin als output konfiguriert korrekt funktioniert. 
Die chance das dies aber nicht der Fall ist, ist natürlich vorhanden 
wenn er schon jetzt Probleme macht.

Marcel L. schrieb:
> Kann mir jemand sagen ob die 0,9V ein sicheres Anzeichen für tot sind
> oder worin mein Fehler liegt.

Nein, kein ischeres anzeichen. Falls du denkst es könnte uns helfen, 
poste mal ein Bild eines Schemas oder ähnlichem, wie du das ganze 
aufgebaut hast.

Marcel L. schrieb:
> int port = 0;

Auch wenns nichts zum Thema beiträgt: Ein INT zu definieren für ein Bit 
ist ein bisschen übertrieben. ;)

Marcel L. schrieb:
> Direkt mal ne andere Frage, warum geben die Arduino Boards nie
> saubere 5V aus sondern ehr die 4,5V das ist mir beim UNO ebenfalls
> schonmal aufgefallen.

Liegt vermutlich an der Eingangsschaltung der USB Spannung. Da wird dir 
wohl eine Diode dazwischenfunken. Ist aber nicht weiter tragisch, für 
die Elektronik machts keinen Unterschied.

von unbekannter (Gast)


Lesenswert?

Gab mal Zeiten, wo ein einfacher AVR weniger als 1€ gekostet haben soll. 
Doch dann wurden viele Leute zu dumm/faul, um diese so zu benutzen, wie 
sie die Fab ausspuckte. Daher zahlen diese Leute seither viel für 
irgendein AVR Frickelboard und fragen, wieso ihr Frickelboard nicht mehr 
funktioniert, ohne eigentlich zu wissen, was sie da überhaupt machen

von Marcel L. (superhans)


Angehängte Dateien:

Lesenswert?

Es ist der Aufbau einer Türklingel aus dem Buch "Building Wireless 
Sensor Networks". Schemabild habe ich angehängt. Ich habe den D0 nun 
auch mal als Input konfiguriert. Wie im Schemabild mit einem 10k 
Pulldown Widerstand. Es kommen dann merkwürdigerweise schon 2,1V aus dem 
D0 heraus.


San Lue schrieb:
> Liegt vermutlich an der Eingangsschaltung der USB Spannung. Da wird dir
> wohl eine Diode dazwischenfunken. Ist aber nicht weiter tragisch, für
> die Elektronik machts keinen Unterschied.

Ach jo klar, der USB-Port gibt nur 5V aus und durch den Regler der 
vermutlich auf dem Arduino sein wird werden die natürlich nicht ganz 
erreicht, macht Sinn ;-).

unbekannter schrieb:
> Gab mal Zeiten, wo ein einfacher AVR weniger als 1€ gekostet haben soll.
> Doch dann wurden viele Leute zu dumm/faul, um diese so zu benutzen, wie
> sie die Fab ausspuckte. Daher zahlen diese Leute seither viel für
> irgendein AVR Frickelboard und fragen, wieso ihr Frickelboard nicht mehr
> funktioniert, ohne eigentlich zu wissen, was sie da überhaupt machen

Damit ist mein Problem natürlich gelöst ja. Danke

von San L. (zwillingsfreunde)


Lesenswert?

unbekannter schrieb:
> Gab mal Zeiten, wo ein einfacher AVR weniger als 1€ gekostet haben soll.
> Doch dann wurden viele Leute zu dumm/faul, um diese so zu benutzen, wie
> sie die Fab ausspuckte. Daher zahlen diese Leute seither viel für
> irgendein AVR Frickelboard und fragen, wieso ihr Frickelboard nicht mehr
> funktioniert, ohne eigentlich zu wissen, was sie da überhaupt machen

Kann ich dir indirekt zustimmen. Bin auch kein Fan von dieser Arduino 
Generation, welche alle irgendetwas zusammenbasteln ohne wirklich zu 
wissen, wie etwas funktioniert. Gerade bei Arduino ists extrem, wieviele 
Leute sich Projekte aus Lib's zusammenprogrammieren. Wenn man sie dann 
nach der Funtkionsweise ihres Programms fragt, heisst es nur: "Keine 
Ahnung, die Lib machts."

Trotzdem musst du einsehen, dass auf einem Arduino einige nette Dinge 
implementiert sind. Für Leute, welche korrekt an die Sache ran gehen und 
sich auch mit der Materie beschäftigen, kann das Teil durchaus praktisch 
sein. Immerhin ersparrt es einem den Kauf einer eigenen Leiterplatte 
oder ähnlichem. Für mich persönlich wäre dies jetzt kein Grund, zu einem 
Arduino zu greiffen, für viele aber schon...

Alles in allem kannst du nicht sagen, dass der Arduino schlecht ist. Man 
kann mit dem Teil sehr wohl ineteressante Projekte vollziehen. Das 
Problem liegt eher bei den ganzen Benutzern, denn weit über die hälfte 
hat absolut 0 Plan was sie damit anstellen.

Marcel L. schrieb:
> Damit ist mein Problem natürlich gelöst ja. Danke

Gewöhn dich an solche kommentare hier im Forum. Wirst du als Arduino 
User oft zu hören kriegen. (Dich verurteile ich nicht, du scheinst 
wenigstens Ahnung zu haben wovon du sprichst!)

Marcel L. schrieb:
> Ich habe den D0 nun
> auch mal als Input konfiguriert.

So ist RX ja auch zu verwenden. TX sendet Daten, RX Empfängt sie. Die 
konfiguration als Input kannst du also gleich mal so lassen.

Marcel L. schrieb:
> Es kommen dann merkwürdigerweise schon 2,1V aus dem
> D0 heraus.

Sind die auch zu messen, wenn das XBee Modul nichtmehr angeschlossen 
ist?

von Markus (Gast)


Lesenswert?

San Lue schrieb:
> int port = 0;
>
> Auch wenns nichts zum Thema beiträgt: Ein INT zu definieren für ein Bit
> ist ein bisschen übertrieben. ;)
Das wird wegoptimiert und ist im Sinner der Vereinfachung in den Arduino 
Beispielen so enthalten.
Immer noch besser so, wie in jeder Zeile einzeln den Arduino-Port als 
Zahl zu schreiben.
Schöner wäre CONST int port = 0; oder CONST byte port = 0;

Marcel L. schrieb:
> Direkt mal ne andere Frage, warum geben die Arduino Boards nie
> saubere 5V aus sondern ehr die 4,5V das ist mir beim UNO ebenfalls
> schonmal aufgefallen.

Dahinter ist ja nur ein "normaler" Atmega. Entweder ist die Last zu 
gross oder ein Problem mit der Speisung oder einer GND-Verbindung 
besteht.

Wie schon erwähnt wurde, mal ganz ohne Last messen, und mit einem 
richtigen Netzteil.

von Marcel L. (superhans)


Lesenswert?

San Lue schrieb:
> Gewöhn dich an solche kommentare hier im Forum. Wirst du als Arduino
> User oft zu hören kriegen. (Dich verurteile ich nicht, du scheinst
> wenigstens Ahnung zu haben wovon du sprichst!)

Ich stimme euch ja auch zu das die Arduinos sicherlich nicht das 
non-plus-ultra sind. Habe auch selber ein STK500 zuhause und ein paar 
"Blanko" AVR's. Für einfache Prototypen finde ich die Arduino Plattform 
aber eben super genial. Man muss nicht erst wieder das Rad neu erfinden 
oder 3 Tage Zeit damit verschwenden sich irgendwelche 
Spannungsregulierungen etc. zusammenzulöten. Ich nutze die Ardunios halt 
gerade wegen dem Rapid-Prototyping. Sollte mal alles so funktionieren 
wie gewünscht werde ich mit Sicherheit auch einen uC ohne Arduino 
Plattform verwenden.

San Lue schrieb:
> So ist RX ja auch zu verwenden. TX sendet Daten, RX Empfängt sie. Die
> konfiguration als Input kannst du also gleich mal so lassen.

Muss ich die RX, TX Line wirklich manuell konfigurieren? Ist zwar genau 
die Aussage die du nicht hören willst aber das macht doch eigentlich die 
Library, oder?

San Lue schrieb:
> Sind die auch zu messen, wenn das XBee Modul nichtmehr angeschlossen
> ist?

Ja sind Sie, sowohl der Versuch mit dem OUTPUT als auch als INPUT habe 
ich ohne XBee durchgeführt.

von San L. (zwillingsfreunde)


Lesenswert?

Marcel L. schrieb:
> Muss ich die RX, TX Line wirklich manuell konfigurieren? Ist zwar genau
> die Aussage die du nicht hören willst aber das macht doch eigentlich die
> Library, oder?

Genau das meine ich... "Macht die Lib." Und wenn man dich dann fragt, 
was die Lib denn genau macht, wirst du antworten: "Keine Ahnung." Ich 
bin mir nur an "Blanko" uC's gewöhnt, hab die Hardware immer selbst 
entwickelt. Gerade dinge wie UART usw. habe ich immer selber 
Konfiguriert. Da ich die Arduino IDE nicht kenne, geschweige denn die 
LIB's, kann ich dir diese Frage beim besten will nicht beantworten.
Ist der Code der Libs denn ersichtlich? Sonst schau dir den mal an, 
dürfte ja nicht schwierig sein herrauszufinden, ob diese konfiguration 
von der Lib selbst vorgenommen wird.

Marcel L. schrieb:
> Ja sind Sie, sowohl der Versuch mit dem OUTPUT als auch als INPUT habe
> ich ohne XBee durchgeführt.

Das ist sehr seltam. Wie siehst mit dem Yun aus, ist das Teil Open 
Hardware? Existiert davon ein Schema? Weiss nämlich nicht, was alles an 
dem Pin hängt...

von Einhart P. (einhart)


Lesenswert?

Geh' systematisch an die Sache 'ran: Verbinde RX und TX am Arduino. Dann 
teste ob die gesendeten Daten empfangen werden können.

Die Ausgänge können nicht genau 0V oder die Versorgungsspannung 
erreichen. Im AVR schalten Halbleiter und keine Relais. Da hilft auch 
für Arduino Nutzer ein Blick in's Datenblatt.

Ist dir klar, dass RxD und TxD über Brücken (0Ohm Widerstände) mit dem 
MIPS Prozessor verbunden sind? D.h. wenn du Rxd als Ausgang schaltest 
arbeitet dieser gegen dex TxD Ausgang des anderen Prozessors - die 
gemessene Spannung passt schon. Du spielst aber mit dem Leben deiner 
Hardware.

von Konrad S. (maybee)


Lesenswert?

Beim Yun hängt an RX/TX noch der WLAN/Linux-Teil mit dran.
http://arduino.cc/en/Main/ArduinoBoardYun?from=Products.ArduinoYUN

von Andreas H. (ahz)


Lesenswert?

Marcel L. schrieb:
> Ich habe den D0 nun
> auch mal als Input konfiguriert. Wie im Schemabild mit einem 10k
> Pulldown Widerstand. Es kommen dann merkwürdigerweise schon 2,1V aus dem
> D0 heraus.

Hast Du den (internen) PullUp des D0-Pins abgeschaltet ?

/greets
Andreas

von Marcel L. (superhans)


Lesenswert?

Ich hab den Fehler gefunden. Und bin mal wieder ein ganzes Stück 
schlauer. Der Fehler lag in den zwei Seriellen Schnittstellen die der 
Yun besitzt. Die eine ist mit der Linux CPU verbunden und die andere mit 
den Kontakten D0 und D1. Ich habe lediglich die Schnittstelle Serial 
betrachtet die aber genau zum Linux Teil führt. Richtig muste es die 
Serial1 Klasse sein.
Danke an alle

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.