PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RP6-Projekt induktive Ladestation



inka
08.09.2013, 17:21
hallo,

es liess mir keine ruhe, und ich hatte noch eine elektrische zahnbürste mit kaputtem accu...

auseinandergenommen (siehe fotos), provisorisch ein ladegerät aufgebaut und den RP6 über den externen anschluss CHRG und GND geladen. Gemessen habe ich während des ladens die spannung am +BAT (externem) anschluss:

start mit 6,16V
4h später 8,00 V

jetzt, nach 24h laden 8,76V, es geht aber nur noch gaaaannnz langsam weiter...


evtl. ein paar angaben, damit sich die elektroniker unter uns ein bild über die leistung des ladegeräts machen können:

- bevor ich ans laden ging, habe ich die leerlaufspannung gemessen (einfach ohne was dran) - 14,2V
- dann habe ich als verbraucher eine LED mit 220 Ohm vorwiderstand (eigentlich für 9V vorgesehen) angeschlossen, spannung lag bei 5,1V

ich zitiere hier einfach mal Dirk:
Das ist natürlich ein sehr interessantes Projekt und macht wohl auch "mehr Sinn" als eine solare Notstromversorgung. Aber: Der Schwierigkeitsgrad der Ladestation ist erheblich höher. Mir schien daher das vorgeschlagene Projekt eher realisierbar.
Man muss für die Ladestation zwei große Probleme lösen:
1) Ladestation genau wiederfinden (Art der Sensoren (http://www.rn-wissen.de/index.php/Sensorarten), Speicherkapazität, Leistungsfähigkeit des µCs ...)
2) Bei einer z.B. induktiven Ladestation genügend Leistung zu übertragen (ab 2,5W aufwärts) und die entsprechende Schaltung (Sender und Empfänger) zu entwickeln

etwas muss ich noch erwähnen: laden geht nur mit ausgeschaltetem RP6. Selbst wenn das mio-board abgeschaltet ist und KEIN programm läuft, reicht der ladestrom nicht um den accu zu laden und den verbrauch des RP6 zu kompensieren. Evtl. kann man das LCD softwaremäßig abschalten und den robby in "schlaf" versetzen?

könnten wir mit diesen voraussetzungen anfangen?

2634626347263482634926350

Dirk
08.09.2013, 18:34
Hi inka,

du gehst aber ran ...!
Soweit ich weiß, werden in den Braun-Zahnbürsten 1,2V NiMH Akkus (nur EINER) verbaut, den kann man auch wechseln.
Bei einer Ladeschlußspannung von 1,5..1,65V und Si-Diode in Reihe braucht man eine Spannung von ca. 2,0..2,2V, um den Akku voll zu laden. Dazu wird man wohl keine Ladeelektronik nehmen (oder ist da auf der Platine was drauf?).

In jedem Fall ist das zum Laden eines 7,2V Akkus zu wenig Spannung.
Da wird leider auch zu wenig Leistung übertragen:
Liegt die Spannung an einer LED mit 220 Ohm Vorwiderstand bei 5,1V, dann schafft die Empfängerspule einen Strom von ca. 15mA,- bei 5,1V wäre das eine Leistung von knapp 0,08W.
Brauchen würden wir mindestens die 30-fache Leistung (2,5W) für eine Ladung über viele Stunden (10..14), für eine "Schnellladung" in nur wenigen Stunden brauchen wir sogar noch wesentlich mehr Leistung.

Ein weiteres Problem wäre, dass man eine sehr enge und genaue Kopplung der Sender- und Empfängerspule braucht. Bei den Zahnbürsten taucht die Senderspule ja in die Empfängerspule ein (kleiner "Huckel", auf den die Zahnbürste gestellt wird). So nah und so genau müßte dann der Roboter an den Sender heranfahren. Wird schwierig ...

inka
08.09.2013, 19:51
Hi Dirk,


Soweit ich weiß, werden in den Braun-Zahnbürsten 1,2V NiMH Akkus (nur EINER) verbaut, den kann man auch wechseln.
ich kann dein wissen nur teilweise bestätigen: ein akku, nicht auswechselbar, weder in den 6 jahre alten, noch in der, die ich mir vor 4 wochen gekauft habe, die dinger sind verklebt...


Bei einer Ladeschlußspannung von 1,5..1,65V und Si-Diode in Reihe braucht man eine Spannung von ca. 2,0..2,2V, um den Akku voll zu laden. Dazu wird man wohl keine Ladeelektronik nehmen (oder ist da auf der Platine was drauf?).ja, da sind smd bauteile drauf, nicht viele, aber immerhin...


In jedem Fall ist das zum Laden eines 7,2V Akkus zu wenig Spannung. Da wird leider auch zu wenig Leistung übertragen: Liegt die Spannung an einer LED mit 220 Ohm Vorwiderstand bei 5,1V, dann schafft die Empfängerspule einen Strom von ca. 15mA,- bei 5,1V wäre das eine Leistung von knapp 0,08W.
Brauchen würden wir mindestens die 30-fache Leistung (2,5W) für eine Ladung über viele Stunden (10..14), für eine "Schnellladung" in nur wenigen Stunden brauchen wir sogar noch wesentlich mehr Leistung.
gibt es ausser dieser berechnungen eine erklärung für meine ausführungen über die dauer des ladens und die erreichte akkuspannung? Jetzt hat der akku 8,7V!


Ein weiteres Problem wäre, dass man eine sehr enge und genaue Kopplung der Sender- und Empfängerspule braucht. Bei den Zahnbürsten taucht die Senderspule ja in die Empfängerspule ein (kleiner "Huckel", auf den die Zahnbürste gestellt wird). So nah und so genau müßte dann der Roboter an den Sender heranfahren. Wird schwierig ...
hier stimme ich mit dir völlig überein und hoffe auf deine hilfe. Du musst ja nicht sofort deine zanhbürste schrotten, hilfe bei der theorie und software sind völlig ausreichend :-)

die zentrierung scheint aber unkritisch zu sein. Ich hatte zeitweise nur die spule auf dem dorn des netzteiles, es wurde geladen, völlig egal wie die spule drauflag. Ich nehme an, der "huckel" dient eher dem mechanischen ausrichten der zahnbürste auf dem halter, damit es schön ordentlich aussieht...

zu dem rangehen: ich hatte schon recht früh in meinem berufsleben das gefühl dafür ob etwas "geht", oder nicht. Allerdings betraf es mehr die feinmechanische seite, mit ein wenig elektronik gepaart. Das gefühl dafür, was in software "geht" - geht mir völlig ab. Wie man unschwer in dem thread mit den beiden gyro_demos erkennen kann. Es fehlt, wie gesagt. Noch...

Dirk
08.09.2013, 20:47
Ok, ich sehe, du willst das anpacken.

da sind smd bauteile drauf, nicht viele, aber immerhin...
Ok, doch eine kleine Ladeschaltung?

Die kannst du aber eh vergessen:
Mach doch mal die Spule von der Platine los und mach ein paar Messungen:
1) Leerlaufspannung (AC)
2) Kurzschlußstrom (AC)
3) Spannungen (AC) an 1 kOhm, 470 Ohm, 220 Ohm, 100 Ohm, 47 Ohm, 22 Ohm, 10 Ohm.
4) Frequenz


gibt es ausser dieser berechnungen eine erklärung für meine ausführungen über die dauer des ladens und die erreichte akkuspannung? Jetzt hat der akku 8,7V!
Bei einer recht hohen Leerlaufspannung (14,2V?) kann die Akkuspannung schon ganz gut hoch gezogen werden, auch bei niedrigem Ladestrom. Leider sagt das wenig aus über den Ladezustand des Akkus: Der ist abhängig von einem ausreichend hohen Ladestrom (0,1 C) über eine definierte Zeit (14h). Wenn das gewährleistet ist, steigt die Akkuspannung am Ende auf die Ladeendspannung (ca. 1,5..1,65V pro Zelle) an. Mit einem Ladestrom von 15mA würdest du die Ladeendspannung wohl nie erreichen,- möglicherweise kann man gerade die Selbstentladung kompensieren.


Du musst ja nicht sofort deine zanhbürste schrotten, hilfe bei der theorie und software sind völlig ausreichend
Gut, die brauche ich auch noch. ;-)
Hast du überlegt, noch eine andere Option zu prüfen: Es gibt ja z.B. auch die induktiven Lader für Smartphones. In der Bucht gibt's die schon ab 30€. Vielleicht übertragen die eine etwas höhere Leistung!?
Interessieren würde mich auch die Ladestation eines Roboter-Staubsaugers, die wäre sicher geeignet für unsere Zwecke. Wenn bei dir zuhause einer rumfährt: Ladestation und Empfängerspule ausbauen und messen, was der so bringt!

Klebwax
09.09.2013, 02:40
Hast du überlegt, noch eine andere Option zu prüfen: Es gibt ja z.B. auch die induktiven Lader für Smartphones. In der Bucht gibt's die schon ab 30€. Vielleicht übertragen die eine etwas höhere Leistung!?

Das ist ein ganz anderes Konzept. Der "Zahnbürstenlader" ist einfach ein "schlechter" 50 Hz Netztrafo. "Schlecht", weil er einen großen Luftpalt hat. Die wirklichen induktiven Lader arbeiten mit 50 bis 100 kHz. Ein Induktionsherd überträgt so leicht 1kW durch eine Glasplatte. 2,5W sind kein wirkliches Problem, die Schaltung ist aber anspruchsvoll.

Bei Propellerclocks wird das Prinzip gern zur Energieübertragung eingesetzt.

MfG Klebwax

TrainMen
09.09.2013, 12:02
Hi,

ich hatte irgend wann mal eine Ladestation gebaut. An einen Servo war ein Gestell so wie ein Katapult. Die beiden Stangen war leicht biegsam, daran dann die Kabel für die Ladung. Das Teil wurde abgesenkt und los ging es in die Ladestation. Diese bestand aus eine Kiste, wo die Seitenteile in V- Form angordnet waren. Strom gab es vom Ladegerät an 2 aufgeklebte Kupferplatten. Was da geflossen ist weiß ich nicht. Nach Kontakt leuchtete die LED die mir sagte das geladen wird. Soweit funktionierte das also.
Mein Problem war das nur Laden oder Betrieb möglich war. Ich musste also umschalten bzw. ausschalten wenn er drin war und das wichtigste, die Ladestation musste erst einmal gefunden werden, woran ich scheiterte.

inka
09.09.2013, 15:25
Hi Dirk,

Ok, doch eine kleine Ladeschaltung? Die kannst du aber eh vergessen
wahrscheinlich sehe ich die problematik des akkuladens viel zu vereinfacht, mir würde es fürs erste genügen, dass der akku auf die volle spannung (ich schreibe absichtlich nicht "ladung", denn das wäre vermutlich falsch) geladen wurde. Ob er nun zu 80% oder 99% geladen ist, interessiert mich in erster näherung nur wenig...


Mach doch mal die Spule von der Platine los und mach ein paar Messungen:
1) Leerlaufspannung (AC)
2) Kurzschlußstrom (AC)
3) Spannungen (AC) an 1 kOhm, 470 Ohm, 220 Ohm, 100 Ohm, 47 Ohm, 22 Ohm, 10 Ohm.
4) Frequenz
da ich die spule für den aufbau ohnehin von der platine trennen muss, mache ich die messungen dann. Wie messe ich eigentlich die frequenz?



Bei einer recht hohen Leerlaufspannung (14,2V?) kann die Akkuspannung schon ganz gut hoch gezogen werden, auch bei niedrigem Ladestrom. Leider sagt das wenig aus über den Ladezustand des Akkus: Der ist abhängig von einem ausreichend hohen Ladestrom (0,1 C) über eine definierte Zeit (14h). Wenn das gewährleistet ist, steigt die Akkuspannung am Ende auf die Ladeendspannung (ca. 1,5..1,65V pro Zelle) an. Mit einem Ladestrom von 15mA würdest du die Ladeendspannung wohl nie erreichen,- möglicherweise kann man gerade die Selbstentladung kompensieren.
nun, es war schon ein "bischen" mehr..., ansonsten siehe oben. Ich möchte jetzt nicht ein neues induktives ladegerät erfinden - da ist Braun sicher die bessere adresse, ich möchte das verwenden, was anscheinend funktioniert - (zu 80%?)...



Hast du überlegt, noch eine andere Option zu prüfen: Es gibt ja z.B. auch die induktiven Lader für Smartphones. In der Bucht gibt's die schon ab 30€. Vielleicht übertragen die eine etwas höhere Leistung!?
siehe bilder, funktioniert sogar so wie es da dargestellt ist, nur langsammer...
2635326354


Interessieren würde mich auch die Ladestation eines Roboter-Staubsaugers, die wäre sicher geeignet für unsere Zwecke. Wenn bei dir zuhause einer rumfährt: Ladestation und Empfängerspule ausbauen und messen, was der so bringt!
die anschaffung ist nicht geplant. Wir sind beide rentner und haben zeit! :-)


ich habe nach einer möglichkeit gesucht um den bordakku relativ schnell wieder leerzubekommen, dazu wollte ich den servo-demo-code verwenden:


// Uncommented Version of RP6ControlServo.c
// written by Dirk
// ------------------------------------------------------------------------------------------

#include "RP6ControlServoLib.h"
//#include "RP6Control_MultiIOLib.h"
uint16_t pos = 0;

int main(void)
{
initRP6Control();
multiio_init();
initLCD();

showScreenLCD("################", "################");
mSleep(1500);
showScreenLCD("<<RP6 Control>>", "<<LC - DISPLAY>>");
mSleep(2500);
showScreenLCD(" Servo - Test 1 ", " Version 1.00 ");
mSleep(2500);
clearLCD();

setLEDs(0b111111);
mSleep(500);
setLEDs(0b000000);


initSERVO(SERVO1 | SERVO2);

startStopwatch2();

while(true)
{

if (getStopwatch2() > 48) {
servo1_position = pos;
servo2_position = pos;
setCursorPosLCD(0, 0);
writeStringLCD_P("Servopos.: ");
writeIntegerLCD(pos, DEC);
writeStringLCD_P(" ");

pos++;
if (pos > RIGHT_TOUCH) {pos = 0;}
setStopwatch2(0);
}

task_SERVO();

mSleep(3);
}
return 0;
}

- die zeile #include "RP6Control_MultiIOLib.h" ist auskommentiert, weil die *.c im makefile ist, und beide einträge bringen fehlermeldung beim kompilieren
- ergänzt habe ich um " multiio_init();"
- der jumper an "J-servos-on" ist drauf, spannung am servo-steckfeld der MIO liegt an.

der piepser der M-IO piepst, die servopos wird im display angezeigt, der servo rührt sich aber nicht. Könntest Du bitte drüberschauen warum?

Dirk
09.09.2013, 18:43
@inka:

...mir würde es fürs erste genügen, dass der akku auf die volle spannung (ich schreibe absichtlich nicht "ladung", denn das wäre vermutlich falsch) geladen wurde. Ob er nun zu 80% oder 99% geladen ist, interessiert mich in erster näherung nur wenig...
Hinweis: Auf (fast) volle Spannung (8,7..8,8V) kommt der Akku schon sehr schnell am Anfang der Ladung. Wir reden also hier nicht über 80 oder 99%, sondern vielleicht über 10..30%.
Klartext: Die erreichte Spannung sagt (fast) nichts aus über den Ladezustand.


Ich möchte jetzt nicht ein neues induktives ladegerät erfinden - da ist Braun sicher die bessere adresse, ich möchte das verwenden, was anscheinend funktioniert - (zu 80%?)...
Nein, leider wird die Zahnbürstenladung nicht zur RP6-Akku Ladung funktionieren. Gründe habe ich geschrieben. Sorry!


siehe bilder, funktioniert sogar so wie es da dargestellt ist, nur langsammer...
Ja, solche induktive Ladestation meinte ich,- allerdings NICHT mit der Empfängerspule aus der Zahnbürste, sondern mit der aus der Palm-Rückwand oder dem Palm-Akku. Die dürfte dann optimal angepaßt sein. Also: Palm demontieren!


Könntest Du bitte drüberschauen warum?
Wenn die Servoansteuerung direkt an der M32 klappt, müßte das auch am Servo-Stecker der MultiIO klappen. Beschreib bitte, wo das Servo angeschlossen ist und womit der Wannenstecker ServoM32 der MultiIO verbunden ist.

inka
09.09.2013, 20:04
@Dirk:

@inka:Wenn die Servoansteuerung direkt an der M32 klappt, müßte das auch am Servo-Stecker der MultiIO klappen. Beschreib bitte, wo das Servo angeschlossen ist und womit der Wannenstecker ServoM32 der MultiIO verbunden ist.
der servo ist an dem 8x3 pinn-feld in der nähe der beiden L7805 an der kürzeren "wagerechten" kante der mio-platine, (an den letzten drei kontakten vom L7805 gezählt) angeschlossen, wird dort auch beim ausführen der "RP6Control_MultiIO_01.hex" (die nach neukompilierung wieder geht) angesprochen und läuft...

der wannenstecker neben dem anderen pinn-feld ist und war nicht mit der M32 verbunden,,,

Dirk
09.09.2013, 20:36
@inka:
Mit der Servo Lib für die M32 steuert man ja die Servos mit der M32. Die MultiIO hat NICHTS mit der Servoansteuerung zu tun, wenn du die M32 Servo Lib benutzt.

D.h.: Die Servos müssen an die 3x8 Servo-Pins neben dem Buzzer angeschlossen werden. Der Wannenstecker I/O der M32 muss mit dem Wannenstecker "ServoM32" der MultiIO verbunden werden.

inka
10.09.2013, 09:55
@Dirk,

ok, daran dachte ich nicht, ich dachte wenn in der demo_01 das servo läut, geht es immer, ich dachte nicht mehr daran, dass die demo NICHT die servolib nutzt. Jetzt ist aber der IO-stecker der MIO mit dem IO-stecker der M32 verbunden.

- Was für konsequenzen hat es für die MIO wenn die IO verbindung zu M32 aufgehoben wird? Was geht dann nicht?

- Rein theoretisch, was würde passieren, wenn ich alle drei stecker quasi als eine art IO-bus mit einem kabel mit drei steckern verbinden würde?

Dirk
10.09.2013, 11:27
@inka:

Was für konsequenzen hat es für die MIO wenn die IO verbindung zu M32 aufgehoben wird? Was geht dann nicht?
Geht nicht: DCF77-Anschluß, Power für SHARPS, Snake Switch und Key, Buzzer, Power für Linienfolge-Sensoren.
Geht: Alles andere.


Rein theoretisch, was würde passieren, wenn ich alle drei stecker quasi als eine art IO-bus mit einem kabel mit drei steckern verbinden würde?
Das geht zwar nicht als Bus, aber du kannst das trotzdem machen, wenn ...:
a) du die MultiIO Funktionen an Stecker IO-Mxxx nutzen willst, KEINE Servos am 3x8 Servostecker neben dem Buzzer angeschlossen sind,
b) du die Servos am 3x8 Servostecker neben dem Buzzer mit der M32 Servo Lib nutzen willst, der Stecker an IO-Mxxx der MultiIO abgezogen ist.

Neben dieser sicheren Methode gibt es noch eine für "Spezialisten":
Wenn du weniger als 8 Servos brauchst und die immer mit der M32 Servo Lib betreiben willst, kannst du DIE Pins am I/O-Stecker der M32 für die MultiIO nutzen, die du dafür brauchst und die anderen für Servos. Dann können I/O der M32, Wannenstecker IO-Mxxx und ServoM32 der MultiIO dauerhaft verbunden bleiben. Du must dir aber dann GENAU vorher ansehen, welche Pins du für was brauchst und die Pins für die Servos von der MultiIO "entkoppeln". Das geht mit den Jumpern vor dem IO-Mxxx Wannenstecker auf der MultiIO. Der heißt J_IO. Du must also da, wo die Pins für Servos benutzt werden, die Jumper an J_IO abziehen.

Empfehlung:
Da die MultiIO einen eigenen Baustein für die Servoansteuerung an Bord hat, würde ich die M32 Servo Lib nicht mit der MultiIO nutzen.

inka
10.09.2013, 11:46
Empfehlung:
Da die MultiIO einen eigenen Baustein für die Servoansteuerung an Bord hat, würde ich die M32 Servo Lib nicht mit der MultiIO nutzen.

ja, alles andere ist viel zu kompliziert. Gibtb es bereits in der fertigen software irgendwo codeschnipsel wie man die servos mit der MIO ansteuert?

Dirk
10.09.2013, 12:05
Ja, z.B. in der Demo 1:

// Servo 1:
setServo(1, servopos);
servopos += 10;
if (servopos > SERVO1_RT) servopos = SERVO1_LT;

Die Servonummer (1 im Beispiel) kann in setServo von 1 bis 8 und 10 bis 16 liegen.
Die servopos kann zwischen SERVO1_LT (linker Anschlag) und SERVO1_RT (rechter Anschlag) liegen.
Das ist also genauso einfach wie mit der Servo Lib.

TrainMen
10.09.2013, 15:10
@inka
ich dachte Du benutzt schon den PCA9685 für Deine Servos, mir war so als wenn Du das mal geschrieben hast, egal.
Die von Dirk angegebenen Werte in der Lib kannst Du auch anpassen, so das SERVO1_LT (linker Anschlag) und SERVO1_RT (rechter Anschlag) wirklich auch der Anschlag ist. Da war bei meinen 6 Servos eine Korrektur nötig.

inka
10.09.2013, 17:23
@Trainmen:
ja, waren sehr vorsichtig gesetzt, die endpunkte :-). Momentan laufen zwei servos und lutschen den akku leer. Dann gehts wieder ans laden...

@Dirk:


Hinweis: Auf (fast) volle Spannung (8,7..8,8V) kommt der Akku schon sehr schnell am Anfang der Ladung. Wir reden also hier nicht über 80 oder 99%, sondern vielleicht über 10..30%.

das war beim ladevorgang mit der Braun-ladestation etwas anders. Die spannun stieg von 6V auf 8V in vier stunden, also nicht ganz so schnell...


Ja, solche induktive Ladestation meinte ich,- allerdings NICHT mit der Empfängerspule aus der Zahnbürste, sondern mit der aus der Palm-Rückwand oder dem Palm-Akku. Die dürfte dann optimal angepaßt sein. Also: Palm demontieren!

nicht ganz soo schnell, die brauche ich ja noch :-) Ich habe natürlich auch hier die leerlaufspannung gemessen - 5,6V...

TrainMen
10.09.2013, 21:29
laufen zwei servos und lutschen den akku leer

schade um die Servos

Dirk
10.09.2013, 21:43
@inka:

nicht ganz soo schnell, die brauche ich ja noch
Aaach, du must schon für die Sache Opfer bringen ... ;-)


Ich habe natürlich auch hier die leerlaufspannung gemessen - 5,6V...
Ok, mit welcher Last? Welcher Strom ist möglich? Gibt's da auch eine Ladeschaltung?

inka
11.09.2013, 08:04
@inka:Ok, mit welcher Last? Welcher Strom ist möglich? Gibt's da auch eine Ladeschaltung?
so naiv wie ich bin, dachte ich wenn ich direkt an der spannungsquelle messe, messe ich die leerlaufspannung, als "last" war ja nur ein multimeter dran...

macht es eigentlich nix wenn die palmladeschale nur für 5V ausgelegt ist? Es ist alles zwischen der plastikinnenschale und der äußeren "gummierten" schicht vergossen. Ob da eine ladeschaltung mit vergossen ist, kann man nicht erkennen. Einen etwas verdickten bereich gibts da, aber wer weiss, was da drinn ist - vielleicht eine zugangschaltung für die NSA?

Dirk
11.09.2013, 18:32
Was misst du denn?
Was du abgebildet hattest, war ja wohl der Touchstone Palm Lader (das runde Ding mit den Magneten).
Dazu müßte es ja im Palm entweder:
a) Einen Akku mit Empfangsspule oder
b) eine Palm-Rückwand mit der Empfangsspule und einer Verbindung zum Akku
... geben.

Normalerweise war wohl b) immer verbaut.
Wie sieht diese Rückwand denn aus? Gibt es da Anschlußkontakte?

inka
11.09.2013, 20:38
Hi Dirk,

Was misst du denn?
Was du abgebildet hattest, war ja wohl der Touchstone Palm Lader (das runde Ding mit den Magneten). Wie sieht diese Rückwand denn aus? Gibt es da Anschlußkontakte?
Ja. Ich werde noch ein foto schicken, kontakte sind innen, zum akku hin, an denen habe ich auch die 5,6V gemessen...

danach hast Du mal gefragt (für die andere spulenversion)

1) Leerlaufspannung (AC)
2) Kurzschlußstrom (AC)
3) Spannungen (AC) an 1 kOhm, 470 Ohm, 220 Ohm, 100 Ohm, 47 Ohm, 22 Ohm, 10 Ohm.
4) Frequenz

sollte ich das auch hier messen?

wir bekommen für mehrere tage besuch, ich melde mich erstmal ab, wäre schön, wenn Du mir trotzdem schon jetzt anworten würdest, dann kann ich nachher gleich "liefern"...

Dirk
11.09.2013, 21:14
sollte ich das auch hier messen?
Ja, wenn möglich.
Macht aber nur Sinn, wenn die Werte solo an der Empfängerspule gemessen werden und nicht noch irgendeine Elektronik da dran hängt.
Wenn das nicht möglich ist, dann wird da ja wohl eine Gleichspannung zu messen sein,- die könnte man auch mit den unter 3) angegebenen Widerständen belasten. Damit kann man dann vergleichen mit der "Zahnbürste".

inka
14.09.2013, 14:51
Hi Dirk,

Ja, wenn möglich.Wenn das nicht möglich ist, dann wird da ja wohl eine Gleichspannung zu messen sein,- die könnte man auch mit den unter 3) angegebenen Widerständen belasten. Damit kann man dann vergleichen mit der "Zahnbürste".

also ganz auseinanderreissen wollte ich es doch nocht nicht, habe also beides mit dranhängender elektronik gemessen (tabelle). Beim touchstone vermute ich die elektronik in der "verdickung" neben dem palm schriftzug (foto). Die zwei strippen sind an den beiden kontakten angelötet, die sonst den kontakt zum telefon herstellen...
26394



Zahnbürste

Touchstone










Lastwiderstand
Spannung
Strom

Spannung
Strom



[V]
[A]

[V]
[A]










1k
4,9
0,01

5,6
0,01


470
4,6
0,01

5,6
0,01


220
4
0,02

5,6
0,025


100
3
0,03

5,6
0,05


47
2,2
0,05

5,5
0,11


20
1,3
0,06

5,1
0,25


10
0,7
0,07

4,5
0,45


0
13,2
???

5,6
???

Dirk
14.09.2013, 15:50
Ok, nicht schlecht.

Beim Touchstone ist offenbar eine Spannungsregelung drin, die irgendwo zwischen 110 und 250mA ihre Grenze erreicht, d.h. überlastet ist.
Damit kann man annehmen, dass eine Last von 100..150mA (evtl. auch mehr bei geringerer Spannung) möglich wäre.
Das ist eigentlich ein toller Wert, der ja bei 5,5V erreicht wird, also eine Leistung von ca. 0,5..0,8W.
Für die Ladung des RP6-Akkus bräuchte man noch eine Spannungsverdoppelung plus Ladeschaltung, so dass da hinter noch geschätzt bis zu 75mA zur Ladung zur Verfügung stehen.

Das ist nicht so schlecht: Ladezeit bei leerem 1000mAh-Akku bis zur Vollladung -> ca. 13..18 Stunden.

Rechnet man optimistischer (Spannungsregelung der Palm-Rückwand an ihrer Grenze, also mit 450mA bei 4,5V):
Effektiv max. erreichbarer Ladestrom: ca. 225mA.
Ladezeit für 1Ah-Akku -> ca. 4,5..6,5 Stunden.

inka
14.09.2013, 16:23
also würde es gehen, wenn ich dich richtig verstehe. Wenn ich ein zwischenwert annehme (für den ladestrom) käme ich also etwa auf 8h ladezeit, also eine nacht lang - damit kann ich gut leben...

die rückwand des palm könnte man etwas flacher machen, sodass sie unter den RP6 passen würde und er nur über den im boden eingelassenen touchstone drüberfahren müsste...


Wie weit bist du eigentlich mit deiner solaranlage ausgelastet?

Ich habe zwei der touchstones, der ja eigentlich das teuerer teil des ladegerätes ist (die rückwand z.b. für den palm pre bekommt man bei amazon schon für 1,99 plus porto). Ich würde dir einen der touchstones gerne zur vefügumng stellen. Dann könnte wir quasi parallelfahren? Was hälst du davon?

das hier habe ich noch gefunden: coil (http://www.ebay.de/itm/281138131354?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649)

Dirk
14.09.2013, 17:11
Ja, ich denke, es würde gehen. Dein Link (coil) müßte das "Innenleben" der Palm-Rückwand sein,- das könnte man sehr gut verwenden, um die Spule unter dem RP6 zu montieren.
Wenn du das bestellen würdest, bestell mir 1 mit. Ich bezahle das und ggf. den Lader dann.

Zu der ganzen Geschichte paßt dann optimal das hier: Pololu #791 (http://www.pololu.com/catalog/product/791)
... als Step-Up-Wandler mit einstellbarer Ausgangsspannung zum Laden des Akkus.

inka
14.09.2013, 17:34
meines habe ich schon bestellt, deines würde ich gleich bestellen wenn ich deine adresse habe (PM) - oder du machst es doch selbst? (lieferung portofrei), bei pololu schreckt mich immer das porto ab.

Gibt es keine alternative, z.b. auch in irgendwo in Hongkong? ( beispiel (http://www.ebay.de/itm/LM2577S-DC-DC-Wandler-Step-up-Power-Supply-Modul-Module-/290590670347?pt=Bauteile&hash=item43a88dbe0b) ) Ich würde ja bei ebay suchen, habe auch schon was gefunden, aber um das richtige auszuwählen reichts nicht... :-(

Dirk
14.09.2013, 18:45
Ja, für das Teil gibt es einen Bezug in D bei http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=67&products_id=252
Adresse kommt.

inka
15.09.2013, 11:48
ich werde dir sowieso das palm-ladegerät per post schicken, sollte ich für dich auch den "Aufwärts-Spannungsgegler Boost-Regulator 2,5 bis 9,5V" bei robotikhardware bestellen und mitschicken (portosparen)?

Dirk
15.09.2013, 16:22
Danke, nicht nötig.
Ich habe das Ding noch irgendwo rumfliegen.

- - - Aktualisiert - - -

Wenn du alle Teile hast, wird die Frage sein, ob die Leistungsausbeute MIT oder OHNE die Palm-Rückwand-Elektronik besser ist.
Das wird man messen müssen.
Anstelle der Elektronik würde man dann einfach zum Vergleich einen Graetz-Gleichrichter an die "nackte" Spule anschließen und an +- des Gleichrichters einen Elko 470 µF (Spannung an max. Leerlaufspannung anzupassen!) zur Glättung.
Der Gleichrichter könnte aus 4x 1N5817 bestehen (20V/1A).
Diese Schaltung müßte man dann mit der Original Palm-Rückwand-Elektronik vergleichen: Wer bietet die bessere Leistung?

inka
20.09.2013, 11:41
470µF/25V hätte ich da, geht auch 4x 1N4001?

Dirk
21.09.2013, 11:02
Ja, klar...

2 Punkte noch:
1. Man müßte messen, ob die Leerlaufspannung am Kondensator nicht 25V DC übersteigt. Sollte aber eigentlich nicht der Fall sein. Sonst: Elko mit höherer Spannungsfestigkeit nehmen.

2. Beim (späteren) Anschluß des Schaltreglers (2,5..9V) an den Graetz-Gleichrichter plus Elko ist noch zu beachten, dass der Regler keine Eingangsspannung verträgt, die ÜBER der Ausgangsspannung liegt. Wenn das so sein sollte, hast du 2 Möglichkeiten:
a) Du entscheidest dich doch für die Palm-Rückwand-Elektronik (immerhin hat man dann unter 5,6V!) ODER
b) Du baust eine eigene Spannungsbegrenzung ein. Die hätte 2 Vorteile: Einmal könnte man die Begrenzung höher als 5,6V setzen und hätte damit nicht so hohe Verluste. Zum anderen könnte man auf die rel. große Platine verzichten. Diese Spannungsbegrenzung könnte man mit einer Zener-Diode recht einfach halten. Sie kommt ohnehin nur "zum Zuge", wenn die Ladeschaltung nicht belastet ist.

inka
06.10.2013, 12:05
so, die provisorische schaltung mit einem dc-dc wandler (5v to 9v) und der ladeschale des palm funktioniert soweit, das laden geht auch relativ schnell (von 7,77 auf 7,97 in ca. 10 minuten)...

265092651026511

das ist noch weitaus schneller als damals beim asuro und der zahnbürstenspule...

Dirk
06.10.2013, 18:20
Hi inka,


das laden geht auch relativ schnell (von 7,77 auf 7,97 in ca. 10 minuten)...
Wichtig wäre vor allem der Ladestrom.
Wie sieht's damit aus? Kannst du den mal messen?

inka
06.10.2013, 18:49
hi Dirk,

142 mA

Dirk
06.10.2013, 22:13
Ok, das klingt ja schonmal gut ...

inka
07.10.2013, 10:29
hi Dirk,

ich bin nun etwas verunsichert:-)

ist das jetzt als "positive kritik" zu verstehen wie fabqu es in einem anderen thread meinte, oder ist das ergebnis so, dass es gut verwendbar ist und ich weitermachen kann?

Dirk
07.10.2013, 12:52
Hi inka,

ich bin nun etwas verunsichert
Das ist gut: Es spricht für einen "wachen" Verstand. :D

Aber Scherz beiseite:
Der einzelne Wert sagt natürlich nicht so viel aus.
Aber: Wenn die 142mA der Ladestrom sind, dann werden ja zwischen Palm-Rückwand und deinem Spannungsverdoppler geschätzt 250mA fließen. Das ist nicht so schlecht.
Es bleibt die Frage, ob man die Elektronik in der Rückwand wirklich braucht oder ohne sie mehr Ladestrom erreichen kann. Das hängt auch davon ab, was dein Spannungsverdoppler so leistet bzw. von seinen techn. Daten.
Wenn du aber nicht viel weiter experimentieren willst, war mein Kommentar wirklich eine "positive Kritik" im Sinne von Fabian und du könntest dich z.B. an die konstruktive Umsetzung machen.

Mit dem Ladestrom von 142mA bei ca. 8V und (hypothetisch) 120mA bei Volladung (Mittel 130mA) könnte man dann:
1. Einen leeren 1000mAh-Akku in knapp 11h laden,
2. Den leeren RP6-Hauptakku (bei mir hat er 2700mAh) in 29h laden.

inka
07.10.2013, 17:59
Der einzelne Wert sagt natürlich nicht so viel aus.
Aber: Wenn die 142mA der Ladestrom sind
ich habe den strom zu einem zeitpunkt gemessen, zu dem der akku bereits eine spannung von 8,6V aufwies. Ist das dann nicht schon eher in der nähe des stroms bei der (fast)volladung?




Es bleibt die Frage, ob man die Elektronik in der Rückwand wirklich braucht oder ohne sie mehr Ladestrom erreichen kann. Das hängt auch davon ab, was dein Spannungsverdoppler so leistet bzw. von seinen techn. Daten.
das werde ich noch testen, da ich dazu die spule von dem rest ablöten muss, wird es etwas dauern...



Wenn du aber nicht viel weiter experimentieren willst, war mein Kommentar wirklich eine "positive Kritik" im Sinne von Fabian und du könntest dich z.B. an die konstruktive Umsetzung machen.
26516
die eine version habe ich schon mal, werde sie vorne, unter den EXT connector montieren...

ich habe noch einen DC-DC wandler in china bestellt (toll was dank internet alles geht) mit einstellbarer ausgansspannung. Wenn ich es bekomme, werde ich es noch testen...Auf welchen wert könnte man den wert der ladespannung bei den 6akkus im RP6 denn hochschrauben? Und hätte eine höhere spannung nicht zwangsläufig einen niedrigeren ladestrom zu folge? Oder denkst Du die 9V sind genug und durch das quasi ersetzen der elektronik durch die 4 dioden und den elko könnte der strom größer werden?



Mit dem Ladestrom von 142mA bei ca. 8V und (hypothetisch) 120mA bei Volladung (Mittel 130mA) könnte man dann:
1. Einen leeren 1000mAh-Akku in knapp 11h laden,
2. Den leeren RP6-Hauptakku (bei mir hat er 2700mAh) in 29h laden.
das ist schon recht lang!

Dirk
07.10.2013, 19:46
@inka:

ich habe den strom zu einem zeitpunkt gemessen, zu dem der akku bereits eine spannung von 8,6V aufwies. Ist das dann nicht schon eher in der nähe des stroms bei der (fast)volladung?
Ja, gut möglich.


das werde ich noch testen, da ich dazu die spule von dem rest ablöten muss, wird es etwas dauern...
Wenn du bei den DC-DC-Wandlern ala DCU2-0509E von HALO bleibst, darfst du die Rückwand-Elektronik nicht entfernen, weil der Wandler auf eine Eingangsspannung von 5V festgelegt ist. Ohne die Elektronik würde die Eingangsspannung erheblich höher sein und ggf. den Wandler zerstören.


Auf welchen wert könnte man den wert der ladespannung bei den 6akkus im RP6 denn hochschrauben?
Ja, 9,3V wäre wohl das Maximum (1,55V pro Zelle).

inka
07.10.2013, 20:07
@Dirk:

Wenn du bei den DC-DC-Wandlern ala DCU2-0509E von HALO bleibst, darfst du die Rückwand-Elektronik nicht entfernen, weil der Wandler auf eine Eingangsspannung von 5V festgelegt ist. Ohne die Elektronik würde die Eingangsspannung erheblich höher sein und ggf. den Wandler zerstören.

