c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re[2]: [ct-bot]: Auswertung ERROR Flag

Absender: Thorsten Thiele
Datum: So, 30.09.2007 20:50:54
In-reply-to: <3D18DB41-0066-46FA-82D6-875922442323@xxxxxxxxxxxxxxx>
References: <46FA1ECB.4080301@xxxxxx> <B2A39AC5-0658-4706-983A-6F5DE8A47D60@xxxxxxxxxxxxxxx> <46FAC95D.8020704@xxxxxx> <DDBCDC14-8D0B-400D-AA79-623891355654@xxxxxxxxxxxxxxx> <46FC49CE.2060404@xxxxxx> <EE104263-B9AC-4F3C-AC39-947AE9E85CBA@xxxxxxxxxxxxxxx> <46FFC71F.4040600@xxxxxx> <3D18DB41-0066-46FA-82D6-875922442323@xxxxxxxxxxxxxxx>


Hallo,

> Da habe ich mich wohl etwas missverständlich ausgedrückt. Ich meinte  
> nicht, dass die Fehlererkennung an sich sinnlos sei, sondern dass sie  
> so, wie sie derzeit (hard- und softwareseitig) realisiert ist, meiner  
> Meinung nach nicht viel bringt.
> Ich denke, man müsste da als erstes mal die Hardware entsprechend  
> modifizieren, so dass der Eingang genau dann auf LOW geht, wenn  
> entweder der Servo blockiert und zu viel Strom zieht oder die  
> Akkuspannung so niedrig ist, dass der Bot beispielsweise nur noch 10  
> Minuten stabil arbeiten kann.
> Anschließend sollte das Bit natürlich auch entsprechend ausgewertet  
> werden, wobei ich aber der Meinung bin, dass sich aus dem Bit nur  
> schließen lässt, dass entweder der Servo blockiert oder die Akkus ab  
> jetzt aufgeladen werden müssen.

ein paar Anmerkungen dazu von dem, der die harte Ware verbrochen hat:

a) der Grund dafuer, die beiden Auswertungssignale zu einem Pin
zusammenzufassen (und damit Prozessorpins zu gewinnen) lage gerade
darin, dass die beiden Auswertungen zeitlich sehr unterschiedlichen
Charakter haben:

- die Servo-Stromueberwachung ist einseits zeitkritisch (im
Blockierfall soll moeglichst schnell abgeschaltet werden), wird
andererseits aber nur dann benoetigt, wenn die Klappe gerade bewegt
wird

- die Spannungsueberwachung des Akkus ist zeitlich voellig unkritisch
und kann "irgendwann mal" erfolgen - ganz sicher passt sie schlecht in
Sensor-ISR-Schleifen.

Gedacht war es, das so auszulegen, dass der Bot von Zeit zu Zeit (alle
paar Sekunden oder einmal pro Minute oder aehnlich) in einen
definierten Zustand hinsichtlich des Stromverbrauches geht (z.B. alle
Motoren und Klappe, LEDs und Sensoren aus) und dann sie Spannung
prueft. Wenn man die Abfrage der Spannung irgendwann zwischendurch
vornimmt, ist die Aussage ziemlich nichtssagend, weil die Akkus einen
endlichen Innenwiderstand haben und die gemessene Spannung damit von
der Stromaufnahme aller Verbraucher abhaengt.

Vielleicht ist es auch hilfreich, die Messung doppelt vorzunehmen -
einmal im Zustand "moeglichst viel ausgeschaltet", dann einmal im
Zustand "moeglichst viel eingeschaltet".

Im "Normalbetrieb" ohne Servoaktivierung braucht man das Bit dann gar
nicht abzufragen.

Vor Einschalten des Servos koennte genau der oben beschriebene
Doppeltest ablaufen - wenn im Zustand "viel an" das Error-Bit nicht
kommt, kann man davon ausgehen, dass ein gesetztes Bit waehrend des
Servobetriebes auf eine mechanische Stoerung hindeutet.

Wahrscheinlich wird die Anpassung der Spannungsteiler eine ziemlich
individuelle Angelegenheit - brauchbare Werte haengen nicht zuletzt
von der Entladekennlinie der eingesetzten Akkus ab.

Viele Gruesse

Th. Thiele