Webasto Vorwiederstand in Vorschaltuhr

OP #4363292
Lesenswert?

Hallo Zusammen

Ich bin gerade dabei mir meine eigene GSM Fernsteuerung für meine
Webasto Thermotop C zu bauen.

Ich werde die Heizung erst demnächst verbauen wenn auch die
Fernsteuerung einsatzfähig ist. Um die Heizung mittels µC zu starten,
brauche ich ja nur wie auf dem Bild zu sehen, 12V auf die schwarze
Leitung zu geben. In der Uhr ist aber noch ein vorwiederstand
eingezeichnet.

Weis jemand wie groß der sein muss ???

Die 2 Dioden und der PNP Transistor nehmen ja schon gut 2V weg, so das
noch ca. 10V übrig bleiben. Laut unterlagen von Webasto soll bei
angeschlossener Uhr und aktiven  Heizvorgang, nur noch ca.7V auf der
Leitung sein. Habe leider keine Uhr oder Ähnliches da um das mal eben
raus zu testen oder gar zu messen. Deshalb meine Frage an euch ob schon
jemand Erfahrungen damit gemacht hat oder die große des benötigten
Widerstandes sogar kennt.

Gruß Rene
Angehängte Dateien:
Gast #4363364
Lesenswert?

Die Diode an der Basis ist eine Z-Diode und damit die 
Transistorschaltung eine Konstantstromquelle. Sicher nicht für 0.5A, 
sondern eher um einen Kurzschluss der schwarzen Leitung zu überleben, 
ich sag mal 10mA. Bei 5V6 Z-Diode also 470R.

Es sei denn, der Strom wird so genau geregelt, weil er eine 
Steuerfunktion hat, dann müsste man mehr wissen.
Gast #4439785
Lesenswert?

Hi,
warum steuerst du mit deinem Controller nicht einfach den W-Bus der 
Thermotop an? Dann kannst du alle Funktionen nutzen, die deine 
Standheizung hat ohne großen Hardwareaufwand (UART <-> K-Line mit z.B. 
mit L9637D und dann ist es nur noch Serielle Kommunikation)

Hier gibts Infos dazu:

Beitrag "Webasto W-Bus"

Bin auch gerade dabei so eine Lösung umzusetzen. Habe mir dazu ein 
SIM900 GSM shield für den Arduino geholt.
#4439863
Lesenswert?

kasul schrieb:
> warum steuerst du mit deinem Controller nicht einfach den W-Bus der
> Thermotop an?

Weil nicht alle TT C einen W-Bus haben?

Und nein @MaWin, keine Steuerfunktionen.

470 Ohm gegen 12V Bordnetz sind ok, man hat dann aber keine 
Heizzeitbeschränkung, d.h. so lange 12V auf der schwarzen Leitung sind, 
heizt die Kiste (bis zur Unterspannungsabschaltung).
OP #4440183
Lesenswert?

Mir ist Kein Webastomodel bekannt das über keinen W-Bus verfügt. Der 
einzige Unterschied besteht darin ob er als einzelleitung (gelb) aus dem 
Kabelbaum herausgeführt ist oder wie bei den neueren EVO Modellen im 
4poligen Stecker (ebenfalls gelb) liegt. EVO Modelle lassen sich sogar 
nur noch über Wbus starten. Habe nur keine Ahnung ob sich die einzelnen 
Protokolle zur Ansteuerung je nach Model unterscheiden. Hat da 
vielleicht schon mal jemand Erfahrungen mit gemacht ?
OP #4440188
Lesenswert?

kasul schrieb:
> Hi,
> warum steuerst du mit deinem Controller nicht einfach den W-Bus der
> Thermotop an? Dann kannst du alle Funktionen nutzen, die deine
> Standheizung hat ohne großen Hardwareaufwand (UART <-> K-Line mit z.B.
> mit L9637D und dann ist es nur noch Serielle Kommunikation)
>
> Hier gibts Infos dazu:
>
> Beitrag "Webasto W-Bus"
>
> Bin auch gerade dabei so eine Lösung umzusetzen. Habe mir dazu ein
> SIM900 GSM shield für den Arduino geholt.

Wenn du schield arbeitest achte penibel auf den Stromverbrauch deiner 
Schaltung 10mA sollten absolute Obergrenze sein. Sonst ist deine 
Batterie im Auto locker in 14Tagen ohne Nutzung alle. Gerade im Winter. 
Bedenke bei 0Grad hat eine KFZ-Batterie nur noch die Hälfte ihrer 
Kapazität.
Gast #4443558
Lesenswert?

http://sourceforge.net/p/libwbus/libwbus/ci/master/tree/webasto_wbus.txt

Hier gibt es jede Menge Infos wie das Protokoll aufgebaut ist. Ich meine 
dort gelesen zu haben, dass es mit ziemlich jeder Webasto-Heizung 
funktioniert.


Beitrag "Re: Webasto W-Bus"

Hier schreibt jemand, dass einzelne Kommandos nicht gehen.
"Einzig bei ein paar Kommandos muss man aufpassen, die verstand meine
Heizung nicht und hat darauf nicht geantwortet... Am einfachsten ist es,
mit dem Webasto Diagnose Tool die Heizung zu starten, die Kommunikation
aufzuzeichnen und dann zusammen mit der Beschreibung oben das ganze
verstehen und nachbauen...

Fehler auslesen usw. geht überigens auch prima und kann man sich dann
schön per SMS zuschicken... ;-)"
#4445298
Lesenswert?

Wow, interessant zu sehen das sich viele Leute mit den gleichen Dingen 
beschäftigen :-) Ich bastele auch gerade an einer Umsetzung für Atmega 
(Arduino) mit GSM für eine TTV.

Bist Du mit der schwarzen Leitung und einfachem schalten sicher? Das 
könnte auch ein Wbus sein!

Die genannten Links sind alle Top. Leider nicht direkt im Arduino zu 
implementieren.
#4445829
Lesenswert?

Rene S. schrieb:
> Mir ist Kein Webastomodel bekannt das über keinen W-Bus verfügt. Der
> einzige Unterschied besteht darin ob er als einzelleitung (gelb) aus dem
> Kabelbaum herausgeführt ist oder wie bei den neueren EVO Modellen im
> 4poligen Stecker (ebenfalls gelb) liegt.

Nein.

Wenn gelbes Kabel nur zum Sicherungsblock: Diagnose
Wenn gelbes Kabel zum 4 poligen Stecker: W-Bus

Quelle: Werkstatthandbuch TT Evo, TT Z/C/E, Schulungsunterlage Webasto

Ist ein Unterschied.

Ab irgend einem Baujahr/SW Stand verstanden auch TT C W-Bus über die 
Diagnose, aber eben nicht Alle. Am einfachsten ist es, zu versuchen, die 
TT C über WTT 2.x und Interface per W-Bus anzusprechen. Gehts, dann kann 
sie W-Bus, gehts nicht:...

>Bin mir zu 100% sicher. Habe selbst schon unzählige Standheizungen
>verbaut und es war immer so.

Ah ja.

Gruß

Elux
OP #4445925
Lesenswert?

Olli Z. schrieb:
> Reiner O. schrieb:
>> Wenn gelbes Kabel nur zum Sicherungsblock: Diagnose
>> Wenn gelbes Kabel zum 4 poligen Stecker: W-Bus
>
> Soll das heißen, das Diagnose (bus) und wbus nicht dasselbe sind? Davon
> bin ich bislang immer ausgegangen.
> Alle mir bekannten Umsetzungen um eine SH zu steuern simuliereb letzlich
> eine Diagnosesoftware. Wo soll denn der Unterschied sein?

Das ist das selbe. Lediglich die Befehle unterscheiden sich ob sie von 
einer Uhr oder der Diagnosesoftware kommen. Wäre auch Verschwendung 2 
getennte Bussysteme zu verbauen. Im Bild oben sieht man ja das die Uhr 
oder Diagnosesoftware über die selbe Leitung senden. Ziehst du den 
Sicherungsstecker X8/X9 ab, lässt sich die Heizung nicht mehr über die 
Uhr Starten.
Gast #4446262
Lesenswert?

Hier ein Beispiel-Code für Arduino/Atmega:
http://pastebin.com/9jEW030e
( stammt soviel ich weiß von hier: 
https://www.youtube.com/watch?v=6zZjSFef4yA )

Und hier ein weiteres Beispiel. Finde die Quelle nicht, daher bin ich 
mal so dreist, das hier komplett zu posten:
1
#include <SoftwareSerial.h>                        // Lets include the software serial library
2
char inchar;                                       // Will hold the incoming character from the GSM shield
3
SoftwareSerial SIM900(7, 8);                       // We will use pins 7 and 8 for the software serial
4
const byte phoneNumberAmount = 2;                  // How many phone numbers can control this device
5
boolean canControl = true;                         // A flag if checked phone numbers can control this device
6
boolean powerDown = false;                         // Is the GPRS shield powered down
7
int phoneNumberLength = 12;                        // Length of the phone number, international syntax without the + sign at the front
8
int relay = 5;                                     // Relay pin number
9
char phoneNumbers[] = "358401111111,358401111112"; // Phone numbers that can control this device, international format without the + sign at the front
10
String alarmPhoneNumber = "358401111111";          // The number where the alarm for the battery voltage is sent to
11
char rcvPhoneNumberArr[13];                        // Received phone number
12
float correctionValue = 1.661705f;                 // Correction value for the battery voltage
13
int batteryVoltage = 0;                            // Read the digital value of the battery voltage
14
float voltage = 0.0f;                              // The voltage value
15
float alarmVoltageLimit = 12.00f;                  // If the voltage goes under this value, an alarm text will be send to a phone number
16
float webastoMinVoltage = 12.15f;                  // The minimun voltage required to start Webasto
17
                                                   // State of charge      Sealed or flooded lead acid      Gel battery      AGM battery
18
                                                   // 100%                 12.70+                           12.85+           12.80+
19
                                                   // 75%                  12.40                            12.65            12.60
20
                                                   // 50%                  12.20                            12.35            12.30
21
                                                   // 25%                  12.00                            12.00            12.00
22
                                                   // 0%                   11.80                            11.80            11.80
23
                                                   // http://www.energymatters.com.au/components/battery-voltage-discharge/
24

25
// Set up arduino and the SIM900 shield
26
void setup() {
27

28
  Serial.begin(19200);                     // Serial with 19200 baudrate
29
  pinMode(9, OUTPUT);                      // Change pin 9 to output so we can power the SIM900 on
30
  pinMode(relay, OUTPUT);                  // Set the relay pin as output
31
  digitalWrite(relay, HIGH);               // Set the relay pin high
32
  SIM900power();                           // Wake up the GSM shield
33
  // SIM900.println("AT+CPIN=1234");       // If your sim card has pin code
34
  SIM900.begin(19200);                     // We will use the same baudrate for the SIM900 module
35
  delay(20000);                            // Will wait for 20 seconds for the SIM900 to logon to a network
36
  SIM900.print("AT+CMGF=1\r");             // Set SMS mode to text
37
  delay(100);                              // Will wait for 0.1 seconds
38
  SIM900.print("AT+CNMI=2,2,0,0,0\r");     // Blurt out contents of new SMS upon receipt to the GSM shield's serial out
39
  delay(100);                              // Will wait for 0.1 seconds
40
  Serial.println("Ready...");              // Lets print that the SIM900 module is ready for use
41
}
42

43
// Power the SIM900 module using software commands, this will only work if the JP is soldered
44
void SIM900power() {
45

46
  digitalWrite(9,LOW);
47
  delay(1000);
48
  digitalWrite(9,HIGH);
49
  delay(2000);
50
  digitalWrite(9,LOW);
51
  delay(3000);
52
}
53

54
// Main loop
55
void loop() {
56

57
  // Read the digital value for the battery voltage
58
  batteryVoltage = analogRead(A2);
59

60
  // Convert the value to 12 volts
61
  voltage = batteryVoltage * (12 / 1023.0);
62

63
  // Correct the voltage value
64
  voltage = voltage * correctionValue;
65

66
  // If voltage is under the set value of alarm
67
  if(voltage < alarmVoltageLimit && powerDown == false) {
68

69
    // Send the alarm text to car owner
70
    sendAlarmText();
71

72
    // Power the SIM900 shield down to save power
73
    SIM900power();
74

75
    // Set the flag that the SIM900 shield has been powered down to save power
76
    powerDown = true;
77
  }
78

79
  if(voltage >= alarmVoltageLimit && powerDown == true) {
80

81
    // Power the SIM900 shield up
82
    SIM900power();
83
    SIM900.begin(19200);                     // We will use the same baudrate for the SIM900 module
84
    delay(20000);                            // Will wait for 20 seconds for the SIM900 to logon to a network
85
    SIM900.print("AT+CMGF=1\r");             // Set SMS mode to text
86
    delay(100);                              // Will wait for 0.1 seconds
87
    SIM900.print("AT+CNMI=2,2,0,0,0\r");     // Blurt out contents of new SMS upon receipt to the GSM shield's serial out
88
    delay(100);                              // Will wait for 0.1 seconds
89

90
    // Set the flag that the SIM900 shield has been powered back up
91
    powerDown = false;
92
  }
93

94
  // If there is a character coming from the SIM900 shield
95
  if(SIM900.available() > 0) {
96

97
    // Read a character
98
    inchar = SIM900.read();
99

100
    // If character is ", we will read the phone number
101
    if(inchar == '"') {
102

103
      // Wait for a bit
104
      delay(20);
105

106
      // Read the next character
107
      inchar = SIM900.read();
108

109
      // If the character is +, the first symbol of the international phone number
110
      if (inchar == '+') {
111

112
        // Wait a bit
113
        delay(20);
114

115
        // Lets loop for the phone number legnth
116
        for (int i = 0; i < phoneNumberLength; i++) {
117

118
          // Lets read a character
119
          inchar = SIM900.read();
120

121
          // Wait a bit
122
          delay(20);
123

124
          // Will write the received phone number to an array
125
          rcvPhoneNumberArr[i] = inchar;
126
        }
127

128
        // Will check for all of the numbers that can control this device
129
        for(int a = 0; a < phoneNumberAmount; a++) {
130

131
          // Lets check all the numbers within the phone number
132
          for(int i = 0; i < phoneNumberLength; i++) {
133

134
            // Check if the numbers dont match
135
            if(phoneNumbers[a * phoneNumberLength + i + a] != rcvPhoneNumberArr[i]) {
136

137
              // Change the flag value
138
              canControl = false;
139
            }
140
          }
141

142
          // If the canControl flag is true, we dont need to check other numbers and we can end the loop
143
          if(canControl && (a != (phoneNumberAmount - 1))) {
144

145
            break;
146
          }
147
          else if(!canControl && (a != (phoneNumberAmount - 1))) {
148

149
            // If it was false and there is still numbers to check, change the value back to true
150
            canControl = true;
151
          }
152
        }              
153

154
        // Just a test print
155
        if(canControl) {
156

157
          Serial.println("This number can control this device");
158
        }
159
        else {
160

161
          Serial.println("This number cannot control this device");
162
        }
163
      }    
164
    }
165

166
    // If the character was #, the character that this circuit uses to send commands
167
    else if (inchar == '#' && canControl && voltage > webastoMinVoltage) {
168

169
      // Wait a bit
170
      delay(10);
171

172
      // Read the next character
173
      inchar = SIM900.read();
174

175
      // If the next character is s
176
      if (inchar == 's') {
177

178
        // Wait a bit
179
        delay(10);
180

181
        // Read the next character
182
        inchar = SIM900.read();
183

184
        // If the character was number 1, we will send high pulse for the webasto controller for a second
185
        if (inchar == '1') {
186

187
          // Will change the relay state
188
          digitalWrite(relay, LOW);
189

190
          // We will wait for one second
191
          delay(1500);
192

193
          // Change the relay state back to high
194
          digitalWrite(relay, HIGH);
195
        }
196

197
        // Wait a bit
198
        delay(10);
199

200
        // Will delete all the text messages from the sim, so it doesn't get clocked up
201
        SIM900.println("AT+CMGD=1,4");
202
      }
203
    }
204
  } 
205
}
206

207
void sendAlarmText() {
208

209
  delay(100);
210
  SIM900.print("AT+CMGS=\"+");        // recipient's mobile number, in international format
211
  delay(100);
212
  SIM900.print(alarmPhoneNumber);         //
213
  delay(100);
214
  SIM900.print("\"");
215
  delay(100);
216
  SIM900.println();
217
  delay(100);
218
  SIM900.print("Car battery charge is under 25%, remote control disabled."); // Message to send
219
  delay(100);
220
  SIM900.println((char)26);               // End AT command with a ^Z, ASCII code 26
221
  delay(100); 
222
  SIM900.println();
223
  delay(10000);                           // Give the module time to send SMS
224
}

Hoffe das ist eine Hilfe für den ein oder anderen.. Würde mich freuen, 
wenn ihr eure fertigen Codes auch zur Verfügung stellt.
Gast #4449793
Lesenswert?

Der erste Link ( http://pastebin.com/9jEW030e ) sollte eine W-Bus 
Ansteuerung sein.
Habe die Codes bisher aber nur überflogen.. Sollte auch mehr als 
Anregung dienen.. vllt kann man ja die ein oder andere Idee abkupfern.

Werde bei mir im Wohnwagen auch eine Lösung mit W-Bus Ansteuerung und 
GSM umsetzen. Zusätzlich kommt noch eine Waage-Einheit (für Gasflasche) 
und ein Gasmelder an den µC.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren