Kfz Uhr Projekt

wie mache ich das "code Tags"?

Oben links das Symbol < / >

#include <Adafruit_MLX90614.h> //Infrarot Thermofühler Library
#include <RtcDS3231.h> //RTC Library
#include <max6675.h> //Thermofühler Library Max6675
#include <DallasTemperature.h>
#include <Wire.h>
#include <OneWire.h>
RtcDS3231<TwoWire> Rtc(Wire); //RTC 3231, I2C Adresse 0x57 Zeit/ 0x68 Thermistor

#include "U8glib.h" //Oled Library
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK //Oled Treiber I2C Adresse 0x3C

char str[10]; //u8g
char datestring[20]; //RTC3231

// Thermofühler Innen Temperatur (Infrarot) MLX90614
Adafruit_MLX90614 mlx = Adafruit_MLX90614(); //Infrarot Thermofühler SDA,SCL I2C Adresse 0x5A

// Thermofühler Aussen Temperatur DS18B20
#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

//Thermofühler für die Oel Temperatur Max6675
int thermoDO = 4;                                           
int thermoCS = 3;
int thermoCLK = 2;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

const float scalefactor = 0.066;//Scalefactor für WCS1700

//Spannung Sensor VCC<25V für die Fahrzeugspannung in Volt
int analogInput = A4;
float vout = 0.0;
float vin = 0.0;
float R1 = 30000.0; // 
float R2 = 7500.0; //
int value = 0;

void setup ()
{
pinMode(analogInput, INPUT); //Sensor VCC<25V Spannung Eingang definieren
mlx.begin(); //Infrarot Thermo Messung beginnen
Rtc.Begin(); //RTC3132 Messung beginnen
sensors.begin(); //DS18B20 Aussen Thermistor Messung beginnen
//RTC 3231
RtcDateTime now = Rtc.GetDateTime();
printDateTime(now);
//DS188B20
sensors.requestTemperatures();
//Spannung Sensor
value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0; // see text
vin = vout / (R2/(R1+R2));   
}
//RTC Definition Zeitanzeige
#define countof(a) (sizeof(a) / sizeof(a[0]))
void printDateTime(const RtcDateTime& dt)
{ snprintf_P(datestring,
countof(datestring),
PSTR("%02u:%02u"),
dt.Hour(),
dt.Minute());
//Oled, einmalige Ausgabe beim Start
u8g.firstPage(); 
do {
u8g.setFont(u8g_font_helvR14);
u8g.drawStr( 30, 15,"NISSAN");
u8g.drawStr(34, 55,"GT 4x4");
u8g.setFont(u8g_font_helvR12);
u8g.drawStr(36, 34,"Primera ");
}while( u8g.nextPage() );
delay(3000);
}
void loop ()
{
//Oled, wiederholende Ausgabe Zeit, Innen/Aussen und Oel Temperatur, Bordspannung (Kfz)
u8g.firstPage(); 
do {
u8g.setFont(u8g_font_fur17r);
u8g.drawStr( 35, 22,datestring);
u8g.drawFrame(0,0,28,30);
u8g.drawFrame(100,0,28,30);
u8g.drawFrame(0,33,62,22);
u8g.drawFrame(66,33,62,22);
u8g.setFont(u8g_font_profont12);
u8g.drawStr( 8, 12,"IN");
u8g.setPrintPos(6, 25);                 // set position
u8g.println(mlx.readObjectTempC(), 0);
u8g.drawStr( 19, 25,"\260");
u8g.drawStr( 106, 12,"OUT");
u8g.drawStr( 106, 25, dtostrf(sensors.getTempCByIndex(0), 2, 0, str));
u8g.drawStr( 119, 25,"\260");
u8g.setFont(u8g_font_profont15);
u8g.drawStr( 75, 49,"Oil");
u8g.drawStr( 106, 49, dtostrf(thermocouple.readCelsius(), 2, 0, str));
u8g.drawStr( 119, 49,"\260");
u8g.drawStr( 6, 49, dtostrf(vin, 2, 1, str));
u8g.drawStr( 40, 49,"V");
}while( u8g.nextPage() );
}

Swissler:
....
Die "schmutzige" Energieversorgung soltte kein Problem sein, der LM2560 bringt eine stabile Spannung, die mittels Spindeltrimmer eingestellt wird. im Bereich von 7-15V Vin stehen 5V an, was hoffentlich reicht. Vom Sensor an bis zum Mega sind geschirmte Kabel dran, sollte auch kein Thema sein.
.....

Du wirst dich wundern. Setze eine Filter (Drossel und Kondensatoren) davor, gibt es fertig zu kaufen.

Ich werde gerne Berichten wenn es in Betrieb ist, ob es genug Stabil läuft :slight_smile:

Hübsches Resultat, habe das auch so für mein Auto umgesetzt. Es lief ca. 1-2 Jahre, dann ist mir der DS18B20 hopps gegangen. Da werde ich mich wohl die Tage ransetzen müssen, möchte direkt am Sensor einen kleinen Kondensator zwischen Vcc und GND sowie je eine Z-Diode von GND nach Vcc und Data setzen.

DerLehmi:
Oben links das Symbol < / >

Man sollte dazu sagen, dass man im Editor kein Menü sieht, wenn man zitiert. Erst ein Klick auf "Preview" bringt das Menü zum Vorschein.
MfG

Sieht schön aus :slight_smile:

Soweit so gut,
im Testaufbau ist der Mega 4 Tage durchgelaufen, ohne zu hängen oder sonstige Probleme.

