Forum: Mikrocontroller und Digitale Elektronik Linux-Laptop als Robo-Brain


von BenK (Gast)


Lesenswert?

Hey,

Ich mir letztens im Ebay nen Laptop ersteigert, den ich nun als 
Hauptplatine für einen Roboter benutzen will. Als Betriebssystem soll 
Linux darauf laufen. Im Grunde also nen billiger Ersatz für nen ARM oder 
AVR32 Board mit Linux drauf.

Daten:
- 500Mhz
- 128MB (hab den alten 32MB ersetzt)
- 1 USB Anschluss
- 1 RS232 Anschluss
- Akku Defekt ( 10.8V DC )
- 18 bis 22.5V DC Netzspannung

Nun gibt es dabei noch einige Dinge zu klären, für die ich euren Rat 
bräuchte:

- Wie Versorge ich den Laptop auf dem Roboter am besten mit Strom? Über 
die Pins des Ex-Akkus eine eigene Versorgung aufbauen oder besser den 
Eingang des Netzteils nutzen? Ist ersteres überhaupt möglich ohne die 
Beschaltung der restlichen 4 Pins zu kennen? Kann ich den Akku einfach 
aufbrechen (Ni-MH Zellen drin) ohne das was passieren kann? Hab davon 
gehört, dass man das bei Lipos zum Beispiel besser nicht macht.

- Welche Linux-Distribution nehme ich am besten? Nachdem ich mal eins 
nach dem andern probiert hatte, läuft auf meinen PCs inzwischen überall 
Ubuntu und auch meinen Webserver hab ich damit geordert.
Doch was ist für einen solchen etwas schwächeren Laptop die beste 
Variante? Sollte ich eine Server Version von Ubuntu nehmen und diese 
aufs nötigste reduzieren oder etwas wie DSL, Slax oder sonstwas 
benutzen? Obwohl ich deren GUI ja nicht brauche, da der Roboter kein LCD 
mehr besitzen wird.

- Wie schließe ich die Peripherie am besten an? Der Nachteil des Laptops 
ist natürlich, dass keine nach außen geführten Pins zur Verfügung 
stehen.
Könnte ich einfach einen 3 Port USB Hub an die eine vorhandene Buchse 
machen und dort Kameras und ein USB-µC Modul mit Motortreibern und Co. 
anschließen? Ein PC-Card Slot ist übrigens auch noch da, aber ich hab 
keine Ahnung, welche Karten in so ein altes Ding reingehen. Ist eine 
sehr merkwürdige, wackelige Blech-Konstruktion.

Grüße,
Ben

PS: Doch ein NGW100 zu benutzen steht nicht zur Auswahl.
Das kommt später noch. ;-)
Einfach um es mal ausprobiert zu haben und was draus zu lernen, soll es 
mit diesem Laptop funktionieren.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ubuntu wirst du mit dem knappen 128MB Speicher Probleme bekommen. Puppy 
Linux oder das von dir genannte Slax sind schon ein guter Tipp. Ohne GUI 
hast du noch mehr Optionen, enevtuell auch ein angepasstes Ubuntu. 
Eventuell wäre auch ein Realtime-Linux angesagt.

Mit dem Laptop huckepack wird das bereits ein rel. großer Roboter. 
Schnittstellentechnisch braucht man eine Tochterplatine für die I/O. 
Entweder etwas lahmes, aber fertiges wie ein K8055 USB-I/O Board oder 
eine ggf. selbstdesignte µC-Tochterplatine mit µC je nach Gusto. 
Kommunikation Laptop - Tochterplatine über USB oder RS232.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Du kannst auch Open-WRT auf einem Intel-System benutzen. Das Teil ist 
eigentlich für Embedded-Systeme gedacht, also recht klein. Enthält nur 
das nötigste. Der Rest lässt sich aber einfach nachinstallieren.

Jedoch solltest Du lernen, auf Kommandozeile zu arbeiten. Auch die 
Benutzung eines Compilers zum selber Übersetzen von Programmen ist 
lernenswert (siehe "configure", "make", etc).

USB sollte für Deine Anwendung ausreichend sein. Auch wenn sich mehrere 
Geräte den Bus über einen Hub teilen.

Versorgung des Laptops am besten ohne Akku (spart Gewicht) über die 
externe Stromversorgung (falls es keine 230V sind).

von BenK (Gast)


Lesenswert?

Christian H. schrieb:
> Du kannst auch Open-WRT auf einem Intel-System benutzen. Das Teil ist
> eigentlich für Embedded-Systeme gedacht, also recht klein. Enthält nur
> das nötigste. Der Rest lässt sich aber einfach nachinstallieren.

Auf das Teil bin ich gestern Abend auch noch zufällig gestoßen.
Muss ich mir mal genauer ansehen.

> Jedoch solltest Du lernen, auf Kommandozeile zu arbeiten. Auch die
> Benutzung eines Compilers zum selber Übersetzen von Programmen ist
> lernenswert (siehe "configure", "make", etc).

