Hallo,
Du kannst den Hauptschalter komplett überbrücken - dafür gibts den EXT Anschluss hinten.
Gerade erst hier eine Frage dazu gewesen:
http://www.arexx.com/forum/viewtopic.php?f=19&t=2161
http://www.rn-wissen.de/index.php/RP6#EXT_Anschlu.C3.9F
Dann brauchst Du keine solche Servo Konstruktion sondern kannst MOSFETs oder Relais verwenden um den Akkulader und Versorgung automatisch nach dem Andocken um/zuzuschalten.
Wenn der Roboter eh an einer Ladestation hängt hat er ja Netzversorgung also kann der Controller auch einfach weiter versorgt werden.
> Autostart
ja leider hat der Bootloader keine Autostart Funktion - das können nur die RP6-M256 und M128 Module - die dann auch automatisch den Controller auf dem Mainboard über I2C starten. Damit wäre es also kein Problem.
Möglichkeiten das Programm ohne die Erweiterungsmodule zu starten:
- Taster drücken bzw. passend high puls auf den Eingang geben s.u.
- I2C Bus SDA kurz auf low ziehen
- "s" per UART senden
- es gar nicht erst stoppen sondern weiterlaufen lassen und den Standby nutzen
Das mit dem Kondensator wird so nicht funktionieren.
Der Bootloader prüft nicht den Pegel, sondern ob nach der Startverzögerung der Taster losgelassen ist und dann gedrückt und wieder losgelassen wird (ist notwendig weil ja im Programm normalerweise direkt danach auf den "Reset" Modus umgeschaltet wird).
Man könnte ganz klassisch eine kleine 555 Timer Schaltung (oder TTL Logik ICs) nutzen um einen einzelnen Low-Puls auf SDA zu erzeugen (Monoflop) - aber zum passenden Zeitpunkt also nach kurzer Startverzögerung.
Code:
Also sowas:
_______ _________________________....
|____|
bzw. sowas am Start/Stop Signal:
____
_______| |_________________________....
An SDA muss es Open-drain / open-collector sein, nur einmal kurz aktiv low schalten nicht aktiv high! Pullup ist schon am Bus.
Am Start Taster Eingang wäre es umgekehrt high aktiv.
Hier ist ggf. sicherheitshalber noch ein kleiner Serienwiderstand erforderlich weil der GPIO aktiv low wird sobald der Start vollzogen ist...
MfG,
SlyD
Lesezeichen