можно ли на один радиатор вешать Симистр ТС 106-10 и стабилизатор 7805 и если поставить че тогда может быть????
А вы уверены, что радиаторы там вообще нужны? Паяльник мощностью 100 ватт - это примерно 0,5 ампера, падение напряжения на открытом тиристоре- <1,65 вольта, рассеиваемая мощность при этом- 0,825 ватта.. "болт" симистора может 1 ватт рассеять без радиатора, собственно, как и корпус ТО-220.. Для "самоуспокоения" можно прикрутить алюминиевую пластинку 1х2 сантиметра размером.
7805 - то же самое- максимальный ток потребления по линии +5 вольт- максимум 80 мА, и, даже если вы взяли трансформатор на 12 вольт, то на 7805 будет рассеиваться максимум 0,8 ватта..
Карма: 9
Рейтинг сообщений: 60
Зарегистрирован: Пт авг 31, 2018 21:53:52 Сообщений: 844 Откуда: ул. Островидова, общага напротив
Рейтинг сообщения:0
АлександрЛ, это вы все больше теоретически теоретизируете, я же исхожу из практики практического применения . Радиатор на 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 раз.
Ты по какой ссылке скачал исходники, со starcd или по моей ссылке? В моём варианте шаг таймера и так 1 минута, просто отображается как 10 и обрабатывается как 10, а хранится как 1 минута.
Зарегистрирован: Вт мар 11, 2014 16:57:17 Сообщений: 51
Рейтинг сообщения:0
radteh https://yadi.sk/d/JBkJLlaNi3Ef6w прошил вашей обновлённой прошивкой ОК Atmega8 проверил таймер отключения и на ЧИС и на ПРЦ выставляю tOF 10( меньше нет а жаль ) затем выставляю tAL 1 минуту должон выключится через 10 мин и заморгать за 1 мин. до отключения. А у меня отключается через 17-18 минут ну никак не 10 мин ну а как моргает я не засекал Агрегат заслуживает Высшую оценку и благодарность всем кто принимал в нем участие !!!!!
Зарегистрирован: Вт мар 11, 2014 16:57:17 Сообщений: 51
Рейтинг сообщения:0
radteh не могли бы вы скомпилировать звуковое предупреждение и нажатие кнопок для Atmega8 для ОК(общего катода)да можно и для ОА.если такое возможно. Вы вроде сбирались на выходных????
Зарегистрирован: Вт мар 11, 2014 16:57:17 Сообщений: 51
Рейтинг сообщения:0
фьюзы ставил как на картинки у автора для Атмега 8 EESVE галочка BOOTSZ1 галочка BOOTSZ0 галочка BODEN галочка SUTO галочка CKSEL3 галочка CKSEL2 галочка Остальные клеточки пустые!!!
Карма: 9
Рейтинг сообщений: 60
Зарегистрирован: Пт авг 31, 2018 21:53:52 Сообщений: 844 Откуда: ул. Островидова, общага напротив
Рейтинг сообщения:0
Фюзы правильные. Проверено для Atmega8 и Atmega48. Проблем не обнаружено, все работает корректно. На Lock Value для Atmega48 в данном случае можно внимания не обращать.
Категорически не советую использовать прошивку от RadioKot, вещь глючная.
_________________ Варкалось. Хливкие шорьки Пырялись по нове, И хрюкотали зелюки, Как мюмзики в мове.
Глянул прошивку и могу сказать что звуковое предупреждение об отключении включено для всех контроллеров с ОК. Сначала индикатор мигает, а потом появляется бипер на порте D3.
Я правильно понял что у webtime таймер работает корректно, а у 2zz нет?
webtime, ты хочешь поменять шаг какого таймера? Если просто поменять шаг таймера, то максимальное время работы будет не более 255 минут, иначе нужно ещё несколько правок вносить.
А их, отображаемых/настраиваемых таймеров, у нас там много?
Я имел в виду: - шаг 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 раз.
Зарегистрирован: Вт мар 11, 2014 16:57:17 Сообщений: 51
Рейтинг сообщения:0
Проверил звук на Atmega8 есть а вот моргать начинает через 17 мин место 10 и звук за минуту появляется. Заказал у китайцев Atmega48 попробую на ней когда придёт.
Карма: 9
Рейтинг сообщений: 60
Зарегистрирован: Пт авг 31, 2018 21:53:52 Сообщений: 844 Откуда: ул. Островидова, общага напротив
Рейтинг сообщения:0
2zz, у меня собраны два регулятора. На Atmega8 с прошивкой radtehm8_OK.hex, одна из последних прошлогодних, архив был Heater_fv03, по-моему. На Atmega48 с прошивкой из последнего архива radtehhttps://yadi.sk/d/JBkJLlaNi3Ef6w . Оба варианта сборки работают адекватно и аналогично.
Добавлено after 7 minutes 11 seconds: Atmega8 здесь тактируется от внутреннего RC генератора частотой 4MHz, вы ему случайно не задали тактирование частотой 8MHz? Хотя не знаю, как это могло повлият на таймер.
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 циклов записи должно хватить.
Сейчас сохранение настроек происходит каждый раз при переходе к следующему параметру. Хотя 100 000 циклов записи должно хватить.
Это плохо. Из моей практики, эти циклы еепрома заканчиваются очень быстро. В каком-то коде я ушел от этого, использовав для EepromUpdate вместо 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, какой использовать тег [code] для форума, чтобы исходник был раскрашен? у меня при обычном теге [code] весь цитируемый код одним цветом детского поноса. Встречал на форумах, что можно в теге указывать язык, типа [code=cpp], но тут такое не проходит.
_________________ Варкалось. Хливкие шорьки Пырялись по нове, И хрюкотали зелюки, Как мюмзики в мове.
Последний раз редактировалось webtime Чт июн 06, 2019 06:01:08, всего редактировалось 3 раз(а).
Сложности в объёме исправляемого кода. Не просто значение переменной исправить, а функцию. Для уменьшения количества записи в память, нужно команду save_struct_eep() вынести на выход из настроек. Скорее всего так и сделаю. Максимальное значение нужно исправить на необходимое, но не более 255. Это сколько минут будет работать нагреватель.
PS Что-бы код раскрашивался, я ставлю тег [code=php]
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения