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

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

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


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

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

Сообщение radteh »

Поправка разрядности в 0.1 секунду.
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Спасибо :) .
Устройство в пользовании выглядит довольно удобным и полезным. Вот бы кто смог озвучить переход в режим ожидания отключения. А то каждый раз смотреть на часы и ждать, когда оно отключится, при более-менее серьезной работе не вариант. Кода там, я так понимаю, как кот наплакал, кое-что накопал.

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

#include <avr/io.h>
#include <util/delay.h>

int main()
{
    DDRC = 0xff;           // Configure PORTC as output
    while(1)
    {
        PORTC = 0xff;        // Turn ON the Buzzer conneted to PORTC
        _delay_ms(1000);      // Wait for some time
        PORTC = 0x00;        // Turn OFF the Buzzer connected to PORTC
        _delay_ms(1000);      // Wait for some time
    }
    return 0;
}
Источник: Buzzer with AVR. И здесь о том же - How to Interface Buzzer with AVR Development Board - но побольше ... с моими знаниями это к текущему коду не прикрутить ... эх ...

А если бы оно еще запоминало последний заданный уровень мощности, цены этой малютке не было бы.
Последний раз редактировалось elektro.kot Пт июн 08, 2018 09:15:29, всего редактировалось 3 раза.
... ардубино и наебиэкспресс убивают творчество в зародыше.
RX24
Потрогал лапой паяльник
Сообщения: 367
Зарегистрирован: Ср мар 02, 2016 16:40:45

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

Сообщение RX24 »

Не совсем понятно, зачем ждать отключения?) К тому же, это не какая-то система, которую нужно после отключения загружать полдня) И вообще, если не нужен таймер отключения, вообще выключите эту функцию, и паяйте на здоровье, не задумываясь когда оно начнет мигать) В меню, эта функция последняя, в шапке темы прошивки помоему еще ранние, загуглите в сети проданный регулятор, есть архив с более свежими прошивками, там в меню добавлена функция выключения таймера, если он не нужен.
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Следуя вашей логике, усилитель руля в автомобиле тоже нафиг не нужен, хотя дискутировать нет никакого желания.
Функция выключения таймера добавлена каким-то добрым человеком, судя по всему, уже много лет как. Отключать ее - себе дороже, поскольку сам не единожды, выйдя из дома, был терзаем мыслью "а выключил ли я ... (необходимое подставить)" :) .

Также много веков назад уважаемый RadioKot умолял :)) о тестировании прошивки в железе, поскольку у самого, судя по всему, этого самого железа оказалось недостаточно достаточно :) .[uquote="RadioKot",url="/forum/viewtopic.php?p=2328573#p2328573"]Изменения в прошивке:
- После подачи питания идет сразу включение прибора а не режим Off
- при старте после подачи питания 40-50сек паяльник включается на полную для более быстрого разогрева
- после разогрева автоматически переход на "Пресет2"
- отключение девайса увеличено до 90мин (1ч30мин)[/uquote]Так вот, подробные результаты испытаний:
- нихрена оно не включает на полную мощность при включении.
И ни на какой "пресет2" не переходит, работает как старая добрая прошивка от автора разработки. Все еще жду автовыключения через 1ч30мин :))) .

ФЛУД :wink:
Если[uquote="RadioKot",url="/forum/viewtopic.php?p=2328573#p2328573"]времени нет особо разбираться[/uquote], то лучше и не начинать. Результаты в большинстве своем печальны.
... ардубино и наебиэкспресс убивают творчество в зародыше.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

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

Сообщение radteh »

У этого регулятор нет режима ожидания, есть предупреждение об отключении. Можно дополнить режим мигания звуковым оповещением, но пищать всё время пока мигает (будь то 10 минут как в оригинале или 5) это мне кажется лишнее.
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Режим мигания (предупреждение об отключении) можно отключить нажатием любой кнопки, и продолжить работать, да и пикнуть можно несколько раз, как-то-так (это демонстрация примерного решения, а не рабочий код):

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

         //-------Мигание_и_выключение------------
         if (PowerTmp)
         {
         if (++TimeOff>TIME_POWER_OFF_ALARM){
            // -------- buzzer ----------
            int buzzer_count;
            buzzer_count = 10;
            while (num <= buzzer_count) {
                PORTD.3 = 1;
                delay_ms(500);
                PORTD.3 = 0;
                delay_ms(500);
            }
            if ( KEY_PRESS(BTN_PLUS) || KEY_PRESS(BTN_MINUS) || KEY_PRESS(BTN_SET) ){// была нажата любая кнопка
                if (PORTD.3 != 0) {
                    PORTD.3 = 0;
                }               
            }
            // ---------- end buzzer ----------
Относительно лишнего, была бы возможность выбрать прошивку с бузером или без бузера, я бы выбрал с бузером.
... ардубино и наебиэкспресс убивают творчество в зародыше.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

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

Сообщение radteh »

delay_ms(500); - вот это повлияет на работу регулятора
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

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

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

Сообщение radteh »

Ты в основной код ставишь две паузы в полсекунды. Вот так будет правильней

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


if 
(--TimeBlank==0)
{
    PORTD.3 = Blank// Вот эту строчку добавить
    if ( Blank )
    {
        Blank=0;
        TimeBlank=5;//0.5sek
    }
    else
    
{
        Blank=1;
        TimeBlank=2;
    }
}
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Супер! Спасибо.

Бузер с встроенным генератором подключать так?

Изображение

Уточните, пожалуйста.

В обработку нажатия кнопок ничего добавлять не надо?
Спойлер

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

//----------   
   //static uint8_t antdr, count_press, povtor;
   if ( KEY_PRESS(BTN_PLUS) || KEY_PRESS(BTN_MINUS) || KEY_PRESS(BTN_SET) ){// была нажата любая кнопка
      if ( antdr>=pause_after_press[count_press] ) antdr=0;
      
      if (++antdr==3){
         //if ( KEY_PRESS(BTN_PLUS ) && KEY_PRESS(BTN_MINUS) )
         //   Key=KEY_OBE;
         //else
         if ( KEY_PRESS(BTN_PLUS) )
            Key=KEY_PLUS;
         if ( KEY_PRESS(BTN_MINUS ) )
            Key|=KEY_MINUS;
         if ( KEY_PRESS(BTN_SET ) ){
            Key|=KEY_SET;
            ViewReg=10;
            Flag|=VIEWREG;
            }
            
         if (count_press<sizeof(pause_after_press)-1) count_press++;
         if (++povtor>=sizeof(pause_after_press)+20) Inc=3;
         TimeState=200;
         }
      }
      else{
      Key=KEY_VOID;
      antdr=count_press=povtor=0;
      Inc=1;
      }
}
... ардубино и наебиэкспресс убивают творчество в зародыше.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

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

Сообщение radteh »

Если бузер нужен только для предупреждения, то ничего. Не забудь указать режим порта на выход и включить подтяжку. Если бузер неправильно подключишь, то буде пищать всё время.
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

[uquote="radteh",url="/forum/viewtopic.php?p=3396332#p3396332"]Не забудь указать режим порта на выход и включить подтяжку.[/uquote]Подскажите, пожалуйста, как это сделать. Опыт общения с мк у меня на уровне прошил/запаял.

И у меня в CodeVisionAVR User и AVRStudio 4.19 компилиться с ошибками. Чем компилить?
Спойлер

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

Build started 9.6.2018 at 18:11:32
      0 [main] sh 7708 sync_with_child: child 6856(0x144) died before initialization with status code 0xC0000142
  62588 [main] sh 7708 sync_with_child: *** child state waiting for longjmp
/usr/bin/sh: fork: Resource temporarily unavailable

-------- begin --------
avr-gcc (AVR_8_bit_GNU_Toolchain_3.3.0_364) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Size before:
      0 [main] sh 4232 sync_with_child: child 7108(0x13C) died before initialization with status code 0xC0000142
   8308 [main] sh 4232 sync_with_child: *** child state waiting for longjmp
/usr/bin/sh: fork: Resource temporarily unavailable
make: *** [sizebefore] Ïîìèëêà 128
Build failed with 1 errors and 0 warnings...
... ардубино и наебиэкспресс убивают творчество в зародыше.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

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

Сообщение radteh »

В файле main.h пишешь что-то вроде

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

#define BUZZER    D,3,L  // Возможно вместо L надо будет написать H   

В файле main.c пишешь что-то вроде

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

DRIVER(BUZZER,OUT)
.
 . .

if (--TimeBlank==0)
{
    if ( Blank )
    {
        Blank=0;
        TimeBlank=5;//0.5sek
        ON(BUZZER); // 0.5 сек будет включен
    }
    else
    
{
        Blank=1;
        TimeBlank=2;
        OFF(BUZZER); // 0.2 сек будет выключен
    }

Это самый простой способ по допиливанию этого кода.
Аватара пользователя
Boxmail
Открыл глаза
Сообщения: 57
Зарегистрирован: Пт мар 10, 2017 11:46:51
Откуда: РФ Энгельс
Контактная информация:

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

Сообщение Boxmail »

Изображение вот нормальный паяльник, а раньше там еще синие были СТ-96 и 95 что ли. У мну даже жало на нем родное осталось, хотел заменить но потом руки так и не дошли, паяет что менять.
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Строчка

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

            if (--TimeBlank==0) {
//               PORTD.3=Blank; // Âîò ýòó ñòðî÷êó äîáàâèòü
в этом случае не нужна?
Попробовал скомпилировать со строкой PORTD.3=Blank; и залить hex. Показывает ерунду. Не зря сообщало об ошибках.
Чем это было скомпилировано?
Или надо где-то явно указывать, что это для Atmega8?

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

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

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

Сообщение radteh »

Нужно указать для какого контроллера и тип индикатора с общим анодом или общий катодом что ты применил.
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Да, надо было раскомментировать

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

// main.h 
#define KATOD
Компилировалось в WinAVR, ошибок нет.

Так добавить Ваш код будет правильно?

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

// main.h
#define KATOD
#define BUZZER   D,3,L  // Возможно вместо L надо будет написать H

// main.h
int main(void)
{
uint8_t TimeBlank=1;//Tim10msek=10,
uint8_t Tim100msek=10, TimLed=4,ChangePower=0;

avr_init();
read_struct_eep();
TriacGate=LARGE_LIMIT_FI;//выключен
// main.c пишешь что-то вроде
DRIVER(BUZZER,OUT)

// ...

         //-------Мигание_и_выключение------------
         if (PowerTmp)
         {
         if (++TimeOff>TIME_POWER_OFF_ALARM){
            Flag|=MIGANIE;
            if (TimeOff>TIME_POWER_OFF) PowerTmp=0;//д.стоять ниже по коду if (ChangePower!=PowerTmp)
            if (--TimeBlank==0)
               {
               if ( Blank )
                  {// параметр будет виден
                  Blank=0;
                  TimeBlank=5;//0.5sek
                  ON(BUZZER); // 0.5 сек будет включен
                  }
               else
                  {
                  Blank=1;
                  TimeBlank=2;
                  OFF(BUZZER); // 0.2 сек будет выключен
                  }
               }
            }
         }
... ардубино и наебиэкспресс убивают творчество в зародыше.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

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

Сообщение radteh »

В файле main.c внутри функции "static void avr_init(void)" пишешь DRIVER(BUZZER,OUT), там где и остальные DRIVER описаны.
Строчки начинающиеся на "//" это коментарии
Аватара пользователя
elektro.kot
Электрический кот
Сообщения: 1020
Зарегистрирован: Сб фев 04, 2017 12:16:42
Откуда: Украина

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

Сообщение elektro.kot »

Исправил почти практически после отправки того сообщения, не сразу обратил внимание на функцию инициализации мк.

Все работает :music: .

Порт PD5 - напряжение 3 вольта, я рассчитывал на 5, поставил вместо резистора 200-470 ом переменник 1К, переменник скручен практически в ноль, 12-вольтовый бузер пищит довольно громко :) .

В макросе

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

#define BUZZER   D,3,L  // Возможно вместо L надо будет написать H
- 3 - это напряжение?

Спасибо Вам большущее :) .

Последний раз редактировалось elektro.kot Вс июн 10, 2018 16:31:02, всего редактировалось 1 раз.
... ардубино и наебиэкспресс убивают творчество в зародыше.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

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

Сообщение radteh »

D - это порт, 3 - номер этого порта. то есть порт PD3.
Вывод 5, это не порт PD5. Напряжение мерил под нагрузкой?
Ответить

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