Оборудование для производства стеклопластиковой арматуры и композитной кладочной сетки
  Оборудование для производства арматуры и сетки Оборудование для производства стеклопластиковой арматуры Оборудование для производства стеклопластиковой сетки ЧПУ аппарат плазменной резки оборудование автоматизированного раскроя металла Прайс лист цена композитная стеклопластиковая арматура и пластиковая кладочная сетка в Екатеринбурге от производителя на Урале Скачать расчёты, бизнес план по производству Чертежи оборудования для производства стеклопластиковой арматуры сделать своими руками Заработать миллион своими руками Производство своими руками  
  ГЛАВНАЯ ОБОРУДОВАНИЕ
ДЛЯ АРМАТУРЫ
ОБОРУДОВАНИЕ
ДЛЯ СЕТКИ
ЧПУ
ПЛАЗМЕННАЯ РЕЗКА
ГИДРОАБРАЗИВНАЯ
РЕЗКА
Новинка!
АВТОНОМНЫЙ
КОНТРОЛЛЕР
ПРАЙС
АРМАТУРА И СЕТКА
СКАЧАТЬ
РАСЧЁТЫ

(для арматуры)
ЧЕРТЕЖИ
ОБОРУДОВАНИЯ

(для арматуры)
ФОТО И ВИДЕО СОТРУДНИЧЕСТВО КОНТАКТЫ  

 

  (новое) Мини стол ЧПУ плазменной резки с автономным контроллером с ТНС за 75 000 руб.
  Стол ЧПУ плазменной резки с автономным контроллером с ТНС
  Автономный контроллер и электроника для стола ЧПУ
  Схема и программа Автономного контроллера для стола ЧПУ плазменной резки на STM32 stm32f103rct6
ТНС для Mach3
  ТНС на стрелочном вольтметре для Mach3
  Установка и настройка Pronest
  Установка и настройка mach3

 

ПРЕДЛАГАЕМ ВАМ

Система контроля высоты плазменной горелки по напряжению дуги ТНС thc

Купить недорогой контроллер ТНС. Схема ТНС сделать своими руками Atmega8.

Стоимость готового устройства 7 500 руб. за 1 шт (2 шт. и более по 5 000 руб.)

 

Версия 2.

с ЖК дисплеем

Чтобы зайти в настройки - нужно удерживая кнопку SETTING нажать RESET. Там есть пять параметров - ustavka_min, ustavka_max, thc_on_min, thc_on_max, thc_time.

 Если измеряемое напряжение между значениями thc_on_min и thc_on_max, то подаётся сигнал THC ON на 10pin LPT, если напряжение на входе ниже (нет тока плазмы) либо выше (плазма не зажглась или погасла) то сигнал THC ON не подаётся.

ustavka_min, ustavka_max - это значение для крайних положений регулировки ТНС на панели управления.

Если напряжение выше уставки - то подаётся сигнал THC DOWN (12pin), если измеряемое напряжение ниже уставки - то подаётся сигнал THC UP(11pin).

При сработке датчика касания сигнал идёт на 13pin LPT.

 


рисовал на скорую руку т.ч. проверяйте, в исходниках (внизу) есть подключение периферии к портам контроллера.
P.s. может кто красиво нарисует - скажу спасибо )) thc3.spl7

 

Версия 1.

Для изготовления системы ТНС я выбрал микроконтроллер Atmega8. Потому что у неё питание и логический уровень +5В, в отличие от STM +3,3В.
Принцип работы прост - напряжение плазмы через резисторы поступает на накопительный конденсатор 0,01мк и разряжается динистором на трансформатор, далее через оптрон сигнал приходит на контроллер ATmega8 (получается двойная гальваническая развязка). Он считает количество импульсов, чем выше напряжение плазмы, тем быстрее заряжается конденсатор, значит выше частота разрядов. (примерно 140 импульсов за 0,1сек при 140В)
Если напряжение выше 40В, контроллер подаёт сигнал THC ON.
Уставку значения ТНС считываем через АЦП (с переменного резистора) и если измеренное напряжение меньше (уставка - 2В) то подаётся сигнал THC UP, если больше (уставка + 2 вольта), то подаю сигнал THC DOWN.  ВСЁ!!!

Компилятор мне понравился mikroBasic PRO for AVR. Простой, все библиотеки одинаковые (не нужно где-то качать из разных источников и устанавливать) и включены сразу в программу, много примеров и большой хелпфорум.

Схема ТНС на микроконтроллере ATmega8. (обновлена 09.09.18г)

DA - pc817(или аналог),  VD1- динистор DB3, C7-0.01мк 250в плёночный к73-17
резисторы R8-R13 100кОм 1Вт, трансформатор Т1 - ферритовый транс. 10-20мГн, он же фильтр синфазных помех из БП компа
при работе плазмы шлейф А1 и А2 замкнуты и заземлены на массу стола,
при поиске металла, когда горелка упирается в поверхность, цепь А1 и А2 размыкается.
 

Блок включения плазмы
На некоторых ЧПУ слабое звено - блок включения плазмы, т.к. бывают ТАКИЕ помехи, что с этого провода стреляет более чем на 10мм.
Здесь реализована трёх ступенчатая защита - оптрон, трансформатор и реле. Отптосиммистор MOC3083 подаёт 220В на трансформатор 220/6 (либо 220/12 если у вас реле на 12в), 6в через выпрямитель поступает на реле (на 5В), которое включает плазму.

 

Прошивка тута.

Программа:

program THC

dim thc as word
dim adc_rd as word
dim ustavka as longword

main:
CS10_bit = 1 CS11_bit = 1 CS12_bit = 1 'внешний вход счётчика TCNT1
DDRB = %11000000 'b6-THC ON b7-THC UP
DDRC = %00000000
DDRD = %01000000 'd6-THC DOWN
PORTB = %00111111
PORTC = 255
PORTD = %10111111
ADC_Init()

While true
  TCNT1H = 0 'обнуляю старшие разряды счётчика
  TCNT1L = 0 'обнуляю младшие разряды счётчика
  delay_ms(100) 'пауза 0,1сек
  Lo(thc) = TCNT1L 'читаю младший байт счётчика
  Hi(thc) = TCNT1H 'читаю старший байт счётчика
  adc_rd = ADC_Read(1) 'читаю значение АЦП (положение регулировки высоты горелки)
  ustavka = 90 + (70 * adc_rd / 1024) 'значение уставки ТНС от положения крутилки
  if thc > 20 then PORTB.6=1 'если напряжение плазмы больше 40в
    if thc < (ustavka - 2) then PORTB.7=1 else PORTB.7=0 end if 'если напряжение меньше (допуск 2В), то включаем THC UP
    if thc > (ustavka + 2) then PORTD.6=1 else PORTD.6=0 end if 'если напряжение больше (допуск 2В), то включанем ТНС DOWN
  else
    PORTB.6=0 ' THC ON
    PORTB.7=0 ' THC UP
    PORTD.6=0 ' THC DOWN
  end if
wend
end.

Исходники тута

 

Программа для версии 2 с ЖК дисплеем:

готовый hex файл

program THC
'D4 кнопка -
'D3 кнопка +
'D2 кнопка Настр
'D1 - lcd D7
'D0 - lcd D6
'C5 - lcd D5
'C4 - lcd D4
'C3 - lcd E
'C2 - lcd RS
'C1 - ADC1
'D5 - imp THC
'D6 - in probe
'D7 - out 13 (probe)
'B0 - out 10 (tnc on)
'B6 - out 12 (thc down)
'B7 - out 11 (thc up)

dim probe_out as sbit at PORTD.7
dim thc_on as sbit at PORTB.0
dim thc_up as sbit at PORTB.7
dim thc_down as sbit at PORTB.6
dim probe_in as sbit at PIND.6
dim knopka_minus as sbit at PIND.4
dim knopka_plus as sbit at PIND.3
dim knopka_setting as sbit at PIND.2

dim LCD_RS as sbit at PORTC2_bit
dim LCD_EN as sbit at PORTC3_bit
dim LCD_D4 as sbit at PORTC4_bit
dim LCD_D5 as sbit at PORTC5_bit
dim LCD_D6 as sbit at PORTD0_bit
dim LCD_D7 as sbit at PORTD1_bit

dim LCD_RS_Direction as sbit at DDC2_bit
dim LCD_EN_Direction as sbit at DDC3_bit
dim LCD_D4_Direction as sbit at DDC4_bit
dim LCD_D5_Direction as sbit at DDC5_bit
dim LCD_D6_Direction as sbit at DDD0_bit
dim LCD_D7_Direction as sbit at DDD1_bit

dim thc as word
dim adc_rd, adc_temp, ustavka_max, ustavka_min, thc_on_min, thc_on_max, ustavka_word as word
dim ustavka as longword
dim txt5 as string[5]
dim txt3 as string[3]
dim thc_time, i, lcd_clear as byte

main:
CS10_bit = 1 CS11_bit = 1 CS12_bit = 1 'внешний вход счётчика TCNT1
DDRB = %11000001
PORTB = %00111110
DDRC = %00111100
PORTC = %11000011
DDRD = %10000011
PORTD = %01111100
ADC_Init()
Lcd_Init()
Lcd_Cmd(_LCD_CLEAR)
Lcd_Cmd(_LCD_CURSOR_OFF)
LCD_Out(1,1,"Armatura-ural.ru")
delay_ms(300)

hi(ustavka_min) = EEPROM_Read(00)
lo(ustavka_min) = EEPROM_Read(01)
hi(ustavka_max) = EEPROM_Read(02)
lo(ustavka_max) = EEPROM_Read(03)
hi(thc_on_min) = EEPROM_Read(04)
lo(thc_on_min) = EEPROM_Read(05)
hi(thc_on_max) = EEPROM_Read(06)
lo(thc_on_max) = EEPROM_Read(07)
thc_time = EEPROM_Read(08)

if ustavka_max = ustavka_min then ustavka_max = 200 ustavka_min = 80 thc_on_min = 70 thc_on_max=220 thc_time=100 end if

if knopka_setting = 0 then
Lcd_Cmd(_LCD_CLEAR)
LCD_Out(1,1,"ustavka_min")
while knopka_setting = 0 wend
while knopka_setting = 1
if knopka_plus =0 then ustavka_min = ustavka_min + 1 while knopka_plus=0 wend end if
if knopka_minus=0 then ustavka_min = ustavka_min - 1 while knopka_minus=0 wend end if
WordToStr(ustavka_min, txt5)
LCD_Out(2,1,txt5)
wend
while knopka_setting = 0 wend
Lcd_Cmd(_LCD_CLEAR)
LCD_Out(1,1,"ustavka_max")
while knopka_setting = 1
if knopka_plus =0 then ustavka_max = ustavka_max + 1 while knopka_plus=0 wend end if
if knopka_minus=0 then ustavka_max = ustavka_max - 1 while knopka_minus=0 wend end if
WordToStr(ustavka_max, txt5)
LCD_Out(2,1,txt5)
wend
while knopka_setting = 0 wend
Lcd_Cmd(_LCD_CLEAR)
LCD_Out(1,1,"thc_on_min")
while knopka_setting = 1
if knopka_plus =0 then thc_on_min = thc_on_min + 1 while knopka_plus=0 wend end if
if knopka_minus=0 then thc_on_min = thc_on_min - 1 while knopka_minus=0 wend end if
WordToStr(thc_on_min, txt5)
LCD_Out(2,1,txt5)
wend
while knopka_setting = 0 wend
Lcd_Cmd(_LCD_CLEAR)
LCD_Out(1,1,"thc_on_max")
while knopka_setting = 1
if knopka_plus =0 then thc_on_max = thc_on_max + 1 while knopka_plus=0 wend end if
if knopka_minus=0 then thc_on_max = thc_on_max - 1 while knopka_minus=0 wend end if
WordToStr(thc_on_max, txt5)
LCD_Out(2,1,txt5)
wend
while knopka_setting = 0 wend
Lcd_Cmd(_LCD_CLEAR)
LCD_Out(1,1,"thc_time")
while knopka_setting = 1
if knopka_plus =0 then thc_time = thc_time + 1 while knopka_plus=0 wend end if
if knopka_minus=0 then thc_time = thc_time - 1 while knopka_minus=0 wend end if
ByteToStr(thc_time, txt3)
LCD_Out(2,1,txt3)
wend
EEPROM_Write(00, hi(ustavka_min))
EEPROM_Write(01, lo(ustavka_min))
EEPROM_Write(02, hi(ustavka_max))
EEPROM_Write(03, lo(ustavka_max))
EEPROM_Write(04, hi(thc_on_min))
EEPROM_Write(05, lo(thc_on_min))
EEPROM_Write(06, hi(thc_on_max))
EEPROM_Write(07, lo(thc_on_max))
EEPROM_Write(08, thc_time)
end if

Lcd_Cmd(_LCD_CLEAR)

While true
TCNT1H = 0 'обнуляю старшие разряды счётчика
TCNT1L = 0 'обнуляю младшие разряды счётчика
for i = 0 to thc_time
delay_ms(1)
if probe_in = 0 then probe_out = 1 else probe_out = 0 end if
next i
Lo(thc) = TCNT1L 'читаю младший байт счётчика
Hi(thc) = TCNT1H 'читаю старший байт счётчика

adc_temp = ADC_Read(1)
if ((adc_rd > (adc_temp + 2)) or (adc_rd < (adc_temp - 2))) then adc_rd = adc_temp end if
ustavka = ustavka_min + ((ustavka_max - ustavka_min) * adc_rd / 1024)
ustavka_word = ustavka
WordToStr(ustavka_word, txt5)

if knopka_setting = 0 then Lcd_Init() Lcd_Cmd(_LCD_CURSOR_OFF) Lcd_Cmd(_LCD_CLEAR) end if
lcd_clear = lcd_clear + 1
if lcd_clear > 20 then lcd_clear = 0 Lcd_Cmd(_LCD_CLEAR) end if
LCD_Out(2,12,txt5)
WordToStr(thc, txt5)
LCD_Out(1,12,txt5)

if probe_in = 0
then probe_out = 1 LCD_Out(1,5,"-Touch-")
else probe_out = 0 LCD_Out(1,5," ")
end if

if ((thc < thc_on_max) and (thc > thc_on_min)) then
LCD_Out(1,1,"ON ")
thc_on = 1
if thc = ustavka_word then
thc_down=0
thc_up=0
LCD_Out(2,1,"OK ")
end if
if thc > ustavka_word then
thc_down=1
thc_up=0
LCD_Out(2,1,"DOWN")
end if
if thc < ustavka_word then
thc_down=0
thc_up=1
LCD_Out(2,1,"UP ")
end if
else
LCD_Out(1,1,"OFF")
thc_on = 0
thc_down=0
thc_up=0
LCD_Out(2,1," ")
end if

wend
end.