Translate

07 September 2016

Endlich wieder Ente fahren!

.....so ein 2CV ist einfach nicht für die Ewigkeit konstruiert..... aber irgendwie kann
man fast alles wieder reparieren.
Meine "Alltags- und Gebrauchsente" hatte vor einiger Zeit leider einen Zustand erreicht,
wo mal wieder eine größere Revision nötig war.
Wie doch die Zeit verfliegt! Das ist tatsächlich schon wieder 18 Jahre her, als ich das Ding damals
geschenkt bekam (Rahmen "durch", aber Karosserie durchaus noch zu retten)
Ich kaufte damals eine andere Ente zurück, bei der ich etliche Jahre zuvor mal den Rahmen
erneuert hatte, bei der aber mittlerweile die Karosserie am Ende war und so konnte ich damals
aus zwei kaputten Enten wieder eine ganz brauchbare zusammenmischen.
Netterweise ist bei den letzten Enten die Fahrgestellnummer ins Bodenblech der
Karosserie eingeschlagen und nicht im eigentlichen Fahrgestell so dass hier der Rahmentausch
ein bisschen einfacher machbar ist.( aber irgendwann ist auch dieses Bodenblech fällig,
dann wirds wieder etwas verzwickter, und ich muss mir das von einer Werkstatt bestätigen lassen,
dass da die Nummer neu eingeschlagen werden musste.. aber da ist noch eine Weile hin,
und das ist dann schon alles ganz korrekt zu machen)

Als ich das Auto seinerzeit reparierte war schon der Querholm im Fußraum zu schweissen.
(und noch so manch andere Stelle)
Eine typische Problemstelle der Entenkarosserie und nur dann ordentlich zu flicken wenn die
Karosserie vom Fahrgestell abgenommen wird.
Ich war ja angenehm überrascht, wie lange das gehalten hat, und für den letzten Tüv musste ich
dann da schon ein bisschen Zaubern um die Stelle wieder halbwegs schön aussehen zu lassen.
.....und weil ich da rumschweisste ohne die Karosserie abzunehmen konnte ich dann die Stelle
auch nicht gegen Rost behandeln und deshalb hat hier jetzt auch der Rahmen ein Loch.
(aber da sind auch noch etliche auf der Unterseite, die viel schwieriger zu reparieren sind)
Wie dem auch sei, jetzt war mal wieder eine ordentliche Reparatur nötig.
Nach insgesamt 28 Jahren war auch der damals verwendete Rahmen nicht mehr so ganz
taufrisch. Ich habe da zwar schon schlechtere wieder hergerichtet, aber das war dann
nur noch für zwei oder vier Jahre und dann wars endgültig vorbei.
Der alte Rahmen ist durchaus noch zu retten, aber halt nicht in eingebautem Zustand.
Und ausserdem habe ich einfach nicht die nötige Zeit, das jetzt zu machen
Mittlerweile denkt man bei solchen "Klassikern" ja in etwas größeren Zeiträumen.
Ausserdem hat diese Ente die ganzen Jahre recht unverfälscht überstanden.
Der Lack ist großteils noch der originale und es wurde fast nichts verändert.
Ich habe mich daher entschlossen, einen neuen Rahmen zu besorgen,
und zwar einen originalen und keinen der verzinkten Neukonstruierten.
...mal schauen, falls ich mir aus meinem Fundus noch eine weitere Ente aufbaue,
die dann ohne große Rücksicht auf Originalzustand zum Benutzen gedacht wäre
könnte meine Wahl dann durchaus anders ausfallen.

Weil ich jetzt ein paar Tage Urlaub hatte konnte ich das Projekt recht flott durchziehen.
In einer guten Woche (und da auch nur halbtags) war der ganze Umbau erledigt.
und gestern konnte ich auch die Abgasuntersuchung plus TÜV erfolgreich durchführen
und somit wäre ein Problem gelöst, das mir sehr schwer im Magen lag.

