Hi
Besser Spät als Nie
Sorry, aber wollte nicht nur einfach irgendwas hier rein Schmeissen, sondern habe es noch bisschen aufgearbeitet und Kommentiert, damit auch "Nichtfreaks" was damit anfangen können ...
Den Quellcode ( Basic -> Bascom ) klatsche ich gleich mit hier rein, der ist ja auch ziemlich Primitiv gehalten da es eine einfache zwei Punkt regelung bzw. Bang bang Schaltung ist ...
Klaro ist das keine Hochpräzise Raketentechnik, aber auf +-1°C halten ist damit durchaus möglich wenn man die Hysterese schön stramm einstellt

...
Hier erstmal bisschen was zur hardware... Das ist die Steckerbelegung des Programmiersteckers !
SCHWARZE ZAHLEN = PIN Nummer des Steckers
BLAUE ZAHLEN = Zu Welchen ATINY Beinchen der Stecker Pin führt
G = Ground
Stecker Pin 2 bzw. Tiny Pin 8 = VCC = 5V
IMG_4746 - Kopie.JPG
Hier jetzt der von mir eingesetzte Code im Basic bzw. Bascom Format :
Im Quellcode selber habe ich nochmal Dokumentiert was an welchem Pin des Programmiersteckers anliegt bzw. später abgegriffen wird ....
Hier aber jetzt nochmal die Steckerbelegung wie ich sie vorgesehen habe:
'###############################################################################
'# Beschaltungs Dokumentation
'# Stecker Pin 1 = Tiny Pin 7 -> PB2 (SCK/ADC1/To/PCINT2)
'# Stecker Pin 2 = Tiny Pin 8 -> VCC 5V
'# Stecker Pin 3 = Tiny Pin 6 -> PB1 (MISO/AIN1/OC0B/INT0/PCINT1)
'# Stecker Pin 4 = Tiny Pin 4 -> GND
'# Stecker Pin 5 = Tiny Pin 5 -> PB0 (MOSI/AIN0/OC0A/PCINT0)
'# Stecker Pin 6 = Tiny Pin 1 -> PB5 (PCINT5/RESET/ADC0/dW)
'#
'# Sterckerbelegung für Einstellplatine
'# Stecker Pin 1 = POTI ABGRIFF FÜR SOLL TEMPERATUR
'# Stecker Pin 2 = VCC 5V für Poties
'# Stecker Pin 3 = LED ANODE (Peltier Aktiv) (Vorwiederstand nicht vergessen !)
'# Stecker Pin 4 = GND ( Für Poti`s und Led`s )
'# Stecker Pin 5 = Noch ohne Funktion ( evtl. umschaltung PTC/NTC angedacht )
'# Stecker Pin 6 = POTI ABGRIFF FÜR HYSTERESE EINSTELLUNG
'#
'###############################################################################
Code: Select all
$regfile = "attiny13.dat"
'$crystal = 4800000
$crystal = 1200000
$hwstack = 16
$swstack = 5
$framesize = 16
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Config Portb.4 = Output
Tec Alias Portb.4
Config Portb.1 = Output
Led Alias Portb.1
Config Pinb.0 = Input
Ptc_ntc_switch Alias Pinb.0
Const Minhysterese = 5
Const Maxhysterese = 50
Dim Varhysterese As Integer
Dim Solladc As Integer
Dim Istadc As Integer
Dim Tec_off_value As Integer
'###############################################################################
'# Beschaltungs Dokumentation
'# Stecker Pin 1 = Tiny Pin 7 -> PB2 (SCK/ADC1/To/PCINT2)
'# Stecker Pin 2 = Tiny Pin 8 -> VCC 5V
'# Stecker Pin 3 = Tiny Pin 6 -> PB1 (MISO/AIN1/OC0B/INT0/PCINT1)
'# Stecker Pin 4 = Tiny Pin 4 -> GND
'# Stecker Pin 5 = Tiny Pin 5 -> PB0 (MOSI/AIN0/OC0A/PCINT0)
'# Stecker Pin 6 = Tiny Pin 1 -> PB5 (PCINT5/RESET/ADC0/dW)
'#
'# Sterckerbelegung für Einstellplatine
'# Stecker Pin 1 = POTI ABGRIFF FÜR SOLL TEMPERATUR
'# Stecker Pin 2 = VCC 5V für Poties
'# Stecker Pin 3 = LED ANODE (Peltier Aktiv) (Vorwiederstand nicht vergessen !)
'# Stecker Pin 4 = GND ( Für Poti`s und Led`s )
'# Stecker Pin 5 = Noch ohne Funktion ( evtl. umschaltung PTC/NTC angedacht )
'# Stecker Pin 6 = POTI ABGRIFF FÜR HYSTERESE EINSTELLUNG
'#
'###############################################################################
Do
'VARIABLEN HYSTERESEWERT VOM ZWEITEN POTI HOLEN
Varhysterese = Getadc(0)
'SOLLWERT VOM POTI HOLEN
Solladc = Getadc(1)
'ISTWERT VOM NTC HOLEN
Istadc = Getadc(3)
'HYSTERESE MIN UND MAX GRENZE PRÜFEN UND GGF. EINGREIFEN
If Varhysterese < Minhysterese Then
Varhysterese = Minhysterese
Elseif Varhysterese > Maxhysterese Then
Varhysterese = Maxhysterese
End If
Tec_off_value = Solladc - Varhysterese
If Istadc > Solladc Then
Tec = 1
Led = 1
Elseif Istadc <= Tec_off_value Then
Tec = 0
Led = 0
End If
'4 Messungen pro Sekunde sind meiner meinung nach mehr als ausrechend, ein wait ist zwar pure Zeitverschwendung aber mehr hat der Tiny ja eh nicht zu erledigen
Waitms 250
Loop
'####### LOOP #######
Tec = 0
Led = 0
End
Hier das bereits fertig Kompilierte HEX File, bzw. Quellcode incl. Hexfile als ZIP :
Eigene Firmware.zip
Achso, Nochmal ein nachtrag zu den Potis, denn ich glaube den einen oder anderen könnte das anklemmen des Potis verwirren !
Verwendet habe ich Stinknormale 10k Drehpotis ( Linear ) die eine Seite des Potis ( von der Wiederstandsschicht ) wird auf Masse gelegt und die Zweite Seite auf 5V der Mitten Abgriff bzw. Schleifer kommt dann auf den entsprechenden Stecker Pin ...
Ich denke den Meisten hier ist durchaus bewusst wie man einen Poti anklemmt

, aber vollständigkeitshalber wollte ich es niederschreiben

..
Gruß Nico