Ein wenig Erfahrung hab ich damit schon. Auf meinen PCs hab ich zwar 
GUI, aber soweit wie möglich benutz ich das Terminal. Und auf den Server 
hab ich eh nur über SSH Zugriff. Neu ist für mich allerdings mit so 
wenig Ressourcen auskommen zu müssen. Und bisher habe ich meine 
Programme natürlich auf dem Rechner geschrieben auf dem sie dann 
kompiliert und später verwendet wurden.

Aber wie genau läuft das mit so einem Laptop als Embedded System? Muss 
ich die Programme nun auf meinem anderen PC schreiben, für den Roboter 
kompilieren, rüber schieben und dort testen? Wie stelle ich am besten 
eine Verbindung zu einer Shell auf dem Roboter Laptop her ohne 
Ethernet-Buchse?
Und wie läuft das normalerweise, wenn man mit einem NGW100 oder sonst 
einem Embedded-Board arbeitet?

> USB sollte für Deine Anwendung ausreichend sein. Auch wenn sich mehrere
> Geräte den Bus über einen Hub teilen.

Da muss ich aber wohl aufpassen wegen der Stromversorgung. USB-Powered 
HUB mit mehreren Endgeräten an einem Laptop Port... oder den HUB auch 
noch mit Strom versorgen.

> Versorgung des Laptops am besten ohne Akku (spart Gewicht) über die
> externe Stromversorgung (falls es keine 230V sind).

Was du damit sagen willst versteh ich nicht. Nen Akku brauch ich ja 
sowieso auf nem Roboter. Die Frage ist nur ob ich diesen über den Akku 
Eingang oder den Netzteil-Eingang anschließe.
Alles was nicht nötig ist hab ich inzwischen auch entfernt. Ist nur noch 
das Mainboard mit Festplatte. Zum Testen kann man noch Tastatur und 
Bildschirm anschließen, aber die sind später auch weg.

Den Akku hab ich übrigens mal aufgebrochen jetzt. Unglaublich wie das 
zubetoniert ist. Vor der Akku-Platine haben die 9 Zellen zusammen noch 
2V... dahinter kommt garnix mehr an. Ich würde mal sagen damit kann man 
nix mehr anfangen. Als nächstes werde ich mal Testen ohne die Platine 
10.8V anzuschließen. Wenn das nicht geht übernehm ich die Platine 
einfach fals die noch funktioniert.

Aber was genau macht so eine Laptop-Akku-Platine eigentlich?
Ist das nur ne Sicherung damit man den Laptop nicht mit was anderem 
betreiben kann oder hat das noch einen anderen Zweck?

Gruß, Ben

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

BenK schrieb:
> Aber wie genau läuft das mit so einem Laptop als Embedded System? Muss
> ich die Programme nun auf meinem anderen PC schreiben, für den Roboter
> kompilieren, rüber schieben und dort testen?

Wenn das Laptop auch ein PC-System (also Intel/AMD) ist, kannst Du alles 
auch am PC übersetzen und testen. Wenn sowieso alles per USB 
angeschlossen ist, gibt es auch keine Probleme wirklich alles dort 
auszuprobieren.

> Wie stelle ich am besten
> eine Verbindung zu einer Shell auf dem Roboter Laptop her ohne
> Ethernet-Buchse?

WLAN?
Oder serielle Schnittstelle (RS232-Konsole).

> Und wie läuft das normalerweise, wenn man mit einem NGW100 oder sonst
> einem Embedded-Board arbeitet?

Ich kenne den NGW100 nicht. Auf den Systemen, die ich bisher nutze 
(Edimax-Router) geht jedenfalls alles über die RS232-Konsole.

> Da muss ich aber wohl aufpassen wegen der Stromversorgung. USB-Powered
> HUB mit mehreren Endgeräten an einem Laptop Port... oder den HUB auch
> noch mit Strom versorgen.

An den Hub kommen nur self-powered-Geräte, dann hast Du keine Probleme 
mit dem Laptop-Port.

>> Versorgung des Laptops am besten ohne Akku (spart Gewicht) über die
>> externe Stromversorgung (falls es keine 230V sind).
>
> Was du damit sagen willst versteh ich nicht. Nen Akku brauch ich ja
> sowieso auf nem Roboter.

Schon, aber nicht den Originalakku (der ist doch kaputt, s.u.).

> Die Frage ist nur ob ich diesen über den Akku
> Eingang oder den Netzteil-Eingang anschließe.

Ich würde letzteres nehmen, da am Akku ja noch einiges an Überwachung 
(Temperatur, Ladestand, Ladeelektronik) vorhanden ist.

> Alles was nicht nötig ist hab ich inzwischen auch entfernt. Ist nur noch
> das Mainboard mit Festplatte. Zum Testen kann man noch Tastatur und
> Bildschirm anschließen, aber die sind später auch weg.

Tastatur und Bildschirm kann man durch das oben genannte 
RS232-Terminal/Kosole ersetzen, also kein Problem.

> Aber was genau macht so eine Laptop-Akku-Platine eigentlich?

Ich würde mal so ohne genaues wissen sagen, dass hier eine Ladereglung 
mit Temperatur und Überlastüberwachung drauf sitzt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.