Lüftersteuerung über PTT mit ATtiny13

Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » So 4. Feb 2018, 19:05

Hallo,

hier möchte ich euch mal mein Projekt vorstellen. Ich hatte immer das Problem, dass der Kühlkörper relativ heiß wurde. Da habe ich einen Lüfter eingebaut, der lief aber immer mit ein und der selben Geschwindigkeit und das nervt mich. Ich habe mich hingesetzt und überlegt, wie ich das Problem löse und es auch für andere zugänglich mache. Da ist mir die Idee gekommen mit dem ATtiny13 und seiner PWM Steuerung, die Herausforderung lag darin, das so wenig wie möglich bzw. am besten keine Störungen entstehen und das ganze über die PTT Funktion gesteuert wird. Ich habe mir den ATtiny13 genommen und eine PWM Steuerung programmiert und für meine MAAS DX-5000 optimiert. Dabei habe ich einen Transistor ( NPN ) als zweites Hauptbauteil genommen und daraus eine Steuerung gebastelt. Anbei hänge ich den Code und die Bilder der Schaltung bzw. des Boards ran. Wer will kann auch direkt von mir die Eagle Dateien haben und auch die Main.c Datei. Der Widerstand R3 und die Diode D1 haben bei mir die Störungen der Lüfter entfernt. Ich habe die Software so geschrieben, dass der Lüfter beim drücken der PTT Taste hochfährt und beim loslassen langsam wieder herunterfährt. Jeder der will kann die Main.c Datei sich so anpassen wie er möchte. So jetzt die beiden Bilder und der Code.

Mfg
Andy

Code: Alles auswählen
#define F_CPU 8000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define LED PB0
#define TASTER PB3

int main(void){
   TCCR0A = (1 << WGM00) | (1 << COM0A1);
   TCCR0B  = ((1<<CS01) | (1<<CS00));
   DDRB |= (1 << LED);
   DDRB &= ~ (1 << TASTER);
   PORTB |= (1<<TASTER);
   sei();

while(1)
{
   while ( PINB & ( 1<<TASTER ) );
   for (int i=0; i<=255; i++)
   {
      OCR0A = i;
      _delay_ms(5);
   }

   while (!(PINB & ( 1<<TASTER )));
   for (int i=255; i>=0; i--)
   {
      OCR0A = i;
      _delay_ms(20);
   }
}
}
Dateianhänge
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » So 4. Feb 2018, 21:05

PS die Schaltung funktioniert auch für andere Funkgeräte. Wenn es verbesserungs Vorschläge gibt, einfach raus damit.
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon S3000 » So 4. Feb 2018, 23:43

Moin Moin,

also erstmal, nett gemacht. Ginge aber auch einfacher mit einem Widerstand, einer Diode und einem Kondensator vor dem Lüfter :) .

Als Taktfrequenz für den AVR würden 1 MHz oder noch weniger reichen. 8 MHz für sowas ist doch sehr viel.
Du hast alles für die Nutzung von Interrupts im Quelltext integriert aber du nutzt sie nicht, kann also raus, macht das Programm noch kleiner :) .

Auf deiner Basis könnte man das ganze aber recht einfach temperaturgeregelt machen. Einen NTC oder PTC an den AD Wandler des Tiny und das ganze an die PWM Regelung im Programm übergeben.
Einen optionalen Kondensator am PWM Ausgang könnte man noch vorsehen.

VG S3000
S3000
Santiago 1
 
Beiträge: 12
Registriert: Fr 10. Nov 2017, 10:55

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » Mo 5. Feb 2018, 00:07

Hallo S3000,

die 8 MHz als Takt, verursachen in der Kombi die wenigsten Probleme mit den Lüftermotoren. Der Kondensator zum Lüfter müsste ein Elko sein, aber da hatte ich Probleme beim anlaufen der Lüfter und die Diode funktioniert auch bzw. hat den selben Effekt. Warum die Interups raus nehmen? Bisher läuft's rund.
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » Mo 5. Feb 2018, 00:10

Wenn ich interrups rausnehme habe ich Störungen
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » Mo 5. Feb 2018, 09:29

Ich habe gerade gesehen das der Code nicht komplett ist. Im Anhang der Screenshot mit den Interrups. ;-)[img]https://uploads.tapatalk-cdn.com/20180205/03a7a7f623855e84b6795acc59c6e918.jpg[/img]
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon S3000 » Mo 5. Feb 2018, 21:49

Moin andy,

sorry, in dem Screenshot ist der gleiche Quellcode ohne Interrupts wie im Beitrag.
Du hast die interrupts.h geladen und mit sei() die Interrupts freigegeben aber da ist keine Interruptroutine die abgearbeitet werden kann. Die kommen idR. direkt als erstes nach den includes und defines. Auf welchen Interrupt soll der Tiny denn überhaupt reagieren?

Auch die Probleme mit den Lüftermotoren erschließen sich mir nicht so ganz bei 1 MHz. Dein eingestellter Prescaler ist 64 bei 8MHz. Wenn du nen Prescaler von 8 nimmst bei 1MHz kommt das gleiche raus,
wäre also
F_CPU 1000000
TCCR0B = (1<<CS00);
Einziger Grund den Tiny mit 8 MHz laufen zu lassen wäre wenns mit 1MHz Oberwellen produziert die den Empfang stören.

Weiterhin wäre es vllt. noch von Vorteil, wenn der Lüfter nicht komplett auf Null geregelt wird sondern mit kleiner Drehzahl vor sich hin tuckert, dann kann noch etwas "Nachzerfallswärme" abgebaut werden. Hierzu einfach in der zweiten Schleife nicht auf 0 runterzählen sondern bei ~100...150 stoppen, hier muß man probieren, wann der Lüfter noch läuft.

VG S3000
S3000
Santiago 1
 
Beiträge: 12
Registriert: Fr 10. Nov 2017, 10:55

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » Mo 5. Feb 2018, 23:07

Auf 1 MHz reagiert er nicht, darum 8 MHz und 64. Ich hatte 1 MHz und 8 probiert, aber der Lüftermotor hat gepfiffen und ein Tipp aus einem anderen Forum mit 8 MHz und 64 hat das Problem gelöst. Ja ganz runter wollte ich auch nicht und auch nicht auf 255. Ich habe es aktuell auf 50 und 150, so läuft er leise und hat auch genug Kühlung.
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon 13DS29 » Do 8. Feb 2018, 08:22

Also ich verbau halt einfach einen Lüfter mit Temperaturwiderstand an einem Käbelchen, den ich nahe der größen Hitzequelle anbringe. Gibts fertig, in allen möglichen Größen und in ganz leise für ein paar Euronen.
Über 80 Millionen Menschen in Deutschland können nicht richtig funken - Schreib Dich nicht ab, mach die Amateurfunklizenz.
13DS29
Santiago 4
 
Beiträge: 234
Registriert: Sa 16. Jul 2016, 08:56

Re: Lüftersteuerung über PTT mit ATtiny13

Beitragvon andy_gi » Fr 9. Feb 2018, 07:50

Das ist richtig, aber für einen Bastler ist das zu einfach ;-) . Man kann ja wie auch oben beschrieben einen Tempsensor anschliesden und auch damit sen Lüfter steuern. Ich finde das so ein reiner Temperatur abhängiger Widerstand meist dei Lüfter nicht linear genug schaltet. Darum habe ich die Schaltung gemacht. Klar es geht immer einfacher, aber das wäre ja zu einfach. Die Schaltung lässt sich auch für ein paar € aufbauen, man kann ja auch nur bedrahtete Bauteile nehmen.

Gesendet von meinem SM-T210 mit Tapatalk
SKIP: Pluto Rufzeichen: 13TH2380 SWL: DL0068SWL
Benutzeravatar
andy_gi
Santiago 6
 
Beiträge: 481
Registriert: So 11. Nov 2012, 18:22


Zurück zu Eigenbau

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste