Сегодня я хочу вам представить простое, но очень надежное устройство, которое реализовано на микроконтроллере (далее МК) 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 (power>1600) { power=1600; } if (power>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 (power<70) { power=70; } if (power<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 | МК AVR 8-бит | ATtiny13 | 1 | Поиск в магазине Отрон | ||
U1 | Линейный регулятор | LM7805CT | 1 | Поиск в магазине Отрон | ||
Q1 | MOSFET-транзистор | IRLU120 | 1 | Поиск в магазине Отрон | ||
D1, D2 | Светодиод | АЛ307В | 2 | Поиск в магазине Отрон | ||
C1, C2 | Конденсатор | 0.1 мкФ | 2 | Поиск в магазине Отрон | ||
C3 | Электролитический конденсатор | 10мкФ 16В | 1 | Поиск в магазине Отрон | ||
R1 | Резистор | 15 кОм | 1 | Поиск в магазине Отрон | ||
R2-R4 | Резистор | 1 кОм | 2 | Поиск в магазине Отрон | ||
R5 | Резистор | 22 кОм | 1 | Поиск в магазине Отрон | ||
K1-K3 | Кнопка | Без фиксации | 3 | Поиск в магазине Отрон | ||
K4 | Реле | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- проект точечная сварка(1).rar (63 Кб)
Комментарии (7) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
Я точно так сделал в более серьезном контроллере для точечной сварки. Там использовался семисегментный индикатор, и там были все промышленные параметры точечной сварки.
1) установка длит. свароч. тока
2) проковка
3) пауза
4) прижим
5) авто/ручной
В данной схеме стабилизация тока не реализована.
Который успешно можно реализовать в инверторном преобразователе. На классических выпрямителях это будет не так экономично выгодно в наше время (правда не знаю как смотрятся инверторы в "точках"). Доводилось переделывать промышленную "точку" (высота в мой рост) то в ней не было стабилизации тока, и справлялась с задачей она очень хорошо!
Как думаете, это намного усложнило бы код? Влезет ли он в ATMega 8 или нужен микроконтроллер получше?
Написать можно за вечер прошивку под такое устройство.