Регулятор для паяльника
Re: Регулятор для паяльника
Поправка разрядности в 0.1 секунду.
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Спасибо
.
Устройство в пользовании выглядит довольно удобным и полезным. Вот бы кто смог озвучить переход в режим ожидания отключения. А то каждый раз смотреть на часы и ждать, когда оно отключится, при более-менее серьезной работе не вариант. Кода там, я так понимаю, как кот наплакал, кое-что накопал.Источник: Buzzer with AVR. И здесь о том же - How to Interface Buzzer with AVR Development Board - но побольше ... с моими знаниями это к текущему коду не прикрутить ... эх ...
А если бы оно еще запоминало последний заданный уровень мощности, цены этой малютке не было бы.
Устройство в пользовании выглядит довольно удобным и полезным. Вот бы кто смог озвучить переход в режим ожидания отключения. А то каждый раз смотреть на часы и ждать, когда оно отключится, при более-менее серьезной работе не вариант. Кода там, я так понимаю, как кот наплакал, кое-что накопал.
Код: Выделить всё
#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;
}А если бы оно еще запоминало последний заданный уровень мощности, цены этой малютке не было бы.
Последний раз редактировалось elektro.kot Пт июн 08, 2018 09:15:29, всего редактировалось 3 раза.
... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
Не совсем понятно, зачем ждать отключения?) К тому же, это не какая-то система, которую нужно после отключения загружать полдня) И вообще, если не нужен таймер отключения, вообще выключите эту функцию, и паяйте на здоровье, не задумываясь когда оно начнет мигать) В меню, эта функция последняя, в шапке темы прошивки помоему еще ранние, загуглите в сети проданный регулятор, есть архив с более свежими прошивками, там в меню добавлена функция выключения таймера, если он не нужен.
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Следуя вашей логике, усилитель руля в автомобиле тоже нафиг не нужен, хотя дискутировать нет никакого желания.
Функция выключения таймера добавлена каким-то добрым человеком, судя по всему, уже много лет как. Отключать ее - себе дороже, поскольку сам не единожды, выйдя из дома, был терзаем мыслью "а выключил ли я ... (необходимое подставить)"
.
Также много веков назад уважаемый RadioKot умолял
о тестировании прошивки в железе, поскольку у самого, судя по всему, этого самого железа оказалось недостаточно достаточно
.[uquote="RadioKot",url="/forum/viewtopic.php?p=2328573#p2328573"]Изменения в прошивке:
- После подачи питания идет сразу включение прибора а не режим Off
- при старте после подачи питания 40-50сек паяльник включается на полную для более быстрого разогрева
- после разогрева автоматически переход на "Пресет2"
- отключение девайса увеличено до 90мин (1ч30мин)[/uquote]Так вот, подробные результаты испытаний:
- нихрена оно не включает на полную мощность при включении.
И ни на какой "пресет2" не переходит, работает как старая добрая прошивка от автора разработки. Все еще жду автовыключения через 1ч30мин
.
ФЛУД
Если[uquote="RadioKot",url="/forum/viewtopic.php?p=2328573#p2328573"]времени нет особо разбираться[/uquote], то лучше и не начинать. Результаты в большинстве своем печальны.
Функция выключения таймера добавлена каким-то добрым человеком, судя по всему, уже много лет как. Отключать ее - себе дороже, поскольку сам не единожды, выйдя из дома, был терзаем мыслью "а выключил ли я ... (необходимое подставить)"
Также много веков назад уважаемый RadioKot умолял
- После подачи питания идет сразу включение прибора а не режим Off
- при старте после подачи питания 40-50сек паяльник включается на полную для более быстрого разогрева
- после разогрева автоматически переход на "Пресет2"
- отключение девайса увеличено до 90мин (1ч30мин)[/uquote]Так вот, подробные результаты испытаний:
- нихрена оно не включает на полную мощность при включении.
И ни на какой "пресет2" не переходит, работает как старая добрая прошивка от автора разработки. Все еще жду автовыключения через 1ч30мин
ФЛУД
Если[uquote="RadioKot",url="/forum/viewtopic.php?p=2328573#p2328573"]времени нет особо разбираться[/uquote], то лучше и не начинать. Результаты в большинстве своем печальны.
... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
У этого регулятор нет режима ожидания, есть предупреждение об отключении. Можно дополнить режим мигания звуковым оповещением, но пищать всё время пока мигает (будь то 10 минут как в оригинале или 5) это мне кажется лишнее.
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Режим мигания (предупреждение об отключении) можно отключить нажатием любой кнопки, и продолжить работать, да и пикнуть можно несколько раз, как-то-так (это демонстрация примерного решения, а не рабочий код):Относительно лишнего, была бы возможность выбрать прошивку с бузером или без бузера, я бы выбрал с бузером.
Код: Выделить всё
//-------Мигание_и_выключение------------
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 ----------... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
delay_ms(500); - вот это повлияет на работу регулятора
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Не понял. Как повлияет?
... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
Ты в основной код ставишь две паузы в полсекунды. Вот так будет правильней
Код: Выделить всё
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: Регулятор для паяльника
Супер! Спасибо.
Бузер с встроенным генератором подключать так?

Уточните, пожалуйста.
В обработку нажатия кнопок ничего добавлять не надо?
Бузер с встроенным генератором подключать так?

Уточните, пожалуйста.
В обработку нажатия кнопок ничего добавлять не надо?
Спойлер
Код: Выделить всё
//----------
//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;
}
}... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
Если бузер нужен только для предупреждения, то ничего. Не забудь указать режим порта на выход и включить подтяжку. Если бузер неправильно подключишь, то буде пищать всё время.
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
[uquote="radteh",url="/forum/viewtopic.php?p=3396332#p3396332"]Не забудь указать режим порта на выход и включить подтяжку.[/uquote]Подскажите, пожалуйста, как это сделать. Опыт общения с мк у меня на уровне прошил/запаял.
И у меня в CodeVisionAVR User и AVRStudio 4.19 компилиться с ошибками. Чем компилить?
И у меня в 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...
... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
В файле main.h пишешь что-то вроде
В файле main.c пишешь что-то вроде
Это самый простой способ по допиливанию этого кода.
Код: Выделить всё
#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: Регулятор для паяльника
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Строчкав этом случае не нужна?
Попробовал скомпилировать со строкой PORTD.3=Blank; и залить hex. Показывает ерунду. Не зря сообщало об ошибках.
Чем это было скомпилировано?
Или надо где-то явно указывать, что это для Atmega8?


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


----------
Дверью ошиблись - вам сюда: Выбор паяльника.Boxmail писал(а):нормальный паяльник
... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
Нужно указать для какого контроллера и тип индикатора с общим анодом или общий катодом что ты применил.
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Да, надо было раскомментироватьКомпилировалось в WinAVR, ошибок нет.
Так добавить Ваш код будет правильно?
Код: Выделить всё
// main.h
#define KATODТак добавить Ваш код будет правильно?
Код: Выделить всё
// 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 сек будет выключен
}
}
}
}... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
В файле main.c внутри функции "static void avr_init(void)" пишешь DRIVER(BUZZER,OUT), там где и остальные DRIVER описаны.
Строчки начинающиеся на "//" это коментарии
Строчки начинающиеся на "//" это коментарии
- elektro.kot
- Электрический кот
- Сообщения: 1020
- Зарегистрирован: Сб фев 04, 2017 12:16:42
- Откуда: Украина
Re: Регулятор для паяльника
Исправил почти практически после отправки того сообщения, не сразу обратил внимание на функцию инициализации мк.
Все работает
.
Порт PD5 - напряжение 3 вольта, я рассчитывал на 5, поставил вместо резистора 200-470 ом переменник 1К, переменник скручен практически в ноль, 12-вольтовый бузер пищит довольно громко
.
В макросе - 3 - это напряжение?
Спасибо Вам большущее
.
Все работает
.Порт PD5 - напряжение 3 вольта, я рассчитывал на 5, поставил вместо резистора 200-470 ом переменник 1К, переменник скручен практически в ноль, 12-вольтовый бузер пищит довольно громко
В макросе
Код: Выделить всё
#define BUZZER D,3,L // Возможно вместо L надо будет написать HСпасибо Вам большущее
Последний раз редактировалось elektro.kot Вс июн 10, 2018 16:31:02, всего редактировалось 1 раз.
... ардубино и наебиэкспресс убивают творчество в зародыше.
Re: Регулятор для паяльника
D - это порт, 3 - номер этого порта. то есть порт PD3.
Вывод 5, это не порт PD5. Напряжение мерил под нагрузкой?
Вывод 5, это не порт PD5. Напряжение мерил под нагрузкой?
