PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hardware-Fragen zur Multi-IO



fabqu
15.03.2013, 21:30
Dieser Thread ist gedacht für alle Fragen, welche die Hardware (Aufbau, Löten, Teile etc) zur Multi-IO betreffen.
Leiten werde ich sie.

Ein RN-Artikel zur Hardware findet sich HIER (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt).

Für Fragen zur Software gibts HIER (https://www.roboternetz.de/community/threads/61293-Software-Fragen-zur-Multi-IO) einen eigenen Thread. Natürlich gibt es Überschneidungen, aber damit werden wir schon umgehen können.

Thorben W
16.03.2013, 19:10
Hallo,
soll der Kondensator unter dem SV_USRBUS2 und neben SL1 C11 sein?
Thorben

fabqu
17.03.2013, 18:43
Hi Torben,
Ja, das ist richtig!
wird sofort in der fehlerliste vermerkt, das sollte natürlich auf dem bestückungsdruck stehen.
Grüße

Dirk
19.03.2013, 12:29
Hi fabqu,

beim Löten bin ich auf C42 gestossen.
Der sitzt neben C26 an den LDR Anschlüssen.

Kann es wohl sein, dass C42 = C27 (100nF) ist?

inka
19.03.2013, 18:48
hallo,

so 100%tig bin ich mir aus den bildern nicht sicher: sind die SMD bauteile an dem tasterboard unter den tastern, oder auf der anderen seite? Und die anbindung an die hauptplatine erfolgt nur über 4 abgewinkelte stifte?

fabqu
19.03.2013, 19:12
Hi,
@ Dirk: ja, wenn er am LDR sitzt, dann sind es jeweils 100nF. Sind nur als Puffer für die eventuellen Sensoren.

@ Inka: theoretisch könntest du beides machen. Aber am besten geht es so: SMD- Widerstände auf die Unterseite, Taster auf die Oberseite, abgewinkelte Stifte auf die Unterseite und dann an das Board vorne. Ich habe die Stifte direkt an beiden boards aufgelötet, aber besser wäre es evtl, sie nur am Tastenboard anzulöten und diese Stifte in buchsen zu stecken, die dann wieder an der Hauptplatine verlötet werden. Bitte auf die Polung der vier Stifte achten.
möglich wäre auch, das Board direkt (ohne Stifte) im 90grad-Winkel an der Hauptplatine zu verlöten,mdafür habe ich extra kleine lötpads an gebracht.

Hoffe,mich konnte euch helfen!
fabian

Dirk
19.03.2013, 21:08
@Fabian:
Ok, das macht Sinn,- werde es so machen.

inka
19.03.2013, 22:04
hi,
auf dem board sind etliche jumper. die haben zwar alle eine (abgekürzte) bezeichnung, aber gibt es evtl. eine tabelle oder auflistung was welcher jumper wenn er offen/geschlossen ist bewirkt? Wäre echt gut...

fabqu
19.03.2013, 22:31
Ja, wird auf jeden fall geliefert!
leider habe ich das bisher verpennt, aber die Idee kam mir am Sonntag und ich werde es noch diese Woche im RN-Wissen bereit stellen!!!

inka
20.03.2013, 08:28
Hi,
@ Inka: besser wäre es evtl, sie nur am Tastenboard anzulöten und diese Stifte in buchsen zu stecken, die dann wieder an der Hauptplatine verlötet werden. Bitte auf die Polung der vier Stifte achten.
fabian
das stecken des tasterboards wird aber eine ziemlich wacklige angelegenheit, oder? Gibt es überhaupt alternativen zu den tastern die an dieser stelle stattdessen gesteckt werden könnten? Welche polung der (winkel) stifte?

fabqu
20.03.2013, 08:39
Jo, es gibt Alternativen. Es gibt z.B. fertige Tastaturen für den adc-Kanal, die könnte man an den dreipoligen Jumper direkt hinter den Tastern anbringen. Die sind dann genauso aufgebaut wie diese "Tastatur", nur eben mit 3x4 oder sogar 4x4 Tastern und einer dahinter liegenden widerstandskaskade.
die Polung der vier Stifte ist ADC, VCC, GND, GND. ist aber auch alles im platinenaufdruck gezeigt, sollte man nix falsch machen können.

inka
20.03.2013, 09:13
wenn ich die I/O platine mit der bestückungsseite nach oben lege und die tasterplatine (mit den SMD bauteilen auch nach oben) an die stelle, wo sie angebracht werden soll lege, sind von links aus gesehen die kennzeichnungen so:

I/O - (in der nähe der bohrungen wo die lötstifte hin sollen) - GND - GND - VCC - ADT
tasterboard - GND - GND - +5V - ADC

die bohrungen am tasterboard liegen hierbei an der zum I/O board weiter entfernte seite, die rechts liegenden kanten beider boards sind bündig

ok so?

kann die ADC tastatur gleichzeitig mit dem tasterboard angebracht (angesteckt) werden?

fabqu
20.03.2013, 09:45
Hi,
bin erst heute Abend wieder zu Hause, da kann ich nochmal genauer nachsehen oder einfach ein paar Fotos hochladen. Ich sag's mal so: wenn du die Taster vorne senkrecht anbringst, sollte die Beschriftung der Taster (T1, T2, T3 und T4) von vorne sichtbar sein, also nicht auf dem Kopf stehen...
man kann leider nicht beide Tastaturen gleichzeitig anbringen. Bzw anbringen kann man sie schon, aber die Software kann natürlich nur eine Auslesen, da unsere mit 4 10kOhm- Widerständen arbeitet, andere aber vielleicht mit anderen und mehr widerständen...

inka
20.03.2013, 10:04
das deckt sich mit meiner beschreibung, wobei der taster T1 rechts ist

Thorben W
20.03.2013, 14:35
Auf dem Board mit den CNY 70 sind die Beschriftungen falsch?
Oder war das absicht das L1 = R1, L = R?
Thorben

inka
20.03.2013, 16:49
braucht man den R10 in der stromversorgung zwingend, oder ist er nur für bestimmte zwecke notwendig?

- - - Aktualisiert - - -

evtl. könnte man hier anfangen mit der beschreibung der funktionen der jumper und stifte?

J_VCC
J_UB (hinweise beachten?)
J_U-RP6
J-LTC (zu was zuordnen?)

4er block Stife - mit (+/-) gekennzeichnet (max 10V) - für externes accupack?
6er block stifte - mit (+ A1 -) gekennzeichnet - für?

fabqu
20.03.2013, 20:04
@ Thorben: Absicht wars nicht... Tut mir leid. Dort stimmen auch die Beschriftungen der SMD's auf der Rückseite nicht ganz...

@ Inka: der r10 ist absolut wichtig, da hier der gesamte Strom durchfließen muss. Er ist also erstens der messwidrstand zur strommessung, andererseits eben die Verbindung vom Schalter S1 zum gesamten Rest der Platine. Daher ist es auch ein hochleistungswiderstand!

Die Jumperliste kommt... Ich verspreche es!
Mal kurz: der vierpolige ist zum anstecken von externen Spannungsquellen. Dort kann man also einen Akku anschließen, wie auch an der großen Buchse.
der sechspolige ist der adressjumper für den ltc2990-Strom-spannungs-Sensor. Er ist der J-LTC.

Die anderen drei... Bitte erst mal vergessen und gar nicht bestücken! Die sind erst mal NICHT notwendig und können bei falscher verwendung zu Schäden der Akkus oder der 5V-Regler führen...

Grüße

fabqu
20.03.2013, 22:44
Jumper- und Pinliste ist online ;)
Hoffe, das klärt viele Fragen

Dirk
20.03.2013, 22:51
@inka:

evtl. könnte man hier anfangen mit der beschreibung der funktionen der jumper und stifte?
So weit bestimmte Jumperstellungen für die Software relevant sind (das sind eigentlich ALLE Jumper, die NICHT zur Stromversorgung gehören), gibt es schon bebilderte Darstellungen vieler Jumper.

Siehe hier z.B. die "Standardstellung" der Jumper: http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Multi_IO_Projekt_Library

inka
21.03.2013, 11:37
@dirk: bekommt man das bild irgendwie vergrößert?

- - - Aktualisiert - - -

@fabqu:danke, habe die liste runtergeladen...

Frage: sollte der J_SERVOS_GND vielleicht J_SERVOS_ON heissen?
und der J_UB2 J_U_RP6?
J_LTC finde ich in der Liste nicht...

Dirk
21.03.2013, 19:08
@inka:

bekommt man das bild irgendwie vergrößert?
Ja, ich hänge das mal vergrößert an!

inka
21.03.2013, 20:21
ich muss jetzt warten bis noch ein paar bestellte teile kommen :-(, daher möchte ich mich ein wenig mit dem 2D kompass beschäftigen und einen adapter bauen.

spielt die mechanische lage der kompassplatine zum RP6 eine rolle? Muss sie z.b. paralell zu den platinen sein, oder könnte sie auch senkrecht angeordnet sein (wie in den fotos von fabqu der 9D kompass)?

fabqu
21.03.2013, 20:32
Ich kann dir das erst mal nur für den 9D-Kompass sagen, ich denke mal für den 3D ist das ganz ähnlich.
Der 9D wird zu Beginn kalibriert und damit ist die Lage erst mal egal, denn die Lage bei Kalibrierung wird als "Nulllage" angenommen. Sowohl für den Kompass als auch für Gyro und Beschleunigungssensor.
Für den 3D könnte das auch gelten, aber am besten erst mal im Datenblatt nachsehen! Da sollte es auf jeden Fall stehen.

Grüße

inka
22.03.2013, 08:16
bei dem HDMM01 wird teilweise von 2D und auch von 3D gesprochen. Was ist richtig?

Wenn 2D, dann wohl X/Y, also in der fläche - würde bedeuten, dass die platine paralell zu der ebene sein muss in der sich der RP6 bewegt.
Wenn 3D, wäre es egal, weil X/Y/Z wobei dann die achsen nach der lage definiert werden könnten.

was stimmt?


Edit: @dirk: stimmt das? Kannst du bitte ein paar infos beisteuern?

fabqu
22.03.2013, 08:49
Hier http://www.pollin.de/shop/ds/NTM4OTgxOTk-.html gibts die datenblätter. Scheint also doch ein 2D zu sein...
Dirk weiß da sicherlich mehr drüber, er hat ihn ja glaube ich schon mal verwendet.

inka
22.03.2013, 18:43
@fabqu: ich finde den J_SERVOS_GND nicht auf der platine, kannst du mir bitte die lage anhand anderer bauteile etwas näher beschreiben?
Auch der J_UB2 ist unauffindbar...

fabqu
22.03.2013, 19:14
Hi!
der befindet sich relativ weit oben links. Dort kann ein buz11 angebracht werden, um die Spannung der servos zu schalten. Diesen kann an auch hardwareseitig überbrücken und sich damit die softwareschaltung durch den buz11 sparen. Der Jumper liegt genau hinter diesem buz11, nahe an der schrägen.

Hilft das?

inka
22.03.2013, 19:45
hi,
dort liegt direkt neben dem BUZ der (nach der leiterplattenbeschriftung) J_SERVOS_ON (und nicht der J_SERVOS_GND!)...

Oberhalb des stiftblocks für die servos ist nach deinen fotos der LT1084CP-5, direkt neben der SL0. Davor, richtung platinenmitte sind noch lötaugen für den 7805. Ich möchte die servos mit einer festen spannung aus dem externen akkupack betreiben. Heiss es, ich brauche dazu den 7805?
Bei der gelegenheit habe ich festgestellt dass der SMD kondensator C51 bei mir fehlt. Ist es ein problem?

- - - Aktualisiert - - -

erstes erfolgserlebnis:

erster test, nur accupack an dem viererblock angeschlossen, J_UB gesetzt, SL0 ist an. Wo sollte ich die spannung sonst noch messen können? Auch an dem stiftverteiler für die servos? oder brauchts dazu den 7805 oberhalb des servoblocks?

Dirk
22.03.2013, 19:49
@inka:

bei dem HDMM01 wird teilweise von 2D und auch von 3D gesprochen. Was ist richtig?
Auf dem HDMM01 sitzt ein 2D-Magnetfeldsensor.
D.h.: Er ist zwar günstig, es gibt aber große Probleme bei der Neigungskompensation, da die Z-Achse fehlt.

Ich empfehle deshalb die 9D-IMU. Die bietet eine viel bessere Leistung!

Übrigens: J_SERVOS_ON und J_SERVOS_GND bezeichnen den selben Jumper!

fabqu
22.03.2013, 20:06
Jo, genau!
Ist derselbe!
Wird in den Anleitungen noch ausgebessert, sorry!

Die Batteriespannung, die du angeschlossen hast, ist auf dem Board nur noch direkt an deinem 5V-Regler (U1) und an den Pins dahinter zu Messen. Hinter dem U1 sind 3x6 Pins. Die linken 3x2 sind deine geregelte 5V-Spannung, die mittleren 3x2 sind GND und die rechten 3x2 sind Batteriespannung. Diese Pins muss man natürlich nicht einlöten, wenn man diese Spannungen grade für nix braucht.
Ich habe an U-Bat und GND hier z.B. meine Funkkamera angeschlossen, da sie 9V-Versorgung benötigt.

Zur Servospannung:
Wenn du feste 5V willst, reicht ein 7805 nur, wenn dir die Leistung reicht!!!! Wenn du nur wenige und nicht zu starke Servos gleichzeitig laufen lassen willst, ist der vollkommen in Ordnung. Dann kannst du für den fehlenden Kondensator einen 1206er-Package 100nF nehmen. Der ist nicht Pflicht, aber sinnvoll.

Wenn du mehr Leistung brauchst (über 2A) dann solltest du einen der beiden anderen empfohlenen Spannungsregler verwenden. Die sind dann regelbar durch das 500-Ohm-Poti und bringen je nach verwendetem Regler bis zu 5A! Dann muss der C51 ein 470uF sein, Tantal, Package 3528. Haben wir doch drüber gesprochen, oder?
Bitte Kühlrippen an den ICs verwenden, wenn hier viel Leistung umgesetzt wird.

Grüße

inka
23.03.2013, 07:40
wie herum wird der 7805 eingebaut? Zeigt der kühlkörper zum ausbruch hin oder zur platinenmitte?

edit: ich meine hier den links von der SL0, die alternative zu LT1084CP

fabqu
23.03.2013, 09:44
Hi Inka,

Erst mal: welchen Regler willst Du denn nun verwenden? Genau links von SL0 sind die beiden etwas teureren auf demselben Steckplatz, der ...ct-5 zbd der ...cp-5. Diese haben ihre Ausrichtung der kühlfläche zum Ausbruch/Rand der Platine hin. Eine Stufe/einen Steckplatz weiter Richtung platinenmitte kann statt dieser beiden auch ein 7805er eingesetzt werden. Dieser hat dann leider seine kühlfläche zur platinenmitte hin. Das macht aber nix, den kann man ja etwas flacher Richtung platinenrand hin biegen und dann die kühlrippen anbringen.
ich habe versucht, durch den bestückungsdruck die Richtung der ICs anzudeuten. Die dickere Linie ist die kühlflächenseite. Leider kam das dann im Druck nicht ganz so gut raus... Aber ganz leicht erkennt man es schon.

Unter den Lötplänen/Teilelisten ist jetzt ein .png (ICs_Topseite.png) mit allen ICs auf der Topseite. Das sollte die Bestückung etwas vereinfachen.

Hier auch nochmal:
24911

inka
23.03.2013, 10:11
hi fabqu,

- ich möchte den 7805 verwenden, rechts wie auch links von der SL0 (links etwas zurückgesetzt von der platinenkante) wäre dann jeweils ein 7805
- wenn man über die etwas dickere linie als andeutung des kühlköroers weiss, ist es durchaus aus dem druckbild zu erkennen

bei einem angeschlossenem baterrie-viererpack (leerlaufspannung von 5,8V) kommen bei dem block der servostifte noch 4,3V an. Ist es so korrekt? Der J_UB und der J_SERVOS_ON sind gesetzt, die SMD-LED (links von ausbruch) leuchtet

jetzt nicht die hände überm kopf zusammenschlagen: wenn ich den 7805 umdrehe (kühlkörper zum platinenrand) messe ich das gleiche (nein, es sind sogar 4,7V), wie erkläre ich mir das?

fabqu
23.03.2013, 10:25
????
Misst du das gleiche?????
:D
Sollte nicht so sein. Lässt sich sicherlich mit dem Datenblatt erklären.

Aber nochmal zurück zum Thema: Die Servos benötigen eigentlich schon ihre wenigstens 5V. 4,3 reichen evtl auch, habe ich noch nie ausprobiert. Damit der 7805 einwandfrei arbeitet, braucht er eine höhere Eingangsspannung als 5V (oder eben deine 5,8V) . Ich würde Akkus anschließen, die wenigstens 6,2V bringen. Dann sollten hinter dem 7805 auch anständige 5V+/-0,1V rauskommen.

Für die Servos mag das vielleicht noch nicht entscheidend sein (die sind dann vielleicht nur etwas schwächer als mit 5V), aber ich denke mal, du hast dann hinter deinem anderen 7805 auch nur etwas über 4V auf der Platine? Das könnte dann schon Probleme bringen, z.B. bei der Uhr DS1307. Ab einer zu niedrigen EIngangsspannung schaltet die auf StandBy-Betrieb mit der 3V-Batterie um.

Fazit: Bitte stärkeren Akku nehmen. Vielleicht sowas um die 8-9V. Bitte nicht über 10V, denn dafür ist der Strom-Spannungssensor LTC2990 nicht ausgelegt.

Dirk
23.03.2013, 10:32
@inka:
Deine Eingangsspannung (5,8V) ist ja eigentlich zu niedrig, sowohl für die 5V-Versorgung der Platine als auch für die Servo-Spannungsversorgung. Die UBAT-Spannung der MultiIO sollte zwischen 7,2 und 10V liegen.

Wenn du das aber unbedingt so machen willst/must, würde ich 2 Low-drop Spannungsregler nehmen: LM2940CT-5.0
Die brauchen nur eine Eingangsspannung, die um ca. 0,8V über der Ausgangsspannung liegt.
Das geht aber für die Servos nicht für 8 Stück, weil der LM2940CT-5.0 nur 1A leistet, das reicht gerade für 3 Standard-Servos.

Das Umdrehen des 7805 schaltet dessen Regelung aus, so dass du etwas mehr Spannung am Ausgang messen kannst. Besser könntest du dann aber einfach einen Draht vom Eingangspin zum Ausgangspin des 7805 löten. Das Hauptproblem bleibt die zu niedrige Eingangsspannung.

inka
23.03.2013, 10:33
ich werde also den 7805 dem druck (die dickere linie) entsprechend einlöten und einen stärkeren accu nehmen.

weitere frage: die eingangsbuchse an der stromversorgung. Dort wird auch gleichspannung erwartet als input - nehme ich an. Ist es eigentlich die gleiche buchse wie beim RP6?

edit: der innenstift scheint dicker als der beim RP6 zu sein - der stecker des netzteils passt auf jeden fall nicht zu der conrad nummer 733247

fabqu
23.03.2013, 12:21
Du meinst die Durchmesser innen/außen? Ja, ist die gleiche. 2mm/2,5mm soweit ich weiß.
Habe ich so gemacht, da ich meine Test nie mit Akku, sondern mit Netzkabel und Netzgerät (9V) mache.

Polung ist ebenfalls die gleiche wie beim RP6: Innen +, außen -.

- - - Aktualisiert - - -

Die Testsoftware von Dirk funzt: LED SL4 blingt abwechselnd mit den beiden SL2 und SL3. Auch die Bumper-LEDs sind jetzt aus und nur dann an, wenn ein Bumper gedrückt wird.
Tempsensor TCN75 scheint zu funktionieren.
Buzzer geht ;)
Spannungssensor 3,3V, uBat gehen. Servospannung? Er zeigt VCC=5V an, aber Servospannung zeigt er grade nicht an. Batteriestrom ist auf 0A, kann ja sein dass "zu wenig" ist, kann ich gerade nicht genau sagen, da ich noch keine Servos im Betrieb habe.

Probleme: Der 3,3V-Regler leifert nur etwas unter 2V. Mal sehen, woran das nun wieder liegt!
Spannungsregler für Servos: Muss noch umgebaut werden, habe leider zuerst den falschen eingebaut.
Die Taster:
- Kein Taster: ADC=4,95V
- T1 gedrückt: 0V
- T2 gedrückt: 2,8V
- T3 gedrückt: 3,6V
- T4 gedrückt: 3,9V
- T1 und irgendein T gedrückt: 0V ????
- T2 und T4 gedrückt: 2,8V?

Da funzt was noch nicht so, wie es soll!

Dirk
23.03.2013, 16:12
@inka:

edit: der innenstift scheint dicker als der beim RP6 (http://www.rn-wissen.de/index.php/RP6) zu sein - der stecker des netzteils passt auf jeden fall nicht zu der conrad nummer 733247
Das ist mir auch aufgefallen.
Ich habe deshalb die DC-Buchse 735705 genommen,- da passt der Stecker vom Ladegerät rein.

- - - Aktualisiert - - -

So, jetzt habe ich meine MultiIO auch zum ersten Mal in Betrieb genommen.

Erkennbar funktioniert die Stromversorgung, der Servo-Controller (Servo 1 und Status-LEDs), der Strom&Spannungssensor, die RTC, der Temp.-Sensor, das EEPROM.
Der Buzzer will nicht, genauso der Touch-Sensor (immer 1022 als ADC-Wert) und die Buttons (immer 0).

Da gehts jetzt wohl an die Fehlersuche ... :(

- - - Aktualisiert - - -

So, ein paar "Kontaktprobleme" gelöst!
Jetzt scheint alles zu funktionieren. Bumper Board und Linienfolger habe ich noch nicht angeschlossen.

Thorben W
23.03.2013, 16:36
Welchen Kondensaror muss ich bei C42 (neben C 26) einlöten?
Thorben

Dirk
23.03.2013, 17:39
https://www.roboternetz.de/community/threads/61294-Hardware-Fragen-zur-Multi-IO?p=574141&viewfull=1#post574141

- - - Aktualisiert - - -

Mir fällt gerade noch was ein:

Wie wäre es, wenn alle Besteller und Zusammenlöter (oder die die das möchten) ein paar Fotos von ihrer fertigen Platine posten?

Was denkt ihr?

inka
24.03.2013, 09:08
per PM an fabqu, damit er das in dropbox hochladen kann - ok...

@fabqu: die frage scheint hier untergegangen zu sein. In der beschreibung der verschiedenen arten von stromversorgung und des hin und herschaltens taucht in der beschreibung der jumper J_UB2. Kannst du bitte diesen auf der platine etwas näher lokalisieren?

- - - Aktualisiert - - -


Das ist mir auch aufgefallen.
Ich habe deshalb die DC-Buchse 735705 genommen,- da passt der Stecker vom Ladegerät rein.


daraus schliesse ich, dass du auch accus an P_UB hast? Oder nutzt du das ladegerät des RP6 als netzteil? Geht das überhaupt?

Dirk
24.03.2013, 10:59
@inka:

daraus schliesse ich, dass du auch accus an P_UB hast? Oder nutzt du das ladegerät des RP6 (http://www.rn-wissen.de/index.php/RP6) als netzteil? Geht das überhaupt?
Nein, das Ladegerät kann man nicht als Netzteil nutzen.
Aber ich habe noch ein Netzgerät 9V, das den selben Stecker hat (noch vom CCRP5).

Die DC-Buchse auf der MultiIO kann ja mit Fabians Schaltung beides: Über sie kann eine Stromversorgung stattfinden, aber es kann auch ein Akku an P_UB geladen werden.
Ich habe mal (damit ich Fabians Schaltung kapiere) einen Mini-Schaltplan gemacht, der nur die wichtigsten Teile der 9V- und 5V-Stromversorgung der MultiIO zeigt.
Da kann man gut die Schalter S1, S2 und die Jumper J_VCC, J_U-RP6 und J_UB sehen. Dazu auch den eingebauten Schalter in der DC-Buchse. Er ist geschlossen, wenn KEIN Stecker in der Buchse steckt und offen, wenn ein Stecker eingesteckt ist.

Daraus ergibt sich:
1. J_VCC braucht man nur, wenn man die MultiIO nur mit 5V aus dem RP6 versorgen will, normalerweise baut man dann auch den Spannungsregler U1 auf der MultiIO NICHT ein.

2. J_UB braucht man nur, wenn man mit einem Akku an P_UB ODER einer Stromversorgung an B1 die MultiIO UND den RP6 zusammen versorgen will. Dann darf aber KEIN Akku im RP6 verbaut sein.

3. Mit S1 schaltet man zwischen externer Stromversorgung (an B1 oder P_UB, Stellung "UB") und interner Stromversorgung durch den RP6 (Stellung "Base") um. In Stellung "Base" von S1 muss dann auch J_U-RP6 geschlossen sein, weil sonst keine Verbindung zu +UB des RP6 besteht.

4. Fehlt noch die Rolle von S2: Steht er in der oberen Stellung (auf der Platine zum oberen Platinenrand), dann besteht über S2 keine Verbindung vom Minus-Pol von P_UB und dem Minuspol von B1 zur Masse (GND) der MultiIO. Die Minuspole B1 und P_UB haben in dieser Stellung von S2 also NUR DANN eine Verbindung zu GND der MultiIO, wenn KEIN Stecker in B1 sitzt. Das kann man nutzen, um die MultiIO durch einen Akku an P_UB zu betreiben. Steckt man dann eine LADEGERÄT an B1, wird automatisch Minus von GND der MultiIO abgetrennt und der Akku an P_UB kann unabhängig geladen werden.
Schaltet man S2 in die untere Stellung, dann sind die Minuspole von P_UB und B1 IMMER mit GND der MultiIO verbunden. Dann ist Vorsicht geboten mit dem Anschluß eines Ladegeräts an B1!!! Warum? Einen Akku an P_UB könnte man so nur dann laden, wenn gleichzeitig S1 in Stellung "Base" wäre und J_U-RP6 abgezogen. Klar?
Ansonsten dient die untere Stellung von S2 nur zur Dauerversorgung der MultiIO mit einem NETZGERÄT ohne angeschlossenen Akku an P_UB.

Da ich keinen Akku an P_UB und keine externe Stromversorgung habe, aber auch Akkus auf der MultiIO testen möchte, ist meine Grundstellung der Schalter/Jumper:
J_UB, J_VCC offen
J_U-RP6 geschlossen
S1 in Stellung "Base"
S2 in Stellung oben
An B1 ist nichts angeschlossen

Braucht man für einen 3,3V-Sensor noch die 3V3-Stromversorgung, muss man auch noch J_3On schliessen. Sonst kann der offen bleiben.

fabqu
24.03.2013, 12:50
@ Thorben:
Da ist mir leider ein Fehler unterlaufen: Der C42 ist gar nicht C42, sondern C27, 100nF im 1206er Package...
Tut mir leid. Auf der Oberseite ist R42, und da habe ich mich wohl vertan und unten nen C42 auf den Bestückungsdruck geschrieben. C42 gehört aber zum Radio-Board und hat 47uF im 3528er Package.

@Dirk und Inka: Seltsam, ich benutze das selbe Netzgerät für Multi-IO und RP6. Sollte eigentlich also dieselbe Buchse sein - wenn mir der Mann von der Conrad-Bauteileabteilung nicht die falsche Nummer mitgegeben hat...

@Inka: Der Name wird ausgebessert. Auf dem Bestückungsdruck ist das der Jumper J_U-RP6.

@Dirks Erklärung gerade:
zu 1.: wer J_VCC schließt, darf sogar keinen 5V-Regler (U1) für die Multi-IO einbauen, da sich sonst der Regler der Multi-IO (U1) und der des RP6 gegenseitig regeln und das geht schief für einen der beiden.

zu 2.: Jap. J_UB ist nur zu schließen, wenn EIN Akku für BEIDE Boards (Multi und Base) an der Mutli-IO angesteckt wird!

zu 3.: Ja, alles so wies dirk sagt.

zu 4.: den braucht man nur, wenn man die Multi-IO über einen Akku oder ein Netzgerät an der Buchse B1 laufen lässt. Denn: Wie Dirk schon gesagt hat, würde der eingebaute Schalter in B1 sich sofort öffnen, wenn man einen Stecker hineinsteckt. Dann gibts KEINE Verbindung mehr von B1 zum Multi-IO-Board sondern NUR NOCH von B1 zu den Pins von P_UB. Grund: Wenn in P_UB ein Akku angesteckt wird, will man ihn vielleicht über ein Ladegerät an B1 laden. Dann soll dieses Ladegerät natürlich NUR den Akku versorgen, nicht das restliche Board.
Steckt aber der Akku (oder eben ein Netzgerät) in B1, soll dieses ja eben nicht auf P_UB gehen, sondern ans gesamte Multi-IO-Board. Dann muss man den Schalter S2 (oder einfach einen Jumper auf den oberen beiden Pins von S2) schließen. man überbrückt also den eingebauten Schalter von B1.

Meine Grundstellung der Jumper ist wie bei Dirk. Somit habe ich ein Netzgerät an der Buchse des RP6-Base hängen. Sobald ich den Schalter des RP6-Base auf "On" stelle, ist RP6, M256 UND die Multi-IO am Laufen. Daher dieser ganze Wirr-Warr: So kann man frei wählen, wie viele akkus man wo anschließt...

@all: Soll ich einfach mal eine Liste mit den bisher bekannten Fehlern (das sind bisher hauptsächlich Fehler im Bestückungsdruck) online stellen?

@Dirk: eine Softwarefrage: Sollen wir eine Liste mit den Befehlen deiner Lib (so was wie "ServoPower(0)" ) online stellen?

Grüße

Dirk
24.03.2013, 13:17
@Fabian:

Dann muss man den Schalter S2 (oder einfach einen Jumper auf den oberen beiden Pins von S2) schließen.
Auf den UNTEREN beiden Pins von S2!

Eine Befehlsliste: Eine gute Idee! Dauert aber ein bisschen ...

fabqu
24.03.2013, 13:46
UUPS, ja natürlich :D die unteren

fabqu
24.03.2013, 17:17
Ich finde gerade den Fehler beim 3,3V-Regler nicht. Wir haben alles laut Datenblatt (lediglich den Stütz-Kondensator mit 2,2uF haben wir durch einen 100nF ersetzt, aber das macht nix).
Kurzschlüsse/Lötfehler konnte ich gerade recht gut ausschließen, habe alles durchgepiept. Warum also nur 1,8V bei mir, bei Inka 2,3V???

Wenn ich folgendes Mache:
- Wenn NUR der J_3V3-On geschlossen ist, alles andere vom 3V3-Regler und -I2C (z.B. der Drucksensor und auch der 3V3-Sensor, also ADC3 der M256) weg ist, dann messe ich 0V am Out-Pin des 3,3V-Reglers
- Wenn ich nun den Jumper zwischen 3V3 und AD3 schließe, also wieder mit dem ADC messen kann, messe ich mit dem Multimeter 2,6V und mit dem uC 4,4V???
- stecke ich den Drucksensor wieder auf, messe ich mit dem Multi 1,6V, mit dem uC ebenfalls.

Was stimmt hier nicht???

inka
24.03.2013, 17:26
müssen diese eigentlich grundsätzlich mit flachbandkabel verbunden sein?

- - - Aktualisiert - - -

ich glaube bei mir ist die 3,3v versorgung gar nicht drauf!

fabqu
24.03.2013, 17:37
Nein, nur wenn du die dort angeschlossenen Sensoren/Aktoren nutzen willst: (siehe Bestückungsaufdruck)
An IO hängen:
Beeper, Funkuhr, GPS (Rx und Tx), Liniensensor an/aus, Sharp-Sensoren an/aus, SnakeVision an/aus

An den beiden ADCs hängen
Bumper, Sharp-Abstandssensoren, 3,3V-Sensor, Touchsensor, Taster, SnakeVision, Vorbereitete Spannungsteiler (LDR), Liniensensor

Dein 3,3V-Regler sollte droben sein, den hab ich doch selbst drauf gelötet, ODER??? Ein winziger Käfer mit 5 Beinchen, zwei auf der einen, drei auf der anderen Längsseite. Sitzt in der Mitte von C12, C13 und C14 etwas rechts der Platinenmitte kurz vorm XBUS.

inka
24.03.2013, 17:45
Dein 3,3V-Regler sollte droben sein, den hab ich doch selbst drauf gelötet, ODER??? Ein winziger Käfer mit 5 Beinchen, zwei auf der einen, drei auf der anderen Längsseite. Sitzt in der Mitte von C12, C13 und C14 etwas rechts der Platinenmitte kurz vorm XBUS.

tschuldigung, ja der ist drauf...

Dirk
24.03.2013, 20:17
@Fabian:

Was stimmt hier nicht???
Ich habe bei mir mal gemessen:
Ohne J_3On misst der 3V3-Spannungsmesser 1,1V, bei aufgestecktem J_3On sind es 3,4V.
Das deckt sich mit dem Ergebnis mit Messgerät.

Wenn bei deinem MIC5219-3.3BM5 am Eingang 5V zu messen sind und am Ausgang 0V, dann stimmt da was nicht.
1. Man müßte einen Masseschluß zwischen Ausgang und GND ausschließen.
2. Ist das wirklich der "-3.3"-Typ? Es gibt ja auch den MIC5219 ohne -3.3, der funktioniert nicht.
3. Vielleicht ist er auch gebraten? Evtl. mal auswechseln.

fabqu
24.03.2013, 20:39
Shit.
Das wird wohl ne Rückrufaktion!?
Habe den falschen 3,3V-Regler bekommen/bestellt und bei einigen eingebaut! Ich schreib mal ne Mail an alle...
Ich habe den hier (http://de.farnell.com/exar/spx3819m5-l/ldo-500ma-low-noise-5sot23/dp/1831948?Ntt=MIC5219-3.3BM5) eingebaut. Der wird aber über einen Widerstandsteiler geregelt.

So ein misst! Ich depp!

@Dirk: Wo hast du denn den richtigen her? Sucht man bei Farnell den MIC..., kommt sofort der, den ich gekauft habe

Dirk
24.03.2013, 22:12
@Fabian:
Von Farnell.
In der Farnell Produktsuche habe ich nach "MIC5219-3.3" gesucht.
Dann erscheint auch der "MIC5219-3.3YM5 TR".
Bestell-Nr.: 2219097
http://de.farnell.com/micrel-semiconductor/mic5219-3-3ym5-tr/ldo-0-5vdo-0-5a-3-3v-1-5sot23/dp/2219097
Das müßte er sein ...

radbruch
24.03.2013, 22:40
Hallo

Könnte man nicht den im Datenblatt beschriebenen Spannungsteiler installieren? R1 auf Pin 4-5, R2 ersetzt C12?

Gruß

mic

fabqu
24.03.2013, 23:02
Das wäre echt eine elegante Möglichkeit. Ich versuchte das morgen gleich mal bei meinem! Gebe dann bescheid, danke dir!

fabqu
25.03.2013, 11:57
Also, es würde klappen.
Das Datenblatt dieses 3,3V-Reglers liegt nun auch online unter dem üblichen Ordner.

Man müsste zwei Widerstände auflöten: R1 auf die beiden einzelnen Beinchen des Reglers und R2 auf den C12 löten. Den C12 kann man dann weglassen bzw. auslöten, aber ihn dran zu lassen sollte auch nichts ausmachen.

Am besten gehen 0805er SMDs, aber 1206er sollten auch klappen.

Man kann wählen:
R1 = 60,4 kOhm und R2 = 36 kOhm -> V(out) = 3,3070V (Farnell Bestellnummern 2139012und 2138997 (http://de.farnell.com/vishay-draloric/crcw080536k0fkea/widerstand-0805-36k0-1/dp/2138997))
R1 = 36 kOhm und R2 = 22 kOhm -> V(out) = 3,2559V (Farnell Bestellnummern 2138997 (http://de.farnell.com/vishay-draloric/crcw080536k0fkea/widerstand-0805-36k0-1/dp/2138997) und 9332820 (http://de.farnell.com/multicomp/mc-0-1w-0805-1-22k/widerstand-0805-22k/dp/9332820))

Auch mit Widerständen der E24-Reihe gehts (die sind eifnacher zu bekommen als z.B. ein 60,4kOhm):
R1 = 50 kOhm und R2 = 30 kOhm -> V(out) = 3,2933V


Die Formel lautet: V(out) = 1,235 * (1 + (R1/R2) )

Man muss zwar bei Farnell manchmal Mindestbestellmengen von 50 kaufen, aber 50 Stück des 60,4kOhm kosten z.B. nur 40 Cent! Also keine Angst ;)

Wer sich mit dem Löten nicht sicher ist, der kann mir die Platine gerne auch zurückschicken. Porto mache ich, ist ja klar!

Solange das nicht geklärt ist, würde ich euch bitten, alle 3,3V-Bereiche abzustecken. Also alle Jumper am 3,3V-Regler und -I2C weg (J_3On, J3_sda und die Verbindung von 3V3 zu AD3) sowie den Drucksensor nicht aufstecken. Der 3,3V-Sensor misst dann natürlich nichts sinnvolles mehr, also nicht weiter wundern.

Grüße

Dirk
25.03.2013, 19:53
radbruch:

Könnte man nicht den im Datenblatt beschriebenen Spannungsteiler installieren? R1 auf Pin 4-5, R2 ersetzt C12?
Ja, ich denke auch, dass das gut möglich ist.

Als Formel für R1/R2 habe ich im Datenblatt S. 12 gefunden: Vout = 1,242V * (R2 / R1 + 1)

Nur noch eine Überlegung: Was ist mehr Aufwand: Den MIC zu wechseln oder die 2 Widerstände einzulöten und C12 auszulöten?
Also: Was ist besser/einfacher/kostengünstiger?

fabqu
25.03.2013, 20:19
Einfacher und ist allemal das Einlöten der beiden Widerstände. C12 kann man ja sogar drinnen lassen, das sollte nix am Regler ändern.
Will man den 3,3V-Regler rauslöten muss man:
- erst mal den richtigen bestellen und geliefert bekommen (Zeit...)
- den alten rauslöten: Geht am besten mit Entlötlitze und einer Heißluftpistole mit engem Aufsatz
- den richtigen einlöten

Die beiden Widerstände sind aber ratz-fatz drauf!

Im Datenblatt von Farnell (HIER (http://www.farnell.com/datasheets/1504628.pdf)) steht die Formel, wie ich sie hatte, mit 1,235(1+R1/R2) .
Der, den wir eingebaut haben, ist ja der SPX3819.

Grüße

inka
26.03.2013, 14:04
hi,

die einzige orientierung die der CNY für den einbau bietet ist die beschriftung. Zeigt diese im eingebauten zustand zum rand der platien, oder zu der anschlusspinreihe?

fabqu
26.03.2013, 15:49
Ah, auch hier sollte es eine "dickere" Linie geben ;)
Die Beschriftung zeigt zum weiter entfernten Platinenrand.
Ein Foto: (Fotos sind auch im .zip-File, das man runterladen kann)

24951

inka
26.03.2013, 17:32
danke fürs foto, fabian,

online sind sie da, im zipfile nicht :-(, da sind nur zwei andere von linienfolger...

fabqu
26.03.2013, 17:48
Lade mal das zip neu, habe die Fotos auch erst heute reingeladen ;)

inka
26.03.2013, 20:04
selbst nach dem dritten download (14:30/17:29/20:02) finde ich leider keine neuen fotos des linienfolgers im ordner fotos :-(

edit: aber unabhängig davon, man sieht, dass du in die anschlüsse die litzen des flachbandkabels eingelötet hast. Auf der anderen seite hast du einen 8-poligen (?) stecker. was ist das für einer?

inka
27.03.2013, 09:03
danke Fabian, jetzt konnte ich die fotos runterladen...

frage zu der befestigung (mechanisch) des linienfolge boards, gibt es da schon fotos? würde evtl. weitere fragen zu der assymetrischen anordnung der fünf CNY klären...

was für ein stecker ist es am anschluss des kabels mit dem das board am I/O angeschlossen wird?

fabqu
27.03.2013, 10:03
Ganz genau weiß ich das mit der Befestigung ehrlich gesagt auch noch nicht... Ich werde versuchen, es vorne unter dem bumperboard (dem originalen) zu befestigen und via Servo herunterfahren lassen.
da kann sich eigentlich jeder frei austoben ;)

Zum Stecker: entweder, auf der Platine bereits eine 2x4-Buchse auflöten, oder aber dort eine 2x4-Steckerleiste und am Kabelende eine 2x4-Stiftleiste. Da kann man echt vieles nehmen.
Ich habe mich mal im DES ausgetobt und nen Großeinkauf an Steckern etc gemacht:
Diese hier (http://www.derelektronikershop.de/Mechanik/Steckverbinder/Buchsenstecker) zum Beispiel. Ist zwar etwas gefrickel, aber dafür ne vernünftige Lösung, die man auch nachträglich noch variieren kann.
Du bräuchtest dann einen 2x4-Buchsenstecker (Nr. Bust-ndr08 ) und die einzelkontakte (Nr. Bust-Kontakt) acht mal.

Grüße

inka
27.03.2013, 16:18
Ich habe mich mal im DES ausgetobt und nen Großeinkauf an Steckern etc gemacht:
Diese hier (http://www.derelektronikershop.de/Mechanik/Steckverbinder/Buchsenstecker) zum Beispiel.

den laden kannte ich noch nicht...thanks

Dirk
27.03.2013, 20:17
@Fabian:
Eine Frage: Du erwähnst im RN-Artikel einen 2D- und einen 3D-Kompass.
Der 2D wäre ja der HDMM01.
An welchen Sensor hast du als 3D-Kompass gedacht?

fabqu
27.03.2013, 21:34
An DEN HIER (http://www.pololu.com/catalog/product/1273)
die Pinkonfig passt ja für diesen, wie auch für unseren 9D.

Dirk
27.03.2013, 21:51
Ok,
da brauchts ja keine Anstrengung auf der Software-Seite, weil der LSM303DLM (Kompass, Beschleunigungssensor) auch auf der MinIMU-9 v2 (+ Gyro) werkelt.

fabqu
27.03.2013, 21:53
Jupp
hab dieses Modul hier auch gar nicht rumliegen, aber weils so billig ist, hab ichs mal mit ins "Portfolio" genommen :D
Hätte ihn gern schon früher angeboten, aber der ist mir neulich erst wieder eingefallen...

inka
28.03.2013, 09:40
billig ist gut :-( - wenn man sich das porto anschaut ist es teuerer als der kompas. Sollen wir nicht zusammen bestellen? Oder gibts die dinger auch irgendwo in D?

- - - Aktualisiert - - -

wäre das hier evtl. was?

http://www.ebay.de/itm/L3G4200D-Triple-Axis-Gyro-Angular-Velocity-Sensor-Module-4-Arduino-MWC-A097-FPV-/320964756375?pt=Wissenschaftliche_Ger%C3%A4te&hash=item4abafd8397

fabqu
28.03.2013, 10:24
Ich selbst würde ihn nicht brauchen. Vielleicht meldet sich ja sonst jemand bei dir?

Anschließen kannst du prinzipiell jeden 5V-I2C-Kompass. Da wir ja (jetzt auch funktionierende) 3,3V und 3,3V-I2C haben, gehen auch solche mit diesem Pegel. Ist halt immer eine Frage der Programmierung!
Dirk ist ja so freundlich, uns für viele Dinge Libs zu basteln und bereit zu stellen und für deinen HDMM01 gibts ja von ihm schon Libs (siehe Orientierungs-Projekt im RN-Wissen).

TrainMen
28.03.2013, 15:36
Hallo,
Aus Gesundheitlichen Gründen hänge ich etwas hinterher. Ich bin also jetzt erst bei den Bestellungen und habe da mal eine Frage.
Wenn ich bei Conrad nach LT 1084 CP suche erscheint immer nur der LT 1084 5CP welcher ja identisch mit der Teileliste ist. (Bestellnr, Preis)
Bei Reichelt ist er aber billiger nur dort erscheint bei der suche nach LT 1084 CP 2 Treffer. LT 1084 CP und LT 1084 CP-5. Der LT 1084 CP hat eine Ausgangsspannung von 3-12 V und ist regulierbar der LT 1084 CP-5 eine Ausgangsspannung von 4,5-5 V und ist fixed.
Also bestelle ich den LT 1084 CP ?

mfG TrainMen

Dirk
28.03.2013, 20:51
@TrainMen:

Also bestelle ich den LT 1084 CP ?
NEIN!
Bestell den LT1084CP-5 oder den LT1084CT-5!!!

TrainMen
29.03.2013, 12:01
ja OK Bestellung ist raus,

so richtig verstehn tu ich das aber nicht. Der ... CP ist von hause aus Regelbar und der ... CP-5 nicht und dann machen wir den ...CP-5 regelbar. Sorry für mein unverständniss,

übrigens wer noch was grösseres (ab 20,- € ) braucht, Conrad ist über Ostern Versandkosten frei.

mfG Berndt

Dirk
29.03.2013, 12:22
@TrainMen:

so richtig verstehn tu ich das aber nicht. Der ... CP ist von hause aus Regelbar und der ... CP-5 nicht und dann machen wir den ...CP-5 regelbar. Sorry für mein unverständniss,
Kann ich verstehn! ;)

Genauer kann dir das Fabian erklären, wenn er wieder online ist.

Soviel ich davon verstehe, ist das Regeln eines nicht regelbaren LT108x einfacher (wenn man nur ab seiner Nennspannung aufwärts regeln will!) als das eines regelbaren LT108x (beim regelbaren LT108x würde man mehr Bauteile/Widerstände brauchen!).

Siehe Datenblatt "LT1083/1084/1085 Fixed" Seite 11, Abb. "Adjusting Output Voltage"!
Nimmt man anstelle des 1kOhm-Trimmers einen mit 500 Ohm (so wie auf der MultiIO), kann man bei +UB vom RP6 die Servospannung von 5 bis ca. 6,8V regeln und bei externer 10V-Spannung von 5 bis ca. 7,5V.

fabqu
29.03.2013, 12:54
^^ Ja! Wie Dirk gesagt hat!
Wir wollen ja nicht wirklich die Spannung in einem weiten Bereich einstellen, sondern (meistens) nur zwischen 5 und 6,5V sowas. Bei mir gehen sogar 7,7 bis 7,8V (bei 9V Batteriespannung) .
Da eignet sich der (leider etwas teurere) ...-5er und das 500 Ohm-Poti einfach perfekt ohne viel weiteren SchnickSchnack.

TrainMen
29.03.2013, 12:54
na die Erklärung reicht mir schon, Danke, mit mehr wäre ich wahrscheinlich sowieso überfordert.
mfg Trainmen

fabqu
29.03.2013, 13:01
Hier übrigens mal ein kleines Foto vom Spannungsteiler am 3,3V-Regler:
24986

So klappt es jetzt super! Danke noch mal an Radbruch für den Einfall!

Dirk
29.03.2013, 13:55
Leute,

von mir noch kurz zum Thema "Energiesparen".

Ich habe auf meiner MultiIO und auf den anderen kleinen Platinen alle LEDs als Low-Current eingebaut. Auf der Bumper-Platine sitzen ja schon Low-Current LEDs.

Als Vorwiderstände habe ich dann 1,5 kOhm genommen, nur für LED10 sind es 2,2 kOhm (weil die ja bis 7,5V arbeiten soll).

Damit sieht der Stromverbrauch der MultiIO (ohne etwas angeschlossen, J_3On abgezogen, Stromversorgung von +UB des RP6) so aus:
1. Shutdown Modus: 21 mA (nur LED1 leuchtet)
2. Demo 1 läuft: 32 mA (LED1 und LED10 leuchten, von SL1 bis SL4 leuchten je 2 gleichzeitig)
3. Demo 1 & Last-Widerstand 47 Ohm an VCC/GND der Servostecker: 130 mA

Wie sieht das bei euch aus?

Thorben W
30.03.2013, 11:55
Hallo haben auch noch andere ein Problem mit den Tastern?
Wenn ich direkt nach dem Programmstart T1 drücke, dann passiert das was ich will.
Wenn ich dann aber T1 nochmal drücke dann passiert das was hinter T2 wiederlegt ist.
Bei dem Beispielprogramm ist es nicht so.
Thorben W

Thorben W
30.03.2013, 15:46
Hallo was habt ihr am Berührungssensor für eine Antenne und was habt ihr als Gegenpol (5V/GND)
Thorben

radbruch
30.03.2013, 15:54
Hallo

Auch bei CSD gib es eine Osteraktion deshalb ist nun auch endlich meine Bestellung raus. Mit etwas "Vorrat", und wegen der Mindestbestellmengen, sind es fast 3000 Teile. Das schockt mich etwas da dies meine ersten bestellten SMD-Bauteile sind. Ich hoffe, ich habe nichts wesentliches vergessen oder falsch bestellt:


Bezeichnung Bestellnummer Menge Einzelpreis Gesamtpreis

DC Buchse 2,1mm print wkl. 015-5604 2 0,0646 EUR 0,13 EUR
DC Stecker 2,1mm kurz 015-5655 2 0,0614 EUR 0,12 EUR

Sicherungshalter 5x20 offen sw 015-0520HALSW 2 0,1089 EUR 0,22 EUR
Sicherungsh. 5 x 20 Haube 015-0520HAUB 2 0,0817 EUR 0,16 EUR
Sicherung 5x20mm 1,25A flink 015-0520F01,3 10 0,0680 EUR 0,68 EUR
Sicherung 5x20mm 5A flink 015-0520F05,0 10 0,0680 EUR 0,68 EUR

LED 0805 GRÜN tr. LowC. 0.8/120 26-0802001L 5 0,0681 EUR 0,34 EUR
LED 0805 GELB tr. LowC. 0.3/120 26-0803001L 5 0,0680 EUR 0,34 EUR
LED 0805 ROT tr. LowC. 0,5/120 26-0801001L 5 0,1021 EUR 0,51 EUR
LED 1206 GRÜN diff. 12,5/120 26-1212013 5 0,0680 EUR 0,34 EUR
LED 1206 GELB diff. 8/120 26-1213008 5 0,0680 EUR 0,34 EUR
LED 1206 ROT diff. 12,5/120 26-1211013 5 0,0680 EUR 0,34 EUR

Quarz 32,768 kHz 14-26T32,768KHZ 3 0,1396 EUR 0,42 EUR
Knopfz. CR2032 print lieg. 034-CR2032LIEG 2 0,4935 EUR 0,99 EUR

Stiftleiste 1x40 pol gerade 15435 20 0,0958 EUR 1,92 EUR
Stiftleiste 1x40 pol wkl. 15471 2 0,1056 EUR 0,21 EUR
Stiftleiste 2x40 pol gerade 15485 10 0,1771 EUR 1,77 EUR
Buchsenl. 40 pol gerade 014-B140G 5 0,1205 EUR 0,60 EUR

Codierbrücke gelb 15496 100 0,0081 EUR 0,81 EUR
Codierbrücke grün 15495 100 0,0051 EUR 0,51 EUR
Codierbrücke rot 15491 100 0,0051 EUR 0,51 EUR
Codierbrücke schwarz 15490 100 0,0074 EUR 0,74 EUR

Pfostenverbinder 10 pol 015-PF10 20 0,0780 EUR 1,56 EUR
Pfostenverbinder 14 pol 015-PF14 20 0,1304 EUR 2,61 EUR
Wannenstecker 10 pol ger. 015-WG10 20 0,0481 EUR 0,96 EUR
Wannenstecker 14 pol ger. 015-WG14 20 0,0589 EUR 1,18 EUR
Flachbandkabel 14 pol 10m 456-14-010 1 3,3285 EUR 3,33 EUR

RS2K 11049 2 0,0936 EUR 0,19 EUR
STPS340S 11200 2 0,2042 EUR 0,41 EUR
BC847A 13532 10 0,0102 EUR 0,10 EUR
BC807-40 13530 10 0,0187 EUR 0,19 EUR
BUZ11 13700 3 0,5957 EUR 1,79 EUR
BSN20.215 137238 5 0,2553 EUR 1,28 EUR
7805 22-0510 5 0,1681 EUR 0,84 EUR
Kühlkörper FK231TO220 schw. 018-FK231SA220 5 0,3914 EUR 1,96 EUR

Poti 500 Ohm lieg. 502 2 0,1825 EUR 0,37 EUR

1206 KerKo 470pF 115-12C470 5 0,0200 EUR 0,10 EUR
1206 KerKo 100nF 115-12N100 100 0,0078 EUR 0,78 EUR
1206 KerKo 10µF 115-12R010 30 0,0300 EUR 0,90 EUR
SMD Tantal ELKO 10µF 35V -C- 121-C35R010 10 0,3403 EUR 3,40 EUR
SMD Tantal ELKO 47µF 6.3V 121-B6R047 5 0,6976 EUR 3,49 EUR

0805 SMD 220 Ohm 10-080220 100 0,0017 EUR 0,17 EUR
0805 SMD 750 Ohm 10-080750 100 0,0023 EUR 0,23 EUR
0805 SMD 22 kOhm 10-08K022 100 0,0012 EUR 0,12 EUR
0805 SMD 36 kOhm 10-08K036 100 0,0015 EUR 0,15 EUR

1206 SMD 15 Ohm 10-120015 100 0,0037 EUR 0,37 EUR
1206 SMD 68 Ohm 10-120068 100 0,0028 EUR 0,28 EUR
1206 SMD 240 Ohm 10-120240 100 0,0029 EUR 0,29 EUR
1206 SMD 270 Ohm 10-120270 100 0,0028 EUR 0,28 EUR
1206 SMD 470 Ohm 10-120470 100 0,0029 EUR 0,29 EUR
1206 SMD 820 Ohm 10-120820 100 0,0021 EUR 0,21 EUR
1206 SMD 1000 Ohm 10-12K001,0 100 0,0017 EUR 0,17 EUR
1206 SMD 2200 Ohm 10-12K002,2 100 0,0026 EUR 0,26 EUR
1206 SMD 4700 Ohm 10-12K004,7 100 0,0017 EUR 0,17 EUR
1206 SMD 10 kOhm 10-12K010 100 0,0018 EUR 0,18 EUR
1206 SMD 15 kOhm 10-12K015 100 0,0021 EUR 0,21 EUR
1206 SMD 22k Ohm 10-12K022 100 0,0021 EUR 0,21 EUR
1206 SMD 47k Ohm 10-12K047 100 0,0017 EUR 0,17 EUR
1206 SMD 68k Ohm 10-12K068 100 0,0018 EUR 0,18 EUR
1206 SMD 100 kOhm 10-12K100 100 0,0018 EUR 0,18 EUR
1206 SMD 1M Ohm 10-12M001 100 0,0012 EUR 0,12 EUR
Der Shunt, der Leistungsregler und die LowC-LED fehlen noch... ich hoffe, dass bekomme ich Löttechnisch auch alles hin.

Als Spannungsteiler verwende ich 36K/22K in 0805.

Gruß und frohe Ostern

mic

fabqu
30.03.2013, 16:42
@Radbruch: weiß man erst hinterher ;)
36k/22k passen.

@Thorben: Man braucht kein Gegenpol, nur einfach einen Draht an den mit "Ant" beschrifteten Pin. Hier wird ja nicht wirklich was "empfangen", sondern der Timer registriert eine Änderung seiner Frequenz am Eingangspin durch deine Berührung mit deinem Finger (=Kondensator).

- - - Aktualisiert - - -

Habe jetzt für solche Probleme wie dem des LTC2990 ein neues Kapitel im RN-Wissen hinzugefügt, das sich mit solchen gerne auftauchenden Problemen beschäftigt.

Hoffe, das hilft, und zeigt, dass ich mich bemühe, die Probleme auszuräumen... ](*,)

inka
01.04.2013, 13:43
habe jetzt gerade im RN-Wissen über die knopfzelle (CR2016) für die uhr gelesen, in den bildern von Fabqu ist sie nicht (zu sehen). hat die jemand eingebaut? Evtl. ein bild davon?

Dirk
01.04.2013, 14:00
Hier ein Bild von der CR2032 im Batteriehalter (Rückseite der MultiIO Platine!).

inka
01.04.2013, 15:25
tja, bis dorthin reichen die bilder nicht :-), danke für das foto...

- - - Aktualisiert - - -

frage zum 2D kompass:

spielt die mechanische lage der kompassplatine - also des auf ihr verbauten 2D bauteils - zum RP6 (http://www.rn-wissen.de/index.php/RP6) bzw. zu der horizontalen ebene in der er sich bewegt eine rolle?

Dirk
01.04.2013, 21:12
@inka:

spielt die mechanische lage der kompassplatine - also des auf ihr verbauten 2D bauteils - zum RP6 (http://www.rn-wissen.de/index.php/RP6) bzw. zu der horizontalen ebene in der er sich bewegt eine rolle?
Ja, die Software wird davon ausgehen, dass man den HDMM01 in einer bestimmten Lage einbaut/ausrichtet.

Die ist:
1. Platine waagerecht auf dem RP6
2. Bestückungsseite nach oben
3. Platinenkante mit den SDA/SCL Anschlüssen in Fahrtrichtung vorn.

TrainMen
02.04.2013, 15:12
Hi,
mein Platinchen ist nun auch da, es war zwar schon lange fertig, ich hatte es aber erst jetzt angefordert.
1. Der 7805 neben der LED mit Kühlkörper ? Klappt das ? Kommt man denn noch an die Stifte vom "Spannungsfeld" ?
2. Der Batteriehalter hängt schief ? weil die Stifte der Servo Ansteuerung im weg sind ?
Ich habe noch keine Bauteile hier das sind nur erste Fragen und Eindrücke.
3. Die Beine Vom LT 1084 sollen ja "gewaltig sein. Löcher aufbohren ? Beinchen dünner machen ? oder ein bisschen von beiden ?
Was mir erst jetzt klar wird. Ich muß ja den IO Stecker der M32 immer umstecken. Entweder Servos oder ... . Dann hätte die Servo Buchse anders rum gemusst, so ist das Kabel blöd gedreht.
Gruß Trainmen

inka
02.04.2013, 17:47
hi TrainMen,

wie ich lese, hast du auch die M32. warum musst du den stecker umstecken? ich habe die M32 und die IO "rücken an rücken" aufgebaut und muss dann halt die beiden ADC und die beiden IO stecker - leider "über kreuz" - verbinden. Den stecker "servosM32" habe ich zwar drauf, aber verwende den erstmal nicht, betreibe die servos an dem oberen servo-pin-feld...

fabqu
02.04.2013, 18:30
@Trainmen,

1. Kühlkörper brauchst du nur, wenn die Leistung gefordert wird. Da die Servos als Hauptbelastung für die Stromversorgung einen eigenen (bei dir scheinbar einen LT1084..-5) bekommen, ist ein Kühlkörper nicht notwendig. Wenn er notwendig wird (7805 wird heiß im Betrieb) , dann einfach den 7805er etwas biegen.
2. Der Batteriehalter hat Abstandhalter, sollte also nicht schief werden.
3. Ja, leider sind die Löcher nicht groß genug. Wie Dirk das gemacht hat, weiß ich nicht. Ich habe die Beinchen etwas verjüngt... ist aber etwas rudimentär :) außerdem hat nur der ...CP-5er das große Gehäuse. Der ...CT-5er müsste normale Beinchen haben, da TO220-Package.

Das mit den Wannensteckern ist so eine Sache. Irgendwer muss die Kabel immer einmal verdrehen: entweder die, die ihr Master-Modul neben dem Multi-IO anbringen, oder die, die es stapeln. Sollte aber nicht schlimm sein!?

Dirk
02.04.2013, 19:44
@Trainmen:

Zu 2: Bei mir sitzt der Batteriehalter ganz gerade drauf, weil er kleine "Füße" hat. Die Pins der drunterliegenden Stiftleisten muss man natürlich verlöten, bevor man den Batteriehalter drauf lötet. :wink:

Zu 3: Beim LT1084CT-5 braucht man mit den Beinchen nichts zu machen. Wie Fabian schon gesagt hat, hat der ein TO-220 Gehäuse und passt perfekt.
Ich habe den LT1084CP-5 draufgesetzt. Das ist ein wirklich großer Brummer.
Ich habe die Löcher auf der Platine so gelassen. Am LT1084CP-5 habe ich zuerst die Beine etwa 3mm unterhalb der Verdickung am Gehäuse abgekniffen. Dann habe ich einen blanken Silberdraht direkt am Gehäuse um die 3 Pins gewickelt, so dass all Pins "kurzgeschlossen" sind. Grund: Vermeiden von Schäden durch ESD beim Feilen.
Dann habe ich mit einer Metall-Flachfeile die äußeren 2 Pins VON DER AUSSENSEITE (d.h. innen -zum mittleren Pin hin- NICHT!) schmaler gefeilt und den mittleren Pin abwechselnd von beiden Seiten schmaler gefeilt. Man muss die Breite der Beine fast halbieren, bis es passt.
Der Grund für das einseitige nur äußere Abfeilen der äußeren Pins ist, dass die äußeren Löcher für den LT1084CP-5 zu dicht am mittleren Loch liegen. Nur wenn man beide äußeren Pins aussen abfeilt, passt es dann perfekt.
Noch ein Hinweis VOR dem endgültigen Einlöten des LT1084CP-5:
Der Abstand des etwas breiteren Teils am Pin 1 des LT1084CP-5 (GND) sitzt sehr eng am Vorwiderstand von LED10 (R25)! Evtl. muss man den breiteren Teil von Pin 1 aussen noch ein wenig im 45° Winkel anfeilen, damit er R25 nicht berührt.

Noch ein Wort zur Servo-Ansteuerung:
Eine tolle Sache ist ja der Servo-Controller PCA9685 auf der MultiIO. Du kannst also deine Servos dort anschliessen und über I2C kontrollieren und must nicht die Servos mit der M32 über deren Portpins ansteuern.
Damit kann der I/O Stecker der M32 im Wannenstecker IO-Mxxx bleiben.

inka
03.04.2013, 08:31
1. Platine waagerecht auf dem RP6
2. Bestückungsseite nach oben
3. Platinenkante mit den SDA/SCL Anschlüssen in Fahrtrichtung vorn.

etwa so?

25039

TrainMen
03.04.2013, 10:02
@Dirk
also an die elektrostatische Entladung hätte ich jetzt nicht gedacht und wahrscheinlich hätte ich auch innen und aussen pro Bein rumgefeilt. Guter Tip

@inka
genau um das Umstecken des IO-Kabels auf der Multi-IO geht es ja. Wenn Du den Stecker "servosM32" nicht nutzt brauchst auch nichts umzustecken.
Aber wie fabqu schon meinte " Irgendwer muss die Kabel immer einmal verdrehen "

und irgendwann nutze ich ich für meine Servos auch den Servo-Controller PCA9685 auf der Mult-IO.

gruß Trainmen

inka
03.04.2013, 13:30
eigentlich würde ja das neue bumperboard mit all seinen sensoren als ersatz des alten, also an der vorderseite des RP6 viel mehr sinn machen, als dort, wo ich es momentan habe, nämlich hinten.

War das auch als ersatz gedacht? Die angelötete platine mit den IR-LEDś wird dann aber teilweise überdeckt...

fabqu
03.04.2013, 13:48
Also bei mir sitzt es hinten, wofür es auch gedacht war (zumindest von meiner Seite)
Vorne exisitieren ja schon Bumper und abstandssensorik, hinten noch gar nix.
natürlich kann man es vorne stattdessen anbringen, da ja die Ultraschall-abstandssensorik deutlich mehr bringen, als die IR. Aber dann müsste man auch auf die IR-Kommunikation verzichten...
mein Vorschlag: hinten anbringen. Vorne kann man ja noch zusätzlich zwei srf02 (pins sind ja auf der Multi-IO verfügbar) anbringen, zusätzlich zur IR-Abstandssensorik.

Grüße

TrainMen
03.04.2013, 14:09
Ich bin da völlig unentschlossen. Ich habe eigentlich gar keine Bumper mehr dran. Ich hatte vorne und hinten welche. Doch bei guter IR Versorgung von den Sharps vorne und hinten waren die überflüssig. Die Sharps vorne hängen an Servos um sie auch in einer sogenannten Abyss Stellung zu bringen. Nach vorn gerichtet stören sie sich mit den Bordeigenen. Also ich denke das mein Bumperbord der Multi kommt auch nach hinten, mit 2 Sharps ohne Bumper.
Warum hat das Bumperbord eigentlich keine Fotodioden wie das Hauseigene vorne ?
gruß Trainmen

P.S.
Ha fast vergessen, riecht ihr das ? hier lötet jemand ! ICH, die ersten Teile sind da

fabqu
03.04.2013, 14:17
;)
Naja, Photowiderstände sind ja nicht unbedingt nötig, wenn vorne schon vorhanden... Und man kann sie ja zusätzlich anbringen, siehe die vorbereiteten LDR-Spannungsteiler.
Brauchst du wirklich keine Bumper? Habe die Erfahrung gemacht, dass die IR-Dinger gut, aber nicht super sind. z.B. metallische Oberflächen, Glas.... da gibts einiges, das die Dinger nicht detektieren können.

TrainMen
03.04.2013, 14:35
Ja natürlich, wenn sich der Bot umdreht und vergleicht, meiner weiß immer wo die Sonne scheint, er hat hinten auch welche.
Hilf mir mal : vorbereiteten LDR- Spannungsteiler ?
Auch meine verchromten Schreibtisch Füße im Arbeitszimmer werden erkannt, sonst habe ich auch nichts in der Wohnung ausser Holz und Marmor. Jedenfalls fährt er hier ewig rum und weicht allem aus.
gruß Trainmen

fabqu
03.04.2013, 15:40
Ja, findest du hier:
http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt#Spannungsteiler

Je nach lichtsensitivem widerstand musst du noch die passenden Widerstände für die Spannungsteiler einlösen, z.B. 68kOhm... Gehen aber leider nur mit der M256

Dirk
03.04.2013, 16:17
@inka:

etwa so?
Fast! ==> "3. Platinenkante mit den SDA/SCL Anschlüssen in Fahrtrichtung vorn."

inka
03.04.2013, 17:13
Fast! ==> "3. Platinenkante mit den SDA/SCL Anschlüssen in Fahrtrichtung vorn."
aber die anschlüsse SDA/SCL liegen doch rechts von C1, also richtung pinreihe? Und vorne ist da, wo kein netzschalter ist, oder :-)?

Dirk
03.04.2013, 20:19
???
Auf deinem Foto ist die Front des RP6 doch rechts.
Der Sensor sitzt so, dass die VDD und GND "Halblöcher" nach vorn (rechts im Bild) zeigen.
Demnach müßten SCL und SDA hinten (im Bild links) sitzen.
Also andersrum wie vorgeschlagen. Oder?

Noch ne Idee:
Wenn du von oben auf den RP6 schaust, so dass "RP6" normal lesbar ist, dann soltest du auch das "U1" auf der HDMM01-Platine normal lesen können...

inka
03.04.2013, 20:41
genauso ist es (RP6 und U1), die front des RP6 ist in meinem bild links, man sieht (verwaschen) den netzschalter rechts im bild...

Dirk
03.04.2013, 20:47
Alles klar! Kapiert.

Ich hatte wegen des erkennbaren Bumper-Hebels rechts im Bild gedacht, dass rechts vorn ist.
So kann man sich irren ...
Hast du die Original-Bumperplatine nach hinten gesetzt?

inka
03.04.2013, 21:07
nein, es ist die neue, unter dem servo sieht man die nach oben ragenden pins. Ich muss die bilder wohl ein wenig größer machen :-)

TrainMen
06.04.2013, 11:46
Hi,

so die Lieferung ist abgearbeitet und obwohl ich xmal durchgesehen habe, fehlen Teile. (Shunt, Schalter, EEProm, Sicherung)
1. Mit der Bestellnummer der Sicherung erscheint Sicherung 6,3 A. Ist das korrekt ?
2. Welchen EEprom soll ich nehmen LC24xxx ? _erledigt_
3. auf der M32 waren zur Ünterstützung der Sharp Sensoren u.a. ein Elko vorgesehen pro ADC. Auf der Multi-IO brauchen wir das nicht ?
4. Bitte daran denken: DAS GEHÄUSE der SHARPS IST LEITEND
5. Dirk explodierte ironischer Weise mal als in der Planungsphase Xenery vorschlug ein Stückchen Draht "quer" über die platine zu spannen.
Wenn ich mir die Platine jetzt ansehe, jeder stecker hat zwar seinen Platz. Aber besser sieht es auch nicht aus.
6. Es ist doch egal wie rum man den Quarz einlötet oder?
7. Ich muß feststellen ohne M 256 ist das alles nichts halbes und nichts ganzes. (Der Familienrat tagt... und ich habe schon längst entschieden)
8. Ich habe mir jetzt ein Kabel gebastelt was alle Wetter Sensoren Pins und die LDRs auf den USER Bus legt. Die Platine mit den Sensoren bekommt dann auch einen USER Anschluss und wäre dann ruckzuck verbunden.


gruß Trainmen

25057 25058

TrainMen
06.04.2013, 17:33
Hi,
Wenn einer mal Zeit hat, bitte bei Reichelt nach den Shunt gucken ( 4 Watt Niederohmiger Drahtwiderstand axial bedrahtet Hochlast 0.051 O 4 W ± 5 % ) und mir die Nummer geben. Ich bin zu blöd.
gruß Trainmen

fabqu
06.04.2013, 18:12
Hi Trainmen,

1. Sicherung: Kannst du dir eigentlich aussuchen... 6,3A ist zwar viel, aber wenn du viele Servos gleichzeitig laufen lässt, kann es schon nötig sein. Ich habe einfach die größte Sicherung genommen die sie so hatten. Natürlich könnten auch 4A reichen...
2. -
3. Die sind schon an der Bumperplatine verbaut. Sind keine Elkos, sondern ein Tantal, 10uF, CAP3528-Package (C37). Sollte ausreichend sein.
4. !? Echt? Wusste ich nicht. Hab aber die Sharps dran und - bisher - keine Probleme.
5. Weiß ich jetzt nicht. Klappt alles einwandfrei.
6. Jap
7. Ne. Ohne die M256 hast du ein paar Sachen weniger bzw. etwas weniger Auswahl ;) Inka kommt mit der M32 glaub ich ganz gut zurecht...
8. Passt, denke ich!

Zum Shunt: für Conrad hätte ich ne Teilenummer angegeben. Bei Reichelt geht evtl der hier:
http://www.reichelt.de/5-Watt-axial/5W-AXIAL-0-082/3/index.html?;ACTION=3;LA=2;ARTICLE=2571;GROUPID=311 7;artnr=5W+AXIAL+0%2C082
Bitte erst Dirk fragen

Grüße

radbruch
06.04.2013, 18:20
Ich dachte, der Shunt sollte 0,051 Ohm haben:

http://www.conrad.de/ce/de/product/416797/

fabqu
06.04.2013, 18:21
Kann man machen, wie man will... muss man dann halt in Dirks Lib anpassen. Dort wird der Wert (0,05 oder 0,051 Ohm) definiert.

radbruch
06.04.2013, 18:26
Dein Reichelt-Widerstand hat 0,51 Ohm

P.S.:
Das wären bei (5A*0,051Ohm)*5A = 0,255V*5A=1,275Watt?

fabqu
06.04.2013, 18:31
Whuups!
Kommando zurück :) Danke dir!
Dann gibts höchstens den hier:
http://www.reichelt.de/5-Watt-axial/5W-AXIAL-0-082/3/index.html?;ACTION=3;LA=2;ARTICLE=2571;GROUPID=311 7;artnr=5W+AXIAL+0%2C082

Bitte erst Dirk fragen, ob der geht!

inka
06.04.2013, 20:29
7. Ne. Ohne die M256 hast du ein paar Sachen weniger bzw. etwas weniger Auswahl ;) Inka kommt mit der M32 glaub ich ganz gut zurecht...

stimmt, bin mehr als zufrieden, auch mit dem aussehen, auch wenn es bei näherem hinsehen schon einem "jumpergrab" ziemlich nahe kommt - aber bei so viel möglichkeiten zum auswählen gehts ja nicht anders...

alles super, auch ohne die 256...

Dirk
06.04.2013, 23:09
Leute, den Shunt-Widerstand kann man auch anders berechnen, wenn man nicht so hohe Ströme braucht. Der LTC2990 kann max. 300mV am Shunt messen. Damit ist unser Shunt für I = 0,3 / 0,051 = 5,88A ausgelegt. Man kann auch andere Maximalströme einplanen. Will man z.B. nur bis 3A messen, bräuchte man einen Shunt von R = 0,3 / 3 = 0,1 Ohm. Der andere Shunt müßte in die Lib (Datei RP6M256_MultiIO.h) eingetragen werden: #define SHUNT_R 0.1

- - - Aktualisiert - - -

@Trainmen:
5. Dirk explodierte ironischer Weise mal als in der Planungsphase Xenery vorschlug ein Stückchen Draht "quer" über die platine zu spannen.
Wenn ich mir die Platine jetzt ansehe, jeder stecker hat zwar seinen Platz. Aber besser sieht es auch nicht aus. Meinst du mit "besser sieht es auch nicht aus" die Verbindungskabel zu den anderen Platinen, zu Sensoren und zum RP6 auf deinen Bildern? Wenn ja, muss ich dir zustimmen. Damals ging es aber wohl darum, auf der MultiIO selbst Verbindungen zwischen Portpins und Sensoren mit losen Kabeln zu machen. Das hat Fabian jetzt weitgehend vermieden und das hätte ich auch nicht gut gefunden: Man würde dann das Chaos in Form von losen Drähten schon bei der Platinenentwicklung einplanen

radbruch
06.04.2013, 23:33
Der andere Shunt müßte in die Lib (Datei RP6M256_MultiIO.h) eingetragen werden: #define SHUNT_R 0.1Das ist ja echt super, dass sogar der Shunt in der Lib schon anpassbar ist. Prima!

Dirk
07.04.2013, 10:49
@radbruch: Wie weit bist du schon mit deiner Platine? Hast du alle Teile bekommen?

radbruch
07.04.2013, 14:16
Die Teile wurden noch nicht geliefert. Aber das war zu erwarten und bei CSD wurde auch auf die möglichen Lieferverzögerungen wegen des Sonderangebots hingewiesen. Deswegen habe ich auch Teile bestellt die zum Bestellzeitpunkt nicht im Lager waren.

- - - Aktualisiert - - -

Da ich ja noch keine Teile habe kann ich nur theoretisch mitreden. Was ich im Moment nicht ganz nachvollziehen kann (, wohl, weil ich in der Planungsphase des Projekts nicht mitgelesen habe,) ist die Funktion und der Aufbau der Tasterplatine. Kann man mit dieser Schaltung auch mehrere gleichzeitig gedrückte Taster erkennen und unterscheiden? Denn, wenn nicht, dann würde ich meine Tastenmatrix wie beim asuro aufbauen:

http://www.asurowiki.de/pmwiki/uploads/Main/switches.jpg
Bild und Beispielwerte aus dem asurowiki: http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Tasten
Beispielwerte für multi-io von inka: https://www.roboternetz.de/community/threads/61294-Hardware-Fragen-zur-Multi-IO?p=574584&viewfull=1#post574584
Schaltplan asuro (S. 74): http://arexx.com/downloads/asuro/asuro_manual_de.pdf

Grundsätzlich erscheint mir allerdings für alle LCD-Anwender eine Tasterauswertung über die Datenleitungen des LCD (beim m256 sind das 8 Stück!) vorteilhafter:


http://www.youtube.com/watch?v=Gz7zc7He9F8
(Aus https://www.roboternetz.de/community/threads/37232-LCD-an-RP6-Base?p=355356&viewfull=1#post355356)

Gruß

mic

[Edit]
"Kann man mit dieser Schaltung auch mehrere gleichzeitig gedrückte Taster erkennen und unterscheiden?" Ach, jetzt habe ich mal mein Hirn eingesetzt und die Antwort selbst gefunden. Jeder Taster (von 1 bis 3) schliest die folgenden Taster kurz. Deshalb kann man die Taster nicht getrennt auswerten und mehrere gleichzeitig gedrückte Tasten nicht erkennen. Krass und völlig unbefriedigend!

btw.: https://www.roboternetz.de/community/threads/61501-Tamiya-Linienfolger-entsteht?p=576057&viewfull=1#post576057

inka
08.04.2013, 10:16
@mic:

ist es wirklich so ein goßer nachteil? auf der basis sind ja auch noch 5 tasten, die lassen sich doch evtl. auch zusätzlich nutzen? Und wenn doch soo schlimm: liesse sich das tasterboard "umbauen"?

radbruch
08.04.2013, 12:32
Schlimm ist es nicht, aber für ein solches Projekt nicht angemessen. Wenn schon der asuro die getrennte Tastenauswertung beherrscht, dann sollte das Multi-IO das doch auch können.

fabqu
08.04.2013, 16:39
Hi Radbruch,
Das ist leider richtig. Ich habe bei der Planung nicht daran gedacht... Habe einfach die Schaltung von der M32 übernommen, ohne darüber nachzudenken.
@inka: es ist schon etwas schade, da man dadurch ja auch viele neue Kombinationen hätte verwenden können, tue dies und das, wenn Taster x und y gedrückt sind, aber nur das, wenn Taster x gedrückt ist.
sollte es einmal zu einer V2 der Multi-IO kommen (was aber nur gehen wird, wenn sich dafür mehr Käufer finden) wird das natürlich behoben.

Grüße

fabqu
11.04.2013, 17:34
Im Download-Bereich gibts jetzt noch ein Jumper.png mit einer Beschriftung aller Jumper und Pins.
Ich hoffe, das hilft euch!
25102

Grüße

inka
11.04.2013, 18:49
hi fabqu,

vielen dank für die grafik, an sowas habe ich schon gedacht, wäre es nur ein bisschen größer (an bytes)...
auf dem monitor super, wenn ich versuche die grafik abzuspeichern, sind es knapp 100kb, wenn ich dann versuche es DINA4-füllend auszudrucken, kann ich nix mehr lesen :-((

fabqu
11.04.2013, 19:05
Erledigt ;)

Thorben W
12.04.2013, 15:34
@ fabqu: Wie viele PWM Ports sind wirklich ungenutzt abgesehen von den Servosteckern?
Wenn ich einen 2. PWM contoller anschließe muss ich nur in der Bibliothek die Adresse ändern und die Adressjumper anders Stecken.
Thorben

fabqu
12.04.2013, 15:46
Unbelegt sind nur drei: in der einzelnen Pinreihe links vom PCA9685 ist der oberste für den BUZ11-Transistor und die unteren vier für die LEDs. Der rest ist frei.

Zum anderen PWM-Treiber: Kommt natürlich darauf an, welcher Art der ist. Wenns auch ein PCA9685 ist, dann ist die Lib, die Dirk gemacht hat, sicherlich die gleiche (andere Adresse natürlich).
Aber PWM-Treiber anderer Hersteller oder einfach andere als der PCA9685 werden unter Umständen anders angesprochen.

inka
06.06.2013, 16:41
hi fabqu, Dirk,

ich habe bei www.exp-tech.de (http://www.exp-tech.de) diesen gyro bestellt:

http://www.exp-tech.de/Sensoren/MinIMU-9-v2-Gyro-Accelerometer-and-Compass-L3GD20-and-LSM303DLHC-Carrier.html

MinIMU-9 v2 Gyro,Beschleunigungssensor, Kompass (L3GD20 and LSM303DLHC Carrier)der sieht als hardware so aus:

25666
jetzt habe ich in den dropbox unterlagen gesehen, dass die minimu so aussieht:

25667

wird die, die ich geliefert bekommen habe mit dem IO board auch funktionieren, oder soll ich sie zurückschicken?

Thorben W
06.06.2013, 21:11
Den sensor den ich von fabqu habe siet aus wie auf deinem ersten Bild.
Thorben W

inka
06.06.2013, 21:22
Und funktionier er? Wie hast du ihn angeschlossen? Einzellitzen oder flachbandkabel? Ein foto evtl? Viele fragen :-)

Gruss inka

Thorben W
06.06.2013, 22:04
Nein ausprobiert habe ich ihn noch nicht.
Mache ich wenn ich Zeit habe.
Thorben W

fabqu
07.06.2013, 09:05
Hi Inka,

das passt!!! Den Sensor kannst du eigentlich anschließen, wie du willst. Ich habe auf meinem Board vier Buchsen und am Gyro vier 90-grad-Pins. Dann stecke ich den Gyro einfach senkrecht aufs Board, hat ganz gut geklappt.
Aber du kannst auch ein Flachband verwenden und ihn irgendwo anders anbringen. Er sollte einfach nicht zu nah an den Motoren sein, das ist alles.
Die Ausrichtung ist dann aber egal (wenn ich mich recht erinnere), da du ihn ohnehin kalibrieren musst.
Er kann Gyro, Beschleunigung und Kompass in allen drei Raumrichtungen und ist daher von seiner Ausgangslage unabhängig.
Dirk: Bitte korrigiere mich, wenn ich hier Quatsch erzähle.

Dirk
07.06.2013, 20:00
Er kann Gyro, Beschleunigung und Kompass in allen drei Raumrichtungen und ist daher von seiner Ausgangslage unabhängig.

Von der Softwareseite sieht das so aus:
1. Man kann zwar das Sensorboard in beliebiger Lage anbringen, allerdings geht die Software von einer BESTIMMTEN Lage der Sensor-Achsen aus.
Wenn man das Board anders anbringt, muss man wahrscheinlich die Lib ändern.

2. Das Board von exp-tech hat zwar dieselben Sensor-Chips (ist also kompatibel zur MinIMU), scheint aber etwas anders im Layout zu sein. Das bedeutet: Nur wenn die Chips auf dem exp-tech Board genauso angeordnet sind, wie auf dem MinIMU-Board, klappt das 1:1 mit der Lib, sonst müßte man auch anpassen.

inka
08.06.2013, 07:54
1. Man kann zwar das Sensorboard in beliebiger Lage anbringen, allerdings geht die Software von einer BESTIMMTEN Lage der Sensor-Achsen aus.
Wenn man das Board anders anbringt, muss man wahrscheinlich die Lib ändern.
ich würde sagen: X in fahrtrichtung, bauteile (und damit Z) nach oben, stimmts?
25685



2. Das Board von exp-tech hat zwar dieselben Sensor-Chips (ist also kompatibel zur MinIMU), scheint aber etwas anders im Layout zu sein. Das bedeutet: Nur wenn die Chips auf dem exp-tech Board genauso angeordnet sind, wie auf dem MinIMU-Board, klappt das 1:1 mit der Lib, sonst müßte man auch anpassen.
EXP-TECH verkauft es nur, auf dem chip steht pololu, sollte als 1:1 einsetzbar sein, oder?

Dirk
08.06.2013, 10:04
Hi inka:

Gute Nachricht: Das Modul, was du gekauft hast, ist die MinIMU-9 v2!

Für die Lib ist sie so angebracht:
1. Bedruckte Seite nach OBEN (Chips nach unten)
2. Y-Achse nach VORN (Aufdruck ist in Fahrtrichtung lesbar)

inka
08.06.2013, 11:04
hi Dirk:

wie beschrieben aufgebaut, angeschlossen, in der orientation.h den HDMM auskomentiert, bei der minIMU die "// entfernt...

folgende anzeigen laufen beim start durch:

RP6 CONTROL 1.4b
>READY TO GO!
----------------------------

#############
#############
--------------------------

RP6 Control M32
Example program
---------------------------

RP6 Multi IO
Selftest 5
--------------------------

X-3625 Y-363
Z-1074 T-18
-------------------------

X5 Y-31 Z-1025
P 0.0 R -1.8
-----------------------------

jetzt scheint sich das programm (RP6Control_MultiIO_05.c) zu beenden...

RP6 CONTROL 1.4b
>READY TO GO
------------------------------

startbutton 1x gedrückt:

RP6 CONTROL 1.4b
>BOOTLOAD
------------------------------

RP6 CONTROL 1.4b
>READY TO GO!
------------------------------
erst hier ist ein neustart durch ein erneutes drücken des startbuttons möglich

Dirk
08.06.2013, 12:29
Nur zur Vollständigkeit...
Fragen:
1. "GPS" ist auch auskommentiert?
2. Vor dem Neu-Kompilieren: Make clean (.lst und .o der OrientationLib entfernt?)
3. Hardwaretechnischer Anschluß ok, wie von fabqu beschrieben?

inka
08.06.2013, 13:03
1) ja, habe es noch einmal mit nicht auskommentiertem GPS probiert - die LCD bleibt nach den ersten textmeldungen leer
2) ja
3) ja

Dirk
08.06.2013, 13:25
Ok, dann kannst du nur testen, welche Teile funktionieren:
1. Die Definitionen "GET_TEMP" und "GET_TEMP_M" auskommentieren (und auskommentiert lassen).
2. In der Demo den Teil unter "// L3GD20 gyroscope:" probeweise auskommentieren.
3. ALTERNATIV in der Demo den Teil unter "// LSM303DLHC magnetometer:" ...
UND den Teil unter "// LSM303DLHC accelerometer:" probeweise auskommentieren.

Nach den Änderungen das Ergebnis hier posten.

inka
08.06.2013, 15:03
1. Die Definitionen "GET_TEMP" und "GET_TEMP_M" auskommentieren (und auskommentiert lassen).

habe auch die "#define OFFSET_TEMP" auskommentiert, die anzeige der temperatur erscheint nun nicht


2. In der Demo den Teil unter "// L3GD20 gyroscope:" probeweise auskommentieren.
auskommentiert:


/* // L3GD20 gyroscope:
task_I2CTWI();
readL3GD20(); // Get sensor values
normalizeL3GD20();
task_I2CTWI();
setCursorPosLCD(0, 0); // line 1
writeStringLCD_P("X");
writeIntegerLCD(x_axisg, DEC);
writeStringLCD_P(" ");
setCursorPosLCD(0, 8); // line 1 pos 9
writeStringLCD_P("Y");
writeIntegerLCD(y_axisg, DEC);
writeStringLCD_P(" ");
setCursorPosLCD(1, 0); // line 2
writeStringLCD_P("Z");
writeIntegerLCD(z_axisg, DEC);
writeStringLCD_P(" ");*/

programm zeigt die werte des Accelerometers und des magnetometers und beendet sich


3. ALTERNATIV in der Demo den Teil unter "// LSM303DLHC magnetometer:" ...
UND den Teil unter "// LSM303DLHC accelerometer:" probeweise auskommentieren.
auskommentiert:


/* // LSM303DLHC accelerometer:
task_I2CTWI();
readLSM303DLHC_A(); // Get sensor values
task_I2CTWI();
setCursorPosLCD(0, 0); // line 1
writeStringLCD_P("X");
writeIntegerLCD(x_axisa, DEC);
writeStringLCD_P(" ");
setCursorPosLCD(0, 5); // line 1 pos 6
writeStringLCD_P("Y");
writeIntegerLCD(y_axisa, DEC);
writeStringLCD_P(" ");
setCursorPosLCD(0, 10); // line 1 pos 11
writeStringLCD_P("Z");
writeIntegerLCD(z_axisa, DEC);
writeStringLCD_P(" ");
normalizeLSM303DLHC_A(); // Normalize data
positionLSM303DLHC_A(); // Calculate position
setCursorPosLCD(1, 0); // line 2
writeStringLCD_P("P");
writeDoubleLCD(pitch, 6, 1);
writeStringLCD_P(" ");
setCursorPosLCD(1, 8); // line 2 pos 9
writeStringLCD_P("R");
writeDoubleLCD(roll, 6, 1);
writeStringLCD_P(" ");
task_I2CTWI();
mSleep(3000);
// LSM303DLHC magnetometer:
task_I2CTWI();
readLSM303DLHC_M(); // Get sensor values
task_I2CTWI();
setCursorPosLCD(0, 0); // line 1
writeStringLCD_P("X");
writeIntegerLCD(x_axism, DEC);
writeStringLCD_P(" ");
setCursorPosLCD(0, 5); // line 1 pos 6
writeStringLCD_P("Y");
writeIntegerLCD(y_axism, DEC);
writeStringLCD_P(" ");
setCursorPosLCD(0, 10); // line 1 pos 11*/

programm zeigt die werte des gyros und beendet sich

Thorben W
08.06.2013, 15:46
@Dirk: Wenn der Kompass bei mir nach Osten zeigt wird Süden angezeigt und wenn ich dann den RP6 um 180° drehe er also nach Westen guckt dann wird Osten angezeigt. Richtung Norden angezeigt: NE und Richtung Süden angezeigt SE

Thorben W

Dirk
08.06.2013, 15:53
@inka:
Ich muss demnächst mal wieder die M32 an die MultiIO anschliessen. Dann probiere ich das mal durch.

@Thorben W:
Was hast du nochmal für einen Sensor an der MultiIO am Laufen?
Kalibrierung richtig durchgeführt?

Thorben W
08.06.2013, 19:30
Den MinIMU-9 v2, welche Kalibrierung denn?
Thorben W

inka
08.06.2013, 20:39
hi Thorben,

hast du die M32 oder M256?

Thorben W
08.06.2013, 21:02
Ich habe die M256
Thorben W

Dirk
08.06.2013, 21:35
@Thorben W:

Den MinIMU-9 v2, welche Kalibrierung denn?
Die (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Configuration_Header_2) hier.

Wenn die Richtungen konstant vertauscht sind, kann es auch an der Lage des Sensors auf dem RP6 liegen.
Siehe hier (https://www.roboternetz.de/community/threads/61294-Hardware-Fragen-zur-Multi-IO?p=580270&viewfull=1#post580270)!

Thorben W
08.06.2013, 22:09
Also dir Beschriftung zeigt nach oben die y Achse nach Vorne. Die Multi IO ist bei mir hinten montiert.

Thorben W
25692

Dirk
08.06.2013, 22:33
@Thorben W:

Beschriftung zeigt nach oben die y Achse nach Vorne
Genau dafür ist die Lib geschrieben. Also alles im grünen Bereich.
Fürs Magnetometer wäre es gut, wenn die Flachkabel und die schwarz-roten Stromkabel nicht direkt in der Nähe entlang laufen würden.

Thorben W
08.06.2013, 22:39
Danke für den Hinweis (sind doch "nur" 6,5 cm :) ) Werde ich höher bauen und am besten nicht neben den GPS und die WLAN Antenne?
Thorben W

Dirk
08.06.2013, 22:44
höher bauen und am besten nicht neben den GPS und die WLAN Antenne
Besser isses ...

inka
09.06.2013, 10:30
@inka:
Ich muss demnächst mal wieder die M32 an die MultiIO anschliessen. Dann probiere ich das mal durch.

könntest du bitte bei der gelegenhet auch an die HDMM denken? Ich habe zwar jetzt auch die minIMU, möchte aber die HDMM nicht ganz außer acht lassen...

noch eine frage zu den X/Y min/max werten: Sollten die werte währen der drehung um 360° einen kontinuierlichen verlauf haben (sinus?) Gilt das für HDMM wie auch für dier minIMU?

Dirk
09.06.2013, 10:47
@inka:

frage zu den X/Y min/max werten: Sollten die werte währen der drehung um 360° einen kontinuierlichen verlauf haben (sinus?) Gilt das für HDMM wie auch für dier minIMU?
Ja! Ja!

inka
10.06.2013, 17:52
@Dirk: ich komme nicht drauf woran es liegt dass der HDMM immer um ca. 90° cw mehr/falsch anzeigt als er sollte. Habe schon alle möglichen störquellen wie servos abgebaut, es ändert sich nicht...
Der verlauf der anzeige beim drehen des RP6 ist aber kontinuierlich, ohne außreisser, bzw. eine plötzliche anzeige die zu der vorherigen nicht passt. von 0 bis 359...

Gibt es in der lib irgendwo eine möglichkeit den angezeigten wert durch das hinzufügen eines korrekturfaktors um diese 90° zu verändern?

Dirk
11.06.2013, 09:01
@inka:
Einen "Korrekturfaktor" könnte man zur Richtungsanzeige hinzufügen, das ist aber nur die zweitbeste Lösung.

Die beste ist:
HDMM01 so anbringen:
- Sensorchip nach OBEN (U1 von oben lesbar)
- SDA/SCL Pins in Fahrtrichtung VORN

Wenn du den Sensor anders angebracht hast, ist das auch kein Drama:
- Nimm dir die Funktion readHDMM01() vor. Darin gibt's die Zeilen:

// xb = y:
x_axis2dm = ((readBuf[MSB_X_AXIS] & 0x0f) << 8) + readBuf[LSB_X_AXIS];
// yb = -x:
y_axis2dm = ((readBuf[MSB_Y_AXIS] & 0x0f) << 8) + readBuf[LSB_Y_AXIS];
y_axis2dm *= -1;

Durch y_axis2dm *= -1; wird hier z.B. die Y-Achse umgekehrt. Du kannst das probeweise auskommentieren.
Genauso kannst du für die X-Achse eine neue Zeile x_axis2dm *= -1; einfügen, um die X-Achse umzukehren.
Damit probierst du alle 4 Kombinationen durch bis die Richtungsangaben passen.

inka
11.06.2013, 10:11
@inka:
Die beste ist:
HDMM01 so anbringen:
- Sensorchip nach OBEN (U1 von oben lesbar)
- SDA/SCL Pins in Fahrtrichtung VORN

ist so aufgebaut...


@inka:
Durch y_axis2dm *= -1; wird hier z.B. die Y-Achse umgekehrt. Du kannst das probeweise auskommentieren.
Genauso kannst du für die X-Achse eine neue Zeile x_axis2dm *= -1; einfügen, um die X-Achse umzukehren.
Damit probierst du alle 4 Kombinationen durch bis die Richtungsangaben passen.

das wars noch nicht, aber vielleicht hilft es bei der fehlersuche:

RP6 steht in fahrtrichtung NORD.

1) y_axis2dm *= -1; auskommentiert, anzeige heading: 90, die sich nur im bereich 88-91 bei 360° drehung verändert


2) x_axis2dm *= -1; hinzugefügt bei auskommentierter umkehrung der y achse: anzeige heading:135, die anzeige verändert sich bei 360° drehung im bereich 135-136


3) beide achsen umgekehrt: anzeige heading 181, verändert sich bei drehung 360° im bereich 179-181


4) ursprünglicher zustand(x auskommentiert, y-achse umgekehrt): heading anzeige 251, verändert sich kontinuierlich bei einer drehung um 360° im bereich 0-360

Dirk
11.06.2013, 16:01
Wenn der HDMM01 so angebracht ist, wie beschrieben, bringt auch ein Tauschen der Achsen nichts.
Die Anzeige müßte dann mit der Orientierungslib stimmen.
Wenn nicht: Metalleinflüsse von außen reduzieren und neu kalibrieren.
Wenn das auch nicht hilft: ???

inka
11.06.2013, 16:27
und da ist nix an metalleinfluss was ich beseitigen könnte. Also doch die zweitbeste lösung mit dem korrekturfaktor. Wie mache ich das?

gruss u. dank
Inka

Dirk
11.06.2013, 23:13
Hi inka:
In der Funktion headingHDMM01() könnte man 90° addieren oder subtrahieren.

Thorben W
16.06.2013, 18:11
wo ran kann es liegen das der Bumper handler der Multiio (MULTIIO_BUMPERS_setStateChangedHandler(bumpersSta teChanged);) nicht funktioniert aber der Handler der Front bumper.
lfsbumper_init(); habe ich aufgerufen.
Übersetzt wird das Programm fehlerfrei.
Thorben W

