Регулятор для паяльника

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

Через теплопроводную прокладку можно, но не желательно. В случае пробоя прокладки, высокое напряжение от сети пойдёт в слаботочную
Реклама
Друг Кота
Аватара пользователя
Сообщения: 43976
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

[uquote="2zz",url="/forum/viewtopic.php?p=3641871#p3641871"]можно ли на один радиатор вешать Симистр ТС 106-10 и стабилизатор 7805 и если поставить че тогда может быть????[/uquote]А вы уверены, что радиаторы там вообще нужны?
Паяльник мощностью 100 ватт - это примерно 0,5 ампера, падение напряжения на открытом тиристоре- <1,65 вольта, рассеиваемая мощность при этом- 0,825 ватта.. "болт" симистора может 1 ватт рассеять без радиатора, собственно, как и корпус ТО-220..
Для "самоуспокоения" можно прикрутить алюминиевую пластинку 1х2 сантиметра размером.

7805 - то же самое- максимальный ток потребления по линии +5 вольт- максимум 80 мА, и, даже если вы взяли трансформатор на 12 вольт, то на 7805 будет рассеиваться максимум 0,8 ватта..

А вот такого радиатора:
Изображение
https://www.chipdip.ru/product/kg-300-1
хватит "за глаза"..

Конечно, если вам очень хочется, то можно и такой поставить:
Изображение
https://www.chipdip.ru/product/hs-172-300 :))) :))) :)))
Реклама
2zz
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт мар 11, 2014 16:57:17

Сообщение 2zz »

да насмотрелся на картинки те кто собрали да фото выложили у них большие стоят вот я и подумал надо большой спасибо за совет
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

АлександрЛ, это вы все больше теоретически теоретизируете, я же исхожу из практики практического применения :) .
Радиатор на 7805 нужен. Хотя для питания используется мелкомощный понижающий транс 220В/9В, потом 7805, все равно греется, зараза. Не сильно. Радиатор больше "по привычке", "на всякий случай" и "чтобы был".
Симистор используеся 4-амперный BT134-600E, реальных ваттов 500 хватает для питания утюга, не говоря о 80-ваттном паяльнике, дырка для крепления радиатора к симистору даже не предусмотрена, можно, конечно, что-нибудь мутить на липучке, но необходимости нет. Не греется, зараза :) .

Изображение

Добавлено after 6 hours 42 minutes 8 seconds:
Что здесь поменять, чтобы шаг таймера был не 10 минут, а 1 минута?
Спойлер

Код: Выделить всё

	if (regim==ST_TIM_OFF){
		inc_dec_param(&Setting.TimOff, 60, 0, 1); // Ограничение максимального времени в 60*10 минут (10 часов)
		if (Setting.TimOff==0) Blank=0;
		if (Key==KEY_SET) {
			save_struct_eep(); 
			if (Setting.TimOff==0){
			//	Setting.TimAlarm=0;
				regim=ST_END;
				}
			else{
				regim=ST_TIM_ALARM;
				}
			}
		Key=0;
		return;
		}

// ...

if (regim==ST_TIM_ALARM){
		if (Setting.TimAlarm == 0) Setting.TimAlarm=1;
		if (Setting.TimOff==1){ // Максимальное время не более времени отключение и не более 10 минут
			MaxVol=9;
			if (Setting.TimOff*10 == Setting.TimAlarm) Setting.TimAlarm=MaxVol; 
			}
		else{
			MaxVol=10;
			}

// ...

		if (Setting.TimOff>0) // Если задержка отключения больше ноля, то отрабатываем таймер
			{
			//-------Мигание_и_выключение------------
			if (PowerTmp)
			{
			if (++TimeOff>((Setting.TimOff*600*10)-(Setting.TimAlarm*60*10))){ // Задержка на начало мигания
				Flag|=MIGANIE;
				if (TimeOff>(Setting.TimOff*600*10)) PowerTmp=0;//д.стоять ниже по коду if (ChangePower!=PowerTmp)
				if (--TimeBlank==0)
					{
					if ( Blank && TimeOff>((Setting.TimOff*600*10)-300) ) ON(BUZZER);	else OFF(BUZZER);
					if ( Blank )
						{// параметр будет виден
						Blank=0;
						TimeBlank=5;//0.5sek
					//	ON(BUZZER); // 0.5sek
						}
					else
						{
						Blank=1;
						TimeBlank=2;
					//	OFF(BUZZER); // 0.2 sec
						}
					}
				}
			}
			else{ 
			Blank=0;
			TimeBlank=1;
			}
			}
Так получится?

Код: Выделить всё

// ...
		if (Setting.TimOff>0) // Если задержка отключения больше ноля, то отрабатываем таймер
			{
			//-------Мигание_и_выключение------------
			if (PowerTmp)
			{
			if (++TimeOff>((Setting.TimOff*6000*1)-(Setting.TimAlarm*600*1))){ // Задержка на начало мигания
				Flag|=MIGANIE;
				if (TimeOff>(Setting.TimOff*6000*1)) PowerTmp=0;//д.стоять ниже по коду if (ChangePower!=PowerTmp)
				if (--TimeBlank==0)
					{
					if ( Blank && TimeOff>((Setting.TimOff*6000*1)-3000) ) ON(BUZZER);	else OFF(BUZZER);
					if ( Blank )
						{// параметр будет виден
// ...
Последний раз редактировалось webtime Пт май 31, 2019 15:16:36, всего редактировалось 1 раз.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

Ты по какой ссылке скачал исходники, со starcd или по моей ссылке? В моём варианте шаг таймера и так 1 минута, просто отображается как 10 и обрабатывается как 10, а хранится как 1 минута.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

По вашей.[uquote="radteh",url="/forum/viewtopic.php?p=3547597#p3547597"]Я компилирую при помощи WinAVR и у меня нет ошибок

upd
Обновил архив, добавил версию для atmega168p https://yadi.sk/d/JBkJLlaNi3Ef6w[/uquote]Чтобы отображалось, как 1 минута и обрабатывалось, как 1 минута.
Последний раз редактировалось webtime Сб июн 01, 2019 00:36:21, всего редактировалось 1 раз.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
Реклама
2zz
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт мар 11, 2014 16:57:17

Сообщение 2zz »

radteh https://yadi.sk/d/JBkJLlaNi3Ef6w прошил вашей обновлённой прошивкой ОК Atmega8 проверил таймер отключения и на ЧИС и на ПРЦ
выставляю tOF 10( меньше нет а жаль ) затем выставляю tAL 1 минуту
должон выключится через 10 мин и заморгать за 1 мин. до отключения.
А у меня отключается через 17-18 минут ну никак не 10 мин ну а как моргает я не засекал
Агрегат заслуживает Высшую оценку и благодарность всем кто принимал в нем участие !!!!!
2zz
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт мар 11, 2014 16:57:17

Сообщение 2zz »

radteh
не могли бы вы скомпилировать звуковое предупреждение и нажатие кнопок для Atmega8 для ОК(общего катода)да можно и для ОА.если такое возможно.
Вы вроде сбирались на выходных????
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

Времени не было. По поводу того что вместо 10 минут больше, то надо сверять с другими собравшими. Проблема или в коде или фьюзах
2zz
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт мар 11, 2014 16:57:17

Сообщение 2zz »

фьюзы ставил как на картинки у автора для Атмега 8
EESVE галочка
BOOTSZ1 галочка
BOOTSZ0 галочка
BODEN галочка
SUTO галочка
CKSEL3 галочка
CKSEL2 галочка
Остальные клеточки пустые!!!
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

Фюзы правильные.
Проверено для Atmega8 и Atmega48.
Проблем не обнаружено, все работает корректно.
На Lock Value для Atmega48 в данном случае можно внимания не обращать.

Изображение
Изображение

Категорически не советую использовать прошивку от RadioKot, вещь глючная.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

Глянул прошивку и могу сказать что звуковое предупреждение об отключении включено для всех контроллеров с ОК. Сначала индикатор мигает, а потом появляется бипер на порте D3.

Я правильно понял что у webtime таймер работает корректно, а у 2zz нет?
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

Да.
1. звуковое предупреждение об отключении включено для всех контроллеров с ОК.
2. у webtime таймер работает корректно.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

webtime, ты хочешь поменять шаг какого таймера? Если просто поменять шаг таймера, то максимальное время работы будет не более 255 минут, иначе нужно ещё несколько правок вносить.
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

[uquote="radteh",url="/forum/viewtopic.php?p=3646083#p3646083"]поменять шаг какого таймера?[/uquote]А их, отображаемых/настраиваемых таймеров, у нас там много?

Я имел в виду:
- шаг 1 мин установки и отображения для таймера выключения (tOF), сейчас шаг 10.
У таймера сигнала (аларма) (tAL) шаг и так 1 мин, до макс 9 мин.

Добавлено after 2 minutes 31 second:
Чтобы для таймера выключения (tOF) можно было задать, например, 7 минут, или 35 минут и т.п.
Для Atmega48, если это имеет значение.

Добавлено after 3 minutes 14 seconds:
Время работы будет не более 255 минут - это 4 часа 15 минут, для большинства бытовых задач как бы достаточно.
нужно ещё несколько правок вносить.
Правки кардинальные?
Последний раз редактировалось webtime Чт июн 06, 2019 03:45:09, всего редактировалось 1 раз.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
2zz
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт мар 11, 2014 16:57:17

Сообщение 2zz »

Проверил звук на Atmega8 есть а вот моргать начинает через 17 мин место 10 и звук за минуту появляется. Заказал у китайцев Atmega48 попробую на ней когда придёт.
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

2zz, у меня собраны два регулятора.
На Atmega8 с прошивкой radteh m8_OK.hex, одна из последних прошлогодних, архив был Heater_fv03, по-моему.
На Atmega48 с прошивкой из последнего архива radteh https://yadi.sk/d/JBkJLlaNi3Ef6w .
Оба варианта сборки работают адекватно и аналогично.

Добавлено after 7 minutes 11 seconds:
Atmega8 здесь тактируется от внутреннего RC генератора частотой 4MHz, вы ему случайно не задали тактирование частотой 8MHz? Хотя не знаю, как это могло повлият на таймер.
Вложения
m8_OK.hex.zip
(3.3 КБ) 249 скачиваний
Последний раз редактировалось webtime Чт июн 06, 2019 06:43:58, всего редактировалось 1 раз.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

2zz, я пересоберу все прошивки, возможно неправильно указал частоту таймера для mega8. Там должно быть mega48 1МГц, mega8 4МГц, mega168p 8МГц.

webtime, таймер отключения и таймер предупреждения, но шаг 10 только на таймере отключения.

Вот что нужно сделать для исправления
Спойлер

Код: Выделить всё

// В функции проверки памяти
static void read_struct_eep(void){
//....
// Setting.TimOff исправить максимальное значение
if ( crc!= Setting.crc || Setting.TimOff > 60 || Setting.TimAlarm > 10 || Setting.TimAlarm == (Setting.TimOff*10))

//....
}

// В функции проверки кнопок
void key_action(void){
//....
    if (regim==ST_TIM_OFF){
        inc_dec_param(&Setting.TimOff, 60, 0, 1); // Вместо 60 указать максимальное время работы
//....
 
А вот и первые сложности

Код: Выделить всё

//....
// Функция проверки кнопок
void key_action(void){
//....
// Условие времени таймера старое
    if (regim==ST_TIM_ALARM){
        if (Setting.TimAlarm == 0) Setting.TimAlarm=1;
        if (Setting.TimOff==1){ // Максимальное время не более времени отключение и не более 10 минут
            MaxVol=9;
            if (Setting.TimOff*10 == Setting.TimAlarm) Setting.TimAlarm=MaxVol; 
            }
        else{
            MaxVol=10;
            }
        inc_dec_param(&Setting.TimAlarm, MaxVol, 1, 1);
        if (Key==KEY_SET) {
            save_struct_eep(); 
            regim=ST_END;
            }        
        Key=0;
        return;
        }

// Условие времени таймера новое
    if (regim==ST_TIM_ALARM){
        if (Setting.TimAlarm == 0) Setting.TimAlarm=1;      
        if ((Setting.TimOff <= Setting.TimAlarm) && (Setting.TimOff < 10)){
            MaxVol = Setting.TimOff - 1;
        }
        else{
            MaxVol=10;
            }
        inc_dec_param(&Setting.TimAlarm, MaxVol, 1, 1);
        if (Key==KEY_SET) {
            save_struct_eep(); 
            regim=ST_END;
            }        
        Key=0;
        return;
        }
 
Теперь надо исправить индикацию для режима настройки таймера отключения

Код: Выделить всё

void data_led(void){
//....
    if (regim==ST_TIM_OFF) // Таймер отключения нагрузки
        {
        if (Flag & VIEWREG)
            {
            led_buffer[0]=font[f_t];
            led_buffer[1]=font[0];
            led_buffer[2]=font[f_F];
            }
            else{
            itoa2(Setting.TimOff, buf);
// Вот здесь нужно исправить
//            led_buffer[0]=font[buf[3]];
//            led_buffer[1]=font[buf[4]];
//            led_buffer[2]=font[0];
// На вот такое
//            led_buffer[0]=font[buf[2]];
//            led_buffer[1]=font[buf[3]];
//            led_buffer[2]=font[buf[4]];
            }
        return;
        }

//....
И последнее в основном коде

Код: Выделить всё

int main(void)
//....
            //-------Мигание_и_выключение------------
            if (PowerTmp)
//...
// В обоих строчка 600 заменить на 60
            if (++TimeOff>((Setting.TimOff*600*10)-(Setting.TimAlarm*60*10))){ // Задержка на начало мигания
                Flag|=MIGANIE;
                if (TimeOff>(Setting.TimOff*600*10)) PowerTmp=0;
//...
// Вместо 300 указать за какое время должна включиться пищалка, время в секундах умноженное на 10.
                if ( Blank && TimeOff>((Setting.TimOff*600*10)-300) ) ON(BUZZER);    else OFF(BUZZER);

//....
Вообще в коде есть ещё один момент который мне не нравится. Если настройками пользоваться не часто, то это не критично, а если постоянно, то лучше функцию настройки переделать. Сейчас сохранение настроек происходит каждый раз при переходе к следующему параметру. Хотя 100 000 циклов записи должно хватить.
Опытный кот
Аватара пользователя
Сообщения: 844
Зарегистрирован: Пт авг 31, 2018 21:53:52
Откуда: ул. Островидова, общага напротив

Сообщение webtime »

[uquote="radteh",url="/forum/viewtopic.php?p=3646099#p3646099"]А вот и первые сложности[/uquote]Не понял. Уточни, пожалуйста, в чем сложности?[uquote="radteh",url="/forum/viewtopic.php?p=3646099#p3646099"]Сейчас сохранение настроек происходит каждый раз при переходе к следующему параметру. Хотя 100 000 циклов записи должно хватить.[/uquote]Это плохо. Из моей практики, эти циклы еепрома заканчиваются очень быстро. В каком-то коде я ушел от этого, использовав для Eeprom Update вместо Write, что позволило не перезаписывать ячейку, если значение не изменилось.


Добавлено after 11 minutes 48 seconds:

Код: Выделить всё

// В функции проверки памяти
static void read_struct_eep(void){
//....
// Setting.TimOff исправить максимальное значение
if ( crc!= Setting.crc || Setting.TimOff > 60 || Setting.TimAlarm > 10 || Setting.TimAlarm == (Setting.TimOff*10))

//....
} 
исправить максимальное значение
на какое максимальное значение исправить?

Код: Выделить всё

// В функции проверки кнопок
void key_action(void){
//....
    if (regim==ST_TIM_OFF){
        inc_dec_param(&Setting.TimOff, 60, 0, 1); // Вместо 60 указать максимальное время работы
//....  
указать максимальное время работы
какое максимальное время работы указать?


radteh, какой использовать тег

Код: Выделить всё

[/b] для форума, чтобы исходник был раскрашен? у меня при обычном теге [b][code][/b] весь цитируемый код одним цветом детского поноса. Встречал на форумах, что можно в теге указывать язык, типа [b][code=cpp][/b], но тут такое не проходит.
Последний раз редактировалось webtime Чт июн 06, 2019 06:01:08, всего редактировалось 3 раза.
Варкалось. Хливкие шорьки
Пырялись по нове,
И хрюкотали зелюки,
Как мюмзики в мове.

:)))
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

Сложности в объёме исправляемого кода. Не просто значение переменной исправить, а функцию.
Для уменьшения количества записи в память, нужно команду save_struct_eep() вынести на выход из настроек. Скорее всего так и сделаю.
Максимальное значение нужно исправить на необходимое, но не более 255. Это сколько минут будет работать нагреватель.

PS Что-бы код раскрашивался, я ставлю тег
Ответить

Вернуться в «Статьи»