es ist dieser dc-dc (http://www.ebay.de/itm/290943258842?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649) wandler



Ja, 9,3V wäre wohl das Maximum (1,55V pro Zelle).also lohnt es wohl kaum. Ich werde den versuch mit der spule allein so bald wie möglich machen...

Dirk
07.10.2013, 20:21
Der bestellte DC-DC-Wandler hat keine feste Eingangsspannung und müßte tatsächlich ohne die Rückwand-Elektronik gut klar kommen.
Der ist auch viel leistungsfähiger (2,5A).
Also: Alles wird besser ...

inka
12.10.2013, 10:18
bei dem laden über die EXT anschlüsse besteht ja noch ein anderes problem und zwar, dass der RP6 während des ladens ausgeschaltet sein soll. Mit dem kippschalter zumindest schwierig. Im wiki steht drin:
----------------------------
Eine weitere Möglichkeit besteht darin, über diesen Anschluß den Akku auch mit einem geeigneten Ladegerät zu LADEN. Hierbei muss man aber darauf achten, dass S1 AUSgeschaltet ist, weil sonst der RP6 über +UB eine unzulässig hohe Spannung bekommen könnte.
---------------------------
ist das so zu verstehen, dass es nur unter ganz bestimmten umständen passieren kann und das abschalten eine reine vorsichtsmassnahme ist?

wäre für das abschalten so etwas (https://www.roboternetz.de/community/threads/46266-Ein-Aus-Taster-Standby-10-nA-Batterie-lebt-1000-Jahre/page2?p=444454#post444454) denkbar?

Dirk
12.10.2013, 11:51
Hi inka,

bei dem laden über die EXT anschlüsse besteht ja noch ein anderes problem und zwar, dass der RP6 während des ladens ausgeschaltet sein soll
Diese Warnung steht da drin, weil professionelle Ladegeräte für mehrere Zellen auch sehr hohe Spannungen produzieren können (z.B. wenn der Akku defekt ist oder Kontaktprobleme hat).
An +UB dürfen max. 10V liegen, die dürfen also nicht überschritten werden. Wenn also der Hauptschalter S1 AUS ist, kann man am EXT-Anschluß an CHRG (= Ladebuchse) oder +BAT laden,- auch mit einem Ladegerät, das evtl. höhere Spannungen erreichen kann.

Wenn man den RP6 EINgeschaltet laden möchte, dann geht das am EXT-Anschluß an +UB oder +BAT, wenn man ein "Ladegerät" benutzt, das garantiert nicht über 10V liefert bzw. die Ladeendspannung des RP6-Akkus von ca. 9V einhält. Dieses "Ladegerät" habe ich in "" gesetzt, weil es ja eigentlich ein Festspannungsnetzgerät ist, das zusätzlich zur RP6-Versorgung auch noch zum Laden des Akkus dient.

Wenn man den EXT-Anschluß so wie beschrieben bei EINgeschaltetem RP6 nutzt, braucht man eigentlich keine Abschaltung bzw. ist die auch sinnlos, weil man sich ja selbst (bzw. dem autonomem RP6) den Saft abdrehen würde.

inka
12.10.2013, 16:49
hi Dirk,

An +UB dürfen max. 10V liegen, die dürfen also nicht überschritten werden. Wenn also der Hauptschalter S1 AUS ist, kann man am EXT-Anschluß an CHRG (= Ladebuchse) oder +BAT laden,- auch mit einem Ladegerät, das evtl. höhere Spannungen erreichen kann.
ich habe jetzt den versuch gemacht über +UB zu laden: gleichzeitig die spannung gemessen, der accu hatte noch 7,8V, der HALO wandler liefert ja 9V, beim eingeschaltetem RP lag die ladespannung bei 8,1V, langsam steigend, beim abgeschaltetem waren es 10V. Waren die 10V jetzt zufall oder wird das irgendwo begrenzt?


Wenn man den EXT-Anschluß so wie beschrieben bei EINgeschaltetem RP6 nutzt, braucht man eigentlich keine Abschaltung bzw. ist die auch sinnlos, weil man sich ja selbst (bzw. dem autonomem RP6) den Saft abdrehen würde.
ja, das macht es einfacher dass man keine abschaltung braucht...

edit: der HALO liefert 9V und nicht 11V...

Dirk
12.10.2013, 17:03
Hi inka,

beim abgeschaltetem waren es 10V. Waren die 10V jetzt zufall oder wird das irgendwo begrenzt?
Nein, eine aktive Spannungsbegrenzung gibt es an +UB nicht.

inka
31.10.2013, 17:07
@Dirk:

Der bestellte DC-DC-Wandler hat keine feste Eingangsspannung und müßte tatsächlich ohne die Rückwand-Elektronik gut klar kommen.
Der ist auch viel leistungsfähiger (2,5A).
Also: Alles wird besser ...

so, die zweite charge der dc-wandler ist da.
26637

In erinnerung daran, dass bei meinen letzten versuchen zwei der drei dinger kaputtgegangen sind(?) die frage (ich habe ja bereits beschrieben, was ich da gemacht habe):


die dc wandler sind angekommen, ich habe sie angeschlossen - und nix tut sich. Ich versuche zu beschreiben was ich erfahren habe. Die wandler sind mit 1, 2 und 3 gekennzeichnet:

1: habe ich an ca. 5.5v angeschlossen (4x aa accus), am ausgang zeigte sich nur die inputspannung, mehr nicht

2: habe ich zunächst mal den poti ausgemessen, das ging wg. der schlechten erreichbarkeit der anschlüsse des potis bei nr.1 nicht. Poti auf 0 ohm eingestellt, angeschlossen an einem 4x aa accupack, am output zunächst eine spannung von 30V gemessen, die fiel dann von sich aus auf die inputspannung ab, egal wie ich den poti eingestellt habe

3: noch jungfräulich.

wie bist du mit dem dritten wandler verfahren? Was kann man da falschmachen? Was passiert z.b. wenn die eingangspannung "verpolt" eingespeist wird?

Dirk
31.10.2013, 21:08
Hi inka,


wie bist du mit dem dritten wandler verfahren?
Da ich zur Zeit wenig Zeit habe, liegt er noch bei mir in der Grabbelkiste.


Was kann man da falschmachen?
Eigentlich wenig. Eingangsspannung wird an IN+/IN- polungsrichtig angeschlossen, an den Ausgangslötaugen kann man dann die Ausgangsspannung abnehmen. Man könnte ggf. noch das Trimmpoti "überdrehen", wenn man es mehrfach gegen den Anschlag dreht.


Was passiert z.b. wenn die eingangspannung "verpolt" eingespeist wird?
Ich habs nicht probiert und habe auch keinen Schaltplan von den Dingern. Es kann aber sein, dass das Modul nach Falschpolung defekt ist.

inka
01.11.2013, 15:49
Ich habs nicht probiert und habe auch keinen Schaltplan von den Dingern. Es kann aber sein, dass das Modul nach Falschpolung defekt ist.

ja, das stimmt - ich habe nun konsequenterweise bei dieser freiluftverdrahterei alle drähte die plus führen rot und die mit minus schwarz...

folgendes habe ich jetzt versucht:

ein netzteil mit verstellbarrer ausgangspannung genommen und kann an dem step-up wandler aus 4,5 / 6 / 7 / oder 9V eine beliebige spannung zwischen 5 und 25V einstellen. So weit so gut...

Nun liess ich die einstellung bei 12V und habe die ladespule des touchstones (incl. der ladeelektronik) angeschlossen, die ausgangsspannung beim wandler schwankt um 0,7V, bei der spule aus der zahnbürste um 1,2V (auch mit der ladeelektronik)...

werde in den nächsten tagen schweren herzens die spule des touchstones auslöten und ohne die ladeelektronik und statt dessen mit dem Graetz-Gleichrichter plus Elko testen...

Dirk
01.11.2013, 17:30
Hi inka,


Nun liess ich die einstellung bei 12V und habe die ladespule des touchstones (incl. der ladeelektronik) angeschlossen, die ausgangsspannung beim wandler schwankt um 0,7V, bei der spule aus der zahnbürste um 1,2V (auch mit der ladeelektronik)...
Meine Vermutung ist, dass bei beiden Optionen (Touchstone und Zahnbürste) die Eingangsspannung des DC-DC-Wandlers unter 4V absinkt. Dann funktioniert er nicht mehr.
Bei der Zahnbürste wundert das nicht.
Beim Touchstone, der ja auf ca. 5,6V am Ausgang geregelt ist, müßte eigentlich über 5V am Eingang des DC-DC-Wandlers ankommen,- es sei denn, der Wandler zieht allein schon im Leerlauf (ohne Last am Ausgang) so viel Strom, dass der Touchstone überfordert ist.
Kannst du mal am Netzgerät bei 5,5V messen, wie hoch der Strom am Eingang des Wandlers ohne Last ist?

inka
01.11.2013, 17:48
Kannst du mal am Netzgerät bei 5,5V messen, wie hoch der Strom am Eingang des Wandlers ohne Last ist?

5,5V konnte ich nicht einstellen, bei 5V waren es 9,3 mA, bei 6V 8,7mA

Dirk
01.11.2013, 19:27
Dann müßte Touchstone aber eigentlich am DC-DC-Wandler funktionieren!
Wie hoch ist die Ausgangsspannung des Touchstone denn, wenn du ihn an den DC-DC-Wandler angeschlossen hast?
Wie viel Strom fließt dann da (müßte ja auch so 8-10 mA sein)?

inka
01.11.2013, 20:11
die ausgangsspannung am touchstone liegt auch bei 0,7V, es fließt ein strom von 8,3 mA

Dirk
01.11.2013, 20:25
Unerklärlich! Der Touchstone konnte doch bis 130 mA bei über 5V liefern!?

inka
02.11.2013, 13:02
ich habe jetzt die spule rausgelötet und den gleichrichter aufgebaut, die ausbeute ist mäßig :-(, der voltmeter am ausgang zeigt werte im mV bereich, die steigenn zwar stetig, aber jetzt sind es immer noch nur 395mA (nach ca. 5 minuten)...
2664026641

Dirk
02.11.2013, 14:32
Hi inka,

der voltmeter am ausgang zeigt werte im mV bereich, die steigenn zwar stetig, aber jetzt sind es immer noch nur 395mA (nach ca. 5 minuten)...
???
Was ist an den Elko angeschlossen?
Wenn nichts (bzw. nur das Voltmeter), müßte eine Leerlaufspannung zu messen sein, die bei 5-10V liegt!
Natürlich ist das eine Gleichspannung (also Voltmeter im Spannungsmeßbereich (!!) auf DC und nicht auf AC einstellen).

Die 395 mA, die du angegeben hast, könnten der Kurzschlußstrom sein (wenn du im Strommessbereich deines Meßgeräts gemessen hast).

Also: Was hast du da gemessen??

inka
02.11.2013, 16:16
Also: Was hast du da gemessen??


ich weiss nicht was ich da vorhin gemessen habe :-( - vergessen wir das...

den gleichrichter habe ich nach diesem stromlaufplan aufgebaut (bis auf den RL), der aufbau lässt aus dem foto im letzten post erkennen:

26645

jetzt messe ich, wenn nur die spule am eingang des gleichrichters angeschlossen ist 4,2V, wenn ich dann die verbindung zwischen dem ausgang des gleichrichters zum eingang des step-up wandler herstelle, kommen am ausgang des dc-dc wandlers wieder nur wenige mV an....

Dirk
02.11.2013, 19:04
Nach deinem Bild ist die Schaltung mit Graetz-Gleichrichter und Elko ganz in Ordnung.

Leider ist 4,2V grenzwertig als Eingangsspannung für den DC-DC-Wandler, so dass der womöglich nicht anschwingt. Ich bin auch davon ausgegangen, dass die Spannung der Touchstone-Spule nach Gleichrichtung deutlich höher ist,- mit der Touchstone-Elektronik hattest du ja sogar recht konstant 5,6V gemessen, so dass ich dachte, dass da ein Spannungsregler drin sitzt.
Wenn das so wäre, müßte aber die Spannung VOR der Touchstone Regler-Elektronik ohne Last deutlich über 5,6V sein.

Ist also offenbar nicht so ... :o
Was tun?

Da komme ich gedanklich nun wieder zum Aufwärts-Spannungsregler von robotikhardware.de (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=252&osCsid=4c67ac616a004951333d01356fd0a31e). Der würde ab 1,5V funktionieren.
Naja, das hatten wir ja schon ... :(

inka
03.11.2013, 09:41
Leider ist 4,2V grenzwertig als Eingangsspannung für den DC-DC-Wandler, so dass der womöglich nicht anschwingt.

stimmt evtl. weil bei einer spannung von 5,5V (4x AAA) funktioniert es ja. Angegeben ist der step-up wandler aber für eine eingangsspannung von 3-34V (http://www.ebay.de/itm/290943258842?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649)

Würde es etwas bringen das hier (http://www.ebay.com/itm/DC-DC-Boost-Converter-Step-Up-Module-1-5V-to-5V-500mA-/121142828799?) davor zu schalten, also zwischen den gleichrichter und den haupt step-up zu setzen und damit die spannung auf 5V hochzuziehen?

Dirk
03.11.2013, 19:37
Nein, das wäre vermutlich auch rausgeschmissenes Geld.

Ich habe mal den Touchstone (komplett mit Elektronik) mit dem DC-DC-Wandler von RobotikHardware und deinem mit LM2577S in Betrieb genommen.
Bei beiden gibt es Probleme beim Anlaufen, das bei dem von RobotikHardware nur manchmal gelingt, bei dem anderen nie.
Das hast du ja auch so ähnlich gemessen.

Grund ist:
Wenn man mit dem Oszilloskop die Ausgangsspannung des Touchstone (mit angeschlossenem Wandler!) ansieht, dann zeigt die einen sog. "Sägezahn", d.h. sie fällt langsam ab und steigt dann wieder steil an.
Das liegt daran, das der Wandler versucht anzuspringen und dabei kurzfristig erheblich mehr Anlaufstrom braucht. Diesen Anlaufstrom kann der Touchstone aber nicht liefern, so dass der Wandler nicht anspringen kann. Dadurch sinkt sein Stromverbrauch und die Ausgangsspannung des Touchstone steigt rasch wieder an. Dann versucht wieder der Wandler anzuspringen und braucht dafür mehr Strom, usw ...
Ich habe dann ein paar Elkos ausprobiert: Die lösen das Problem leider nicht, weil auch damit der für den Touchstone zu hohe Anlaufstrom der Wandler ein Problem bleibt.

Ausnahme: Wenn man den RobotikHardware Wandler bei laufendem Touchstone mit einem größeren Elko (470 µF) anschließt, läuft der fast immer an.
Grund: Der auf 5,6V geladene Elko reicht, um den Wandler anlaufen zu lassen, so dass danach das Ganze dann (zumindest ohne Last!) weiter läuft.
Aber: Das ist ja nicht die spätere Situation -> Der RP6 soll ja mit der Touchstone-Spule an die Ladestation heranfahren. Dadurch wäre der Elko anfangs leer und der angeschlossene Wandler würde nicht anlaufen, denn das klappt ja nur bei vollem Elko (aber auch nicht immer). Außerdem haben wir noch keine Last (= zu ladender Akku) angeschlossen.

Also, was tun?
Wir müssen noch mehr messen (mit 5V-Netzgerät):
1. Wieviel Strom ziehen die beiden Wandler am Eingang (bei 5V und Ausgangsspannung eingestellt auf 9V)?
a) Im Leerlauf
b) Mit Laststrom 50 mA (RL = 180 Ohm *)
c) Mit Laststrom 100 mA (RL = 90 Ohm *)
d) Mit Laststrom 150 mA (RL = 60 Ohm *)
Zu *) RL am Ausgang der Wandler!

2. Wieviel Strom kann der Touchstone max. liefern, bevor seine Ausgangsspannung unter 4V absinkt?
(Verschiedende RLs ausprobieren!)
Ich würde das mit der Elektronik messen (ist bei mir noch an der Spule dran!) Kannst du das ohne Elektronik mit Graetz und Elko messen?

Möglicherweise kommt man danach zum Schluß, dass das Ganze nicht funktioniert ... :(
Aber: Die Hoffnung stirbt zuletzt. :cool:

inka
04.11.2013, 12:34
uff, lange abhandlung...

ich habe jetzt folgendes probiert:

- palm rückwand mit original ladeelektronik genommen
- den komfortablen graetz durch eine diode ersetzt (siehe bild)
26656
der dahinter geschaltete dc-wandler spring wiederholbar an!

würdes Du das bitte bestätigen (oder widerlegen?)

EDIT: noch ein paar messungen beim angeschlossenen 6zellen accu (6xAA):

- es dauert ein paar sekunden, bis die ausgangspannung auf die eingestellten 9V hochgeht, vorher sind es ca. 0,5V (das ist ohne accu!)
weiter mit accu:
- auf der inputseite des dc-wandlers fliesst ein strom von 750mA
- auf der outputseite ein (lade?)strom von 200mA
- die spannung auf der outputseite schwankt nach ca. 30 sekunden zwischen den eingestellten 9V und ca.7V in relativ schneller folge, mit ein paar zwischenwerten
- die diode wird warm

inka
22.11.2013, 16:09
heute waren die accus (6x 2000mAh) einigermassen leer, die ladung mit der touchstone-spule, dem spannungswandler von 5V auf 9,3V und der dazwischen geschalteten diode dauerte 9 stunden (also eine nacht lang), ausgangszustand 5,6V endzustand 8,4 V...

ich denke damit kann ich leben, jetzt muss erstmal die flachere ladeschale her...

inka
18.12.2013, 09:51
der aufbau ist jetzt schon fast fertig, die neue ladespule (wird als das QI-standard für viele smartphones vertrieben) ist beim laden noch etwas schneller, die endgültige lösung mit dem anschluss (mini-usb) wartet noch auf teile...
26957

hier der aufbau:

26958269592696026961

Dirk
18.12.2013, 18:35
Sieht ja gut aus!

Nennen wir es das "FERRERO-Konzept" ... :)

Wie hoch ist denn der erreichbare Ladestrom?

inka
18.12.2013, 18:54
Auf den fotos kannst Du sehen wie es angeschlossen/angelötet ist - kann ich irgendwo den ladestrom messen ohne den stromkreis durch löten unterbrechen zu müssen?

gruss inka

Dirk
18.12.2013, 19:08
Hi,
wenn ich das richtig sehe, dann hast du die "Ladeelektronik" am EXT-Stecker an CHRG und GND angeschlossen. Richtig?
Dann kannst du ja nur mit AUSgeschaltetem RP6 laden (später soll die Ladung ja auch bei EINgeschaltetem RP6 funtionieren, damit er die Ladestation aufsuchen kann).

Auf jeden Fall kannst du den Ladestrom an der Sicherung F1 messen: Einfach das Strommessgerät anstelle der F1-Sicherung an die Sicherungshalter anklemmen.

inka
18.12.2013, 20:23
Hi Dirk,
beim start zeigt der accu eine spannung von 7,9 V und beim laden fließt ein strom von 160 mA
gruss inka

Dirk
18.12.2013, 21:41
Das heißt:

Bei weitgehend vollem Akku wird mit 160 mA geladen.
Wenn man 250 mA als mittleren Ladestrom annimmt (man müßte das messen, um es genau zu wissen), dann braucht die Vollladung deines 2000 mAh Akkus ca. 11 Stunden.
Das ist akzeptabel, wenn der RP6 z.B. über Nacht die Ladestation anfahren soll.

inka
19.12.2013, 08:14
Hi Dirk,


wenn ich das richtig sehe, dann hast du die "Ladeelektronik" am EXT-Stecker an CHRG und GND angeschlossen. Richtig?
ja...


Dann kannst du ja nur mit AUSgeschaltetem RP6 laden (später soll die Ladung ja auch bei EINgeschaltetem RP6 funtionieren, damit er die Ladestation aufsuchen kann).

es war mir jetzt wichtig - nachdem die ladespule endlich eingetrudelt ist - die teile der "ferrero edition" unter originalbedingungen auf funktion zu testen. Und - dieser anschluss war der einzig gefahrloser, den ich kannte :-(

wie müsste denn der anschluss aussehen bei dem auch beim eingeschaltetem RP6 der accu geladen werde kann? Die masse kann doch bleiben, nehme ich an?

Dirk
19.12.2013, 19:11
Ja, die Masse kann bleiben.
Plus kann an ...
+BAT (Laden unabhängig von der Stellung des Ein-/Ausschalters S1 immer möglich; Betrieb des RP6 bei EINgeschaltetem S1 über Akku + Ladespule möglich)
... oder ...
+UB (Laden nur bei EINgeschaltetem S1 möglich; Betrieb des RP6 bei EINgeschaltetem S1 über Akku + Ladespule, Betrieb bei AUSgeschaltetem S1 nur über Ladespule möglich)
... angeschlossen werden.

inka
19.12.2013, 22:01
Danke für die info, Dirk...
Ich hab wie ein irrer gesucht und nichts in dieser deutlichkeit gefunden. Deine worte? Oder auch irgendwo nachzulesen - am liebsten würde ichs mir einrahmen und an die wand hängen :-)
Gruss. Inka

Dirk
19.12.2013, 22:11
Hi,

am liebsten würde ichs mir einrahmen und an die wand hängen
Alternativ lesen -> EXT Anschluß (http://www.rn-wissen.de/index.php/RP6#EXT_Anschlu.C3.9F)
Hilfreich ist auch Seite 1 des RP6 Schaltplans (RP6_MAINBOARD.pdf), da kann man die Verschaltung gut sehen.

inka
20.12.2013, 11:32
hi Dirk,

habe es jetzt mit dem pluspol an +BAT angeschlossen. Die textpassage über den EXT anschluss war mir bekannt, was neu war, war Deine interpretation, dessen deutlichkeit und eindeutigkeit ich in dem EXT-text nicht so gefunden habe...

es ist dort sogar eindeutig über den AUSgeschalteten S1 die rede!

nochmals danke hierfür...



Plus kann an ...
+BAT (Laden unabhängig von der Stellung des Ein-/Ausschalters S1 immer möglich; Betrieb des RP6 bei EINgeschaltetem S1 über Akku + Ladespule möglich)
... oder ...
+UB (Laden nur bei EINgeschaltetem S1 möglich; Betrieb des RP6 bei EINgeschaltetem S1 über Akku + Ladespule, Betrieb bei AUSgeschaltetem S1 nur über Ladespule möglich)
... angeschlossen werden.


An +BAT (Pins 4, 5) kann man direkt (ohne Unterbrechung durch S1) Strom aus dem Akku entnehmen. Die Grenze des Stroms bestimmt die Sicherung F1 (2,5A). Eine weitere Möglichkeit besteht darin, über diesen Anschluß den Akku auch mit einem geeigneten Ladegerät zu LADEN. Hierbei muss man aber darauf achten, dass S1 AUSgeschaltet ist, weil sonst der RP6 über +UB eine unzulässig hohe Spannung bekommen könnte. Wenn man den Akku mit 6 Mignonzellen im RP6 nicht nutzen will (der Akku-Halter bleibt leer!), sondern nur einen externen Akku, wäre der auch mit seinem Pluspol an +BAT über eine eigene Sicherung (2,5A träge) anzuschließen.

+UB (+7,2V) ist die Versorgungsspannung des RP6 (kommt vom Akku-Pluspol über die Sicherung F1 und Schalter S1!). Mit +UB werden die H-Brücken (Motoransteuerung) direkt und die RP6 "Elektronik" über den 5V-Spannungswandler (IC1; SP1 D3: IC1) versorgt (= VDD). An +UB könnte man den RP6 direkt mit einer Spannung von +7,2V versorgen (Absicherung nicht vergessen!), dazu muss S1 AUSgeschaltet sein, damit es keine Konflikte mit dem eingebauten Akku gibt.

Dirk
20.12.2013, 22:38
Hi,

der Hinweis im RN-Wissen, dass beim Laden des Akkus an +BAT mit einem Ladegerät S1 AUSgeschaltet sein sollte, hat damit zu tun, dass Ladegeräte für mehrzellige NiMH- oder NiCd-Akkus auch Spannungen liefern können, die weit höher sind, als für +UB zulässig (>10V). Damit könnte die RP6 Elektronik beschädigt werden.

Im Fall deiner induktiven Ladung wußte ich ja, dass über 10V wohl nicht erreicht werden können, daher geht das Laden damit unabhängig von der Stellung von S1. Die RP6 Elektronik kann dann nicht beschädigt werden.

inka
26.12.2013, 14:48
hi,

die (fererro) halterung der ladespule erwies sich als zu brüchig, ich musste auf eine alternative umsteigen, auf den (abgesägten) oberen teil einer aufputzsteckdose (kantenlänge etwa 65mm) von toom, hier ein paar bilder:

270092701027011270122701327014

Durch die kleinere form lässt sich die ladespule unterm RP6 besser zum empfänger positionieren. Durch die geringere entfernung zum empfänger (die flächen der beiden spulen kommen nun näher zusammen) erreichte der akku - ich weiss nicht ob es gut oder schlecht ist, wollte es aber nicht unerwähnt lassen - nach ca. 8stündigem laden eine akkuspqannung von 9,1V, der ladestrom betrung zu dem zeitpunkt 132mA. Bei leeren akkus konnte ich den ladestrom noch nicht messen, damit muss ich warten, bis sie wieder leer sind...

Und jetzt geht es zum schwierigsten - zu der software...

Dirk
26.12.2013, 16:00
Hi,

das sieht ja gut aus: Hardware fertig ...

Software:
Wird auch klappen. Für den Anfang brauchst du als Basis eine Kombination aus RP6Control_09_Move.c und RP6Control_08_I2CMaster.c.
Damit würde ich erst mal starten ...

Dirk
26.12.2013, 21:28
Kurze Ergänzung noch zur Hardware:

1. Wer diese induktive Ladung von inka nachbauen will:
Pollin (http://www.pollin.de/shop/index.html) hat in seinem Katalog 1-2014 folgende Teile aufgenommen:
a) Induktions-Lademodul Sender (37-351 339)
b) Induktions-Lademodul Empfänger (37-351 340)
c) Induktions-Lademodul Sender + USB-Ladebuchse (37-351 338 )
Das sind alles "nackte" Platinen + Spulen ohne Gehäuse zum Einbau in eigene Konstruktionen, so wie inka das auf seinen Bildern zeigt. Strom angeblich bis 1A.

2. @inka: Wie wäre es auf der Empfängerseite noch mit einer Spannungsmessung am Ausgang des Empfängers? Damit könnte der RP6 seine Position auf der Senderspule evtl. korrigieren (optimale Ladeposition) bzw. überhaupt prüfen, ob er auf der Ladespule steht.
... nur so 'ne Idee ...

inka
05.01.2014, 09:30
hi,
das ist toll, dass man die teile nun auch in Deutschland bekommt, die preise sind - verglichen mit den sonstigen preisen bei Conrad oder Pollin - überraschend niedrig...

Ich denke ich kann jetzt dieses kapitel schließen, bin mit dem erreichten durchaus zufrieden, musste nur noch die leitungen zu den empfängerspule von unten (bodenwanne) auf die hauptplatine verlegen und mit steckern versehen um eine evtl. demontage zu erleichtern:
2706527066
auch habe ich die spule in den vorderen bereich der bodenwanne (in die nähe des linienfolgemoduls) verlegt, damit der RP vor dem auffahren auf die ladestation nicht auch noch gedreht werden muss.

die alte auflage:
27062
auf der der RP6 stehen konnte auch bei tests, bei denen die ketten in bewegung waren habe ich nun durch eine neue ersetzt
2706327064
in der er auch geladen werden kann. Die positionierung des RP6 zu spule passiert in der breite durch die seitlichen profile und die räder des RP6 (1mm spiel auf jeder seite), in der länge durch das erhöhte "kopfteil".
Die blaue fixierung der spule - da habe ich einen flexiblen lockenwickler in zwei teile zerschnitten - meine frau möge mir verzeihen :-)

inka
19.02.2014, 14:11
die ladestation ist nun seit ein paar wochen erfolgreich im einsatz, nur eines hat mich gestört - die in der ladeelektronik vorhandene LED war beim laden nicht zu sehen, so konnte ich nicht erkennen, ob der accu auch geladen wird. Das ist jetzt anders...

http://www.youtube.com/watch?v=b8MhKMH_G88&feature=youtu.be

fabqu
19.02.2014, 16:16
Nicht schlecht :)
Jetzt nen 3D-Drucker kaufen, und das Ding serienmäßig produzieren...

Grüße

inka
19.02.2014, 16:53
@Dirk;

@inka: Wie wäre es auf der Empfängerseite noch mit einer Spannungsmessung am Ausgang des Empfängers? Damit könnte der RP6 seine Position auf der Senderspule evtl. korrigieren (optimale Ladeposition) bzw. überhaupt prüfen, ob er auf der Ladespule steht.
... nur so 'ne Idee ...ich wollte eigentlich eine "mechanische" lösung (quasi "nach gehör" fahren), aber die messung wäre sicher eleganter. Wäre die reaktion darauf auch schnell genug möglich? Realisierung mit "LTC2990_measure()", oder hast Du da an was anderes gedacht?

@fabqu,

Jetzt nen 3D-Drucker kaufen, und das Ding serienmäßig produzieren...
tja, die sind noch ein bischen teuer...

Dirk
19.02.2014, 19:55
Hi inka,

ja, ich hatte da an eine Spannungsmessung am Ausgang der Spule bzw. zwischen Spule und Spannungswandler gedacht.
Man könnte einen nicht genutzten ADC-Kanal der M32 (z.B. ADC_2) dafür nehmen. Der Eingang ist auf der MultiIO am J_ADC Jumperblock Pin "2".
Man braucht dann noch einen Spannungsteiler aus 2 Widerständen, weil der ADC ja nur bis 5V messen kann (oder ist die Spannung da nicht höher?).

inka
23.02.2014, 18:33
Hi Dirk,

ja, ich hatte da an eine Spannungsmessung am Ausgang der Spule bzw. zwischen Spule und Spannungswandler gedacht.
Man könnte einen nicht genutzten ADC-Kanal der M32 (z.B. ADC_2) dafür nehmen. Der Eingang ist auf der MultiIO am J_ADC Jumperblock Pin "2".
Man braucht dann noch einen Spannungsteiler aus 2 Widerständen, weil der ADC ja nur bis 5V messen kann (oder ist die Spannung da nicht höher?).
der tip war wieder einmal goldwert: es funktioniert, mit diesem

void acculadung(void)
{
clearLCD();
setCursorPosLCD(0, 0);
writeStringLCD(" ADC2: ");
uint16_t adc2 = readADC(ADC_2); // Read ADC Channel 2
setCursorPosLCD(0, 9);
writeIntegerLCD(adc2, DEC);
if (adc2 > 650)
{
setCursorPosLCD(2, 0);
writeStringLCD(" ladespannung ok ");
setMultiIOLED1(1);
}
}

kann ich dann später (von der ladestation ist unter dem RP6 ja nichts zu sehen, er ist aber an) eine LED oder was auch immer als zeichen dafür, dass geladen wirkt blinken lassen...

btw. da kommen nur 3.5V an, an der empfängerspule. Eigenttlich sollten es 5V sein, aber durch eine etwas größere entfernung zu der sendespule reduziert sich das. Da gabs auch probleme am anfang mit dem einschwingen des spannungwandlers, inzwischen läuft der problemlos an...

ich habe mich in letzter zeit mit der linienverfolgung beschäftigt und wollte jetzt wieder schauen, wie es mit dem finden der bake zusammenzubringen wäre. Und prompt geht wieder nix. :-(

daß das auffinden der bake schon funktioniert hat, dafür gibts ja beweise bei youtube :-) - immerhin, nur hilft mir das jetzt nicht weiter...

dieser

#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
#include "RP6Control_MultiIOLib.h"
#include "RP6Control_I2CMasterLib.h"
#include "RP6Control_LFSBumperLib.h"
#include "RP6ControlServoLib.h"
#include "standard.h"

#define I2C_RP6_BASE_ADR 10

/******************variablen*********************** ****/

//uint8_t transmit_buffer[10];
uint8_t RP6data[32];

uint8_t i, j, t;
int16_t x, y, z;
uint8_t temp;


//uint8_t ir_value[0];
uint8_t temp_IR[0];
//uint8_t feld_IR[200];


/************************************************** *****************************/
void readAllRegisters(void)
{
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 0); // Start with register 0...
I2CTWI_readBytes(I2C_RP6_BASE_ADR,RP6data, 31); // and read all 30 registers up to
// register Number 29 !

// Now we output the Data we have just read on the serial interface:
writeString_P("\nREADING ALL RP6 REGISTERS:");
uint8_t i = 0;
for(i = 0; i < 31; i++)
{
if(i % 8 == 0) // add some newline chars otherwise everything
writeChar('\n'); // is printed on ONE single line...
else
writeString_P(" | ");
writeChar('#');
writeIntegerLength(i,DEC,2);
writeChar(':');
writeIntegerLength(RP6data[i],DEC,3);
}
writeChar('\n');
}

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

uint8_t read_IR_value(void)
{
// uint8_t temp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, temp_IR, 1);
return temp;
}

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

void I2C_requestedDataReady(uint8_t dataRequestID)
{
checkRP6Status(dataRequestID);
}


/********************hauptprogramm***************** ************/

int main(void)
{
initRP6Control();
multiio_init();
initLCD();
//orientation_init();

setLEDs(0b1111);
mSleep(500);
setLEDs(0b0000);

I2CTWI_initMaster(100);
I2CTWI_setTransmissionErrorHandler(I2C_transmissio nError);
I2CTWI_setRequestedDataReadyHandler(I2C_requestedD ataReady);
showScreenLCD(" RP6Control M32", " bake_suche_1", "", "");
mSleep(1500);
clearLCD();
accuspannung();
mSleep(1500);
clearLCD();

while(true)
{


setLEDs(0b0100);

readAllRegisters();

startStopwatch3();
t=0;

do
{
if(getStopwatch3() > 50)
{
temp = read_IR_value();

if (temp !=0)
{
setMultiIOLED1(1);
setMultiIOLED1(0);
rotate(80, RIGHT, 5, false);
temp = read_IR_value();
if (temp == 0) stop(); //break;
if(bumper_left && bumper_right) //stop();//break;
{
stop();


}

}
temp = read_IR_value();

if (temp == 0)
{
x = getStopwatch3();
setMultiIOLED3(1);
setMultiIOLED3(0);
if (t<10)
{
t++;

if (t == 10)
{
y = getStopwatch3();
z = y-x;
/*
writeInteger(x, DEC);
writeChar('\n');
writeInteger(y, DEC);
writeChar('\n');
writeInteger(z, DEC);
writeChar('\n');
*/
t=0;
setStopwatch3(0);
if (z< 600)
{
move(100, FWD, DIST_MM(100), false);
setStopwatch3(0);
t=0;
mSleep(400);
task_checkINT0();
task_I2CTWI();
if(bumper_left && bumper_right)
{
stop();

}

}

}

}


}
}

task_checkINT0();
task_I2CTWI();
}
while(!bumper_left && !bumper_right);
stop();

}


return 0;
}


hat damals funktioniert. Es ist nicht nur dieser code, der nicht geht, ich habe mehrere varianten ausprobiert, das verhalten des RP6 ist gleich:

er ignoriert die abfrage des vorher eingelesenen (nicht vorhandenen) IR signals ( if (temp !=0)) , die rote multiIO LED blinkt, der RP6 dreht sich nicht und sucht, sondern fährt in den 10cm steps vor (die abfrage if (temp == 0 wird als wahr erkannt) , als hätte er IR empfangen. Die bake ist dabei außer betrieb. Die bake selber habe ich überprüft (oszi), sie sendet an der richtigen frequenz, wird auch - sporadisch - empfangen...

woran kann das denn wieder liegen? Ich musste jetzt nachdenken, was ich an hardwareänderungen eingeführt hätte - außer der verbindung von dem pin2 des J_ADC zu der spule des ladegeräts - sonst nix...

Dirk
23.02.2014, 20:10
Hi inka,

woran kann das denn wieder liegen?
Ich denke nicht an ein Hardware-Problem.
Leider habe ich das Problem, dass ich deinen Such-Code nicht ganz verstehe, und so auch nicht "mitdenken" kann.

Ich habe mal die Haupt-Suchschleife auf das hier:

while(true)
{
startStopwatch3();
t=0;

do
{
if(getStopwatch3() > 50)
{
temp = read_IR_value();

if (temp !=0)
{
// Rotiere RECHTS 5°
temp = read_IR_value();
if (temp == 0) stop(); //break;
if(bumper_left && bumper_right) //stop();//break;
{
stop();
}

}
temp = read_IR_value();
if (temp == 0)
{
x = getStopwatch3();

if (t<10)
{
t++;

if (t == 10)
{
y = getStopwatch3();
z = y-x;
t=0;
setStopwatch3(0);
if (z< 600)
{
Fahre VORWÄRTS 10cm
setStopwatch3(0);
t=0;
mSleep(400);
task_checkINT0();
task_I2CTWI();
if(bumper_left && bumper_right)
{
stop();

}

}

}

}


}
}

task_checkINT0();
task_I2CTWI();
}
while(!bumper_left && !bumper_right);

... reduziert.
Wenn ich das so sehe, stellen sich ein paar Fragen (quasi als Bemühen, das zu verstehen):

1. In der Hauptschleife wird ja alle 50ms (if(getStopwatch3() > 50) ) "etwas" gemacht. Verfolgt man erstmal das, was passiert, wenn die 50ms NICHT um sind:
Dann laufen nur task_checkINT0(); und task_I2CTWI(); durch und die Schleife soll durchlaufen werden, solange KEIN Bumper gedrückt wird.
Das dürfte aber so nicht funktionieren, weil die Variablen bumper_left u. bumper_right sich in der Schleife nicht verändern (es erfolgt ja keine Veränderung dieser Variablen abhängig von den Bumpern!).

2. Wenn man dann in die alle 50ms angesprungene Verzweigung schaut, wird da IR gelesen (temp = read_IR_value ). Abhängig vom Ergebnis (Bake wahrgenommen oder nicht) soll ja eine Reaktion erfolgen. Es soll gedreht werden, wenn die Bake nicht erkannt wurde und geradeaus gefahren werden, wenn die Bake erkannt wird.
Da ich diesen Teil nicht verstehe, lasse ich das mal außen vor. Aber trotzdem stellen sich Fragen:
a) Wenn ich mich richtig an die IR-Empfänger-Abfrage erinnere, dann ist das Ergebnis von read_IR_value() NULL, wenn die Bake empfangen wurde und GRÖSSER NULL, wenn sie aus ist oder nicht in Sicht. Wenn das so ist, verstehe ich deinen Code -wie gesagt- nicht.
b) Im 50ms-Teil wird der IR-Sensor ZWEIMAL abgefragt und nach dem Rechts-Rotieren sogar noch einmal. Was bedeutet das? Eigentlich sollte das IR-Signal nur EINMAL alle 50ms abgefragt werden, weil eine erneute Abfrage direkt nach der ersten durchaus ein anderes Ergebnis bringen kann und dann deine Logik durcheinander bringt. Vorschlag: IR nur EINMAL am Anfang des 50ms-Teils abfragen und in einer Variablen speichern ODER direkt in die beiden Zweige:

if (temp !=0) // Bake AUS
{
// Drehe rechts-links bis Bake wieder da
}
else // Bake AN
{
// Fahre geradeaus
}

... einmünden lassen.
c) Die 50ms sind vermutlich viel zu kurz. Allein die I2C-Kommunikation dauert (Abfrage IR) fast schon länger,- an die Fahrbefehle gar nicht zu denken.
d) Das nicht blockierende Drehen und Fahren erzeugt kaum einschätzbare Phänomene. Wann ist das Fahren zuende? Meine Einschätzung: Der 50ms-Teil wird mind. schon 50 bis 200x wieder angesprungen, während der letzte Fahrbefehl noch aktiv ist. Folgen: ???
e) Pause 400ms nach dem Vorwärts-Fahrbefehl. Das bedeutet letztlich fast schon ein blockierendes Fahren, weil ja fast 1/2 Sekunde gewartet wird. Das bringt aber die schnelle Hauptschleife durcheinander, so dass die weiteren Abläufe nicht mehr transparent sind.

Vielleicht hilfst du mir beim Verständnis: Dann kann ich wieder mitziehen ... :confused:

inka
24.02.2014, 11:45
Hi Dirk,
danke für detailierte antwort...


Ich denke nicht an ein Hardware-Problem.
nachdem das programm "RP6Control_10_Move2.c" problemlos funktioniert glaube ich das auch nicht, ich gerate bei problemen, die ich eigentlich als gelöst (und wenigstens ein bischen verstanden) abgehakt habe, leicht in panik...


Leider habe ich das Problem, dass ich deinen Such-Code nicht ganz verstehe, und so auch nicht "mitdenken" kann.
prinzipiell: wenn kein signal empfangen wird, sollte der RP6 ständig im kreis drehen und die bake suchen...

hier meine kommentare zum ablauf in der do-schleife:

do
{
if(getStopwatch3() > 50) //evtl. zu früh beim ersten durchlauf, beim nächsten - die ganze haupt-if-schleife
//wird ja übersprungen - und wieder stopwatch >50 abgefragt, oder?
{
temp = read_IR_value(); //erstes einlesen des IR-signals

if (temp !=0) //wenn kein signal, drehe um 5°
{
setMultiIOLED1(1);
setMultiIOLED1(0);
rotate(80, RIGHT, 5, false);
temp = read_IR_value(); //lese IR noch einmal nach der drehung ein
if (temp == 0) stop(); //break; //wenn signal empfangen, stoppe drehung (stop(), oder break()?)
if(bumper_left && bumper_right) //stop();//break; // wenn hindernis, stoppe drehung
{
stop();
}

}
temp = read_IR_value(); //lese noch einmal IR signal, ob immer noch IR-signal empfangen wird

if (temp == 0) // wenn empfang...

// die wände erzeugen reflektionen, um zu verhindern dass diese mit der original IR verwechselt werden, soll überprüft
// werden ob das signal 10x hintereinander empfangen wird...

{
x = getStopwatch3(); //speichere stand der stopuhr des ersten empfangs
setMultiIOLED3(1);
setMultiIOLED3(0);
if (t<10) //10 empfang prüfen
{
t++;

if (t == 10) // wenn 10 x empfangen
{
y = getStopwatch3(); //speichre stand der stopuhr des 10ten empfangs
z = y-x; //berechne dauer zwischen erstem und zehntem empfang
t=0;
setStopwatch3(0); //stopwatsch auf null
if (z< 600) //prüfe ob in einem zeitraum von <0,6sec
{
move(100, FWD, DIST_MM(100), false); // dann fahre 100mm vorwärts
setStopwatch3(0); //setze stopuhr auf null, evtl. zu viel...
t=0;
mSleep(400); // weiss nicht wozu, ohne ging es vorher nicht...
task_checkINT0();
task_I2CTWI();
if(bumper_left && bumper_right) // stoppe beim hindernis beim geradeausfahren
{
stop();

}

}

}

}


}
}

task_checkINT0();
task_I2CTWI();
}
while(!bumper_left && !bumper_right);//führe do-schleife solange bis hindernis(ladestation)
stop();




In der Hauptschleife wird ja alle 50ms (if(getStopwatch3() > 50) ) "etwas" gemacht. Verfolgt man erstmal das, was passiert, wenn die 50ms NICHT um sind:
Dann laufen nur task_checkINT0(); und task_I2CTWI(); durch und die Schleife soll durchlaufen werden, solange KEIN Bumper gedrückt wird.
Das dürfte aber so nicht funktionieren, weil die Variablen bumper_left u. bumper_right sich in der Schleife nicht verändern (es erfolgt ja keine Veränderung dieser Variablen abhängig von den Bumpern!).
sie kommentar im code...



Wenn man dann in die alle 50ms angesprungene Verzweigung schaut, wird da IR gelesen (temp = read_IR_value ). Abhängig vom Ergebnis (Bake wahrgenommen oder nicht) soll ja eine Reaktion erfolgen. Es soll gedreht werden, wenn die Bake nicht erkannt wurde und geradeaus gefahren werden, wenn die Bake erkannt wird.
ja...(im prinzip)...aber halt nicht nach dem (erstbesten) signal...



Da ich diesen Teil nicht verstehe, lasse ich das mal außen vor. Aber trotzdem stellen sich Fragen:
Wenn ich mich richtig an die IR-Empfänger-Abfrage erinnere, dann ist das Ergebnis von read_IR_value() NULL, wenn die Bake empfangen wurde und GRÖSSER NULL, wenn sie aus ist oder nicht in Sicht. Wenn das so ist, verstehe ich deinen Code -wie gesagt- nicht.
ja, mit dieser funktion wird das register 30 (Pb2, IR signal) eingelesen:

uint8_t read_IR_value(void)
{
// uint8_t temp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, temp_IR, 1);
return temp;
}
wenn empfang temp=0, wenn kein empfang temp>0...



Im 50ms-Teil wird der IR-Sensor ZWEIMAL abgefragt und nach dem Rechts-Rotieren sogar noch einmal. Was bedeutet das? Eigentlich sollte das IR-Signal nur EINMAL alle 50ms abgefragt werden, weil eine erneute Abfrage direkt nach der ersten durchaus ein anderes Ergebnis bringen kann und dann deine Logik durcheinander bringt.
reflektionen, ansonsten siehe kommentare


Vorschlag: IR nur EINMAL am Anfang des 50ms-Teils abfragen und in einer Variablen speichern ODER direkt in die beiden Zweige:

if (temp !=0) // Bake AUS
{
// Drehe rechts-links bis Bake wieder da
}
else // Bake AN
{
// Fahre geradeaus
}

... einmünden lassen.
muss darüber nachdenken, was ist mit den reflektionen?


Die 50ms sind vermutlich viel zu kurz. Allein die I2C-Kommunikation dauert (Abfrage IR) fast schon länger,- an die Fahrbefehle gar nicht zu denken.
ich stehe mit den "s.watches" noch auf dem kriegsfus


Das nicht blockierende Drehen und Fahren erzeugt kaum einschätzbare Phänomene. Wann ist das Fahren zuende? Meine Einschätzung: Der 50ms-Teil wird mind. schon 50 bis 200x wieder angesprungen, während der letzte Fahrbefehl noch aktiv ist. Folgen: ???
ich habe es so verstanden, dass es besser ist das nicht blockierende drehen und fahren zu verwenden, da gibt es wohl unterschiedliche auffasungen/anwendungsfälle - die auch mit den stopwatches zusammenhängen?


Pause 400ms nach dem Vorwärts-Fahrbefehl. Das bedeutet letztlich fast schon ein blockierendes Fahren, weil ja fast 1/2 Sekunde gewartet wird. Das bringt aber die schnelle Hauptschleife durcheinander, so dass die weiteren Abläufe nicht mehr transparent sind.
siehe kommentar im code...


Vielleicht hilfst du mir beim Verständnis: Dann kann ich wieder mitziehen ... :confused:

habs versucht ...

Dirk
24.02.2014, 21:32
Hi inka,

habs versucht ...
Ich auch ... ;)

1. Die Funktion:

uint8_t read_IR_value(void)
{
// uint8_t temp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, temp_IR, 1);
return temp;
}

... tut nicht das, was sie soll.
Wenn du sie im Programm mit temp = read_IR_value(); aufrufst, wird von der Funktion nicht der IR-Sensor-Wert zurückgegeben, sondern der Wert der (globalen) Variablen temp.
Allerdings wird der IR-Sensor-Wert in der (ebenfalls globalen) Variablen temp_IR gespeichert, die im Programm als Array definiert ist.
temp_IR[0] wird von dir aber nicht weiter benutzt.
Die Funktion müßte so aussehen:

uint8_t read_IR_value(void)
{
uint8_t tmp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, tmp, 1);
return tmp;
}

Dann kriegst du mit temp = read_IR_value(); den IR-Sensor-Wert in temp.

2. Nochmal zur Hauptschleife:

while(true)
{

do
{

// Alles weitere ...


task_checkINT0();
task_I2CTWI();
}
while(!bumper_left && !bumper_right);
stop();

}

... und dem Problem, dass sie m.E. nicht funktioniert. Warum soll diese Schleife auf die Bumper reagieren? Teste das mal! Wird der Stop-Befehl erreicht, wenn du einen Bumper drückst?

3.
reflektionen, ansonsten siehe kommentare
Ich kann nicht verstehen, warum durch eine Abfrage des IR-Empfängers rasch hintereinander im 50ms-Teil Reflektionen "erkannt" bzw. ausgeblendet werden können. In einem Raum können Lichtreflektionen durch ein einfaches GCC-Programm nicht berechnet/erkannt werden. Sie unterscheiden sich in der Laufzeit in einem Zimmer nur im Nanosekundenbereich.

4. ... (so viel erstmal ...)

inka
25.02.2014, 08:59
Hi Dirk,


1. Die Funktion:

uint8_t read_IR_value(void)
{
// uint8_t temp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, temp_IR, 1);
return temp;
}

... tut nicht das, was sie soll.
Wenn du sie im Programm mit temp = read_IR_value(); aufrufst, wird von der Funktion nicht der IR-Sensor-Wert zurückgegeben, sondern der Wert der (globalen) Variablen temp.
Allerdings wird der IR-Sensor-Wert in der (ebenfalls globalen) Variablen temp_IR gespeichert, die im Programm als Array definiert ist.
temp_IR[0] wird von dir aber nicht weiter benutzt.
Die Funktion müßte so aussehen:

uint8_t read_IR_value(void)
{
uint8_t tmp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, tmp, 1);
return tmp;
}

Dann kriegst du mit temp = read_IR_value(); den IR-Sensor-Wert in temp.
meinst Du hier evtl "tmp"? Verstehe ich das richtig: in der ursprünglichen version wurde nicht der aktuelle sensor-wert in "temp" geschrieben, sondern ein wert aus dem IR-array? Ich werde die geändert version testen...


2. Nochmal zur Hauptschleife:

while(true)
{

do
{

// Alles weitere ...


task_checkINT0();
task_I2CTWI();
}
while(!bumper_left && !bumper_right);
stop();

}

... und dem Problem, dass sie m.E. nicht funktioniert. Warum soll diese Schleife auf die Bumper reagieren? Teste das mal! Wird der Stop-Befehl erreicht, wenn du einen Bumper drückst?
der stop-befehl wird erreicht, mit diesem, unverändertem


#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
#include "RP6Control_MultiIOLib.h"
#include "RP6Control_I2CMasterLib.h"
#include "RP6Control_LFSBumperLib.h"
#include "RP6ControlServoLib.h"
#include "standard.h"

#define I2C_RP6_BASE_ADR 10

/******************variablen*********************** ****/

//uint8_t transmit_buffer[10];
uint8_t RP6data[32];

uint8_t i, j, t;
int16_t x, y, z;
uint8_t temp;


//uint8_t ir_value[0];
uint8_t temp_IR[0];
//uint8_t feld_IR[200];


/************************************************** *****************************/
void readAllRegisters(void)
{
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 0); // Start with register 0...
I2CTWI_readBytes(I2C_RP6_BASE_ADR,RP6data, 31); // and read all 30 registers up to
// register Number 29 !

// Now we output the Data we have just read on the serial interface:
writeString_P("\nREADING ALL RP6 REGISTERS:");
uint8_t i = 0;
for(i = 0; i < 31; i++)
{
if(i % 8 == 0) // add some newline chars otherwise everything
writeChar('\n'); // is printed on ONE single line...
else
writeString_P(" | ");
writeChar('#');
writeIntegerLength(i,DEC,2);
writeChar(':');
writeIntegerLength(RP6data[i],DEC,3);
}
writeChar('\n');
}

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

uint8_t read_IR_value(void)
{
// uint8_t temp = 0;
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, temp_IR, 1);
return temp;
}

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

void I2C_requestedDataReady(uint8_t dataRequestID)
{
checkRP6Status(dataRequestID);
}


/********************hauptprogramm***************** ************/

int main(void)
{
initRP6Control();
multiio_init();
initLCD();
//orientation_init();

setLEDs(0b1111);
mSleep(500);
setLEDs(0b0000);

I2CTWI_initMaster(100);
I2CTWI_setTransmissionErrorHandler(I2C_transmissio nError);
I2CTWI_setRequestedDataReadyHandler(I2C_requestedD ataReady);
showScreenLCD(" RP6Control M32", " bake_suche_1", "", "");
mSleep(1500);
clearLCD();
accuspannung();
mSleep(1500);
clearLCD();

while(true)
{


setLEDs(0b0100);


startStopwatch3();
t=0;

do
{
// readAllRegisters();

if(getStopwatch3() > 50)
{
temp = read_IR_value();

if (temp !=0)
{
setMultiIOLED1(1);
setMultiIOLED1(0);
rotate(80, RIGHT, 5, false);
temp = read_IR_value();
if (temp == 0) stop(); //break;
if(bumper_left && bumper_right) //stop();//break;
{
stop();


}

}
temp = read_IR_value();

if (temp == 0)
{
x = getStopwatch3();
setMultiIOLED3(1);
setMultiIOLED3(0);
if (t<10)
{
t++;

if (t == 10)
{
y = getStopwatch3();
z = y-x;
/*
writeInteger(x, DEC);
writeChar('\n');
writeInteger(y, DEC);
writeChar('\n');
writeInteger(z, DEC);
writeChar('\n');
*/
t=0;
setStopwatch3(0);
if (z< 600)
{
move(100, FWD, DIST_MM(100), false);
setStopwatch3(0);
t=0;
mSleep(400);
task_checkINT0();
task_I2CTWI();
if(bumper_left && bumper_right)
{
stop();

}

}

}

}


}
}

task_checkINT0();
task_I2CTWI();
}
while(!bumper_left && !bumper_right);
stop();

}


return 0;
}




3. Ich kann nicht verstehen, warum durch eine Abfrage des IR-Empfängers rasch hintereinander im 50ms-Teil Reflektionen "erkannt" bzw. ausgeblendet werden können. In einem Raum können Lichtreflektionen durch ein einfaches GCC-Programm nicht berechnet/erkannt werden. Sie unterscheiden sich in der Laufzeit in einem Zimmer nur im Nanosekundenbereich.
das ist aber das ergebnis meiner versuche. Bei einer abfrage fur der RP ganz woanders gegen die wand, weil er dort die bake gesehen hat, bei 10x nacheinader hat er die richtige richtung gefunden. Nicht nur in einem raum, sondern an verschiedene stellen, sogar draussen...

Dirk
25.02.2014, 14:00
Hi inka,
ich werde mich jetzt erstmal hier ein wenig ausklinken, obwohl ich dein Projekt weiterhin interessant finde. :-k

Davor aber noch kurz abschließend:

Verstehe ich das richtig: in der ursprünglichen version wurde nicht der aktuelle sensor-wert in "temp" geschrieben, sondern ein wert aus dem IR-array?
Nein, so nicht richtig (siehe mein letzter Post!).


der stop-befehl wird erreicht, mit diesem, unverändertem (Code)
Ich denke: Nein. Testen!!!


das ist aber das ergebnis meiner versuche.
Ich würde dir empfehlen, die Einzelfunktionen (IR-Abfrage, Bumper-Abfrage, Drehen bis IR erkannt, Geradeausfahrt...) getrennt voneinander zu schreiben und zu testen. Damit vermeidest du, dass du ein Gesamtsystem als erfolgreich testest, was im Detail noch ggf. Macken hat.
Besonders die IR-Abfrage würde ich als eigenständige Task (Aufgabe) für die Hauptschleife schreiben: Diese Task gibt nur eine Variable für IR AN oder IR AUS aus und tut sonst nichts. Dabei ist es deine Festlegung, ob IR AN erst nach 10 identischen Abfragen im 50ms Abstand ausgegeben wird oder irgendwie anders.

inka
26.02.2014, 16:58
hallo Dirk,

ich kann verstehen, dass Du Dich zurückziehst, die diskussion über meine software ist ein geeignetes mittel um leute zu vergraulen, ich werde es lassen...

habe hier aber ein anderes problem:


ja, ich hatte da an eine Spannungsmessung am Ausgang der Spule bzw. zwischen Spule und Spannungswandler gedacht.
Man könnte einen nicht genutzten ADC-Kanal der M32 (z.B. ADC_2) dafür nehmen. Der Eingang ist auf der MultiIO am J_ADC Jumperblock Pin "2".
Man braucht dann noch einen Spannungsteiler aus 2 Widerständen, weil der ADC ja nur bis 5V messen kann (oder ist die Spannung da nicht höher?).

die verbindung wurde so verlegt, es funktioniert auch, was mir beim ersten test nicht auffiel ist, dass beim erreichen der ladespannung am ausgang der empfängerspule (also ab start der ladung) die 4 roten LEDs der m32 schwach leuchten und beim LCD die hintergrundbeleuchtung auch schwach an ist (der bRP6 ist aus!). Ich weiss nicht warum das so ist. Ist das ein problem, oder nur ein unangenehmer nebeneffekt?

Ich habe schon überlegt ob ich einen anderen freien ADC-kanal verwenden könnte, trotz wirklich sehr intensiver suche gelang mir das nicht, es in der doku zu finden, welche ADCs noch frei sind und wo sie evtl. auf der multiIO herausgeführt sind...

Im schaltplan der m32 ist nur der kanal 0 für micro und 1 für die taster als belegt angegeben, im RN wissen für IO-board fand ich außer zahlreichen hinweisen auf ADC nur noch das hier:
------------------
Ähnlich wie im gerade genannten Fall ist es auch beim 10-poligen Wannenstecker SV_ADC_MXXX. Jedoch sind hier manche Pins (1, 3, 5 und 6) direkt auf einen Wähl-Jumper JP1,2,4 gelegt, wo sie mit Jumpern weiter auf Signale gelegt werden können. Nur Pin 6 ist nicht weitergeführt und steht zur eigenen Verfügung, ist jedoch nur bei dem M128-Modul als ADC verwendbar, auf allen anderen Modulen liegt hier GND an.
----------------
und stehe nach wie vor aufm schlauch...

wer hilft weiter?

thanks

TrainMen
27.02.2014, 13:07
Hi inka,
ich glaube nicht das Du auf der MIO einen freien ADC Port findest ohne auf irgend etwas verzichten zu müssen.
Am Pin 6 der SV_ADC_MXXX liegt doch bei Verbindung mit der M32 GND an. Was wolltest Du denn da machen ?
Was ist denn mit den ADC vom Basis Board hast Du die alle in Verwendung ?

inka
27.02.2014, 18:08
Hi TrainMen,

Hi inka,
ich glaube nicht das Du auf der MIO einen freien ADC Port findest ohne auf irgend etwas verzichten zu müssen.
Am Pin 6 der SV_ADC_MXXX liegt doch bei Verbindung mit der M32 GND an. Was wolltest Du denn da machen ?
Was ist denn mit den ADC vom Basis Board hast Du die alle in Verwendung ?

Am ausgang der empfängerspule des induktiven ladegerätes liegen ab dem moment, wo der RP6 (mit seiner sekundär-spule) die primär-spule erreicht hat (und nur dann) 3,5V an. Diese wollte ich (zumindest war das Dirks idee) mit dem ADC2 messen...
Es hat soweit auch ganz gut funkrtioniert, nur dass ab dem moment, wo diese spannug am ADC2 anliegt, die vier LEDs der m32 zu glimmen anfangen und die hintergrund beleuchtung des LCD auch...
Das ist mindestens unschön - wie gefährlich das z.b. für das display ist, kann ich nicht beurteilen. Übrigens - das habe ich jetzt gerade ausprobiert - die vorhin genannten LEDs und das display glimmen immer, wenn ein ADC (egal ob von der base oder der m32) mit dem ausgang der ladespule verbunden ist und der ladevorgang über die induktive station läuft...

Somit ist also die beobachtung des ladestromes für das erreichen der station so nicht möglich - denke ich. Es wird schon noch auch anders gehen...

verwendest Du die base-ADCs von der m32 aus?

TrainMen
28.02.2014, 11:35
verwendest Du die base-ADCs von der m32 aus?

sieht zwar so aus ist es aber natürlich nicht. Ich lese die ADC mit der Base aus und übertrage die Werte mit I2C zur M32 wo dann darauf reagiert wird. So konnte ich mit der M32 und der MIO auch alle 5 CNY70 nutzen, oder die LDR Pins der MIO.

inka
06.03.2014, 17:42
sieht zwar so aus ist es aber natürlich nicht. Ich lese die ADC mit der Base aus und übertrage die Werte mit I2C zur M32 wo dann darauf reagiert wird. So konnte ich mit der M32 und der MIO auch alle 5 CNY70 nutzen, oder die LDR Pins der MIO.
bedeutet: Du musstest die "base_slave.c" entsprechend anpassen, oder ist so etwas dort schon vorgesehen?

TrainMen
07.03.2014, 11:06
bedeutet: Du musstest die "base_slave.c" entsprechend anpassen, oder ist so etwas dort schon vorgesehen?

Also die ADC 0 und 1 werden ja in der Funktion task_updateRegisters in der Base_Slave schon bereitgestellt. Anpassen musste ich eben nur die Dateien von Dirk da die ja die Daten von M256 erwarten.

inka
21.04.2014, 15:23
hallo allerseits,

um auch visuel und dauerhaft die batteriespannung beobachten zu können habe ich einen 4digit-LED-voltmeter (abschaltbar) eingesetzt.
28024


Kostet ganze 1,3 €, hat aber leider eine spannungs-versorgung, die erst bei 7V anfängt, ich hätte also unterhalb der 7V nur dunkle anzeige gesehen...

Das in diesem thread gelernte eingesetzt, habe ich einen step-up converter von 5V auf 9V genommen, an die geregelten 5V angeschlossen, jetzt kann ich bis zur abschaltung des RP6 die batteriespannung verfolgen :-)

danke an alle, die sich hier mit Ihrem wissen beteiligt haben, dank an Dirk!

inka
12.05.2014, 10:01
hallo,

der RN-wissen artikel über / zu der induktiven ladestation ist online (http://www.rn-wissen.de/index.php/Induktive_Ladestation_f%C3%BCr_den_RP6)...

das war richtig aufregend :-)

RolfD
12.05.2014, 22:48
Find ich gut.
Man bekommt ein Überblick des Projekts, was man auch nach drei mal lesen aller Posts dazu noch nicht unbedingt hat.
Gruß

inka
13.05.2014, 16:23
habe jetzt noch eine tabelle für den Bauteilebedarf hinzugefügt, gibt es sonst noch verbesserungsvorschläge, wünsche?

fabqu
16.05.2014, 12:55
Hi Inka,
danke dir für die Anleitung. Eine Frage habe ich noch: deine Sekundärspule hast du unterm RP6 befestigt... das gefällt mir leider gar nicht, habe Angst dass er irgendwo (am teppich etc) mal hängen bleibt. Hast du mal versucht/getestet, ob du den Ladestrom auch schaffst, wenn sie INNEN im RP6 liegt? Dafür sind natürlich weitere Umbauten nötig, ich weiß, aber "unsichtbar" fände ich halt schon nett ;)

Grüße

inka
16.05.2014, 17:06
Hi Fabqu,

habe gerade meinen roboter nach einem encoder & getriebewechsel wieder zugeschraubt - übrigens - die neuen encoder sind wirklich super, mann darf sich durchaus fragen wozu die potis zum einstellen überhaupt noch da sind? So haben die alten encoderscheiben ausgesehen
28211


- ich habe zum erstenmal das getrieb überhaupt aufgemacht!

habe jetzt also nur ein foto des innenraums in der wanne:

28210

die wandstärke der wanne ist 2mm. Die einbau situation im galaxy note3 ist so, dass die rückwand - hinter der die empfängerspule sitz - hauchdünn ist. Und das telefon liegt ohne spalt, direkt auf der ladestation...

Meiner erfahrung mit dem ladegerät sagt mir, dass der abstand der spulen beim einbau der empfängerspule innen zu groß sein wird. Es ist jetzt schon an der grenze...

Und, wenn Du Dir das foto anschaust - wo willst Du die spule dort unterbringen? Welche streben und wände sollen raus? Beim aufkleben an der außenwand unten trägt die spule maximal 1.2mm, Du könntest auch z.b. rundherum um die spule richtigen wulst aus UHU-plus anbringen als schutz gegen hängenbleiben...

Oder die wanne außen um 1.5mm ausfräsen und die spule dort versenken...

fabqu
17.05.2014, 11:13
Ja, ich gebe zu, das wäre etwas eng und auch der abstand wäre wohl schwierig. Aber ich behalte mal die idee :)

efb
17.05.2014, 13:19
Hallo,

in die Wanne passt nicht viel rein, aber ich habe da z.B. den Graustufensensor untergebracht, den es als zubehör gibt. Dazu die Platine oben und unten von der Abschirmung etwas gekürzt und dann eine entsprechende Öffnung in den Wannenboden eingearbeitet und das ganze eingeklebt. Aber das nur am Rande...

Die verminderte Bodenfreiheit ist ja wirklich nicht so optimal, auch wenn es bei der. entwicklung ja erst einmal ganz andere Hürden zu bewältigen gab, wie man hier sieht :-) Klasse gemacht!

vielleicht könnte man die Spule aber auch generell anders anbringen? Hochkant an die Front oder besser an das Heck, da sind in der Regel weniger Sensoren, die man verdecken würde. Und dann wird er auch über so eine Schine sauber positioniert, nur das er jetzt nicht drüber, sondern auf die Sendespule zufährt und somit andockt?

Viele Grüsse

Ernst

inka
18.05.2014, 16:18
hallo,

also audi (http://www.n-tv.de/auto/Audi-plant-induktives-Ladesystem-article12842151.html) jetzt auch :-)

Dirk
18.05.2014, 16:41
jaja, ...

... und du hast die Entwicklung eindeutig VOR Audi abgeschlossen.
Wenn die hier mitlesen, können sie wohl viel Entwicklungszeit sparen.

Wenn das nichts ist! :)

Nur: Wie findet der Audi selbst seine "induktive Garage"?

RolfD
19.05.2014, 13:11
Mit der elektrischen Einparkhilfe und einer Infrarotbarke .. ist doch klar :p
Gruß

inka
18.01.2015, 11:53
der artikel (http://rn-wissen.de/wiki/index.php/Induktive_Ladestation_f%C3%BCr_den_RP6) wurde an den letzten stand angepasst - die ladestation hat jetzt zwei "ladefelder"...

fabqu
18.01.2015, 18:56
Schick ;)
Habe mir erlaubt, noch ein paar Links anzufügen im ersten Absatz.

Grüße

inka
14.04.2015, 17:13
hallo allerseits,

hat zwar nur am rande mit der induktiven ladestation zu tun, ist auch keine solar notstromversorgung (https://www.roboternetz.de/community/threads/62821-RP6-Projekt-Notstromversorgung/page5?p=584952&viewfull=1#post584952), aber es ist mir damit gelungen meinen RP6 weitgehends vom 220V netz unabhängig zu machen...

eigentlich war es nur ein defektes DVD-laufwerk...

1) mit deckel (https://youtu.be/ebyBFszIjxk)


2) demo betrieb (https://youtu.be/yfy_rBq3qmU)

efb
14.04.2015, 17:32
Hallo inka,

Top :)

Am besten gefällt mir das Rein und Rausfahren des Panels, sehr cool :cool:

Bei mir macht der RP6 derzeit schon "Sommerschlaf"... Im Winter gehts weiter :-)

Viele Grüsse

Ernst

Rabenauge
16.04.2015, 12:28
Das Teil gefällt mir.
Was bringt denn die Solarzelle ungefähr an Spannung und Strom, also so in der Sonne?

inka
16.04.2015, 16:05
dazu kann ich folgendes sagen:

- laut datenbaltt hat die solarzelle eine nennspannung 9 V und nennstrom 109 mA (bei mir sind zwei parallel geschaltet), die ladespannung konnte ich mit 9 V messen, die ladeströme nicht (k.a. warum nicht, vermutlich liegen sie unterhalb der mess-schwelle meines amperemeters)...

- mit diesen werten wird über eine schottky diode 1N5817 ein accu mit 7,2 V und 5000 mAh "ungebremst" geladen...

- von diesem accu habe ich zunächst den RP6 accu (6xAA, 2.300mAh) über die hier im thread beschriebene induktive ladestation geladen, das voltmeter an der solar-ladestation zeigte vor dem laden 7,2 V, am RP6 6,2 V...

- nach dem laden (eine nacht lang, also ca. 12h) zeigte das V-meter an der solar-ladestation 6,5 V an, am RP6 8,25 V...

- nachdem die solar-ladestation 2x 6h in der sonne stand zeigte das V-meter an der solar-ladestation 8,0 V, tut es nach 12h stiilstand, also ohne sonne, immer noch...

fabqu
16.04.2015, 16:18
Hi Inka,
ich finds ja klasse, dass du dir das alles selbst er-bastelst, aber mit 9V "ungebremst" in den Akku rein, das geht nicht immer gut. Deine Schottky wird die 9V wohl etwas reduzieren, das hilft bei deinen 7,2V-Akkus schon mal. Und du hast wohl das Glück, dass deine Solarzelle wohl selbst bei Kurzschluss der Kontakte noch keine großen Ströme liefern kann, aber ich würde mir evtl überlegen, eine schon fertige Solarlade-Lösung zu nehmen und diese evtl zu erweitern / umzubauen. Gibts für wenig Geld für etliche Akku-Typen, leider natürlich vorwiegend 5V-Akkus (Handy-Zubehör). Wenn du z.B. LiPo's nimmst, benötigen diese eigentlich eine definierte Ladekurve (ich glaube: viel Strom bis die Soll-Spannung erreicht ist und ab da mit konstanter Spannung für lange Zeit wenig Strom oder solche Späße).
Nur so als kleiner Tipp!

Das Laufwerk als Solar-Speicherkraftwerk find ich klasse ;)
Grüße

inka
16.04.2015, 16:59
hi fabqu,

die schottky diode soll eigentlich nur als schutz vor dem entladen des accus durch das solarpanel bei dunkeheit fungieren...

beim laden des RP6 akku habe ich ja schon (zwangsläufig) die zwischenstufen:

1) akku 7,2V, 5000mAh (oder im originalzustand der ladestation ein USB-netzteil mit 5V ausgang)

2) step down converter von 7,2 auf 5V wenn vom akku geladen wird (braucht meine induktive ladestation)

3) in der station selbst geht es von den 5V die die induktive übertragung liefert wieder mit einem step-up auf 9V damit der RP6 akku geladen werde kann, also auch hier 9 auf 7,2 volt - ist es in RP6 irgendwie anders "geregelt"?

@Dirk:
wie war das bei Dir bei der solaren notstromversorgung (https://www.roboternetz.de/community/threads/62821-RP6-Projekt-Notstromversorgung/page5?p=584952&viewfull=1#post584952) angedacht?

Dirk
18.04.2015, 17:52
Hi inka,
bei dem Projektvorschlag "Notstromversorgung" hatte ich einen eigenen (kleineren) Notstrom-Akku (7,2V 1100 mAh aus NiMH Micro-Zellen AAA) vorgesehen.

Der Hauptakku sollte hierbei nicht geladen werden, sondern der Notstrom-Akku sollte beim Absacken der Hauptakku Spannung per MOSFet zugeschaltet werden, um die Laufzeit zu verlängern bis der RP6 z.B. bei der induktiven Ladestation ankommt.
Damit habe ich also keine Stepup- oder -down Regelung vorgesehen, sondern nur eine Zuschaltung der Notstromversorgung.
Um das zu machen, muss man die beiden Akku-Spannungen messen können, damit keine Zuschaltung erfolgt, wenn der Spannungs-Unterschied zwischen Haupt- und Notstrom-Akku zu groß ist.

Wenn man diese Notstromversorgung mit einer Ladestation kombinieren will, geht das gut:
Bei zugeschaltetem Notstrom-Akku werden beide parallel geladen.
Bei Vollladung kann man den Notstrom-Akku wieder abtrennen, so dass er voll bleibt bis er gebraucht wird.

P.S.:
Tolle Sache, deine Lösung für die Panel-Nachführung!!!

inka
16.01.2016, 15:23
hallo allerseits.


deine Sekundärspule hast du unterm RP6 befestigt... das gefällt mir leider gar nicht, habe Angst dass er irgendwo (am teppich etc) mal hängen bleibt.
die ladestation funktioniert immer noch, auch für ein fahrgestell für arduino, eine verbesserung habe ich dort angebracht - die sekundärspulen sind dort in einer hülle für scheckkarten untergebracht...
3113931140

passt hervorragend :-)