Die eigentlichen Umbauarbeiten wären ja schnell erledigt gewesen, wenn.... ja wenn
man alle Schrauben etc. ganz einfach lösen hätte können!
Die Federtöpfe waren kaum mehr raus zu bekommen.
An Zerlegen wie im Handbuch beschrieben war nicht mehr zu denken!
Da musste die Flex ran! Die ganzen Halteschrauben (Rohre mit Aussengewinde)
waren nicht zu retten, aber wenigstens blieben der Rahmen und die Federtöpfe
nahezu unbeschädigt. Ich habe dann aber doch andere, bessere Töpfe eingebaut
"Damals" wurde an Enten geschraubt, die 8 oder 10 manchmal sogar 12 Jahre
auf dem Buckel hatten. Da waren ganz andere Stellen betroffen als die mit denen
man heutzutage kämpft. An der Vorderseite durchgerostete Federtöpfe zum Beispiel.
Die Schweissarbeiten an der Karosserie dauerten auch etwas länger als gedacht.
Dann noch die Vorderachse überholt (Lenkgetriebe, Achsschenkelbolzen und
fast alle Gummiteile ersetzt. Leider ölt der Motor noch ein bisschen an einer
Stelle, die mir gar nicht gefällt......Da könnte ein Stößelrohr undicht sein!
Die Dichtungen sinds definitiv nicht.

Ein echt trauriges Kapitel ist die Qualität mancher Nachbauteile.Insbesondere wenn sie
aus Gummi sind. Vor ca vier Jahren habe ich zwei thailändische Reifen (VEE Rubber) gekauft.
Die sind mittlerweile an den Flanken voller Risse obwohl sie noch nicht mal dem
Sonnenlicht ausgesetzt waren. Zwei chinesische (Golden Tyre) halten sich da wesentlich besser.
Gefahren bin ich mit denen aber auch noch sehr wenig.






 Der Fußraum ....nachher...schaut schon besser aus



 neben dem rechten Rücklicht
alte Reparatur,  vor ca. 10 Jahren



 vom Motorraum her betrachtet.
Die blaue und grüne Hammerschlagfarbe gabs vor kurzem sehr günstig



 Unterkante der Motorhaube innen (vor ca. 10 Jahren geschweisst)


 und aussen (alte Reparatur, ca 10 Jahre her)


 Haubenscharnier, eine bekannte Schwachstelle.
Ich tränke das immer mit Motorradkettenfett, reinige alles und
streiche drüber. Hat sich hier sehr bewährt! Rostet kaum weiter!


  Fußraum-Blech und alter Rahmen
sah innen noch gar nicht soooo schlimm aus


 aussen auch kaum sichtbar (hinter der Achse)


 .........aber im Verborgenen sah es übel aus





 Holm unterm Fahrersitz


 nachher ...ok, kann man schöner machen,
aber dieses Bodenblech gehört einfach komplett ersetzt


 weiter vorn wurde auch schon geflickt,
da hilft nur ein kompletter Tausch von Boden und Schweller


Schaut schlimmer aus, als es ist.
Ausnahmsweise mal von aussen durchgerostet.
innen kaum Rost an der Stelle


 Der Vorderbau könnte durchaus noch eine Weile halten


an der Tankbefestigung rosten fast alle, nicht allzu schlimm.


 neben den Schrauben der Hinterachse gehts meist zuerst los



 links  das Gleiche

 ....und vorne auch


 alte Reparatur, kaum zu sehen


 Wenn man unterm Auto liegt gehts nicht schöner.



etwas Unterbodenschutz, dann wärs schöner


 aber noch lange nicht gut


 auch so eine klassische Stelle unterm Rücksitz,
auch schon erneuert!


 ....und Unterseite B-Säule, diesmal reichte noch drüberpinseln.


 neben dem Rücklicht wurde schon öfter geschweisst (Murks, ich weiß)
da muss aber in absehbarer Zeit das komplette Heck ersetzt werden
(Heckblech, Kofferraumboden,Radkästen. Seitenteile bis oberhalb der Tür )


 von innen durch, schon seit vielen Jahren!


.... kaum zu reparieren, nur auswechseln.
das hält aber noch eine Weile! Gelegentlich einfetten und gut ists
Viel mehr kann man da nicht machen, wäre sinnlos!

















Die Tür war vor 15 Jahren hier schon durch.
Die Stelle rostet nur ganz lansam weiter.
gelegentlich drüberpinseln und gut.........

Die Ente schaut tatsächlich noch etwas besser aus als sie es eigentlich ist.
Leider wurde schon an sehr vielen Stellen geschweisst.
Wenn man da erst mal anfängt, Teile zu tauschen müssen mindestens die
unteren 20cm der Karosserie komplett erneuert werden.
Wenn man den vorderen Fußraum erneuert (komplettes Teil, 65 Euro) dann
sollten auch neue Bodenbleche rein.
Die zu tauschen macht aber nur Sinn wenn auch gleich der
Schweller erneuert wird.
Hinten gehts weiter.... Der Kasten unterm Rücksitz ist
sehr schlecht, Die ganzen Verstärkungen im Radkasten ( Gurthalter, Gummipuffer)
sind ein Rostbiotop und sämtliche Schweissnähte der Radkästen
sind stark angegriffen. Insbesondere auch am Rand des Kofferraumbodens
und oben an der Kotflügel-Befestigungskante.
Weil auch das Heckblech (Unterkante) schlecht ist müsste man das auch neu machen.
Dann aber auch  noch links und rechts neue Seitenteile, weil die
hinteren Fenster allmählich rausfaulen
..........eigentlich bleibt nur noch der Bogen über den Vordertüren übrig.

Diese Karosserie kann locker noch einige Jahre zusammengeflickt werden,
aber für eine ordentliche Restaurierung ist es hier leider schon zu spät.
Deshalb muss es hier einfach genügen, die Verkehrssicherheit wiederherzustellen.
Mir ist vollkommen bewusst, dass das durchaus besser gemacht werden könnte,
aber hier machts einfach keinen Sinn mehr.
Das ist meine Gebrauchs-Ente und (noch) kein Sammlerstück!
......aber wie schon erwähnt, es ist erschreckend, wie die Jahre vergehen........
Diese Ente war nie als Oldie oder gar Langzeit-Fahrzeug gedacht, und nächstes Jahr
wird sie schon 30!!!!!!! was will man mehr? alles im grünen Bereich soweit!
Ich habe mir schon vor einigen Jahren eine recht gute Karosserie von einer
Unfall-Ente besorgt die kaum Rost hat und nur unten im Fußraumbereich
durch den Unfall beschädigt ist. (Der Rahmen knickte dort ein und verformte den Holm)
Das wird dann irgendwann mal die Nachfolge-Karosserie bzw gleich eine weitere Ente.
meine 16PS-Ente (ganz anderes Kapitel...) hatte ich z.B.1988 als 18-jährigen Oldtimer gekauft
(oder vielmehr gerettet) und das war die letzte verkäufliche16PS-Ente die mir seither über den Weg
gelaufen ist.Mittlerweile ist das Teil über 46 Jahre alt und sollte auch mal wiederbelebt werden.
(schaut ganz gut aus, aber ich muss nächste Woche wieder arbeiten und drum wird das wohl
erst nächstes Jahr passieren)

Nächstes Teil auf meinem Wunschzettel: eine Punktschweisszange!

bis demnächst!
Franz







20 Mai 2016

I²C- AD-Wandler ADS1115 bzw ADS1015 sowie MCP3428 auslesen. Diesmal mit Bascom

Hallo allerseits,

Nachdem es neulich problemlos klappte, ein Platinchen mit einem
ADS1015 an einem Arduino in Betrieb zu nehmen soll das jetzt auch
in Bascom programmiert werden.
Anfangs hat mich das ein bisschen "gefoppt", aber es lag nur an einer winzigen
Kleinigkeit...........

ein bisschen Info am Rande:
Vor einiger Zeit habe ich ja schon mal erfolgreich den MCP3428 (16bit I²C AD-Wandler)
in Betrieb genommen, und damit hervorragende Messergebisse erreicht.
Die ganz entscheidende Eigenschaft ist das Vorhandensein von differentiellen Eingängen!
Es wird also nicht nur gegen GND gemessen, sondern gegen einen Referenz-Pin.
Das ist die Entscheidende Eigenschaft, um mit dem LEM HASS200-S hochpräzise zu messen.

Der ADS1015(12Bit) bzw ADS1115(bis 16Bit) und seine Verwandten sind eigentlich sehr
ähnlich wie der MCP3428 und dessen Verwandte.

Im Vergleich zum MCP3428 ist der ADS1115 jedoch wesentlich schneller!
Während der MCP bei 12Bit 240Messungen, bei 14Bit 60Messungen und bei 16Bit
nur noch 15 Messungen pro Sekunde schafft macht der ADS1115 selbst im 16Bit-Modus
noch gewaltige 860 Messungen pro Sekunde!!!!!

Für den geplanten Einsatz in der "Franzbox" ist so viel Leistung gar nicht nötig, aber schaden tuts auch nicht.Mehr als 14Bit Auflösung ist hier auch gar nicht nötig.
Öfter zu messen als ca 15 Mal pro Sekunde ist auch nicht nötig.insofern ist der MCP3428
auch schon ausreichend schnell

Beide Wandler arbeiten mit einer internen Referenz von 2,048V und haben einen
jederzeit umkonfigurierbaren "Gain amplifier"
Die Referenz 2,048 sorgt für direkt verwendbare Ausgangswerte in Volt
Der Einstellbereich reicht beim ADS von 1/3 ; 1/2 ; 1x ; 2x ; 4x bis 8x
also von +-6,144V bis +-0,256V
Beim MCP ist 1x ; 2x ; 4x ; 8x einstellbar  also +- 2,048 bis +- 0,256V

Es ist hierbei zu beachten, dass kein Pegel das Potential der Versorgung überschreiten darf,
also nicht unter 0V und über der Versorgungsspannung (ca2V-5,5V je nach Typ)

Der maximale Ausgangswert beträgt dabei:
12Bit:  -2048 bis 2047   entspricht  x 1mV
14Bit:  -8192 bis 8191   entspricht  x 250µV
16Bit -32768 bis 32767  entspricht x 62,5µV
....das alles bei Gain = 1

Die bestmögliche Auflösung bei 16Bit und Gain = x8 beträgt somit 7,8125µV!
Das sind 0,000007815V je Digit bei +-0,256V Messbereich
Das reicht auch jederzeit um einen Shunt direkt zu messen und auszuwerten.
Hierbei ist natürlich "galvanische Trennung" zwingend nötig, was bei I²C nicht
so ganz trivial ist. Hier wäre SPI von Vorteil.

In den meisten Bereichen hat der ADS die Nase vorn, was kann denn der MCP besser?

In erster Linie hat der MCP vier differentielle Eingänge auf acht pins während der
ADS nur vier Eingangspins hat und so entweder vier mal gegen GND
bzw pin0 gegen Pin1 und Pin2 gegen Pin3 oder Pin0 bis Pin2 gegen Pin3 messen kann.
Ausserdem ist die Ansteuerung des MCP ein bisschen einfacher.
Es müssen etwas weniger Daten übertragen werden, aber letztendlich geben beide
die gleichen Werte aus

Wie liest man denn nun den ADS1015 bzw ADS1115 in Bascom aus?
Der Einfachheit halber nur die entscheidenden Sequenzen.
(den eigentliche Programmaufbau setze ich einfach mal als bekannt voraus)
Die jeweiligen Konfigurationen sind aus meinem Programm übernommen
und können natürlich an die jeweiligen Bedürfnisse angepasst werden.

Die Einzelheiten sind im Datenblatt mehr oder weniger verständlich erklärt.
Ich will da jetzt nicht allzusehr ins Detail gehen, sondern alles nur mal
ganz einfach und verständlich beschreiben wie es grundsätzlich geht.


Ini-Sequenz:

erst mal I²C starten:

Enable Interrupts

Config Sda = Portc.4                  'Ports bestimmen
Config Scl = Portc.5
I2cinit                                        I²C starten

.........hier nur "Software-SPI" aber schon mal die Hardware-Pins beim Atmega XX8


dann Konfiguration senden:
z.B.:

I2cstart
I2cwbyte &B10010000                 'Adresse  senden  an Schreib-Adresse                
I2cwbyte &B00000001                 'Config-Register ansprechen
I2cwbyte &B00000100                 'MSB des Config-Register senden
I2cwbyte &B10000011                 'LSB des Config-Register senden
I2cstop

wieder umschalten auf Lese-Modus

I2cstart
I2cwbyte &B10010000                  'Adresse senden
I2cwbyte &B00000000                  'Lese-Register ansprechen
I2cstop

dann auslesen:

I2cstart
I2cwbyte &B10010001                 'Adresse senden an Lese-Adresse
I2crbyte Read1a , Ack                   'MSB des Messwertes lesen
I2crbyte Read1b , Nack                 'LSB des Messwertes lesen
I2cstop

.........das wars eigentlich schon.......
Die Konfiguration und das Umschalten in den Lesemodus müssen zwar nur einmalig
erfolgen, es schadet aber nicht, das gelegentlich "aufzufrischen"
Auch bei einem Wechsel des Eingangs oder sonstiger Einstellungen
ist die komplette Sequenz nötig

Umrechnen der Werte in positive und negative Zahlen

Read1a wird als Byte gelesen, ist aber für die nachfolgende Berechnung als Word definiert
Read1b im Beispiel sind als Byte definiert
Read1aint ist als Integer definiert

Die beiden Byte müssen erst mal zu einem "Word" zusammengefügt werden
"zu Fuß" geht das so:   (geht auch eleganter, ist dann aber nicht so verständlich)
Read1a = Read1a * 256           'High-Byte nach oben schieben
Read1a = Read1a + Read1b      'Low-Byte einfügen
Read1aint = Read1a                 'Word in Integer ergibt Vorzeichen

Fertig! Der Messwert kann nun weiterverarbeitet werden


Der selbe Lesevorgang bei einem MCP3426

Konfiguration senden:

I2cstart
I2cwbyte &B11010000                 'Adresse  senden  an Schreib-Adresse
I2cwbyte &B00010000                 'Konfiguration senden (hier: Kanal1, 12Bit)
I2cstop

......Hier gibt es nur ein (1) Kofigurationsbyte!
Umschalten in Lesemodus ist hier nicht nötig!

Lesen:
I2cstart
I2cwbyte &B11010001                 'Adresse  senden  an Lese--Adresse
I2crbyte Read1a , Ack                   'MSB des Messwertes lesen
I2crbyte Read1b , Ack                 'LSB des Messwertes lesen
I2crbyte Read1c , Nack                 'Konfigurationsbyte lesen
I2cstop

..........Beim Lesen gibt es hier auch noch ein drittes Byte
Inhalt: Konfiguration und ein "Ready-Bit" das muss nicht immer
ausgewertet werden, ist z.B. nützlich bei Einzelmessungen um sicher zu gehen, dass
der Wert aktuell ist

Zusammenfügen der Byte zu einem Integer-Wert wie oben beim ADS


Diese AD-Wandler (MCP und ADS) kann man jederzeit während des Betriebs "umparametrieren"
Man kann da also schön spielen! z.B. die Auflösung bei niedrigen Analogwerten
erhöhen etc......

Bis demnächst mal wieder!
Franz





03 Mai 2016

Verbesserte Strommessung per I²C AD-Wandler

........wenns schon mit meinem Triebwerk nicht weitergeht,
weil ich meine Nabe noch immer nicht habe......
oder einfach mal als kleines Lebenszeichen von mir!

Zwischendurch mal ein kleines bisschen Elektronik und Programmierung.
Diesmal ganz entgegen meiner sonstigen Gewohnheit auf einem Arduino!
Eine kleine Arduino-Übung für mich, und für die Allgemeinheit wohl besser
geeignet als Bascom, womit ich eigentlich lieber arbeite, weil man da insbesondere bei
PWM-Geschichten flexibler ist und viel problemloser Quarzfrequenzen und Vorteiler
an die persönlichen Bedürfnisse anpassen kann.
Na ja, alles hat seine Vor-und Nachteile.Ein ganz besonderer "Liebling" von mir ist ja der
Freeduino serial v2.0 den es z.B. bei Watterott günstigst gibt.
Die "echte" Serielle Schnittstelle hat was! Damit lässt sich so manches anfangen,
was mit USB nicht möglich ist,wenn man nicht gerade an einem PC hängt.

Die Problematik bei der Strommessung in der Franzbox ist nach wie vor
nicht behoben.
Zur Erinnerung: Ich messe den Strom mit einem LEM HASS200S Wandler.
Dieser wird an 5V betrieben und liefert ein Ausgangssignal von theoretisch
0V = -800A  2,5V= 0A und 5V=800A sowie eine Referenzspannung für den Nullpunkt
(Nur zum Berechnen, in der Praxis sind +-600A möglich, da die Ausgangsspannung
nicht bis 0V bzw 5V geht)
Ich habe die Referenz nicht verwendet, sondern nur auf 0A abgeglichen
und das Ausgangssignal direkt auf einen ADC-Eingang des Atmega gelegt.
Die Genauigkeit bei hohen Strömen (Entnahme) ist ausreichend,aber
bei geringeren Strömen (Ladevorgang) ist die Auflösung einfach zu grob
um wirklich verlässliche Werte zu bekommen.

es hätte hier auch keinen Sinn gemacht, die Referenzspannung auszuwerten.
Das Problem kann eigentlich nur mit einem deutlich feiner auflösenden ADC
mit differentiellem Eingang gelöst werden.
Ich habe vor einiger Zeit schon mal sehr erfolgreiche Versuche mit einem
solchen Baustein gemacht, aber die Verfügbarkeit sowie die winzige Bauform
waren nicht optimal.

Nun habe ich es nochmal mit einer Platine von Adafruit versucht.
Der 12Bit-Wandler ADS1015 ist für diese Aufgabe auch wunderbar geeignet und fertig verlötet
problemlos lieferbar.
Es gibt auch eine Pin-kompatible Version ADS1115 mit 16Bit Auflösung,
die hier noch Vorteilhaft sein könnte.
Der ADS1115 ist etwas langsamer, aber locker schnell genug.

I²C braucht nur zwei Leitungen, und ist notfalls auch "galvanisch getrennt" machbar.
Beim Stromwandler gehts ohne Trennung, aber wenn auch noch die Akkuspannung
gemessen werden sollte wird das ein Thema.
Der ADS1015 hat vier Analogeingänge die per internem Multiplexer wahlweise
gegen GND oder als zwei Differenzeingänge konfiguriert werden können.

in Default-Konfiguration beträgt die Auflösung 3mV, das ist nicht sehr viel besser,
als die bisherigen ca 5mV, aber da auch der Bereich von +-2,048V bezogen auf die
Referenz von 2,5V ausreicht, um den LEM-Sensor auszulesen kommt man dann
auf eine Auflösung von 1mV, und das ist dann das fünffache (korrekt 1/5 ;-)  )an Auflösung, verglichen mit dem Atmega-Onboard-ADC bzw  0.0625mV Auflösung bei
Verwendung des ADS1115. (Das ist dann eine ganz andere Liga!)

