Простий таймер для точкового зварювання

  • Час 7-09-2015, 11:22
  • Автор admin
  • Коментарів 0 Комент.
  • Силка url

Сьогодні я хочу вам представити просте, але дуже надійний пристрій, який реалізовано на мікроконтролері (далі МК) ATtiny13 . Пристрій являє собою цифровий таймер видачі імпульсу для зварювання двох пластин. Як я вже вище писав, пристрій гранично просте. Воно має у своєму складі 2 кнопки для встановлення значень і 2 світлодіоди для індикації стану і значення параметрів.

При натисканні кнопки + або - буде блимати світлодіод. Коли ми натискаємо на кнопку + (плюс), а довжина імпульсу уже максимальна , світлодіод гасне сигналізуючи про те, що більше вже імпульс зробити не можна. Так само відбувається і у випадку якщо ми натиснули кнопку - " (мінус), а імпульс вже мінімальний.

Межі регулювання довжини імпульсу можна встановити у межах від 0 до 2сек. з дискретністю в 50мс.

 

Простий таймер для точкового зварювання

Для візуальної перевірки часу зварювання, необхідно натиснути кнопки + та - . Світлодіод почне спалахувати з реальною тривалістю імпульсу зварювання.

Завдяки всім цим програмним введенням, пристроєм зручно користуватися. 

При прошивці фьюзы чіпати не обов'язково. Але дуже бажано прошити фьюзы відповідають за скидання контролера при критичному зниженні напруги живлення МК.

Вихідний код пристрою:

/***************************************************** Автор Угрімов Артем Грудень 2012 *****************************************************/ #include "tiny13.h" #include "delay.h" #define butt_up PINB.2 #define start PINB.3 #define butt_down PINB.4 // Declare your global variables here unsigned int power=450; //unsigned int temp=25; unsigned char flags=1; unsigned char flags_1=1; void main(void) { #pragma optsize - CLKPR=0x80; CLKPR=0x00; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif PORTB=0x1C; DDRB=0x03; TCCR0A=0x00; TCCR0B=0x00; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; GIMSK=0x00; MCUCR=0x00; TIMSK0=0x00; ACSR=0x80; ADCSRB=0x00; while (1) { // Place your code here if(start==0 && flags==1) // НАТИСНУЛИ "СТАРТ" { PORTB.0=1; PORTB.1=1; delay_ms(power); PORTB.0=0; PORTB.1=0; flags=0; } if (start==1){ delay_ms(200); flags=1; } if (butt_down==1 && butt_up==0) // НАТИСНУЛИ "ДОДАТИ" { if(flags_1==1) { PORTB.1=1; delay_ms(75); PORTB.1=0; delay_ms(75); } power = power+50; if (powergt;1600) { power=1600; } if (powergt;1599) { flags_1=0; PORTB.1=0; } else { flags_1=1; } delay_ms(50); } if (butt_down==0 && butt_up==1) // НАТИСНУЛИ "ЗМЕНШИТИ" { if (flags_1==1) { PORTB.1=1; delay_ms(75); PORTB.1=0; delay_ms(75); } power = power-50; if (powerlt;70) { power=70; } if (powerlt;71) { flags_1=0; PORTB.1=0; } else { flags_1=1; } delay_ms(50); } if (start==1 & butt_up==0 & butt_down==0 ) // НАТИСНУЛИ ОБИДВІ КНОПКИ "СТАРТ" ВІДЖАТИЙ { PORTB.1=1; delay_ms(power); PORTB.1=0; } }; }

До статті додаю схему, прошивання, проект до компілятору CVAVR, вихідний файл та файл протеус.

Список радіоелементів

Позначення Тип Номінал Кількість IC1 U1 Q1 D1, D2 C1, C2 C3 R1 R2-R4 R5 K1-K3 K4
МК AVR 8-бітATtiny131
Лінійний регуляторLM7805CT1
MOSFET-транзисторIRLU1201
СвітлодіодАЛ307В2
Конденсатор0.1 мкФ2
Електролітичний конденсатор10мкФ 16В1
Резистор15 кОм1
Резистор1 кОм2
Резистор22 кОм1
КнопкаБез фіксації3
Реле1
Tags

Коментарі до новини