inka
17.06.2013, 15:37
@inka:
Ich muss demnächst mal wieder die M32 an die MultiIO anschliessen. Dann probiere ich das mal durch.

hi Dirk,

da ich weder mit der HDMM noch mit der minIMU weiterkomme, habe ich mich mit meinen servos im zusammenhang mit dem IO-board beschäftigt...

hat die zeit zu dem test der minIMU mit der M32 schon evtl. gereicht?

Dirk
18.06.2013, 08:51
@inka:
Die Zeit (Urlaub!) hätte schon gereicht, aber ich habe nur meine Progs auf dem Laptop, komme aber nicht an die Hardware dran.
Vielleicht kann ich ja (via PN) zur MinIMU was sagen, wenn du Lust hast, das Problem damit nochmal zu beschreiben bzw. mit mir einzugrenzen.

Wenn nicht: In der 2. Julihälfte bin ich wohl wieder an Bord.

TrainMen
18.06.2013, 12:46
Hi Thorben,

hast Du auch nichts vergessen ? hättest mal Deinen Code Posten sollen.
in der Main habe ich:

MULTIIO_BUMPERS_init();
MULTIIO_BUMPERS_setStateChangedHandler(MULTIIO_BUM PERS_stateChanged);
und in der While:

task_MULTIIO_BUMPERS();
im Programm noch die Funktion:

void MULTIIO_BUMPERS_stateChanged(void)
wo eben steht was gemacht werden soll.

inka
22.06.2013, 16:18
hi Dirk,
also schauen wir mal was mitte juli geht...
schönen urlaub noch...

Thorben W
22.06.2013, 17:29
Zu dem Problem mit den Bumpern der Code


/************************************************** ***************************/
// Includes:

#include "RP6M256Lib.h"
#include "RP6I2CmasterTWI.h" // I2C Master Library
#include "RP6M256_I2CMasterLib.h"
#include "RP6M256_LFSBumperLib.h"

#include <string.h>

/**
* Bumpers Event handler
*/
void bumpersStateChanged(void)
{
if(bumper_left && bumper_right)
{
wifiControl.dir = FWD;
wifiControl.speed_left = 0;
wifiControl.speed_right = 0;
clearPosLCD(3,0,16);
setCursorPosLCD(3, 0);
writeStringLCD_P("stop");
moveCommand(&wifiControl);
}
else if(bumper_left)
{
wifiControl.dir = FWD;
wifiControl.speed_left = 0;
wifiControl.speed_right = 0;
clearPosLCD(3,0,16);
setCursorPosLCD(3, 0);
writeStringLCD_P("stop");
moveCommand(&wifiControl);
}
else if(bumper_right)
{
wifiControl.dir = FWD;
wifiControl.speed_left = 0;
wifiControl.speed_right = 0;
clearPosLCD(3,0,16);
setCursorPosLCD(3, 0);
writeStringLCD_P("stop");
moveCommand(&wifiControl);
}
}


// ... //

int main(void)
{
initRP6M256();
initLCD();// IMPORTANT:
lfsbumper_init(); // LFS & Bumper init!!!

// ---------------------------------------
I2CTWI_initMaster(100);
I2CTWI_setRequestedDataReadyHandler(I2C_requestedD ataReady);
I2CTWI_setTransmissionErrorHandler(I2C_transmissio nError);
MULTIIO_BUMPERS_setStateChangedHandler(bumpersStat eChanged);
BUMPERS_setStateChangedHandler(bumpersStateChanged );


// ... //


while(true)
{
task_checkINT();
task_I2CTWI();
behaviourController();
//task_webserver();
task_MULTIIO_BUMPERS();

}
return 0;
}
Es funktioniert leider noch nicht ob wohl ich im vergleich zum letzten mal task_MULTIIO_BUMPERS(); erweitert habe.
Thorben W

TrainMen
23.06.2013, 11:40
Hi,
sollte Deine Eventhandler nicht

void MULTIIO_BUMPERS_stateChanged(void)

heißen ? den Du da aufrufst ist der für die alten Bumper.

Thorben W
23.06.2013, 14:45
Ich rufe beide auf den für "vorne" und den für "hinten"
Thorben W

TrainMen
25.06.2013, 12:01
ja Du rufst beide in der Main auf, Du sagst aber nur dem alten was er machen soll wenn Kontakt da ist.

Thorben W
25.06.2013, 15:00
Reicht nicht auch einer für beide? Probier ich dann mal aus
Thorben

TrainMen
26.06.2013, 07:42
Dirk benutzt ja in den Libs andere Variablen die abgefragt werden müssen, als die der alten Bumper.
Wie sollte das in Deinem Code funktionieren ? Kontakt vorn - ...fahre Vorwärts Kontakt hinten - ...fahre Vorwärts wäre ja dann Deine Programm Logik und das wäre ja unsinn. Du mußt also schon die Zustände aller 4 Bumper abfragen und je nach dem reagieren.

Dirk
29.06.2013, 14:50
@inka:

also schauen wir mal was mitte juli geht...
Wenn du vorher schon mal was machen willst:
Setz mal in der Demo (RP6Control_MultiIO_05) die I2C-Busgeschwindigkeit weiter runter.
Und zwar in 10er Schritten von 100 kHz auf 90, 80, 70. Jeweils neu kompilieren und testen.
Zeile: I2CTWI_initMaster(100);

inka
29.06.2013, 16:57
@Dirk,
habe den wert versuchsweise auf 70, 50 und 20 geändert, das programm reagiert wie gehabt, wird also nach einer einmaligen anzeige der minIMU werte beendet und kehrt zu der "READY TO GO!" LCD-anzeige zurück...

Dirk
29.06.2013, 23:42
@inka:
Dein Programm beendet sich selbst.
Was du probieren kannst:
1. Lade das Beispiel und die Libs nochmal komplett runter.
2. Prüfe nochmal den elektrischen Anschluß der MinIMU.
3. Ändere I2CTWI_initMaster(100) auf I2CTWI_initMaster(70).
4. Kompiliere das neu.

Wenn das Programm jetzt immer noch aussteigt, weiß ich erstmal nicht weiter.

inka
30.06.2013, 08:54
@Dirk:

habe die dateien für M32 (RP6Control_MultiIO_05.zip) heruntergeladen, die dateien

RP6Control_MultiIO.h
RP6Control_Orientation.h
RP6Control_OrientationLib.c
RP6Control_OrientationLib.h

in meinem libverzeichnis durch die neuen ersetzt und die RP6Control_MultiIO_05.c mit unveränderten (neuen) libs neu kompiliert. Nach dem upload hat sich am ergebnis nichts geändert, das programm beendet sich nach einmaligem anzeigen der minIMU daten selbst.

das gleiche passiert nach der änderung von I2CTWI_initMaster(100) auf I2CTWI_initMaster(70).

die hardwarekontrolle beschränkte sich auf die nochmalige kontrolle der "abweichenden IO jumperstellung für die M32", das vorhandensein der VIN, GND, SDA und SCL leitungen/signale für die minIMU (deren verbindung zu den entsprechenden punkten an der BASE bzw. der M32).
Alles OK...
Würden die fehlen, würde ja die minIMU garnichts tun, oder?

dann habe ich versucht die im archiv enthaltene *.hex datei zu laden, nach deren start bleibt das LCD "dunkel", es wird nichts angezeigt.


das einzige was mir noch einfällt: könnte ich Dir das IO-board, die minIMU und den HDMM zum überprüfen schicken? Für porto hin und zurück komme ich selbstverständlich auf...

Dirk
30.06.2013, 10:11
Hi inka,

als Schritt davor habe ich erstmal die HEX der Demo 05 geschickt.
Funktioniert die?

inka
30.06.2013, 11:08
hi Dirk,

auch wenn ich (noch) nicht weiss, was die vielen zahlen im LCD bedeuten:

JA! die hexdatei funktioniert!


wo lag das problem?

Dirk
30.06.2013, 14:02
Hi inka,

wo lag das problem?
Ich habe keins identifiziert, außer der jetzt auf 70 kHz reduzierten I2C-Busgeschwindigkeit.
Die komplette Demo mit Source habe ich dir noch einmal geschickt.

inka
30.06.2013, 14:52
Hi Dirk,

ich habe nun die dateien noch einmal getauscht, kompiliert, hier das protokoll:


-------------- Bereinigen: gyro_test_multi_io_05 in multi_I_O_test ---------------

Cleaned "multi_I_O_test - gyro_test_multi_io_05"

-------------- Erstellen: gyro_test_multi_io_05 in multi_I_O_test ---------------

Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6ControlLib.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6ControlServoLib.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6Control_I2CMasterLib.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6Control_LFSBumperLib.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6Control_MultiIOLib.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6Control_OrientationLib.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6I2CmasterTWI.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/2012_lib_komplett/RP6uart.c
Compiliere: ../../../../mnt/netzserver_x/georg/workspace/multi_I_O_test/gyro_test_RP6Control_MultiIO_05.c
Verbinde Programmmodule ausführbare Datei: bin/gyro_test_multi_io_05/gyro_test_multi_io_05
Output size is 60,93 KB
Projekt-Schritte nach dem Erstellen ausführen
avr-objcopy -O ihex -R .eeprom -R .eesafe bin/gyro_test_multi_io_05/gyro_test_multi_io_05 bin/gyro_test_multi_io_05/gyro_test_multi_io_05.hex
avr-objcopy --no-change-warnings -j .eeprom --change-section-lma .eeprom=0 -O ihex bin/gyro_test_multi_io_05/gyro_test_multi_io_05 bin/gyro_test_multi_io_05/gyro_test_multi_io_05.eep.hex
avr-objdump -h -S bin/gyro_test_multi_io_05/gyro_test_multi_io_05 > bin/gyro_test_multi_io_05/gyro_test_multi_io_05.lss
Prozess wurde mit Status 0 beendet. (0 Minuten, 2 Sekunden)
0 Fehler, 0 Warnungen

und die kompilierte datei geht nicht!

Dirk
30.06.2013, 15:22
Hi inka,
scheint ja auch bei dir fehlerfrei zu kompilieren.
Ich habe bei der Demo natürlich nur die notwendigen Libs (RP6ControlLib, RP6uart, RP6I2CmasterTWI, RP6Control_OrientationLib) eingebunden.
Bei dir sehe ich noch die RP6ControlServoLib, RP6Control_LFSBumperLib und RP6Control_MultiIOLib.
Versuch doch mal, die nicht unbedingt nötigen Libs eine nach der anderen wegzulassen. Vielleicht kannst du ja was inkompatibles identifizieren.

inka
30.06.2013, 16:21
Hi inka,
scheint ja auch bei dir fehlerfrei zu kompilieren.

das war ja offensichtlich mein trugschluss: ich dachte eine *.c datei, die bein anderen kompiliert wurde und lief, - wenn sie bei mir ohne fehler ebenfalls kompiliert wurde - wird/muss auch bei mir funktionieren...


Ich habe bei der Demo natürlich nur die notwendigen Libs (RP6ControlLib, RP6uart, RP6I2CmasterTWI, RP6Control_OrientationLib) eingebunden.
Bei dir sehe ich noch die RP6ControlServoLib, RP6Control_LFSBumperLib und RP6Control_MultiIOLib.
Versuch doch mal, die nicht unbedingt nötigen Libs eine nach der anderen wegzulassen. Vielleicht kannst du ja was inkompatibles identifizieren.

ich habe die drei dateien nacheinander entfernt, erst beim entfernen der "RP6Control-MultiIOLib.c" funktionierte es, komischerweise wurde bei keiner der drei dateien, als ich sie entfernt habe, verlangt das projekt neu zu speichern. Und trotzdem wurden sie beim kompilieren verwendet. Man lernt nie aus...

also, weitergehts mit dem kompass!

danke für alle deine bemühungen, ich hätte es ohne den hinweis nie gefunden...

Dirk
30.06.2013, 17:49
@inka:
Gut, dass es bei dir jetzt weitergehen kann! :)

Schlecht:
Jetzt gehe ich auf Suche, warum sich die Orientierungs Lib eventuell nicht mit der MultiIO Lib verträgt ... :evil:
Werde jetzt die anderen Libs nacheinander mit einbinden und gucken, was passiert. :nö:

Dirk
30.06.2013, 19:58
Geschafft:
Alle drei Libs (RP6ControlServoLib, RP6Control_LFSBumperLib und RP6Control_MultiIOLib) nacheinander mit eingebunden, allerdings ohne eine Funktion daraus aktiv zu nutzen.
Ergebnis: Demo 05 läuft.
Also:
Keine Ahnung, was da gelaufen ist.

inka
30.06.2013, 20:11
werde ich morgen auch noch einmal probieren...

inka
01.07.2013, 08:18
Geschafft:
Alle drei Libs (RP6ControlServoLib, RP6Control_LFSBumperLib und RP6Control_MultiIOLib) nacheinander mit eingebunden, allerdings ohne eine Funktion daraus aktiv zu nutzen.
Ergebnis: Demo 05 läuft.
Also:
Keine Ahnung, was da gelaufen ist.

bei mir läuft die demo_05 nur wenn ich die "RP6Control_MultiIOLib.c" NICHT in den projektsettings verwende. Die anderen beiden (RP6ControlServoLib, RP6Control_LFSBumperLib) sind eingebunden, es werden aber keine funktionen daraus verwendet...

Dirk
01.07.2013, 21:50
Komisch: Warum sollte das Einbinden einer Lib ohne Nutzung von Funktionen aus der Lib sich so auswirken?
Naja, es gibt Dinge zwischen Himmel und Erde ... :-k

inka
04.07.2013, 17:41
frage zu stromversorgung:

die beschreibung im RN-wissen sagt (mir) in dieser richtung nichts, deshalb, um kein schaden anzurichten folgende frage:

ich betreibe die IO-karte mit am RP6-akku. Jetzt blieb plötzlich die LCD anzeige zwar beleuchtet, aber ansonsten leer. Ein anschluss des loaderkabels am RP6 brachte die fehlermeldung, dass die spannung unter 5,2 V abgesunken ist.

- ladegerät in die RP6-buchse, es wurde geladen...
- RP6 einschalten geht nicht, weil der ladevorgang unterbrochen wird...

geht denn dass überhaupt - laden des RP6 akku UND weiter programme tetsten? Evtl. über die IO-board ladebuchse?

