PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-Control 1.4 Sensorschaltung und Auswertung. Vorsicht, Anfänger !!!



waldi_n
13.02.2013, 14:36
Hallo werte Gemeinde,

ich habe mir vor geraumer Zeit o.g. Controllerboard zugelegt, in der Hoffnung, eine funktionierende Basis für meine Steuerungs- und Anzeigeaufgaben zu haben. Nun bin ich weder der Held der Elektronik, noch habe ich es geschafft, mich in Basic einzuarbeiten, dass ich damit auf Anhieb was programmieren könnte. Ich habe die RM-Seiten schon des öfteren durchsucht, aber so richtig fündig geworden bin ich nicht. Deshalb gehe ich zwar nur ungern diesen Schritt hier im Forum zu posten. In vielen Foren bekommt man in solchen Fällen den wenig Hilfreichen Hinweis zu lesen, dass man sich doch erst mal durch die Grundlagen durcharbeiten möge. So richtig diese Aussage ist, so wenig hilfreich ist sie dennoch.
Viel nützlicher sind m.M.n. Hinweise zu konkreten Arbeitsschritten. In der Hoffnung, dass Ihr mir auf's Pferd helfen könntet, traue ich mich trotzdem, mein Vorhaben und meine Probleme hier darzustellen.
Also, es geht um Folgendes:
Ich will RN-Control im Auto einsetzen, um an unterschiedlichen Stellen Temperatur, Druck Unterdruck, und, wie auch immer die Motordrehzahl zu messen. Im 2. Schritt sollen diese Parameter "irgendwie" sinnvoll und vor allem übersichtlich angezeigt werden.
Und im 3. Schritt sollten entsprechende Aktuatoren angesteuert werden.
Das klingt für einen, der davon eigentlich keine Ahnung hat, sehr ambitioniert. Man könnte auch sagen, unverschämt, oder bescheuert:cool:.
Tut mir echt leid:(, wenn es so rüberkommt, aber mir fällt keine andere Lösung ein, als Euch zu fragen.
RN-Controll hat ja den Vorteil, mit einem weiten Bereich der Versorgungsspannung klarzukommen. Da liegen die 12 bis 14V ganz gut drin.
Jetzt kann ich mir leider nicht aussuchen, welche Temperaturfühler ich verwende, denn ich muss zumindest in zwei Fällen auf vorhandene Geber zurückgreifen. Diese sind auf Fahrzeugmasse geschaltet. Unglücklicherweise haben die auch noch unterschiedliche Kennlinien. Wie die genau aussehen könnte ich leider auch nur grob skizzieren, da ich nicht die Möglichkeit habe, von 0° bis 100° zu messen. Ausbauen, und in Wasser hängen, ist leider nicht so einfach möglich. Aber, das ist erstmal sekundär.
Der eine Geber bewegt sich von 936 Ohm bei 16°C bis 109 Ohm bei 59°C. Je wärmer es wird, desto mehr sinkt sein Widerstand.
Der andere Geber hat bei 15°C 1274 Ohm und bei 48°C 447 Ohm. Dieser wird also mit zunehmender Temperatur auch leitender.

Jetzt müsste ich wissen, wie ich die nun an den RN-Control anschließe. Ich denke, dass es im Zuge der einfacheren Programmierung, oder wie auch immer, sinnvoll wäre die irgendwie über Spannungsteiler anzusprechen, und dann die abfallende Spannung mit RN-Controll zu messen.
Aber, wie muss dann der Spannungsteiler dimensioniert werden, und wo greife ich dann die Spannung ab?
Oder einfach doch Portausgang direkt auf den Geber:confused:?

Ich würde natürlich eine Testschaltung auf dem Küchentisch mit ähnlichen Gebern aufbauen.

Und nun meine anderen Probleme.
Ich bräuchte genau dafür 'nen Beispiel-Code für Temperatur/Spannungsmessung, auf dem ich mit meinen Programmierversuchen aufsetzen könnte, der mir zusätzlich das Ergebnis entweder auf RS232 ausgibt, oder im erweiterten Fall auf einem, wie auch immer gearteten LCD-Display.
Letztere ist aber zuviel für den Anfang.

Wo finde ich eigentlich den (Basic)-Code für das Programm, welches initial auf dem RN-Control drauf ist?
Weder auf der Robotik-Hardware-CD, noch auf der Webseite habe ich es gefunden. Oder bin ich nur zu blöd zum Suchen?
Das Programm hätte ich gerne, um im Notfall den Controller zu bestücken, um sicher zu sein, dass er funktioniert.
Basic wäre mir halt insofern lieb, als dass ich mit dem Bascom-AVR arbeiten möchte.
C ist für mich noch 'ne Nummer heftiger;).

Wäre echt cool, wenn Ihr mir helfen könntet.
Bzw, dass Ihr mir helfen könntet, weiß ich sicher. Was ich nicht weiß, ist, ob es hier jemanden gibt, der genügend Leidensfähigkeit und Geduld besitzt, meine unbeholfenen:( Fragen zu beantworten.

Viele Grüße

Waldi

Kampi
13.02.2013, 15:05
Hallo und willkommen,

geholfen wird dir hier immer gerne (bisschen mit denken schadet aber trotzdem nicht, weil hier viele Leute nicht deine Arbeit komplett alleine machen wollen) und wenn du keine Ahnung von der Materie hast, ist dies auch nicht schlimm.
Meine erste Frage:
Hast du alle nötige Hardware (und Software) um das Board programmieren zu können? Weil die brauchst du auf jeden Fall.
Die Anzeige kannst du mit einem LCD machen (vielleicht auch grafisch....je nachdem).
Haben die Temperaturfühler eine lineare Kennlinie? Wenn nicht kannst du vielleicht bestimmte Temperaturwerte aufnehmen (z.B. in 10er Schritten) und dann den Widerstand abmessen. Die restlichen Werte kannst du dann interpolieren (aber das ist, wie du schon sagtest, sekundär).
Die Spannung an den Widerständen misst du mit einem Spannungsteiler und dem ADC vom µC.
Wie du den Spannungsteiler dimensionierst ist prinzipiell egal, da du den ADC-Wert Softwareseitig eh umrechnen musst und dafür den Wert vom zweiten Widerstand benötigst (wichtig ist auch....der ADC darf MAXIMAL mit 5V beschaltet werden, sprich sind die Pegel höher musst du den Teiler so auslegen, dass nur 5V zum ADC kommen können!).
Eine Testschaltung kannst du dann mit einem NTC/PTC aufbauen.
Beispielcodes gibt es dafür genug, aber dabei kann ich (und auch die anderen) dir gerne helfen.
Das was du realisieren möchtest ist nicht so schwer, nur du musst dich halt auch damit beschäftigen wollen :)
Das Programm kannst du locker in Basic realisieren (was für den Anfang auch einfacher ist denke ich).
Ich würde dabei so vorgehen:

1. Aufsetzen der Hardware / Prüfen ob das Programmieren des Controllers klappt
2. Erste Versuche mit dem ADC
3. Drucksensor anschließen und testen
4. Gedanken über die Drehzahlanzeige machen (eventuell einfach die Spannung vom Drehzahlmesser abgreifen und die messen? Soweit ich weiß läuft das bei vielen Autos analog ab)
5. Displaydarstellung programmieren

Teil dir die Arbeit in viele kleine Schritte ein. Dann wird das alles für dich viel einfacher.

waldi_n
13.02.2013, 16:05
Hallo und willkommen,

Hast du alle nötige Hardware (und Software) um das Board programmieren zu können? Weil die brauchst du auf jeden Fall.

Hallo Daniel,

ja, ich denke schon. Ich habe den Programmieradapter polnischer Herkunft, und Bascom von MCSElectronic hab' ich auch.



Haben die Temperaturfühler eine lineare Kennlinie? Wenn nicht kannst du vielleicht bestimmte Temperaturwerte aufnehmen (z.B. in 10er Schritten) und dann den Widerstand abmessen. Die restlichen Werte kannst du dann interpolieren (aber das ist, wie du schon sagtest, sekundär).

Ich müsste die Werte, die ich habe mal graphisch aufbereiten. Excel oder OO soll das ja können. Hab ich mal vor ewigen Zeiten wo gesehen.
Die Werte sind halt nur aus dem bereich zwischen 15 und 60 Grad :(



Die Spannung an den Widerständen misst du mit einem Spannungsteiler und dem ADC vom µC.
Wie du den Spannungsteiler dimensionierst ist prinzipiell egal, da du den ADC-Wert Softwareseitig eh umrechnen musst und dafür den Wert vom zweiten Widerstand benötigst (wichtig ist auch....der ADC darf MAXIMAL mit 5V beschaltet werden, sprich sind die Pegel höher musst du den Teiler so auslegen, dass nur 5V zum ADC kommen können!).

Ja, genau das ist mein Problem...
Ich habe die eine Hälfte des Spannungsteilers mit den Sensoren.
Wie groß muss die ander Hälfte sein?
Mag für 'nen eingefleichten Elektroniker lächerlich klingen, aber ich bin wohl zu blöd dafür :(:(


Das was du realisieren möchtest ist nicht so schwer, nur du musst dich halt auch damit beschäftigen wollen :)
Das Programm kannst du locker in Basic realisieren (was für den Anfang auch einfacher ist denke ich).


Am Wille scheitert's ganz bestimmt nicht.



Ich würde dabei so vorgehen:

1. Aufsetzen der Hardware / Prüfen ob das Programmieren des Controllers klappt
2. Erste Versuche mit dem ADC
3. Drucksensor anschließen und testen
4. Gedanken über die Drehzahlanzeige machen (eventuell einfach die Spannung vom Drehzahlmesser abgreifen und die messen? Soweit ich weiß läuft das bei vielen Autos analog ab)

Genau so hab' ich mir das auch vorgestellt


5. Displaydarstellung programmieren :cool: :cool:

Ich arbeite dran ;)



Teil dir die Arbeit in viele kleine Schritte ein. Dann wird das alles für dich viel einfacher.

Anders wird das eh nichts.

Herzlichen Dank für Deine Antwort, Daniel


Viele Grüße

Waldi

Kampi
13.02.2013, 17:11
Hey,

wie gesagt, die Größe des zweiten Widerstands für den Spannungsteiler kannst du frei wählen.
Du musst den Widerstandswert nur in deiner Software berücksichtigen.
Spontan würde ich sagen, dass du den Widerstand etwa so groß dimensionieren sollst wie der maximale Widerstand des Temperatursensors beträgt.

waldi_n
15.03.2013, 09:14
Guten Morgen zusammen,

ich kann jetzt nicht behaupten, meine Herausforderungen zufriedenstellend gelöst zu haben, dazu später mehr.
Mir ist eine Diskrepanz aufgefallen. Das RN-Control 1.4 misst mit dem originalen Testprogramm auf Tastendruck die Versorgungsspannung und ein andermal die am Port A? anliegende Spannung. Allerdings messe ich mit dem MM ca. 0,4 bis 0,6 Volt mehr, als das Programm es berechnet.
Ich habe den Controller z.Zt an einem Bleigel-Accu angeschlossen, den ich mit einem "elektronischen" Ladegerät auflade. Dessen Digitalanzeige liefert mir nahezu den selben Wert, wie mein MM. Mein zweites MM unterscheidet sich nur um 0,02V.
Messfehler können's also nicht sein, zumindest nicht von meinen Geräten.
Ladegerät: 12,9 V
MM1: 13,1 V
MM2: 13,12
RN-Control: 12,65 V

Bei der Spannungsmessung am Port A stellt sich das Ganze noch etwas extremer dar:

MM1: 1,79V
MM2: 1,78V 1,79V
Pin 0: 1,876832839 V ADC-Wert 384

MM1: 2,23 V
MM2: 2,22 V
Pin 0: 2,311827983 V ADC-Wert 473

Warum sind hier die Verhältnisse andersherum http://www.uk1.de/smiley.php?bild=Z2VtaXNjaHQvc21pbGllcy1zbWlsZXlzLT AwMDAyLmdpZg== (http://www.uk1.de) ?

Viele Grüße

Waldi

Crazy Harry
15.03.2013, 13:28
Hallo und herzlich willkommen hier,

ich möchte nur eine Anmerkung zu deinen Temperatursensoren machen: Massegebundene Sensoren im KFZ werden dir eine Menge Ärger bescheren. Ich habe schon recht viel auf diesem Gebiet gemacht und es hat sehr lange gedauert, bis so ein Sensor einigermaßen funktioniert hat (und das nur mit einer zusätzlich verlegten Masseleitung). Wieso müssen das diese Sensoren sein ? Ich vernwende nur noch 2polige im Bereich -30...155°C oder wenns unbedingt sein muß Thermoelemente (bis 1150°C) für z.B. Abgastemperatur oder auch PT100/PT1000. Was ich auf oft mache, ist vorhandene (billige) Sensoren (KTYxxx) in speziell hergestellte Gehäuse verbauen (Schraubfühler).

Noch was zu deinem Vorhaben die Werte zu interpolieren. Gibt es dafür inzwischen eine Basic-integrierte Funktion ? Ansonsten ist das eine mords Rechnerei. Soweit mit bekannt ist, kann man bei Basic nur eine Rechenoperation/Zeile ausführen also ohne Klammernverschachtelung. Viel Spaß dabei :D (ich wollte jetzt nicht gehässig klingen ;) ).

Gruss
Harry

PICture
15.03.2013, 13:42
Hallo!

@ waldi_n


Soweit mit bekannt ist, kann man bei Basic nur eine Rechenoperation/Zeile ausführen also ohne Klammernverschachtelung.

Ich kenne BASCOM nur sehr grob, aber er müsste möglich sein, eine Tabelle (array ?) aus einmal berechneten Werten zu verwenden, ohne jedesmal den aus einem Sensor eingelesenen ADC-Wert in z.B.Temperatur umzurechnen. ;)

waldi_n
15.03.2013, 18:44
Servus Harry,

ja, da hast Du Recht. Alleine schon wegen der Spannungsschwankungen der LiMa befürchte ich Probleme. Deshalb wollte ich das über dern 5V-Ausgang des RN-Control machen, da ich davon ausgehe, dass die Reffernzspannung einigermaßen konstant ist. Aber auch bei dem Gedanken ist mir nicht so wohl, weil sich da der Leitungswiderstand stärker bemerkbar macht. Würde ich die Eingansspannung nehmen, hätte ich mit theoretischen Spannungsschwankungen zwischen 11 und 15 V zu tun. Praktisch kann so eine Lichtmaschine sogar bis 48 V Peaks liefern, hab ich mal gehört.
Aber, ich hoffe nicht, dass mir der RN-Control abpfeift. Ich habe meine Lima mal mit dem Multimeter durchgemessen, und keine extremen Spannungen feststellen können. 'N Oszi habe ich nicht drangehängt, was mit Sicherheit genauere Ergebnisse geliefert hätte.
Aber nun zu Deiner Frage: Die ganze Sache is a bisserl bleed gelaufen. Der eine Temperaturfühler sitzt in einem Zusatztank und zwar an einer Stelle, wo man natürlich nicht mehr drankommt, ohne den Tank auszubauen. Eigentlich ist die ganze Anlage so konzipiert, dass ich den Tank relativ problemlos ausbauen könnte.
Dummerweise habe ich PA-Leitungen verwendet, und diese sind mittlerweile hart, wie Glas geworden. Das ist normalerweise kein Problem, denn brechen kann da normalerweise nichts. Aber wenn ich den Tank ausbauen müsste wäre das ihr sicheres Ende. Nun würde der geneigte Leser meinen, dass ich diese Gelegenheit doch nutzen sollte eine neue bessere Leitung einzuziehen.
Aber das ist der schiere Wahnsinn, da ich dann das ganze Fahrzeug auseinandernehmen müsste. Die Leitungen sind aus thermischen und optischen Gründen im Innenraum verlegt. Es muss ja nicht jeder TÜV-Prüfer gleich alles sehen, was nur Diskussionen hervorrufen würde.

Die KTY81-Geschichte ist mir auch sehr sympathisch. Ich habe ein PIC-Thermometer an anderer Stelle eingesetzt. Weder von mir gebaut, noch programmiert, aber das tut sehr zuverlässig und vor allem betriebsspannungsunabhängig.

Als ich damals den Umbau vornahm, hatte ich nur eine grobe Vorstellung von der Steuerung.
Es spielten bei der Auswahl der Sensoren 4 Faktoren eine Rolle.
1. Soll möglichst wenig kosten
2. => nimmt man, was gerade verfügbar ist
3. Es soll mechanisch (und auch elektrisch) stabil sein.
4. Es muss mechanisch realisierbar sein.

Zu1: Was man in der Grabbelkiste hat kostet nichts mehr;).
Zu2: Altteile habe ich viele :D
Zu 3: Da sind Sensoren aus dem Kfz-Bereich IMHO gut geeignet. Die Kontaktverbindungen/Stecker sind da uber jeden Zweifel erhaben, da sie 1. dicht sind, 2. gut kontaktieren und 3. mechanisch recht stabil ausfallen.
Zu 4: Meistens haben KFZ-Sensoren Gewinde, die ich schneiden kann. (meine haben solche)
Sowas ist eigentlich kein Problem, denn ein Gewindebohrer ist schnell gekauft, aber da wären wir wieder bei Punkt 1 ;).

Einer der größten Nachteile ist die unbekannte Kennlinie. soviel habe ich schon begriffen :(

@PICture:
Ich kenne Bascom genausowenig wie C.
Das einzige, was ich halbwegs lesen kann, ist Shellscript. Soweit man Shellscsripts überhaupt lesen kann:wink:.
Ich habe die letzten Tage mal versucht, den RN-Control mit vorhandenen Programmen zu befruchten.
Ich könnte mich leidenschaftlich darüber aufregen, wenn man sich z.B. in Bascom einarbeiten will, aber Fehler um die Ohren gehauen bekommt, nur weil die Version 'nen Macken hat. Und dann Tage mit Fehlersuche, googeln, Registrierung und Update zu verplempern, ist nicht gerade motivierend.
Das Forum hier ist mit Sicherheit ganz Klasse, aber auch hier sollte man sich auskennen.
Ich tue mir nicht leicht damit in einem Forum die wahrscheinlich 100ste selbe Frage zu stellen, aber durchwühlen ist halt auch sehr zeitaufwändig.

So, und nun genug gejammert. Ich wünsche Euch einen schönen Abend.

Viele Grüße

Waldi