24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

Регулятор 12V вентилятора на ATtiny13

Здесь только проекты на ATtiny
Post Reply
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hardlock »

VAG, добавьте

Code: Select all

if (PINB.1)
  {                
    Beep();
  } 
в процедуре main, там где идёт поиск 5 Вольт и первый старт вентилятора.
VAG
Пробегал мимо
Posts: 22
Joined: 23 May 2014 21:49

Re: Регулятор 12V вентилятора на ATtiny13

Post by VAG »

Привествую! hardlock, я так понял здесь нужно вставить кусок кода:
Image
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hardlock »

VAG, офигенно вырванный контекст. Вы думаете, я помню все исходнмки? Неужели сложно в текстовом виде с тегами "код". Сейчас не могу посмотреть, т.к. с телефона...
VAG
Пробегал мимо
Posts: 22
Joined: 23 May 2014 21:49

Re: Регулятор 12V вентилятора на ATtiny13

Post by VAG »

Извиняюсь, не подумал. :scratch:

Code: Select all

/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 12.02.2007
Author  : Hardlock                            
Company : CTO Y Zhuka                            
Comments: 


Chip type           : ATtiny13
Clock frequency     : 9,600000 MHz
Memory model        : Tiny
External SRAM size  : 0
Data Stack size     : 16
*****************************************************/

#include <tiny13.h>
#include <delay.h>

// 1 Wire Bus functions
#asm
   .equ __w1_port=0x18 ;PORTB
   .equ __w1_bit=3
#endasm
#include <1wire.h>
#define ADC_VREF_TYPE 0x00

#define MIN_TEMP 36
#define MAX_TEMP 66
#define DT 30
#define U5V 0x014D      

#define ALLTIME_5V     //раскомментировать, если на выходе должно быть всегда
                       //5 Вольт. Даже при Т < Tмин.   

int PWM_ = 255;
char FanStoped = 1;
int counter = 0;    
//eeprom int V;   
//eeprom int D;// = 0; 
/*eeprom*/ int Max = 0; 
/*eeprom*/ int Min = 0; 
//char m;


// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}


void Beep(void)
{
  //DDRB.2 = 1;
  PORTB.2 = 0;   
  delay_ms(100);
  PORTB.2 = 1;
}

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
  char t1, t2, T, dP;
  // Place your code here 
  counter++;
  if (counter > 4700)
  {
    counter = 0; 
  
    w1_init();   
    w1_write(0xCC); 
    w1_write(0xBE);
      
    t1=w1_read();   //LSB      
    t2=w1_read();   //MSB
    
    //Ff = (t1 & 0x0F);
    t2 = t2 << 4; 
    t1 = t1 >> 4;
    T = (t2 & 0xF0) | (t1 & 0x0F);
    if (T > 127) T = 0;
    
    w1_init();   
    w1_write(0xCC);
    w1_write(0x44); 
      
    
    
    if (!FanStoped & PINB.1)
    {                
      Beep();
    } 
      
    
#ifdef ALLTIME_5V                  
    if (T <= MAX_TEMP)
    {
#else
    if ((T >= MIN_TEMP) & (T <= MAX_TEMP))
    {
      if (FanStoped)
      {
        PWM_ = Max;
        FanStoped = 0;
        goto e1;
      }
#endif

      dP = Max - Min;
      if (T < MIN_TEMP)
      {
        T = MIN_TEMP;
      }
      T = T - MIN_TEMP;          
      PWM_ = ((dP / DT) * T);
      PWM_ = PWM_ + Min;     
      
      goto e1;
    }
    
#ifndef ALLTIME_5V    
    if (T < MIN_TEMP)
    {
      PWM_ = 0;     
      FanStoped = 1;
    }          
#endif
    
    if (T > MAX_TEMP)
    {        
      PWM_ = 255;
      FanStoped = 0;
      Beep();
    }
  
    e1:    
    OCR0A=PWM_;             
      
  }
  
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here
char i, j;
int U;
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

//Разряд DDRx - определяет направление передачи данных (0 - вход, 1 - выход).
//Разряд PORTx - если вывод определен выходом (DDRx = 1), то:
//       если установлена 1 - то на выводе устанавливается лог. 1
//       если установлена 0 - то на выводе устанавливается лог. 0
//       если вывод определен входом (DDRx = 0), то PORTx - определяет 
//       состояние подтягивающего резистора (при PORTx = 1 резистор подключен)
//Разряд PINx - доступен только для чтения и содержит физическое значение вывода порта

PORTB=0b00000110;
DDRB= 0b00000101;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 150,000 kHz
// Mode: Fast PWM top=FFh
// OC0A output: Non-Inverted PWM
// OC0B output: Disconnected
TCCR0A=0x83;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0xFF;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x02;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;   

// ADC initialization
// ADC Clock frequency: 600,000 kHz
// ADC Bandgap Voltage Reference: Off
// ADC Auto Trigger Source: None
// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: Off, ADC4: On
DIDR0=0x00;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x84;

// 1 Wire Bus initialization
w1_init();
w1_write(0xCC);
w1_write(0x44);

// Global enable interrupts
#asm("sei")  



while (1)
      {
      // Place your code here 
      if (Max==0)
      {    
        #asm("cli")    
        delay_ms(1000);
        //delay_ms(500); 
        
        Max = read_adc(2);
                              
        j = 5;
        for (i=255; i>1; i=i-j)
        {
          OCR0A = i;
          delay_ms(100);
          U = read_adc(2);
          if (U < Max - 10)
          {
            Max = i + 5;  
            
            break;
          }       
        }
        
        for (i=Max; i>1; i--)
        {
          OCR0A = i;
          delay_ms(100);
          U = read_adc(2);
          if (U < U5V)
          {
            Min = i + 1;
            break;
          }
          if (PINB.1)
  {                
    Beep();
  }
        }
        //e2:

#ifndef ALLTIME_5V        
        FanStoped = 1;    
#endif
        
        #asm("sei")
      }  

      };
}
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hardlock »

VAG, вроде бы правильно. Единственное "НО". Если вентилятор такие не крутится, то пищать будет с периодом 100мс и процесс уменьшения напруги удлинняется в 2 раза.
VAG
Пробегал мимо
Posts: 22
Joined: 23 May 2014 21:49

Re: Регулятор 12V вентилятора на ATtiny13

Post by VAG »

Доброго дня! Таки есть, пищит ускоренно. Так-то работает. Ещё вопрос есть, в прошивке (без изменений всяких) есть строки

Code: Select all

void Beep(void)
{
  //DDRB.2 = 1;
  PORTB.2 = 0;   
  delay_ms(100);
  PORTB.2 = 1;
}
Изменяя значение delay_ms(100), изменяется длительность сигнала на выходе МК и соответсвенно бузер пищит быстрее или более протяжённо, это более менее понятно, а как сделать чтобы изменить саму паузу между включениями бузера?
К примеру, как на рисунке http://radioparty.ru/images/stories/sch ... 240-01.GIF T1 - можно изменить, а T0 - всегда постоянна, подскажите пожалуйста, как это можно сделать в программе?
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hardlock »

Code: Select all

for (i=Max; i>1; i--)
        {
          OCR0A = i;
          delay_ms(100);
          U = read_adc(2);
          if (U < U5V)
Меняйте тут задержку. Это в "майне" и отвечает за поиск 5 Вольт, т.е. при первом включении. Если увеличить задержку, то ещё растянется опускание с 12 до 5 Вольт...
VAG
Пробегал мимо
Posts: 22
Joined: 23 May 2014 21:49

Re: Регулятор 12V вентилятора на ATtiny13

Post by VAG »

Спасибо тебе hardlock! Попробую изменить.
alexspb
Пробегал мимо
Posts: 2
Joined: 20 Jun 2015 02:10

Re: Регулятор 12V вентилятора на ATtiny13

Post by alexspb »

Зраствуйте hardlock! немогли бы вы скрестить этот проект с соседним проектом Термостат ∆T=0,1°C т.е добавить туда шим выход вместо управления нагрузкой?
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hardlock »

alexspb, Здравствуйте.

Я временно (надеюсь) не у дел. Но! где-то в соседних темах проскакивал новый проект по ПИД регулированию на основе термостата - поищите.
alexspb
Пробегал мимо
Posts: 2
Joined: 20 Jun 2015 02:10

Re: Регулятор 12V вентилятора на ATtiny13

Post by alexspb »

Спасибо,поищу
sergioflash
Пробегал мимо
Posts: 23
Joined: 14 May 2014 20:02
Location: Rivne 066105seven726

Re: Регулятор 12V вентилятора на ATtiny13

Post by sergioflash »

спасибо автору за конструкцию, поставил в инвертор автомобильный, стало намного тише.
srqemiko
Частенько бываю
Posts: 31
Joined: 08 Feb 2012 22:11
Location: kiev

Re: Регулятор 12V вентилятора на ATtiny13

Post by srqemiko »

Добрый день!У меня такой вопрос hardlock подскажите что нужно изменить в данной программе, чтобы контроль за вращением кулера был постоянным, как при достижении минимальной температуры так и до нее. То есть когда кулер вращается при минимальных 5 вольтах.

Code: Select all

/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.8d Professional
Automatic Program Generator
© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 12.02.2007
Author  : Hardlock                            
Company : CTO Y Zhuka                            
Comments: 


Chip type           : ATtiny13
Clock frequency     : 9,600000 MHz
Memory model        : Tiny
External SRAM size  : 0
Data Stack size     : 16
*****************************************************/

#include <tiny13.h>
#include <delay.h>

// 1 Wire Bus functions
#asm
   .equ __w1_port=0x18 ;PORTB
   .equ __w1_bit=3
#endasm
#include <1wire.h>
#define ADC_VREF_TYPE 0x00

#define MIN_TEMP 36
#define MAX_TEMP 66
#define DT 30
#define U5V 0x014D      

#define ALLTIME_5V     //раскомментировать, если на выходе должно быть всегда
                       //5 Вольт. Даже при Т < Tмин.   

int PWM_ = 255;
char FanStoped = 1;
int counter = 0;    
//eeprom int V;   
//eeprom int D;// = 0; 
/*eeprom*/ int Max = 0; 
/*eeprom*/ int Min = 0; 
//char m;


// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}


void Beep(void)
{
  //DDRB.2 = 1;
  PORTB.2 = 0;   
  delay_ms(100);
  PORTB.2 = 1;
}

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
  char t1, t2, T, dP;
  // Place your code here 
  counter++;
  if (counter > 4700)
  {
    counter = 0; 
  
    w1_init();   
    w1_write(0xCC); 
    w1_write(0xBE);
      
    t1=w1_read();   //LSB      
    t2=w1_read();   //MSB
    
    //Ff = (t1 & 0x0F);
    t2 = t2 << 4; 
    t1 = t1 >> 4;
    T = (t2 & 0xF0) | (t1 & 0x0F);
    if (T > 127) T = 0;
    
    w1_init();   
    w1_write(0xCC);
    w1_write(0x44); 
      
    
    /*
    if (!FanStoped & PINB.1)
    {                
      Beep();
    } 
    */  
    
#ifdef ALLTIME_5V                  
    if (T <= MAX_TEMP)
    {
#else
    if ((T >= MIN_TEMP) & (T <= MAX_TEMP))
    {
      if (FanStoped)
      {
        PWM_ = Max;
        FanStoped = 0;
        goto e1;
      }
#endif

      dP = Max - Min;
      if (T < MIN_TEMP)
      {
        T = MIN_TEMP;
      }
      T = T - MIN_TEMP;          
      PWM_ = ((dP / DT) * T);
      PWM_ = PWM_ + Min;     
      
      goto e1;
    }
    
#ifndef ALLTIME_5V    
    if (T < MIN_TEMP)
    {
      PWM_ = 0;     
      FanStoped = 1;
    }          
#endif
    
    if (T > MAX_TEMP)
    {        
      PWM_ = 255;
      FanStoped = 0;
      Beep();
    }
  
    e1:    
    OCR0A=PWM_;             
      
  }
  
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here
char i, j;
int U;
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

//Разряд DDRx - определяет направление передачи данных (0 - вход, 1 - выход).
//Разряд PORTx - если вывод определен выходом (DDRx = 1), то:
//       если установлена 1 - то на выводе устанавливается лог. 1
//       если установлена 0 - то на выводе устанавливается лог. 0
//       если вывод определен входом (DDRx = 0), то PORTx - определяет 
//       состояние подтягивающего резистора (при PORTx = 1 резистор подключен)
//Разряд PINx - доступен только для чтения и содержит физическое значение вывода порта

PORTB=0b00000110;
DDRB= 0b00000101;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 150,000 kHz
// Mode: Fast PWM top=FFh
// OC0A output: Non-Inverted PWM
// OC0B output: Disconnected
TCCR0A=0x83;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0xFF;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x02;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;   

// ADC initialization
// ADC Clock frequency: 600,000 kHz
// ADC Bandgap Voltage Reference: Off
// ADC Auto Trigger Source: None
// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: Off, ADC4: On
DIDR0=0x00;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x84;

// 1 Wire Bus initialization
w1_init();
w1_write(0xCC);
w1_write(0x44);

// Global enable interrupts
#asm("sei")  



while (1)
      {
      // Place your code here 
      if (Max==0)
      {    
        #asm("cli")    
        delay_ms(1000);
        //delay_ms(500); 
        
        Max = read_adc(2);
                              
        j = 5;
        for (i=255; i>1; i=i-j)
        {
          OCR0A = i;
          delay_ms(100);
          U = read_adc(2);
          if (U < Max - 10)
          {
            Max = i + 5;  
            
            break;
          }       
        }
        
        for (i=Max; i>1; i--)
        {
          OCR0A = i;
          delay_ms(100);
          U = read_adc(2);
          if (U < U5V)
          {
            Min = i + 1;
            break;
          }
        }
        //e2:

#ifndef ALLTIME_5V        
        FanStoped = 1;    
#endif
        
        #asm("sei")
      }  

      };
}
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

Re: Регулятор 12V вентилятора на ATtiny13

Post by IYra »

srqemiko wrote:чтобы контроль за вращением кулера был постоянным, как при достижении минимальной температуры так и до нее. То есть когда кулер вращается при минимальных 5 вольтах
Не понятно. Что нужно то ? Поподробней
srqemiko
Частенько бываю
Posts: 31
Joined: 08 Feb 2012 22:11
Location: kiev

Re: Регулятор 12V вентилятора на ATtiny13

Post by srqemiko »

Мне нужно чтобы контроль за вращением кулера был постоянным. На данный же момент схема работает следующим образом при первом включении контроль за работой кулера не работает (контроллер не подает сигнала об остановке кулера бузер не включаеться), до тех пор пока температура не дойдет до температуры 66 градусов и первой сработки бузера который говорит, что температура достигла граничной температуры. Теперь после того как температура снижаеться и бузер перестает пищать и только после этого начинает работать контроль за остановкой кулера, то есть когда я его уже физически отключаю от схемы контроллер подает сигналы что с ним что-то случилось. Так вот вопрос что нужно изменить в проге чтобы испрать данную проблему и контроль за работой кулера был с первого включения и до последнего момента его работы. Строки в програме по контролю работы кулера раскомментированы. Зарание спасибо.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

Re: Регулятор 12V вентилятора на ATtiny13

Post by IYra »

srqemiko wrote: Так вот вопрос что нужно изменить в проге чтобы испрать данную проблему и контроль за работой кулера был с первого включения и до последнего момента его работы.
Как я понял используется прошивка с постоянным включением вентилятора.
Можно попробовать заменить

Code: Select all

char FanStoped = 1;
на

Code: Select all

char FanStoped = 0;
тогда проверка заработает сразу после определения мин и макс значений PWM
Если надо чтобы контроль был и во время определения - то выше есть решение
srqemiko
Частенько бываю
Posts: 31
Joined: 08 Feb 2012 22:11
Location: kiev

Re: Регулятор 12V вентилятора на ATtiny13

Post by srqemiko »

Спасибо IYra все заработало нужным образом
LYG
Пробегал мимо
Posts: 1
Joined: 05 Jan 2016 13:33
Location: Украина

Re: Регулятор 12V вентилятора на ATtiny13

Post by LYG »

Здравствуйте! Я только учусь программировать АВР, хотел бы поставить это устройство на светодиодную матрицу для контроля температуры. В общем такой вопрос, реально ли вместо пищалки поставить реле(естественно через транзистор) чтоб при достижении критической температуры (около 80 градусов) оно отключалось? Я не прошу писать код, просто подскажите, пожалуйста, где можно подсмотреть как это сделать)
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

Re: Регулятор 12V вентилятора на ATtiny13

Post by IYra »

LYG wrote: В общем такой вопрос, реально ли вместо пищалки поставить реле(естественно через транзистор) чтоб при достижении критической температуры (около 80 градусов) оно отключалось?
Можно вместо вызова Beep()

Code: Select all

   if (T > MAX_TEMP)
    {        
      PWM_ = 255;
      FanStoped = 0;
      Beep();
    }
просто включать PORTB.2

Code: Select all

   if (T > MAX_TEMP)
    {        
      PWM_ = 255;
      FanStoped = 0;
      PORTB.2 = 1;
    }
    else PORTB.2 = 0;
ну и поставить #define MAX_TEMP 80
hawkman
Пробегал мимо
Posts: 4
Joined: 04 Aug 2009 13:04
Location: Запорожье
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hawkman »

Здравствуйте. нет tiny13, но есть tiny25. помогите подправить исходник под этот контроллер. покупать tiny13 при наличии tiny25 не совсем целесообразно. Заранее спасибо.
IYra
Живу тут
Posts: 712
Joined: 01 Feb 2012 18:36
Location: Санкт-Петербург

Re: Регулятор 12V вентилятора на ATtiny13

Post by IYra »

hawkman wrote:нет tiny13, но есть tiny25. помогите подправить исходник под этот контроллер.
Заменить

Code: Select all

#include <tiny13.h>
на

Code: Select all

#include <tiny25.h>
и

Code: Select all

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x02;
на

Code: Select all

// Timer/Counter 0 Interrupt(s) initialization
TIMSK=0x02;
фьюзы выставить на 8 мГц и вроде должно заработать.
Там тайминги будут чуть длиннее но это не критично
hawkman
Пробегал мимо
Posts: 4
Joined: 04 Aug 2009 13:04
Location: Запорожье
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hawkman »

Спасибо за ответ. Все заработало.
VAG
Пробегал мимо
Posts: 22
Joined: 23 May 2014 21:49

Re: Регулятор 12V вентилятора на ATtiny13

Post by VAG »

hardlock, здравствуйте, подскажите пожалуйста - сделал ещё один ваш девайс, только прошивка из первого поста, с выключением вентилятора, (ранее делал с прошивкой 5V const.), скажите, снижение оборотов вентилятора длится примерно 1мин 10 секунд. Это правильно, так и должно быть? Фьюзы выставил такие же как на картинке, кроме SPMEN. С него галочка снята.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

Re: Регулятор 12V вентилятора на ATtiny13

Post by hardlock »

VAG, должно быть около 30 секунд. Пожоже рабоатет на более низкой частоте. Или делитель включен, хотя тогда было бы значительно дольше.
VAG
Пробегал мимо
Posts: 22
Joined: 23 May 2014 21:49

Re: Регулятор 12V вентилятора на ATtiny13

Post by VAG »

Странно, я всё перерыл, не могу понять в чём дело. Контроллер TINY13A, фьюзы такие же выставил. А когда заливаю прошивку 5v const., там всё работает как надо, там махом почти сбрасывает скорость с 12В до 5В и на 5В стабильно крутится. Фьюзы такие же....

Добавлено спустя 23 часа 6 минут 47 секунд:
hardlock, подскажите пожалуйста, в чём может быть дело?
Post Reply