PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hardwarefragen - ArduIO



fabqu
10.12.2014, 12:36
Dieser Thread dient zum Diskutieren / Mitteilen von Problemen / Fragen rund um die Hardware der ArduIO.


Gleich ein erster Punkt:
Bei Verwendung des hinteren rechten 3,2mm-Lochs zur Befestigung von Distanzbolzen/Schrauben/Muttern: Es kann ein Kurzer zur Drosselspule bzw zu ihren Kontakten/Pads auftreten. War bei mir nicht der Fall, ist aber möglich! Dann liegt UBat an GND (wenn die Distanzbolzen irgendwoe GND abbekommen) und dann verbrezelt sicherlich die Platine oder die Spule.
Daher hier bitte äußerste Vorsicht!

Zum Zweiten kann ein USB-Anschluss eines Arduinos zur darüber liegenden ArduIO einen Kurzschluss verursachen. Das hat einfach mit der Länge der Pins zu tun. Ist mir schon einmal bei einem selbst gebauten Arduino-Shield aufgefallen. Warum man hier keinen Micro-B oder Mini-B vorgesehen hat, weiß ich auch nicht. Bitte hier einfach ein Stück Tape über das USB-Gehäuse.

Grüße

TrainMen
16.12.2014, 13:13
Hi Leute,
Ich denke ich bin hier richtig, weil ja eigentlich das hier https://www.roboternetz.de/community/threads/65296-I-O-ADC-und-DAC-Erweiterung-f%C3%BCr-RP6-3-3V-und-5V! nur zur Bauphase gedacht war, warum schreiben wir da immer noch rein ?

Ich bin mir noch über einiges unklar
Wie ich nun rausgefunden habe sind die beiden gelben Jumper nahe der Sicherung für die Herkunft der Spannung verantwortlich. Also entweder XBUS oder externe Quelle.
1. Wenn ich den ersten Jumper (nahe der Sicherung) nach vorn und den anderen nach hinten stecke habe ich also 5V vom XBUS und UBAT von der externen Quelle. ? Weil so hätte ich das gern.
2. Wenn ich das so eingestellt habe und keine externen Quelle habe leuchten beim Einschalten nur die 4 PWM. Keine von den beiden Spannungs LED. Kann ich trotzdem mit den IOs und ADCs arbeiten ?
Ich bin mir noch unsicher mit dem Jumper Netzbetrieb. Meine Vermutung.
3. Wenn ich die Hohlbuchse nicht nutze ist es egal ob der Jumper gesteckt ist oder nicht. ?
4. Steckt was in der Hohlbuchse und der Jumper ist gesteckt kann ich die Platine damit betreiben ? Der Akku wird abgeschaltet.
5. Ist der Jumper abgezogen kann ich den Akku laden der an den beiden Pins hängt ?
Wenn Spannung überall anliegt und ich das Board einschalte leuchten die 4 LED des P-Channel.
6. Ich gehe davon aus das kommt daher weil die vom Test in der Werkstatt noch an geblieben sind. Richtig ?
Es wäre für mein Vorhaben eine mittlere Katastrophe wenn die Kanäle beim Einschalten des RP6 schon durchschalten würden.

Was ich noch überhaupt nicht weiß ist wohin mit dem Ding. Sie soll bei mir 2 selbst gebaute Platinen ersetzen. Nur sind die LEDs und die Wannenstecker überhaupt nicht da wo ich sie da haben möchte. Wenn eine Platine darüber kommt sieht man keine LEDs mehr und wenn man die Kabel alle rausführt auf kleine Steckbretter und die auf eine Platine schraubt. Habe ich ja doch wieder den alten Zustand mit 6 Platinen. Ich glaube ich baue bald einen Anhänger für mein BOT.

und noch zum Schluss ein Dankeschön an euch beiden für eure Arbeit.

fabqu
16.12.2014, 14:12
Hi!
1. Ja. Jedoch muss ich dazu sagen, dass der 5V-Regler auf der ArduIO dennoch läuft, es hängen dann eben außer der LED keine Verbraucher mehr dran.
2. Hast du ein Multimeter? Kannst du dann mal an den beiden großen Lötfahnen der beiden Spannungsregler messen, was da raus kommt? Eigentlich sollten sie beide wie gesagt dennoch laufen, also 5V und 3,3V liefern. Damit der 3,3V-Regler funktioniert muss aber der schwarze, lange jumper (zwischen XBUS und 3,3V-Regler) gesteckt sein.
3. Hohlbuchse? Meinst du die B1 für externe Batteriequellen? Du willst also externe Akkus direkt an die beiden Pins neben B1 (mit "UB" und "GND" beschriftet) anstecken? Dann ja, brauchst keinen Jumper um GND von B1 herzustellen.
4. Was ist denn dann in der Hohlbuchse? Ich machs mal anders:
Du kannst einen Akku direkt an die beiden Pins neben der Hohlbuchse anschließen. Oder du schließt den Akku eben an der B1 an, dadurch wird aber GND getrennt (das hat ursprünglich glaube ich den Sinn, diese Buchse für Akkulader einzusetzen ohne aber die jeweilige Platine mit zu versorgen). Daher musst du den Jumper stecken.
Wenn also irgendwas an der B1 dran hängt, ist nur der Pluspol mit der Platine verbunden, der Minuspol geht nur zum Jumper. Wenn man nun hier den Jumper schließt, geht der Minuspol auf GND der Platine.
5. Nein. Die beiden Pins gehen direkt auf die Plus- und Minusleitungen der Platine. Sorry für die Verwirrung mit diesem doofen Jumper für GND von B1. Am besten: vergiss, dass es ihn gibt und lasse ihn gesteckt ;) Dann ist + und - sowohl von den Pins als auch von B1 immer verbunden, Punkt.
6. Das mit den P- und N-channel-LEDs sollte so passen, wenn ich mich richtig erinnere. Denn der PWM-Expander hat default-Zustände. Das lässt sich leider nicht ändern! Daher gibts in Dirks lib, wenn ich richtig gesehen habe, sowohl für die IOs als auch die PWMs und DACs eine Init, um eigene Defaults zu laden. Aber bis diese Daten über den i2c gelaufen sind, liegt da evtl was anderes an!
Ich hoffe, das mit der Katastrophe war übertrieben!!! Das lässt sich leider nicht anders einstellen.

Grüße

ps: sorry, dass du deine Platine erst so spät bekommen hast. Wurde zurückgeschickt, weil ich Dödl die Adresse falsch abgeschrieben habe (war im Abschreiben schon zu Schulzeiten nie gut)

Dirk
16.12.2014, 14:27
Hi,

6. Ich gehe davon aus das kommt daher weil die vom Test in der Werkstatt noch an geblieben sind. Richtig ?
Es wäre für mein Vorhaben eine mittlere Katastrophe wenn die Kanäle beim Einschalten des RP6 schon durchschalten würden.
Wenn die ArduIO nicht über I2C angesteuert wird, sollten folgende LEDs an sein (Jumper in Standardstellung):
1. Alle 4 Status-LEDs 1..4
2. Alle 4 P-Channel LEDs (die linken grünen).
Das liegt an der Default-Initialisierung des PCA9685 und läßt sich erst über einen I2C-Befehl ändern. Das macht die Funktion PCA9685_ARD_init(), die zusammen mit den anderen Init-Funktionen in arduio_init() aufgerufen wird.
Man kann arduio_init() dann möglichst früh (direkt nach I2CTWI_initMaster() ) aufrufen, damit alle Power PWM Kanäle rasch aus sind.

TrainMen
16.12.2014, 15:03
2. Jumperstellung so wie in Frage 1 beschrieben. Nichts zu Messen keine Spannung an den Spannungsreglern. Erst wenn Akku angeschlossen 3,21V und 4,92V Messbar.
Sind beide Jumper in Stellung XBUS, leuchten die LEDs und Spannung ist auch Messbar.
3. In der Hohlbuchse steckt nichts, ich nutze lieber die 2 Pins. Der Rest ist jetzt klar.
6. In meinen Szenario war das nicht übertrieben, bedeutet nämlich das die Kameras schon laufen wenn der BOT eingeschaltet wird und in den den Raum Fährt, das würden zum Tod des BOTS führen weil er als Spion erkannt wird. Aber das ist natürlich nur mein verrücktes Spiel. Mal sehen was man mit der Software noch machen kann. Wenn nicht wird die Szene umgebaut.;)

ah ich hab den Beitrag von Dirk zu Spät gesehen.
Ich bin ja noch dabei die Platine kennen zu lernen und bin noch weit weg von der Software, ich werde mir das denn mit den Schnelligkeit des Aussschalten ansehen. Vielleicht gucken die Botschafter gerade nicht hin ;)

fabqu
16.12.2014, 16:32
Hm, das ist seltsam. Wenn beide Jumper in Stellung ArduIO sind, dann wird ja am 5V-Regler gar nichts geändert und ansonsten wird nur eben auf die Buchse B1 bzw die beiden Pins daneben zurückgegriffen statt auf den XBUS für UB.
Vielleicht mal die Pins neben der B1 nachlöten? Oder mal bei angeschlossenem Akku und Schalter auf "ON" dran rumwackeln. Oder: Ist die Sicherung F1 noch heil?
Die ist eigentlich der einzige Unterschied: Bei Verwendung des XBUS als Batterie läuft ja alles über die RP6-eigene Sicherung auf der Base. Ist ein Akku an die ArduIO selbst angesteckt, geht dieser über die F1.

zu 6.) ja, also das sollte reichen ;) bevor der losfährt ist ja bereits alles initialisiert!
Grüße

TrainMen
16.12.2014, 17:46
Ich glaube Du hast mich schon wieder nicht verstanden.
Als erstes weiß ich nicht was Du in Stellung ArduIO meinst. Solltest Du vielleicht mal Dokumentieren.

Also noch mal.
Die gelben Jumper neben der Sicherung.
1 : Oben Stellung bedeutet Spannung kommt vom XBus.
2 : Untere Stellung bedeutet Spannung von B1.
3 : Jumper UBat ( also der an der Sicherung) ist in Stellung 2 also Spannung von B1 und Jumper 5V ist in Stellung 1 also vom XBus.

Beide Jumper in 1 alles ok
Beide Jumper in 2 alles ok
Jumperstellung 3 und kein externer Akku an B1. Bekomme ich keine Rückmeldung von den Spannungs LED. Weder 5V noch 3,3V. Erst wenn der Akku an B1 ist. Aber die LEDs müßten doch auch brennen wenn nichts an B1 ist.

Ich hoffe ich Nerv nicht zu doll

fabqu
16.12.2014, 21:13
Ah, ich glaube ich verstehe.
Nein. Wenn du per jumper sagst, dass die batteriespannung von B1 kommt (unabhängig von dem zweiten gelben jumper für die 5V), ohne dort aber eine batterie angeschlossen zu haben, dann hat die arduIO nirgends eine batteriespannung (vor allem also NICHT an den Eingängen des 3,3V- und des 5V-Reglers, ebensowenig z.B. auch an den MOSFETs) und daher leuchtet keine spannungs-led der beiden regler.
sehr wohl können aber die gesamten i2c-Komponenten mit 5v versorgt werden. Genau das definiert der zweite jumper, der also für die 5v zuständig ist. Liegt der auf xbus und der rp6 ist ebenfalls am xbus und angeschaltet, würde die arduIO ganz normal (bis auf die mosfets eben) funktionieren, obwohl die arduIO ja in oben genanntem fall quasi gar keine eigene akkuspannung sieht.
Ich gehe also davon aus, dass in deiner dritten stellungskonfig zwar die beiden regler-leds nicht leuchten, wohl aber die vier status-leds der pwms?!
stimmt das so? Dann passt dennoch alles. Kannst z.b. an den Adressjumpern mal nachmessen, dort sollten bei "+" dann mit dieser konfig dennoch 5v (über den xbus) anliegen.

Dirk
16.12.2014, 21:27
In deinem Fall 3:
Jumper UB in Stellung "Bat" und
Jumper VCC in Stellung "XBus"

... kommt VCC (5V) vom XBUS, d.h. vom RP6. Diese 5V werden dann NICHT auf der ArduIO erzeugt, sondern vom 5V-Regler auf dem RP6.

Wenn du in der genannten Stellung der Jumper an der Buchse B1 (oder P_UB) NICHTS anschließt, sind die beiden Spannungsregler auf der ArduIO (3V3 und 5V) ohne Eingangsspannung, daher leuchten die LEDs 5 und 14 NICHT.
In dieser Stellung der Jumper und ohne Eingangsspannung an B1 funktionieren auf der ArduIO alle 5V-Teile, nicht aber die 3V3-Teile (IO#3, 3V3-I2C-Bus) und nicht die Power PWM Ausgänge oder H-Brücken Ausgänge (die brauchen ja UB!).

"Deine" Jumperstellung 3 macht also eigentlich nur Sinn, wenn du auch wirklich eine externe UB an B1 anschliessen willst: Dann ist alles auf der ArduIO funktionstüchtig. Aber: Warum dann die 5V vom RP6 nehmen? Besser ist dann, den Jumper VCC auf "5V Reg" zu stellen.

Da ich keine externe Spannung an B1 anlegen will (jedenfalls nicht in Phasen der reinen Software-Entwicklung und ohne größere Verbraucher an den Power PWM Ausgängen) nehme ich diese Jumper Stellung:
Jumper UB in Stellung "XBus" und
Jumper VCC in Stellung "5V Reg"

EDIT: Fabian war schneller, sorry!

fabqu
16.12.2014, 21:35
Und noch ein Tipp von meiner Seite, vor allem für Dirk und allgemein für das Software entwickeln: ich nutze dabei nie die Akkus sondern ein Festspannungs Netzgerät. Dafür dann einfach nirgends Akkus anschließen und eine dreifach Brücke für den UB-Jumper nehmen und das Netzgerät in die Buchse B1. Dann versorgt dieses die ArduIO und über den xbus auch den rp6.

Und damit gute Nacht!

TrainMen
16.12.2014, 22:29
@fabqu

Ich gehe also davon aus, dass in deiner dritten stellungskonfig zwar die beiden regler-leds nicht leuchten, wohl aber die vier status-leds der pwms?!

genau so ist es und gemessen habe ich schon, die 5V liegen über all an. In mein Kopf ist eben das Board aus, weil die LED nicht leuchtet. Ich dachte vielleicht funktioniert da was nicht. Ok jetzt alles klar.

@Dirk
Danke für Deine Ausführliche Erklärung und man kann nie zuviel Information haben.


"Deine" Jumperstellung 3 macht also eigentlich nur Sinn, wenn du auch wirklich eine externe UB an B1 anschliessen willst: Dann ist alles auf der ArduIO funktionstüchtig. Aber: Warum dann die 5V vom RP6 nehmen? Besser ist dann, den Jumper VCC auf "5V Reg" zu stellen.

Ja der Gedanke war eben das es für die 5V Teile reicht, wenn ich dann Power PWM Ausgängen benutze stecke ich den Akku an und fertig. Aber das ich keine LED Anzeige habe die mir zeigt dass das Teil an ist Nervt. Ich werde also wie Du die Jumper stecken und habe dann beim einschalten mein Lämpchen.

@fabqu nochmal
eigentlich eine gute Idee mit 3er Jumper und Netzteil

TrainMen
17.12.2014, 01:53
übrigens den Wiki Eintrag zur Platine "Anschluss von externen Spannungsquellen" solltest Du denn überarbeiten.
Denn Du schreibst dort "Dies kann der Abschaltung der Elektronik im Akku-Ladebetrieb dienen" in Post 3 hier aber schreibst Du "Die beiden Pins gehen direkt auf die Plus- und Minusleitungen der Platine"
Das schliesst ja den Ladebetrieb aus, was Du ja auch hier in Post 3 erwähnst.

fabqu
17.12.2014, 07:20
Danke, ist geändert!

Dirk
17.12.2014, 18:28
Hi,

Und noch ein Tipp von meiner Seite, vor allem für Dirk und allgemein für das Software entwickeln: ich nutze dabei nie die Akkus sondern ein Festspannungs Netzgerät. Dafür dann einfach nirgends Akkus anschließen und eine dreifach Brücke für den UB-Jumper nehmen und das Netzgerät in die Buchse B1.
Das ist ne gute Idee,- ich kann gar nicht mehr zählen, wie oft ich die Akkus während der Software-Entwicklung geladen habe ...
Da werde ich mir mal nen 3-fach-Jumper stricken. ;)

inka
18.12.2014, 07:59
hi,
dank Dirks Hilfe beim entwickeln meiner induktiven Ladestation kenne ich derlei Probleme nicht :-)

TrainMen
18.12.2014, 11:15
na ob wir nun den Stecker reinstecken oder Du Deinen RP6 auf die Ladestation schiebst bleibt doch egal.
Aber mit dem Tip von fabqu hat man auch keine Ladezyklen mehr. Akkus werden gar nicht erst gebraucht.

inka
18.12.2014, 13:27
der steht schon schön "aufgebockt" drauf, ich muss also nur einschalten. Aber zu den ladezyklen - das wievielte accupack habt ihr? musste schon jemand tauschen. weil die Kapazität schon zu wünschen übrig ließ?

TrainMen
27.12.2014, 08:05
Hi Leute,
zwischen Gänsebraten und Schokokirschtorte fand ich Zeit mal einiges auszuprobieren.
Leider funktionieren keine meiner alten Platinen. Die sind alle auf den PCF8574 ausgelegt der nur nach GND vernünftig treibt. Der PCA9535 treibt ja nun Plus. Ich muß mal sehen was ich da mache. Ich benutze erst einmal die I/O nicht.

Kann ich eigentlich die ersten 8 z.B für eine I2C Tastatur die zweiten 8 fürs I2C Display nutzen oder geht das nicht. ?

Da mir das lesen eines Datenblatt immer noch Tränen in die Augen treibt. Die Summe aller Ports max ist ?
IDD supply current - 160 mA ?
ISS ground supply current - 200 mA ?

Was für mich wirklich Murx geworden ist sind die PowerPWM. Ich muß meine Kabel auftrennen um die Anschlüsse zu erreichen. Da hätte ich mir es so gewünscht das keine Wanne benutzt wird sondern frei stehende Pins. 4 x GND darunter 4x p-Kanal darunter 4x n-Kanal darunter 4x VBAT. Die Mitte wäre für die Motoren oben und unten für die 8 einzelne Kanäle. Ich werde mir da was bauen müssen. So geht es bei mir jedenfalls nicht.

Dirk
27.12.2014, 10:29
Hi TrainMen,

Der PCA9535 treibt ja nun Plus.
Nein, der kann nach Plus und nach GND schalten


Kann ich eigentlich die ersten 8 z.B für eine I2C Tastatur die zweiten 8 fürs I2C Display nutzen oder geht das nicht. ?
Meinst du mit "die ersten 8" die I/Os des PCA9535?
Wenn ja: An die kannst du weder eine I2C Tastatur noch ein I2C Display anschliessen. I2C Komponenten werden mit SCL/SDA an den I2C Bus angeschlossen.


Die Summe aller Ports max ist ?
Man sollte 160mA nicht überschreiten (IDD). Pro Ausgabe-Pin max. 50mA.

TrainMen
27.12.2014, 12:21
Hi Dirk,


Nein, der kann nach Plus und nach GND schalten


Komisch warum funktionieren meine Platten dann nicht ? Muß ich mir noch mal angucken :confused:


Meinst du mit "die ersten 8" die I/Os des PCA9535?

Nee da hast Du mich falsch verstanden, weil ich mich wieder mal blöd ausgedrückt habe. Ich weiß schon das man für I2C Komponenten SCL/SDA am Bus benutzt.
Ich meinte eigentlich die Nutzung der I/O Ports. Weil ich wollte ja eigentlich meine Platinen ersetzen. Ich habe z.B. eine Tastatur und Display mit PCF8574 würde die nun neu bauen wollen und den PCA9535 nun nutzen. Ich dachte also die ersten 8 auf Eingang (Tastatur) und die anderen 8 auf Ausgang Display. Oder müssen alle 16 immer den gleichen zustand haben ?

Dirk
27.12.2014, 14:36
Hi TrainMen,

du kannst den PCA9535 gut für Display und Tastatur nehmen. Er kann praktisch 2 PCF8574 ersetzen.
Jeder der 16 Portpins des PCA9535 kann auf Eingang oder Ausgang gesetzt werden:
configArduIO_IO(IO_1, 0b0000000000101001);
... setzt z.B. vom IO_1 die Portpins P00, P03, P05 auf EINGANG, alle anderen auf AUSGANG.