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.
Ein Eingang geht nicht runter? Der soll doch auch nicht schalten, oder? Oder wie ist das genau gemeint?
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.
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.
Markus schrieb: > Port ist auf Ausgang geschalten? "ist geschalten"? => "ist geschaltET" Gewöhne Dir das mal ab ;-)
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.
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
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
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?
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.
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.
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...
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.
Beim Yun hängt an RX/TX noch der WLAN/Linux-Teil mit dran. http://arduino.cc/en/Main/ArduinoBoardYun?from=Products.ArduinoYUN
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