Für den ersten Funktionstest Test habe ich es mir einfach gemacht und ein Demo-Programm
angepasst. Alles nur mal auf dem Breadboard zusammengesteckt und getestet.
Der "Freeduino serial V2.0" links im Bild dient hier übrigens nur als 5V-Netzteil.
Ein Arduino Nano war auf dem Steckbrett deutlich besser zu handhaben.

Mein Versuchsaufbau:


































Das Arduino-Programm:

Ich habe hier nur ein Demoprogramm von Adafruit, das die Daten seriell
über USB/serial ausgibt um eine LCD-Anzeige ergänzt.
Die Library gibts bei Adafruit zum Downloaden.
Achtung! die Zeilenumbrüche könnten hier im kopierten Text etwasverschoben sein,
und das Einfügen von Text in spitzen Klammern nach include  der Libs klappt hier nicht!

#include  Wire.h
#include  Adafruit_ADS1015.h
#include  LiquidCrystal.h



LiquidCrystal lcd(11, 10, 2, 3, 4, 5);
// Adafruit_ADS1115 ads;  /* Use this for the 16-bit version */
Adafruit_ADS1015 ads;     /* Use thi for the 12-bit version */

void setup(void)
{
lcd.begin(16, 2);
lcd.setCursor(0, 0);

  Serial.begin(9600);
  Serial.println("Hello!");

  Serial.println("Getting differential reading from AIN0 (P) and AIN1 (N)");
  Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");

  // The ADC input range (or gain) can be changed via the following
  // functions, but be careful never to exceed VDD +0.3V max, or to
  // exceed the upper and lower limits if you adjust the input range!
  // Setting these values incorrectly may destroy your ADC!
  //                                                                ADS1015  ADS1115
  //                                                                -------  -------
  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV      0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 2mV      0.125mV
  // ads.setGain(GAIN_TWO);        // 2x gain   +/- 2.048V  1 bit = 1mV      0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.5mV    0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit = 0.25mV   0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit = 0.125mV  0.0078125mV

  ads.begin();
}

void loop(void)
{
  int16_t results;

  /* Be sure to update this value based on the IC and the gain settings! */
  float   multiplier = 3.0F;    /* ADS1015 @ +/- 6.144V gain (12-bit results) */
  //float multiplier = 0.1875F; /* ADS1115  @ +/- 6.144V gain (16-bit results) */

  results = ads.readADC_Differential_0_1();
 
  Serial.print("Differential: "); Serial.print(results); Serial.print("("); Serial.print(results * multiplier); Serial.println("mV)");


lcd.setCursor(0, 0);
lcd.print("ADC Wert:");
lcd.print(results);
lcd.print("  ");
lcd.setCursor(0, 1);
lcd.print(results*multiplier);
lcd.print(" mV  ");

  delay(100);



06 Januar 2016

Servopumpe aus der A-Klasse

Vor ein paar Tagen konnte ich eine elektrische Servolenkungspumpe aus der A-Klasse
relativ günstig erwerben. Diese Pumpe ist schon lange eine meiner "Lieblingspumpen".
Irgendwie ist es nicht allzu bekannt, dass das eine sehr brauchbare Pumpe ist, und dass die
je nach vorhandenen Platzverhältnissen sogar besser geeignet sein kann als die allseits
bevorzugt verwendete Pumpe vom Opel Astra.(Die sind etwas "dicker" aber nicht so hoch)
 Netterweise sind die Leitungsanschlüsse sehr ähnlich denen die bei VW verwendet werden.
In diesem Fall soll sie ja in einen Golf3 eingebaut werden.

Kleine Erklärung hierzu:
 Im Golf3 verwendete VW zwei verschiedene Anschlüsse für die Druckleitung der Servolenkung
an der Hydraulikpumpe. Ich nenne das jetzt einfach mal "Nippelanschluss" und "Ösenanschluss".
Beim Nippelanschluss sitzt ein hohler Nippel auf der Leitung, und die Leitung ist gebördelt
bzw gestaucht und mit einer Dichtung versehen, die das Ganze weiter innen abdichtet.
Beim Ösenanschluss sitzt am Ende der Leitung eine sogenannte Ringöse die dann mit einer
Hohlschraube und zwei Metalldichtringen befestigt wird.

Das Gewinde des Druckanschlusses ist das gleiche, allerdings sitzt die Dichtfläche innen
etwas tiefer, so dass die VW "Nippel-Anschlüsse" an der Pumpe erst passen
wenn man das Gehäuse der Pumpe ein bisschen kürzt.
Der Nippel der Rücklaufleitung am Golf-Lenkgetriebe ist etwas länger und würde sogar passen.
Die VW-Hohlschraube wäre grundsätzlich auch verwendbar, aber die Fläche für den Dichtring
ist recht klein, da bräuchte man einen Kupferring mit 16mm innen und 20mm aussen oder
man müsste die Dichtfläche nacharbeiten.(nicht so einfach, wenns nachher exakt plan sein soll)

Mit etwas gutem Willen ist das also kein Problem, das anzupassen.
Passende Normteile sind im gut sortierten Fachhandel preiswert zu bekommen
Da scheinen mir Nippel BSP auf Metrisch gut geeignet 16 x 1,5 an der Pumpe, 18 x 1,5
am Lenkgetriebe, 1/4 Zoll Schläuche mit einem 90°-Ende(am Lenkgetriebe), das sollte passen.
Hier wäre aber dann wieder die Abdichtung ein Problem wegen max. 20mm Dichtringdurchmesser.
Ich habe mir mal einen Satz passender Anschlüsse und Nippel sowie 1m Schlauch besorgt,
und war erstaunt, dass alles zusammen nur ziemlich genau 50 Euro gekostet hat.
Das müsste dann nur noch eingepasst und verpresst werden.
Für meine Versuche habe ich es mir aber noch viel einfacher gemacht, und aus den
Mercedes-Schläuchen (eine Hälfte des Druckschlauchs und ein Stück vom Rücklauf)
mittels eines "Schneidring-Rohrverbinders" eine passende Druckleitung gebaut.

Weil aber die A-Klasse-Schläuche offenbar auch auf das VW-Lenkgetriebe zu passen scheinen,
>>>>>>Nein, die passen nicht!!!!!!! da hat der Druckanschluss 16mm 
und der Rücklauf 18mm, also genau verkehrt rum. 
Bei den Opel -Leitungen wären die richtigen Nippel drauf, aber da sind die Leitungen sehr kurz,
und die Pumpe müsste an einer Stelle montiert werden, die ich für andere Dinge brauche.

 Im Gegensatz zu Golf3 Hydraulikschläuchen, die kaum in gutem Zustand unter 50Euro zu bekommen
sind, kann man die von der A-Klasse geradezu spottbillig aufzutreiben, also allemal günstiger,
als wenn man sich da was bastelt. Mit 20 Euro ist man da locker "dabei".
Wenn man sich eh eine "Spezial-Leitung" pressen lassen muss, was gar nicht mal soooo teuer ist,
dann hat man da schon mal passende Leitungsstücke.

Im Vergleich zur "Astra-Pumpe" ist die A-Klassen-Pumpe deutlich schlanker, aber auch deutlich
höher bzw länger.Der elektrische Anschluss ist denkbar einfach, (Dauer-)Plus 12V und GND sowie
eine Steuerleitung. Wenn die Steuerleitung 12V bekommt fängt die Pumpe an, zu laufen.
Zunächst dreht sie etwas höher, dann sinkt die Drehzahl wieder ein wenig, das wars dann.
Unter stärkerer Belastung wird die Drehzahl wieder angehoben
Hier ist keinerlei weitere Regelung von aussen vorgesehen, sondern das ist in diesem Fall der
ganz normale Betriebszustand. Diese Pumpe regelt sich selber und läuft angenehm leise.
Ich weiss jetzt noch nicht so recht, ob ich mich da schon ernsthaft um eine Anpassung dieser
Pumpe bemühen soll. eigentlich wollte ich ja ganz simpel die originale Pumpe mechanisch
angetrieben beibehalten, ebenso wie die originale Lichtmaschine.Das wäre vom Kabelbaum
und den Leitungen her viel einfacher. Die meisten Teile sind schon fertig.
Andererseits ist ein DC-DC-Wandler und eine elektrische Pumpe die feinere Lösung,
und ich könnte das originale Kühlgebläse meines Elektromotors so beibehalten wie es ist.
Auch die Wartung/Kontrolle der Motorkohlen wäre viel einfacher.
Bis da was entschieden werden muss ist noch lange hin.
Ein sehr schöner Platz für die Pumpe wäre im vorderen linken Radkasten, leider nicht ganz so
montagefreundlich, aber da wäre sie nirgends im Weg.





  Die Strom-Anschlüsse, einfacher gehts nicht!

 Die Nase unten wird in Gummi gesteckt. Leider habe ich die Originalhalterung nicht bekommen, bzw
gibt es da gar keine demontierbare Halterung. Na ja, hätte wohl eh nicht gepasst.......

 Der Rücklaufanschluss



 Der Druckanschluss, M16 x 1,5 (falls ich mich nicht vermessen habe,wäre aber "die Normgröße" )
Leider ist die plane Fläche aussen nur 20mm im Durchmesser, so dass die VW-Dichtungen nicht passen

Beim "Nippelanschluss" schaut es besser aus!
grundsätzlich passt das, aber.........

 Der VW-Anschluss ist etwas zu kurz, ca 2mm, habs aber nur mal geschätzt. An der Rücklaufleitung
direkt am Lenkgetriebe ist aber sogar ein exakt passender Nippel angebracht.
Leider ist das aber nicht demontierbar.
Da muss man sich also was einfallen lassen! Z.B.ein kleines Drehteil mit nochmal so einer Dichtung,
das vorne draufgesteckt wird und die Sache verlängert, ein geteilter Ring zwischen Nippel und
Bördelung (nicht so toll!) oder man fräst einfach 2mm von der Pumpe weg. (grobe Methode!)
Da fällt mir schon noch was ein!

 Der Hohlschrauben-Anschluss passt auch, aber die Dichfläche ist zu klein, nacharbeiten oder
Dichtring mit 20mm aussen verwenden

 Die Länge von 36cm ist nicht so toll,

 die 15cm am Anschlusskasten auch nicht,

........aber weniger als 10 cm für den Rest, das ist prima!






























Hier noch das längst überfällige Bild der linken Welle eines Golf4 1,6 16V mit 101PS.
Das ist bis jetzt das schlankeste 100mm-Innengelenk mit Manschette das ich finden konnte.