Dirk
05.07.2013, 21:38
@inka:
Grundsätzlich ist der RP6 so gestrickt, dass man die eingesetzten Akkus nur laden kann, wenn der RP6 ausgeschaltet ist.
Grund: Die Ladegeräte für einen 7,2V Akku können über 10V erzeugen. Das wäre u.U. zu viel für den RP6.
Wenn man sich auskennt, kann man da auch andere Lösungen mithilfe des EXT-Anschlusses erreichen, siehe hier (http://www.rn-wissen.de/index.php/RP6#EXT_Anschlu.C3.9F)!

Was die MultiIO angeht, hat fabqu die Stromversorgung recht universell ausgelegt, siehe angehängten Schaltplan!
Man kann demnach an S2 einen eigenen Akku 7,2V anklemmen und den über B1 laden. Ist S2 dabei in der oberen Stellung (wie eingezeichnet), besteht während des Ladens keine Verbindung zur Rest der Schaltung.
Damit könnte man 2 Sachen machen:
1. Man kann mit dem Akku an S2 NUR die MultiIO versorgen. Dazu kommt S2 in die untere Stellung (nach dem Laden!!), S1 in Stellung "U". Der RP6 selbst wird dann von seinem eigenen Akku versorgt.
2. Man kann mit dem Akku an S2 die MultiIO UND den RP6 versorgen. Dazu kommt S2 in die untere Stellung (nach dem Laden!!), J_U-RP6 und J_UB werden aufgesteckt und die Akkus im RP6 werden herausgenommen (!!!).

Beide Schaltungen haben Vorteile:
Bei der 1. Lösung teilt sich die Stromversorgung auf 2 Akkus auf, hält daher länger.
Bei der 2. Lösung kann man durch eine höhere Kapazität des Akkus an S2 (>2700 mAh) eine längere Laufzeit erreichen.

inka
06.07.2013, 17:47
ok, versuchen wir es:

ich möchte den RP6 über den eingebauten akku betreiben, die MultiIO über einen netzteil an B1. Folgende stellung der jumper/schalter:

J_UB, J_VCC - offen
J_URP6 - geschlossen
S1 - stellung UB
S2 - stellung oben (platinenrand
B1 - ein netzteil 9V (auch 12V?)

Dirk
06.07.2013, 18:07
Ok ...

Vorschlag:
J_UB, J_VCC - offen
J_URP6 - geschlossen (oder offen - egal)
S1 - stellung U
S2 - stellung oben (platinenrand) fürs LADEN, sonst unten
B1 - ein netzteil 9V

inka
06.07.2013, 18:11
ist der S1 dann in stellung UB, wenn der schalterhebel näher an B1 ist? Eine dedachte verlängerung des schalterhebels zeigt auf UB?

Dirk
06.07.2013, 18:47
Ja, genau.

inka
06.07.2013, 19:14
wenn ich dann den S2 nach unten, also vom platinenrand wegschiebe, geht dir grüne led aus (netzteil ist an B1)

Dirk
06.07.2013, 21:09
Also, wenn S2 oben ist, dürfte nichts leuchten.
Kannst du mit einem Meßgerät die 5V und 9V messen?

inka
07.07.2013, 08:24
Also, wenn S2 oben ist, dürfte nichts leuchten.

siehe bild. Der S1 steht auf UB, RP6 ist ausgeschaltet. Kann ich den S2 falsch herum eingelötet haben, oder ist es nicht möglich?
25971



Kannst du mit einem Meßgerät die 5V und 9V messen?

das netzteil liefert 8,9V, + in der mitte, an der minIMU liegen an GND und VIN 5,03V...- S2 vorne, wie auf dem foto...

Dirk
07.07.2013, 09:53
Nein, den S2 kann man nicht falsch einlöten.
Es wäre aber möglich, dass er "andersherum" schaltet (ähnlich wie S1). Jedenfalls müssen die unteren beiden Lötpunkte des S2 (also die zur Platinenmitte hin) verbunden sein, damit es klappt.
Nimm doch einfach die Stellung von S2, bei der die MultiIO mit Netzteil an B1 funktioniert.
WICHTIG: Es darf dann keine Verbindung mehr zum RP6 an VDD und +UB mehr geben!!! (Das ist mit der Schalterstellung, die du angegeben hast, aber auch so ok!)

inka
07.07.2013, 17:20
so funktioniert es jetzt...

inka
11.07.2013, 17:01
hallo allerseits,

bereits zum zweiten mal darauf hereingefallen: die spannung der akkus des RP6 fält unter den wert von 5,2V und egal wie gut das programm vorher lief, ab dann liefert es nur noch mist!

fragen:
- gäbe es nicht im zusammenhang mit dem IO board beim initialisieren des boards (also beim einschalten) eine möglichkeit die spannung einmal anzuzeigen?

- alternativ dazu könnte man ein mini-led-voltmeter einbauen und die spannung auch dauerhaft anzeigen. Die digitalen LED-spannungsanzeigen haben aber sehr große ziffernhöhe, kennt jemand andere, kleinere?

Dirk
11.07.2013, 20:16
Hi inka,

ja klar. Du kannst am Programmanfang einmalig z.B. den LTC2990 abfragen und dir vbat ausgeben lassen.
Es ist auch möglich, einen unteren Grenzwert festzulegen und vbat regelmäßig in der Hauptschleife abzufragen.
Wenn der untere Grenzwert unterschritten wird, könnte man eine Warnung ausgeben und/oder den RP6 stoppen. Alles möglich ...

inka
12.07.2013, 10:02
Hi Dirk:

in meinem programm habe ich eingesetzt:


int main(void)
{
initRP6Control();
multiio_init();
initLCD();
//orientation_init();
// Voltage & current sensor test:
LTC2990_measure();
writeString("BAT Current: ");
writeDouble(cbat, 6, 1);
writeString(" mA\nBAT Voltage: ");
writeDouble(vbat, 4, 1);
writeString( " V\n ");



die funktion selbst ist:


void LTC2990_measure(void)
{
LTC2990_run(); // Start measurement
mSleep(200);
LTC2990_read(); // Read data
LTC2990_calculate(); // Calculate values
}

die ausgabe beschränkt sich ber nur auf:


[RP6BOOT]

[READY]
BAT Current: 0.0 mA
BAT Voltage: 0.0 V

was muss ich noch tun, damit er auch echt die spannung misst?

TrainMen
12.07.2013, 11:22
Hi Inka,
Du solltest vielleicht mal das ganze Programm einstellen, wie soll man denn da sonst sehen was Du vergessen hast.
Schon der fehlende Aufruf von I2CTWI_initMaster reicht um dir Nullen in der Ausgabe zu bringen. Warum Du die Funktion
void LTC2990_measure(void) erwähnst versteh ich auch nicht. Sie ist ja Bestandteil der Lib von Dirk und schon mit LTC2990_measure(); rufst Du ja die Daten ab. Ich habe mal schnell ein paar Zeilen geschrieben.


// Includes:
#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
#include "RP6Control_MultiIOLib.h"
#include "RP6Control_I2CMasterLib.h"

/************************************************** ***************************/
void writeDouble(double number, uint8_t width, uint8_t prec)
{
char buffer[width + 1];
dtostrf(number, width, prec, &buffer[0]);
writeString(&buffer[0]);
}

/************************************************** ***************************/
void Ausgabe(void)
{
LTC2990_measure();
writeString("BAT Current: ");
writeDouble(cbat, 6, 1);
writeString(" mA\nBAT Voltage: ");
writeDouble(vbat, 4, 1);
writeString( " V\n ");
}
/************************************************** ***************************/
int main(void)
{
initRP6Control();
I2CTWI_initMaster(100);
multiio_init();


/************************************************** ***************************/

while(true)

{

Ausgabe();

}
return 0;
}




Jetzt hast Du Deine Ausgaben auf dem Terminal.

inka
12.07.2013, 12:02
das problem lag daran, dass die zeile

I2CTWI_initMaster(100);

hinter der strom und spannungsabfrage, statt davor war...

danke...

Thorben W
18.07.2013, 15:57
Hallo ihr
ich versuche gerade die Snakevision am RP6 funktionsfähig zu bekommen.
Ist das richtig / ist das bei euch auch so, das der Transistor Q2 bei offenem Jumper ca. 4V auf die Base schaltet?
Thorben

- - - Aktualisiert - - -

Wie muss ich die Snakevision eingentlich anschließen? Die Signalpins sind ja klar.
Ich habe jetzt VCC (IC2 Pin 1) auf der Multiio an Pin 2 des vorgesehenen Steckers. Und GND an GND am Vorderen XBUS

radbruch
18.07.2013, 16:39
Hallo

Vielleicht hilft dir das weiter:

https://www.roboternetz.de/community/threads/47843-Projekt-RP6-mit-Snake-Vision
https://www.roboternetz.de/community/threads/56257-Problem-mit-Snake-Vision

Gruß

mic

Thorben W
18.07.2013, 17:30
Nein leider nicht meine Frage war ja wie das auf der Multiio mit der Beschaltung für die snake vorgesehen war.
Thorben

Dirk
18.07.2013, 17:40
Hi Thorben,

im RN-Wissen (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt#Snake-Vision-Modul) schon den Abschnitt von fabqu's Hardware-Artikel zur MultiIO gelesen?

fabqu
19.07.2013, 08:33
Hi Thorben,

da gibts mehrere Möglichkeiten, findest du auch HIER (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt#Snake-Vision-Modul). Entweder, du veränderst das SnakeVision-Modul, wie HIER (https://www.roboternetz.de/community/threads/47843-Projekt-RP6-mit-Snake-Vision) beschrieben (Überbrücken des Reglers) oder du schließt sie direkt an und benutzt den Transistor zum Pulsen des Moduls, wie es bei diesem Modul eigentlich vorgesehen wäre.

Viele Grüße

inka
16.09.2013, 11:30
hallo,

habe nun die bumperplatine angeschlossen...

- beim betätigen des linken hinteren bumpers leuchtet die entsprende LED, beim rechten hinteren nicht

- beim ausführen der demo 3 erscheint die anzeige "0 <BUMPER> 0" auf dem LCD display, ansonsten keine reaktion. Ich nehme an, die "0" sollte sich beim betätigen des jeweiligen bumpers in eine "1" (?) verändern...

- auch beim kurzschliessen der entsprechenden lötpinns des rechten hinteren bumpers erfolgt keine reaktion


wie finde ich den fehler?

ein anderes kabel habe ich bereits probiert, die SMD bauteile vorsichtig nachgelötet...

danke...

Dirk
16.09.2013, 16:55
Diesen Abschnitt http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt_-_Software#Multi_IO_Projekt_Library_3
... im RN-Wissen gut gelesen?
Insbesondere die Verbindungen unter der Überschrift "Bumper anschliessen"?

inka
16.09.2013, 17:15
nein, natürlich nicht!
der wahljumperblock stimmt, ich muss aber noch die zwei einzelne verbindungen wie sie in dem bild dargestellt sind herstellen...
ändert sich dann noch etwas an den libs, oder demos?

btw: den touchstone incl. netzteil habe ich heute weggeschickt, die coils wurden bei ebay als verschickt gekennzeichnet...


edit:
beide verbindungen sind jetzt dran. Ich muss noch die position der bumper genauer definieren:

in fahrtrichtung gesehen:

- beim linken hinteren bumper glimmt die entspr. LED dauernd, beim betätigen leuchtet sie

- beim rechten hinteren passiert nach wie vor nichts

- beim ablauf der demo_3 blinkt die linke hintere LED, rechte blinkt nicht.

- die anzeige im LCD bleibt beim betätigen beider bumper (einzeln) "0 <BUMPER> 0" unverändert, die linke hintere LED glimmt nicht, beim betätigen des linken hinteren bumpers leuchtet sie, rechts passiert nichts...

Dirk
16.09.2013, 20:15
Hi inka,

ändert sich dann noch etwas an den libs, oder demos?
Nein, die Libs/Demos gehen davon aus, dass diese Verbindungen hergestellt sind.
(Würde man sie nicht herstellen, wären die Bumper eh ohne Funktion.)


beim ablauf der demo_3 blinkt die linke hintere LED, rechte blinkt nicht.
Rechts könnte es noch ein Hardware-Problem geben.
Dazu müßte fabqu etwas sagen.

inka
17.09.2013, 18:07
@Dirk:

gibt es eigentlich eine erklärung für das dauerglimmen der LED (nur die eine, die geht, links hinten)? Beim ausführen der demo_03 ist das glimmen weg, kommt erst wieder beim programmabbruch / ende...

edit:
ich habe jetzt auf der rechten seite, (also der, wo der bumper nicht geht) einfach parallel zu der eingelöteten SMD-LED eine andere low-current-LED drangehalten - die leuchtet, wenn der bumper betätigt wird. Kann ich daraus schliessen, dass die SMD-LED falsch herum eingelötet ist?

Dirk
17.09.2013, 19:46
Hi inka,

gibt es eigentlich eine erklärung für das dauerglimmen der LED (nur die eine, die geht, links hinten)?
Ohne Ansteuerung der Platine (IO-Pins hochohmig) reicht es gerade für ein schwaches Glimmen der low-current LEDs.
Wird mit eindeutigen Pegeln (high/low) angesteuert, sind die LEDs dann deutlich an/aus.


ich habe jetzt auf der rechten seite ... parallel zu der eingelöteten SMD-LED eine andere low-current-LED drangehalten - die leuchtet, wenn der bumper betätigt wird. Kann ich daraus schliessen, dass die SMD-LED falsch herum eingelötet ist?
Ja, wäre möglich.

fabqu
18.09.2013, 10:53
Hi Inka,
wie Dirk schon gesagt hat ist das Dauer-Glimmen ein effekt des uC's und der tatsache geschuldet, dass wir Low-Current-LEDs genommen haben.
Dass die rechte LED gar nichts tut und auch keine Signale weitergegeben werden deutet darauf hin, dass hier noch ein Kontakt-Problem herrscht. Ich würde das mal am Bumper vermuten, aber auch an der LED würde ich nochmal nachlöten. Ebenso an den Pin-Stiften am Bumper-Board sowie an der MultiIO, die das Signal tragen.

Grüße,
Fabian

inka
18.09.2013, 12:29
auch keine Signale weitergegeben werden
ich habe die LEDs beim nachlöten natürlich geschrottet, habe sie also durch zwei normale, 3mm low-current ausgetauscht, beide leuchten beim betätigen des jeweligen bumpers. Beim ablauf der demo_3 blinken die LEDs abwechelnd , wenn dann im LCD display die anzeige "0 <BUMPER> 0" erscheint leuchten sie zwar immer noch beim betätigen des bumpers auf, in den LCD-anzeige selbts gibt es aber keine reaktion, auf beiden seiten keine.

Soll es dort eine geben?

TrainMen
18.09.2013, 14:53
ja natürlich sollte es da eine Reaktion auf dem Display geben. Aus 0 wir 1 beim Drücken. Prüfe doch so wie fabqu schon schrieb, Vorsichtig alle Kontakte, Kabel und Lötstellen.

inka
18.09.2013, 15:08
habe ich eigentlich schon:

- lötstellen bumperboard
- lötstellen multi-IO
- kabel durch ein anderes ersetzt

welche von den kontakten/signalen am kabel auf der multi-IO seite sollten beim betätigten bumper schliessen?

fabqu
18.09.2013, 15:44
Die Signale gehen "durch die LED".
Das geht also genauso wie bei den vorderen LEDs/Bumpern:
Die LEDs können vom uC angesteuert, also an/aus geschaltet werden.
Wird ein Bumper gedrückt, erhalten die LEDs nun ihren Strom durch den Bumper, nicht mehr durch den uC -> sie leuchten.
Der uC schaltet nun (siehe Dirks Libs) immer wieder für eine sehr kurze Zeit die LED aus (sollte sie an gewesen sein), schaut ob dennoch eine Spannung anliegt (eben wenn der Bumper gedrückt wurde) und schaltet sie wieder an (wenn sie vorher an war).
So kann die LED als ein- und als Ausgang dienen.
Wenn also deine LED bei Bumper-Betätigung funktioniert, aber im uC kein Signal ankommt, dann teste mal die Verbindungen ab der LED bis zur MultiIO:
Das Signal geht vom Bumper (der ja funktioniert) über den mittleren Bumper-Kontakt zur LED sowie zu einem Widerstand, R23 und R24 (je einer pro Bumper) auf der Rückseite, mittig, der Bumperplatine. Von dort aus geht das Signal zu den Pins 2 und 3 der Pinreihe, gezählt "von links" wenn man aufs Bumperboard schaut.
Von dort geht ja das 7polige Kabel zur MultiIO, dort gehen die Signale weiter zu den Pins mit der Bezeichnung "ON-R" und "ON-L" über dem ADC-Mxxx-Stecker. Die jumper müssen von diesen beiden Pins auf die Pins mit Nummern "8" und "4" gehen, dort geht das Signal dann auf den 10poligen ADC-Mxxx-Stecker und von dort dann zur jeweiligen RP6-Platine (M32, M128 oder M256).

Du kannst auch an all diesen Punkten das Signal mit einem Oszi, Multimeter oder sonst was nachmessen. Als Referenz nimmst du eben GND, ist ja auf der MultiIO genügend vorhanden.

Ich hoffe das hilft!
Grüße

inka
18.09.2013, 16:39
Danke Fabqu!

das war eine beschreibung des weges für die fehlersuche wie sie nicht besser sein kann :-)

ich habe an allen genannten punkten gegen GND eine spannung von ca. 1,6V und bei gedrücktem bumper von ca. 5V gemessen. Also wie gesagt: letzte messung am Pin 4 bzw. 8. , am ADC Mxx konnte ich nichts mehr messen (wusste nicht wo), habe dann das 10polige kabel durch ein anderes ersetzt - die meldung vom bumper kommt am LCD nicht an!

der wahljumper soll auch jetzt so aussehen, nehme ich an:

26414

fabqu
19.09.2013, 09:17
Hi!
Alse ... ne :D
Dieser Wahljumper regelr, wo die Signale der Sharps/SRF02 am Bumperboard gehen UND ob ich die LFS-Platine (orange Jumper in deinem Bild) oder die Touch/3V3-Messung nehmen möchte.
Was du brauchst ist folgendes:
26416
Dort siehst du den Pin-Jumper-Block direkt oberhalb des ADC-Mxxx Wannensteckers.
Die beiden Orange eingezeichneten Linien legen die Signale der Bumper ( "ON-R" und "ON-L" ) auf die Pins 4 und 8 des ADC-Mxxx-Wannensteckers.
Diese jumper kannst du immer drauf lassen, man muss sie eigentlich nie ändern (außer, man will hier wirklich was komplett anderes anbringen). Du könntest diese beiden Pins auch (auf der Board-Unterseite) miteinander verlöten, dann brauchst du keine Jumper verschwenden. (aber wirklich nur den Pin "ON-L" auf Pin "4" und "ON-R" auf "8" !!!!! )

Grüße

inka
19.09.2013, 10:44
Hi!Was du brauchst ist folgendes:
26416
Dort siehst du den Pin-Jumper-Block direkt oberhalb des ADC-Mxxx Wannensteckers.
Die beiden Orange eingezeichneten Linien legen die Signale der Bumper ( "ON-R" und "ON-L" ) auf die Pins 4 und 8 des ADC-Mxxx-Wannensteckers.
Diese jumper kannst du immer drauf lassen, man muss sie eigentlich nie ändern (außer, man will hier wirklich was komplett anderes anbringen). Du könntest diese beiden Pins auch (auf der Board-Unterseite) miteinander verlöten, dann brauchst du keine Jumper verschwenden. (aber wirklich nur den Pin "ON-L" auf Pin "4" und "ON-R" auf "8" !!!!! )

Grüße
Hi Fabqu,
und was ist mit den anderen verbindungen zwischen ON-L und 8 bzw. ON-R und 6? Entweder jumper zwischen ON-L und 4 /ON-R und 8 oder diese jumper, beides geht nicht...
26417
abgesehen von den || strichen zwischen eben diesen kontakten die du mit den jumpern verbinden willst?

bei der verbindung wie im bild M32 dargestellt blinken die LEDs beim ablauf der demo_03 abwechselnd, bei deiner version nicht...

fabqu
19.09.2013, 10:50
Ah, moment...
du hast ja die M32. Da bin ich grade überfragt, ob es da sinn macht, die Bumper-IO's mit dem IO-Mxxx-Wannenstecker zu messen, oder mit dem ADC-Mxxx-Wannenstecker.
Dirk? Wie ist das in deinen Libs?

Dirk
19.09.2013, 19:46
Bei der M32-Lib sind die Bumper an PC4 und PD6, also an IO-Mxxx.
Dazu müssen die Verbindungen so hergestellt werden, wie im M32 Kapitel des RN-Wissen-Artikels unter "Bumper anschliessen" beschrieben ist.
Hat man diese Verbindungen (noch) nicht hergestellt, müßte man zum Testen der Bumper an ON_L und ON_R messen.

inka
20.09.2013, 08:54
ich habe jetzt die verbindungen durchgemessen: beide pins (PC4 und PD6) des atmega32 auf der M32 haben kontakt zu den bumpern, 1,6V (bumper nicht betätigt) und ca. 5V bei geschlossenem/betätigten bumper, gemessen gegen GND auf dem EXT steckpin der BASE. Die LEDs blinken beim start der demo_03, reaktion auf dem LCD auf das drücken der bumper erfolgt nicht...
Was und wo kann ich noch messen/testen?

edit: schon seltsam die rp6-welt: ich habe jetzt die unveränderte RP6Control_MultiIO_03.c neu kompiliert und die meldung der bumper erscheint auf dem LCD-display. Hat jemand dafür eine erklärung?

fabqu
28.02.2014, 22:36
Ein kleiner Reminder:
Die Multi-IO (http://www.rn-wissen.de/index.php/RP6_Multi_IO_Projekt) ist quasi "ausverkauft". Ein letztes freies Exemplar gibt es noch :)

Interessenten können sich gern bei Dirk oder bei mir melden!!!
Viele Grüße,
Fabian

inka
30.11.2014, 11:37
hallo allerseits,

ich hinke etwas hinterher, ich weiss...

in letzter zeit habe ich mich mit den freien I/Os der m32 beschäftigt, die auf der multiIO (JP_IO 1 & 2) herausgeführt sind...

Durch den aufbau und die vielen kabel die bei mir über die multiIO führen, waren die jumper sehr eingeschränkt zugänglich, außerdem hat mir eine möglichkeit mal testweise an einen der IOs eine leitung dranzuhängen ohne den jumper zu entfernen gefehlt. Jetzt, wo die ArduIO noch dazu kommt - habe ich mir überlegt - wirds nicht besser :-(

die provisorische lösung für "testleitungen" am geschlossenem jumper
29424
hat mich nicht überzeugt...

Der zustand über der multiIO vorher:
29425
der adapter, dessen kabel sich bei bedarf beliebig verlängern lassen:
29426
verwendet habe ich 20polige pfostenverbinder (mussten mit der feile etwas angepasst werden), 18polige gibts leiter nicht:-(...

und so sitzen die jumper jetzt:
29427
vor der pin-doppelreihe für die jumper auf der neuen platine ist noch eine reihe pins, die auf der "m32-seite", also mit den anschlüssen 1 bis 9 verbunden sind...

Dirk
30.11.2014, 11:49
Wow, super Idee! Sieht sehr gut aus! :)

TrainMen
30.11.2014, 14:24
Hi Inka,
wieso hinkst Du hinterher ? Die MultiIO ist immer aktuell :)
Die Zwischenlösung fand ich zuerst interessant. Doch beim nachdenken ist es quatsch, ich habe zwar jetzt zugriff auf den Port aber es besteht ja trotzdem die Verbindung vom eigentlich Jumper. Der Port wäre ja dann 2x belegt, also quatsch. Zudem hätte ich Sorge das beim abziehen des Kabels vom oberen Pin den Jumper gleich mit abziehe. Also keine Lösung. Wobei ICH auch eigentlich kein Problem sehe. Alle Port die von IO-Mxxx und von ADC-Mxxx kommen sind am darüberliegenden Jumperfeld erreichbar. Baugruppen die nicht angeschlossen sind brauchen auch keinen zuweisenden Jumper. Also wenn z.B keine DCF angeschlossen ist brauch auch der Jumper am J-IO Pin 1 nicht stecken und ich weiß PC_7 ist frei. Ist die DCF angeschlossen, ist PC_7 belegt, was nützt mir da Dein Zusatz Pin ?
Dirk ist begeistert, also irgendwas muß ich ja denn nicht verstanden haben. Denn ich versteh den Sinn Deiner Platine nicht. Aber egal Du bist zufrieden und nur das zählt.

inka
30.11.2014, 17:54
Hi TrainMen,

ja, ich bin zufrieden...

- die zwischenlösung hat mir deshalb nicht so gut gefallen, weil sie das hauptproblem - die schlechte zugänglichkeit der jumper - nicht gelöst hat. Ansonsten gab es keine probleme mit leitung abziehen, der jumper blieb gesteckt (doppelte kraft, da zwei stifte). Da war eher das anlöten des stifts an den jumper schwierig...

- ist die jumperleiste bei dir besser zugänglich? Bei mir ging es nur mit pinsette. Schade, dass es keine fotos von deinem RP6 gibt :-( - wäre super interessant, wie und was du drauf hast...

- zu der doppelten belegung der I/Os habe ich so meine eigene theorie entwickelt, hauptsächlich der Inputs: Wenn ich z.b. am pin 8 des JP_IO die bumper der multiIO hab und gleichzeitig den input meines HC-SR04, erkenne ich doch an der art des signals woher der kommt - jumper nur einmal, SR04 immer wieder. Und das gleichzeitig mit dem empfang des US- signals die eine LED an der bumperplatine blinkt? Stört mich wenig...

TrainMen
02.12.2014, 16:07
Auf meinen Jumperleisten, stecken lange Jumper, da ist es kein Problem.
Mit den Bildern ist es sone Sache. Meine Kamera ist nicht so dolle bei Nahaufnahmen, so kann man sowieso keine Details erkennen.
Ich habe schon soviel an und umgebaut. Das ändert sich fast wöchentlich. Wenn ich jetzt ein Foto machen würde, wär nur der Bot mit der Basis Platine zu sehen. Da ich gerade die freien Lötplätze belege und das entfernen der vorderen Platine in Angriffe nehme. Letzteres hast Du ja schon hinter Dir.
Das mit der doppelt Belegung versteh ich immer noch nicht. Bleiben wir mal bei Deinem Beispiel und abgesehen von den blinken der LED der Bumperplatine. Du kannst doch ein Bumpersignal garnicht mehr auswerten. Der Port weiß doch garnicht ob ein Bumper oder ein HC-SR-04 ausgelösst hat. Oder doch ?

inka
02.12.2014, 17:59
Hi TrainMen,

Das mit der doppelt Belegung versteh ich immer noch nicht. Bleiben wir mal bei Deinem Beispiel und abgesehen von den blinken der LED der Bumperplatine. Du kannst doch ein Bumpersignal garnicht mehr auswerten. Der Port weiß doch garnicht ob ein Bumper oder ein HC-SR-04 ausgelösst hat. Oder doch ?

ich bin mir da auch nicht absolut sicher.

- beim messen mit dem HC-ER04 über pin8 kommen am port regeläßige signale, bei mir jetzt - schätze ich mal - alle 600ms. Im gleichen rhythmus blinkt auch die LED am bumper und auch die ausgabe im terminal kommt so (entfernung)

- drücke ich währen der messung mit dem HS-SR den den bumper, brennt die LED dauernd, die gemessene entfernung kommt aber im terminal nach wie vor alle 600ms


wie sich das ganze am port selbst darstellt weiss ich nicht, ich müsste mir überlegen wie das zu messen wäre...

Da man die einzelnen impulse messen/zählen kann, wird der port immer wieder auf "null" gestellt, sage ich jetzt mal. Beim gedrückten bumper wäre das aber ein dauersignal, wenn er denn gedrückt bleibt - was man beim hindernis ja annehmen kann, zumindest länger als ein paar milisekunden...

TrainMen
02.12.2014, 23:14
es ist doch egal ob ein Signal nur Millisekunden dauert oder ob es ein Dauersignal ist. Ein Signal kommt und die Bumper lösen aus, was ja an den LED leuchten zu erkennen ist. Nimm doch einfach mal die Bumperfunktion und schreibe den Code so das bei jedem auslösen ein Beep ertönt. Ich wette mit Dir das du ständig ein Beep hörst, obwohl Du die Bumper nicht bedienst. Das Signal bekommt der Pin 8 von den HS-SR04. Somit läßt sich der Bumper nicht mehr auswerten und die Doppelbelegung wäre falsch.

Dirk
03.12.2014, 09:19
Hi inka,

zu der doppelten belegung der I/Os habe ich so meine eigene theorie entwickelt, hauptsächlich der Inputs: Wenn ich z.b. am pin 8 des JP_IO die bumper der multiIO hab und gleichzeitig den input meines HC-SR04, erkenne ich doch an der art des signals woher der kommt - jumper nur einmal, SR04 immer wieder. Und das gleichzeitig mit dem empfang des US- signals die eine LED an der bumperplatine blinkt? Stört mich wenig...
Da du ja mit der M32 arbeitest, wurde im RN-Wissen Artikel empfohlen, den linken Bumper an Pin 8 von J_IO zu legen. Damit wäre der Bumper über PD6 auszulesen.
Da du den ICP-Pin (= PD6) ja jetzt wohl für deinen Ultraschall-Entfernungssensor brauchst, würde ich den linken Bumper auf einen anderen IO der M32 legen.
Je nachdem was du sonst noch nutzt, würde ich empfehlen:
a) PC7 (= Pin 1 von J_IO), wenn du DCF77 nicht nutzt
b) PC6 (= Pin 4 von J_IO), wenn du das Snake-Modul nicht nutzt
c) PC3 (= Pin 5 von J_IO), wenn du den Buzzer nicht nutzt

In der RP6Control_MultiIO.h must du dann den Portpin für den linken Bumper:

#define IO_MULTIIO_BUMPER_L_IN IO_PD6 // IO-Mxxx: I/O
#define IO_MULTIIO_BUMPER_L_DDR DDRD
#define IO_MULTIIO_BUMPER_L_PIN PIND
#define IO_MULTIIO_BUMPER_L_PORT PORTD
... anpassen.
..._L_IN wird dann IO_PCx und die anderen 3 Definitionen bekommen als letzten Buchstaben ein "C" anstelle von "D".

Warum sollte man nicht ZWEI Ausgänge (Ultraschallsensor + Bumper) zusammen an einen Input führen?
--> Es könnte passieren, dass die beiden Ausgänge gegeneinander arbeiten und zerstört werden!!!
(Dass das hier nicht passiert, liegt an der Verschaltung der Bumper: Dank fabqu Glück gehabt!)

TrainMen
03.12.2014, 11:04
Hi Dirk,
es geht hier nicht um die Suche nach freien Ports und deren Zuweisung. Es geht darum das die Platine die inka gebaut hat aus meiner sicht keinen Sinn ergibt. Du meintest ja WOW, was ist daran WOW ? Die Doppelbelegung die diskutiert wurde kann nicht funktionieren, Du meinest sogar das es nur Glück (Verschaltung) war ist das kein Schaden entstanden ist. Also welchen Sinn macht die Platine ? Lassen wir mal aussen vor das der Zugang leichter ist.

Dirk
03.12.2014, 18:32
Hi TrainMen,

in diesem Thread geht es um Hardwarefragen zur MultiIO.

Einen Zusammenhang zwischen der Doppelbelegung eines Pins und dem "Höherlegen" der Anschluss-Pins der MultiIO durch eine Hardware-Konstruktion sehe ich nicht. Ich habe aktuell auf das Thema "Doppelbelegung eines Pins" geantwortet.

Mein Punkt:
1. Die Lösung von inka, eine bessere Erreichbarkeit der MultiIO-Anschlüsse zu konstruieren, finde ich GUT.
2. Eine Zusammenführung von 2 digitalen Ausgängen an einem Eingang finde ich SCHLECHT.

Ok?

TrainMen
03.12.2014, 19:12
in diesem Thread geht es um Hardwarefragen zur MultiIO.

manchmal lässt sich das aber schlecht trennen.

und Inka hat das komplette Paket vorgestellt, Doppelbelegung und Höherlegen und Du hast WOW gebrüllt zum Paket. Aber egal ich habe mich eben nur gewundert warum gerade DU WOW sagst obwohl das Paket eben so Müll ist. Ich dachte ich habe irgendwas schon wieder nicht verstanden. Deine Punkte sind natürlich OK

ich ersetze mal Müll gegen so als Paket nicht anwendbar, die bessere Erreichbarkeit ist ja gegeben.

inka
04.12.2014, 16:57
Hi Dirk,


a) PC7 (= Pin 1 von J_IO), wenn du DCF77 nicht nutzt
habe es jetzt auf PC7 geändert...


Warum sollte man nicht ZWEI Ausgänge (Ultraschallsensor + Bumper) zusammen an einen Input führen?
--> Es könnte passieren, dass die beiden Ausgänge gegeneinander arbeiten und zerstört werden!!!
(Dass das hier nicht passiert, liegt an der Verschaltung der Bumper: Dank fabqu Glück gehabt!)
vielen dank für die änderungsvorschläge, es würde mich noch in diesem konkreten fall interessieren in welcher richtung der schaden gegangen wäre wenn fabqu nicht gut und gründlich gearbeitet hätte:

a) HC-SR04

oder

b) m32?

zum schluss möchte ich hier noch ein paar worte in eigener sache verlieren:

ich gehöre sicher zu denen, die hier im forum mehr fragen stellen als sie antworten geben können. Auch aus diesem grund habe ich mir vorgenommen, wenn es mir gelingt ein problem - entweder gegeben, oder selbstgestellte aufgabe - einigermassen für mich befriedigend zu lösen, es hier zur verfügung zu stellen. Das vermisse ich immer noch im allgemeinem im forum, dass tut - ausser ausnahmen - kaum jemand hier....

Eigene lösungen zu presentieren ist aber immer mit dem risiko verbunden fehler zu machen.

Das gehe ich gerne ein weil dadurch evtl. ein anderer vor gleichen fehlern evtl. bewahrt wird. Ich bin immer bereit über meine fehler zu diskutieren (naja, mal mehr, mal weniger) um zu einer guten lösung zu kommen. Auch auch bin bereit kritik für fehler einzustecken, sie darf aber m.e. nach nicht den bereich des konstruktiven verlassen und unsachlich werden.

Aber - so oder so - ich bin von meinem vorsatz überzeugt und werde auch in zukunft hier nicht nur fragen stellen, sondern von zeit zu zeit - davon ausgehend, dass es anderen evtl. ähnlich geht - auf meine probleme und ideen mit meinem RP6 und damit verbundene lösungen (und fehler) eingehen. Ein paar haben sicher schon davon profitiert und das sollte sich nicht ändern...

weiterhin viel spass mit dem Rp6 - denn das soll es ja machen...

Dirk
04.12.2014, 18:12
Hi inka,

es würde mich noch in diesem konkreten fall interessieren in welcher richtung der schaden gegangen wäre wenn fabqu nicht gut und gründlich gearbeitet hätte:
a) HC-SR04
oder
b) m32?
Wenn die Bumper ohne Reihenwiderstand (R23/24) auf der Bumper-Platine nach VCC oder GND durchschalten würden, wäre der Ausgang des HC-SR04 u.U. zerstört worden. Die M32 hätte keinen Schaden genommen, weil sie ja an diesem "flotten Dreier" nur mit einem Eingang beteiligt war und der geht nicht so schnell kaputt.

inka
04.12.2014, 18:33
a) PC7 (= Pin 1 von J_IO), wenn du DCF77 nicht nutzt

In der RP6Control_MultiIO.h habe ich nun den Portpin für den linken Bumper so geändert:


#define IO_MULTIIO_BUMPER_L_IN IO_PC7 // IO-Mxxx: I/O
#define IO_MULTIIO_BUMPER_L_DDR DDRC
#define IO_MULTIIO_BUMPER_L_PIN PINC
#define IO_MULTIIO_BUMPER_L_PORT PORTC

und mich zunächst gewundert, dass mit der selftest 3 der multiIO nur den rechten bumper beim betätigen im display anzeigt. nach dem kompilieren war der schreck wieder vorbei - alles lief...

in der konsequenz müsste ich jetzt - nach der änderung - aber ALLE programme, in denen die RP6Control_MultiIO.h inkludiert ist neu kompileren, oder?

Dirk
04.12.2014, 20:11
Hi inka,

in der konsequenz müsste ich jetzt - nach der änderung - aber ALLE programme, in denen die RP6Control_MultiIO.h inkludiert ist neu kompileren, oder?
Ja genau, leider ... :(

TrainMen
05.12.2014, 13:44
Hi inka,
ist es dir wirklich noch möglich nur eine Lib zu haben ?
Bei mir geht das gar nicht mehr, bei den vielen Änderungen. Ich habe die Libs der MIO alle direkt in meinen Projektverzeichnis. Die der Base und M32 sind in den Verzeichnissen des RP6. Wenn das Projekt fertig ist bekommt es neben dem Namen noch eine Nummer, die Nummer bekommt auch die geänderte Lib. Im Programm selbst ist Beschrieben welche Änderungen gegenüber dem Original gemacht wurden. So lässt sich schnell der entsprechende Zustand herstellen.

inka
05.12.2014, 16:54
hi TrainMen,


ist es dir wirklich noch möglich nur eine Lib zu haben ?
ja, es geht. Wir verfolgen aber offensichtlich bei den um- und ausbauten des RP6 einen unterschiedlichen ansatz. Ich habe nicht so viele änderungen, versuche nur einen optimal ausgestatteten roboter zu bauen. Und die versuche, die dazu erforderlich sind beschränken sich auf die multiIO, eine EXP und ein paar steckbretter. Vieles spielt sich aber auch "außerhalb" des RP6, wie z.b. die IR-bake oder die ladestation...


Wenn das Projekt fertig ist bekommt es neben dem Namen noch eine Nummer, die Nummer bekommt auch die geänderte Lib. Im Programm selbst ist Beschrieben welche Änderungen gegenüber dem Original gemacht wurden. So lässt sich schnell der entsprechende Zustand herstellen. Tja - ich wiederhole mich - schade, dass so keiner von den projekten was mitbekommt...

TrainMen
06.12.2014, 15:43
Hi Inka,
wenn ich mal ein Projekt habe was es hier noch nicht gab werde ich es vielleicht hier veröffentlichen. Übrigens wie Du, ich kenne von dir auch keine Projekte ausser die von dir oben genannten und die sind Neu und gab es hier noch nicht. Auch sonst sehe ich hier keine Projekte von anderen ( ausser vom Guru ) nur Codeschnipsel und die sind für mich meist ausreichend um was eigenes daraus zu machen.
Meine Projekte steuern Servos, LEDs, es werden Signal von irgendwelchen Baugruppen ausgewertet, Ein und Ausgeschaltet. Der RP6 bewegt sich wenig. Alles gab es hier schon. Mein letztes Projekt schaltet 48 LED. Ich glaube jeder weiß hier wie mal eine LED einschaltet, es ist nichts was man veröffentlicht, neben bei war es auch noch totaler blödsinn, mir hat es aber Spass gemacht.

Ich werde dieses Thema hier beenden.
Es geht hier um die Hardware der MIO.

fabqu
08.12.2014, 12:27
So, die Platinen sollten heute wohl alle abgeschickt werden. Habe gestern noch das meiste fertig bekommen, Rest wird heute gemacht. Dann natürlich noch mit Dirks Testprogrammen Durchgetestet und dann ab damit ;)

Ich habe es euch schon per eMail gesagt, aber hier noch einmal:
Bitte Vorsicht mit dem hinteren rechten Distanzbolzen / Schraube / Muttern. Der kann leider Kontakt mit der Spule oder den Spulenkontakten machen! Daher hier am besten nichts befestigen oder wenn doch, dann die Kontakte / Pads der Spule erst mit Tape abkleben.
Sorry dafür!

Grüße

TrainMen
07.02.2015, 15:40
Hallo,
ich habe ein Display welches ich mit einem PCF8574 betreibe. Alles funktioniert am XBUS der M32. Ich verbinde den XBUS mit der MIO. Wenn ich jetzt die Display Kabel in den XBUS der MIO stecke funktioniert es nicht. Die XBUS Buchsen der Mio wurden durch gemessen, das Kabel wurde durch gemessen, alles in Ordnung. Ich versteh das nicht. Habt ihr eine Idee ?

fabqu
07.02.2015, 19:17
Hi,
Vielleicht ein adressproblem im i2c-bus?

Dirk
07.02.2015, 21:27
Hi,

Vielleicht ein adressproblem im i2c-bus?
Auf der MultiIO selbst (http://rn-wissen.de/wiki/index.php/RP6_Multi_IO_Projekt_-_Software#I2C-Adressen) kommen die I2C-Adressen des PCF8574 (http://rn-wissen.de/wiki/index.php/RP6v2_I2C-Portexpander#I2C-Adressen) (0x40..0x4e und 0x70..0x7e) nicht vor.
Aber: Gibt es noch weitere I2C-Bausteine, die an die MultiIO angeschlossen sind?

Wie hast du denn den PCF8574 mit LCD an den XBUS angeschlossen?

TrainMen
07.02.2015, 23:31
Es sind nur die I2C-Bausteine die fest verlötet sind angeschlossen und da Funktioniert alles, eine Störung auf dem Bus bekomme ich auch nicht gemeldet. Das Programm läuft ja - nur eben das Display mit dem PCF8574 nicht. An dem kann ich aber Fehler ausschliessen da es ja eine Etage tiefer am XBUS (SDA,SCL,VDD,GND) funktioniert.


Nachtrag:
Es funktioniert, irgendwo muß ein Kabelfehler gewesen sein. Ich habe einfach alle Kabel ersetzt. Trotzdem Danke für eure Anregungen.

TrainMen
11.02.2015, 13:33
Hi, ist zwar etwas OT will es aber trotzdem nachreichen.
Wenn die von mir verwendeten Kabel auf den Tisch liegen und durch gemessen werden sind sie alle in Ordnung. Wenn Sie am MIO-XBUS und Display hängen funktioniert das Display nicht. Grund: die Kabel haben ab einer bestimmten Krümmung keinen Kontakt mehr. Krümmung M32 funktionierte noch eine Etage höher gehts nicht mehr. Wie soll man darauf kommen ?

Dirk
11.02.2015, 21:05
Krümmung M32 funktionierte noch eine Etage höher gehts nicht mehr.
Der klassische Kabelbruch ...