DerLehmi:
Hübsches Resultat, habe das auch so für mein Auto umgesetzt. Es lief ca. 1-2 Jahre, dann ist mir der DS18B20 hopps gegangen. Da werde ich mich wohl die Tage ransetzen müssen, möchte direkt am Sensor einen kleinen Kondensator zwischen Vcc und GND sowie je eine Z-Diode von GND nach Vcc und Data setzen.

Ist der DS18B20 wegen Spannungs-Spitzen hops gegangen? Hab jetzt den Aufbau soweit das er Eingebaut werden kann, hoffe ich schaffe es diese Woche noch....

Ist der DS18B20 wegen Spannungs-Spitzen hops gegangen?

-->Ich gehe mal stark davon aus. Dabei habe ich schon darauf geachtet, das Kabel nicht an der Zündanlage vorbeizuführen.

Ist der Lüfter nicht etwas übertrieben?^^

Würde noch schauen, dass Du eine Akku-Knopfzelle in der RTC drin hast, die werden oft mit einer Batterie ausgeliefert

DerLehmi:
-->Ich gehe mal stark davon aus. Dabei habe ich schon darauf geachtet, das Kabel nicht an der Zündanlage vorbeizuführen.

Ich habe ein Kondensator in den 5V Strang gesetzt, vielleicht bringt das schon was, die Kabel verlege ich möglichst nicht Parallel zum bestehenden Kabelbaum, und ja, weit weg von der Zündung.....

DerLehmi:
--> Ist der Lüfter nicht etwas übertrieben?^^

Ja, ist übertrieben.....der ist so leise, hab ich noch rumliegen, statt weg zu schmeißen.... :slight_smile:

DerLehmi:
Würde noch schauen, dass Du eine Akku-Knopfzelle in der RTC drin hast, die werden oft mit einer Batterie ausgeliefert

Gestern extra noch besorgt, hab auch festgestellt das die lieben Chinesen ne Ladespannung an die Batterie legen !
Trotzdem danke für den Tip :slight_smile:

Hi

Denke, der Wink in Richtung Lüfter ging eher in die Richtung, daß, besonders die kleinen Lüfter, schnell verrecken, da Diese IMMER auf Maximum drehen müssen, damit 'hinten auch was raus kommt'.
Bei einem großen Lüfter kannst Du die Drehzahl sehr niedrig halten für die Luft, Die der Minilüfter bringen kann - Das schon die Lager und erhöht die Lebensdauer ungemein.
Wenn der Lüfter aber eh nur verbaut wurde, damit Er eine halbwegs sinnvolle Aufgabe bekommt - dimmen kann man Den auch - wenn man dann halt nicht mehr die Drehzahl ausgelesen bekommt.
(sehe gerade nicht, ob Der einen Tacho-Draht hat)

MfG

postmaster-ino:
Hi

Denke, der Wink in Richtung Lüfter ging eher in die Richtung, daß, besonders die kleinen Lüfter, schnell verrecken, da Diese IMMER auf Maximum drehen müssen, damit 'hinten auch was raus kommt'.
Bei einem großen Lüfter kannst Du die Drehzahl sehr niedrig halten für die Luft, Die der Minilüfter bringen kann - Das schon die Lager und erhöht die Lebensdauer ungemein.

Ich denke das schon die Kühlung gemeint ist, der Mega wird im normalen Betrieb nur Handwarm und somit keine Kühlung braucht. Was den Lüfter angeht bin ich deiner Meinung, hab noch 3 von den Mini's....vielleicht nehm ich in mal über den Mega mittels PWM, mal sehen.

Swissler:
...vielleicht nehm ich in mal über den Mega mittels PWM, mal sehen.

Ich würde einfach einen Widerstand in die Spannungsversorgung löten. So irre viel Leistung läuft da eh nicht drüber und es spart einen Pin.

Gruß

Gregor

Klar, wäre auch ne Möglichkeit, bei der Aufnahme von 0.08A mit einem 1/4 Watt Widerstand auch keine Heizung.

Pins hab ich noch genug frei beim Mega..... :slight_smile:

Swissler:
Klar, wäre auch ne Möglichkeit, bei der Aufnahme von 0.08A mit einem 1/4 Watt Widerstand auch keine Heizung.
Pins hab ich noch genug frei beim Mega..... :slight_smile:

Dann mach doch beides. Echte Maker machen das :slight_smile: Wenn dann immer noch ein Pin frei ist, kann der die korrekte Funktion des Widerstands überwachen.

SCNR

Gregor

  • DS18B20 an den Lüfter-Vorwiderstand
  • Einstellbare Anzeige der Temperatur kodiert auf dem Ziffernblatt

Klar ... machbar ist Vieles ... aber ob's wirklich auch nur ansatzweise einen kleinen Sinn darin gibt?

MfG :wink:

Oder einfach den Lüfter wechseln wenn die Lager am Ar...... sind :grinning:

Die Überwachung des Widerstandes wäre glaub die Krönung der Übertreibung :wink:
Heute mal das Cockpit wieder eingebaut, die Elektrik kommt dann morgen dran.

Swissler:
Oder einfach den Lüfter wechseln wenn die Lager am Ar...... sind :grinning:

Jetzt machst Du Es Dir aber einfach ... pöh

Swissler:
Die Überwachung des Widerstandes wäre glaub die Krönung der Übertreibung :wink:

Eine besonders schöne Formulierung - also jetzt doch mit überwachtem Vorwiderstand!

MfG

;D Klar, noch ne Drehzahl Überwachung ob das Ding überhaupt dreht und mittels PWM geregelt über ein Epcos K100, der 18B20 ist zu gross..... :cold_sweat:

Ich denke ich lasse es wie es ist und wenn's lärmt gibt es noch den guten alten Seitenschneider..... :smiling_imp: