PDF unten für den ausbau der Rücklehne

Das hat schon der Lederfachman im Hand:


Alles ist schon abgeschraubt wegen den Kabel:

Untere:


Obere:


Neue 60 Amp kabel, für sitzheizung,Hi-Fi und fürs 12V Stecker im Kofferraum:

Hier gehts rein:

Genauer gesagt hier (Gumi von QuickHeat kabel wurde mit bohrer geöffnet und wurde neue Kabel danebengetan...):

Schalter für hinten mus ich noch kaufen(Leider zu teuer, habe jetzt Knopfe von einen VideoRecorder drinn...Bild folgt im kürze):


Elektronik, schaltplan (Atmel mit MEGA8):

Fertige, funktionierende Elektronik:


Programm:
'*************************************************************************
'* Gyuri ülésfûtés vezérlõje *
'* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
'* Fordító : BASCOM - V.1.11.8.6 *
'* Dátum : 2007-05-07 *
'* Honlap : www.sirleslie.atw.hu *
'* *
'* Írta : Balogh László *
'* E-mail : sirleslie@atw.hu *
'* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
'* Örök köszönet a sok-sok segítségért: Cseh Róbert http://avr.tavir.hu *
'*************************************************************************
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
' ATmega8 lábkiosztása a feladathoz
' __ __
' I U I
' Reset PC6 I I PC5 Hõellenállás_B / adc5
' Rx PD0 I I PC4 Hõellenállás_A / adc4
' Tx PD1 I I PC3 Led_A_1
' Gomb_A/Int0 PD2 I I PC2 Led_A_2
' Gomb_B/Int1 PD3 I I PC1 Led_A_3
' PD4 I I PC0 Led_A_4
' VCC I I GND
' GND I I AREF
' Relé vezérlés PB6 I I AVCC
' PB7 I I PB5 Led_B_4
' Fet_A vezérlés PD5 I I PB4 Led_B_3
' PD6 I I PB3 Led_B_2
' Fet_B vezérlés PD7 I I PB2
' PB0 I I PB1 Led_B_1
' I_____I
' portlábak bekonfigurálása ki és bemeneteknek szükség szerint - a nem használt lábakat kimentre célszerû állítani
Config Portb = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.4 = Input
Config Portc.5 = Input
'Config Portc.6 = Output Reset láb - nem piszkáljuk - ha ennél a chip-nél ha használni szeretnénk, akkor a fuse biteknél kell engedélyezni (de ekkor már nem lehet újraprogramozni)
Config Portd.0 = Input
Config Portd.1 = Output
Config Portd.2 = Input
Config Portd.3 = Input
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Led_a_1 Alias Portc.3
Led_a_2 Alias Portc.2
Led_a_3 Alias Portc.1
Led_a_4 Alias Portc.0
Led_b_1 Alias Portb.1
Led_b_2 Alias Portb.3
Led_b_3 Alias Portb.4
Led_b_4 Alias Portb.5
Rele Alias Portb.6
Fet_a Alias Portd.5
Fet_b Alias Portd.7
Config Adc = Single , Prescaler = Auto , Reference = Internal ' analog-to-digital-converter konfigurálása
Set Portd.2 ' belsõ felhúzóellenállás bekapcsolása a gombérzékelés stabilitása miatt
Set Portd.3 ' belsõ felhúzóellenállás bekapcsolása a gombérzékelés stabilitása miatt
Config Int0 = Falling ' 0-ás megszakítás negatív élre aktiválódása
On Int0 A_gomb_nyomas ' és megszakításkor az A_gomb_nyomas címkére ugrás (program aktuális állapotától függetlenül)
Config Int1 = Falling ' 1-es megszakítás negatív élre aktiválódása
On Int1 B_gomb_nyomas ' és megszakításkor az B_gomb_nyomas címkére ugrás (program aktuális állapotától függetlenül)
Enable Int0
Enable Int1
Enable Interrupts ' megszakítások engedélyezése
Start Adc ' analog-to-digital-converter elindítása
Dim Hiba_a As Bit , Hiba_b As Bit
Dim Gomb_a As Byte , Gomb_b As Byte
Dim Fokozat_a As Word , Fokozat_b As Word , Hoellenallas_a As Word , Hoellenallas_b As Word
Declare Sub Gombok_a
Declare Sub Gombok_b
Wait 1
Gomb_a = 0
Gomb_b = 0
' fõprogram do-tól loop-ig
Do
If Gomb_a > 0 Or Gomb_b > 0 Then ' ha valamelyik gombérték nagyobb nullánál, akkor bekapcsolja a fõrelét és végigfut az alciklusokon
Set Rele ' bekapcsolja relét
If Gomb_a > 0 Then ' ha gomb_a nagyobb nullánál akkor...
If Fet_a = 1 Then ' ha be van kapcsolva a fûtés, akkor mérés idejére kikapcsoljuk
Reset Fet_a
'Waitms 100
Hoellenallas_a = Getadc(4) ' "A" hõellenállás megmérése/adc lekérdezése
If Hiba_a = 0 Then Set Fet_a ' ha nincs hibajelzés visszakapcsoljuk a fûtést
Else
Hoellenallas_a = Getadc(4) ' ha nincs bekapcsolva, akkor is megmérjük ;-)
End If
If Hoellenallas_a > 960 Then ' ha szakadás van, akkor...
Reset Fet_a ' kikapcsolja fet-et
Set Hiba_a ' hiba bit 1-re állítás
Toggle Led_a_1 ' ellenkezõ állapotba állitja a ledeket - figyelmeztetõ jelzés
Toggle Led_a_2
Toggle Led_a_3
Toggle Led_a_4
Waitms 200
End If
' szabályzás, az adott fokozat értéknek összehasonlítása a hõellenállás értékével és szükség szerint ki-be kapcsolása
If Hoellenallas_a > Fokozat_a And Hiba_a = 0 Then Set Fet_a
If Hoellenallas_a < Fokozat_a Then Reset Fet_a
Waitms 100
End If
If Gomb_b > 0 Then ' mint "If gomb_A > 0 then" -nél, csak B oldalra
If Fet_b = 1 Then
Reset Fet_b
'Waitms 100
Hoellenallas_b = Getadc(5)
If Hiba_b = 0 Then Set Fet_b
Else
Hoellenallas_b = Getadc(5)
End If
If Hoellenallas_b > 960 Then
Reset Fet_b
Set Hiba_b
Toggle Led_b_1
Toggle Led_b_2
Toggle Led_b_3
Toggle Led_b_4
Waitms 200
End If
If Hoellenallas_b > Fokozat_b And Hiba_b = 0 Then Set Fet_b
If Hoellenallas_b < Fokozat_b Then Reset Fet_b
'Waitms 100
End If
If Gomb_a = 0 Then ' gombérték nulla, akkor fet-et és ledeket kikapcsolja
Reset Fet_a
Reset Led_a_1
Reset Led_a_2
Reset Led_a_3
Reset Led_a_4
End If
If Gomb_b = 0 Then ' mint "If gomb_a = 0 Then" -nél
Reset Fet_b
Reset Led_b_1
Reset Led_b_2
Reset Led_b_3
Reset Led_b_4
End If
Else ' különben... (ha az "If Gomb_a > 0 Or Gomb_b > 0 Then" feltétel nem igaz)
Reset Rele ' kikapcsolja a relét
Reset Fet_a ' kikapcsolja a fet-eket
Reset Fet_b
Reset Led_a_1 ' kikapcsolja a ledeket
Reset Led_a_2
Reset Led_a_3
Reset Led_a_4
Reset Led_b_1
Reset Led_b_2
Reset Led_b_3
Reset Led_b_4
Waitms 100
End If
' soros portra változók és állapotok kiírása, végleges beállításkor kell majd
Print
Print "Gomb_A Gomb_B Hoellenallas_a Hoellenallas_b"
Print Gomb_a ; " " ; Gomb_b ; " " ; Hoellenallas_a ; " " ; Hoellenallas_b
Print
Print "Relé Fet_A Fet_B"
Print Rele ; " " ; Fet_a ; " " ; Fet_b
Print
Loop
A_gomb_nyomas: ' ha megnyomják az A gombot
Incr Gomb_a ' növeli a gomb_A változót +1-el
'Bitwait Pind.2 , Set
Waitms 200
Call Gombok_a
Return
B_gomb_nyomas: ' mint "A_gomb_nyomas" -nál...
Incr Gomb_b '
'Bitwait Pind.3 , Set
Waitms 200
Call Gombok_b
Return
' hoellenállás mért értékei
'szakadás 967
'10k 659
' 9k 647
' 8k 626
' 7k 599
' 6k 568
' 5k 533
' 4k 488
' 3k 436
' 2k 366
' 1k 283
' 0 0
Sub Gombok_a
If Gomb_a => 5 Then Gomb_a = 0 ' hogy nullától négyig járjon a számláló, ha a gombérték nagyobbat venne fel ötnél véletlenül (prell), akkor is nulla állapotba kerüljön
If Gomb_a = 1 Then ' ha egyes fokozat, akkor...
Set Led_a_1 ' bekapcsolja az egyes fokozatot jelzõ ledet
Reset Led_a_2
Reset Led_a_3
Reset Led_a_4
Fokozat_a = 540 ' beállítja a fokozathoz tartozó értéket
End If
If Gomb_a = 2 Then ' ha kettes fokozat, akkor...
Set Led_a_1
Set Led_a_2 ' bekapcsolja a kettes fokozatot jelzõ ledet
Reset Led_a_3
Reset Led_a_4
Fokozat_a = 510 ' beállítja a fokozathoz tartozó értéket
End If
If Gomb_a = 3 Then ' ha hármas fokozat, akkor...
Set Led_a_1
Set Led_a_2
Set Led_a_3 ' bekapcsolja a hármas fokozatot jelzõ ledet
Reset Led_a_4
Fokozat_a = 480 ' beállítja a fokozathoz tartozó értéket
End If
If Gomb_a = 4 Then ' ha négyes fokozat, akkor...
Set Led_a_1
Set Led_a_2
Set Led_a_3
Set Led_a_4 ' bekapcsolja az négyes fokozatot jelzõ ledet
Fokozat_a = 450 ' beállítja a fokozathoz tartozó értéket
End If
End Sub
Sub Gombok_b
If Gomb_b => 5 Then Gomb_b = 0
If Gomb_b = 1 Then
Set Led_b_1
Reset Led_b_2
Reset Led_b_3
Reset Led_b_4
Fokozat_b = 540
End If
If Gomb_b = 2 Then
Set Led_b_1
Set Led_b_2
Reset Led_b_3
Reset Led_b_4
Fokozat_b = 510
End If
If Gomb_b = 3 Then
Set Led_b_1
Set Led_b_2
Set Led_b_3
Reset Led_b_4
Fokozat_b = 480
End If
If Gomb_b = 4 Then
Set Led_b_1
Set Led_b_2
Set Led_b_3
Set Led_b_4
Fokozat_b = 450
End If
End Sub
| Attachment | Size |
|---|---|
| Hintersitzruecken_ersetzen___L67.pdf | 65.99 KB |