Спасибо .
Устройство в пользовании выглядит довольно удобным и полезным. Вот бы кто смог озвучить переход в режим ожидания отключения. А то каждый раз смотреть на часы и ждать, когда оно отключится, при более-менее серьезной работе не вариант. Кода там, я так понимаю, как кот наплакал, кое-что накопал.
#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;
}
А если бы оно еще запоминало последний заданный уровень мощности, цены этой малютке не было бы.
Re: Регулятор для паяльника
Добавлено: Чт июн 07, 2018 16:03:16
RX24
Не совсем понятно, зачем ждать отключения?) К тому же, это не какая-то система, которую нужно после отключения загружать полдня) И вообще, если не нужен таймер отключения, вообще выключите эту функцию, и паяйте на здоровье, не задумываясь когда оно начнет мигать) В меню, эта функция последняя, в шапке темы прошивки помоему еще ранние, загуглите в сети проданный регулятор, есть архив с более свежими прошивками, там в меню добавлена функция выключения таймера, если он не нужен.
Re: Регулятор для паяльника
Добавлено: Пт июн 08, 2018 04:07:53
elektro.kot
Следуя вашей логике, усилитель руля в автомобиле тоже нафиг не нужен, хотя дискутировать нет никакого желания.
Функция выключения таймера добавлена каким-то добрым человеком, судя по всему, уже много лет как. Отключать ее - себе дороже, поскольку сам не единожды, выйдя из дома, был терзаем мыслью "а выключил ли я ... (необходимое подставить)" .
Также много веков назад уважаемый 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], то лучше и не начинать. Результаты в большинстве своем печальны.
Re: Регулятор для паяльника
Добавлено: Сб июн 09, 2018 02:40:29
radteh
У этого регулятор нет режима ожидания, есть предупреждение об отключении. Можно дополнить режим мигания звуковым оповещением, но пищать всё время пока мигает (будь то 10 минут как в оригинале или 5) это мне кажется лишнее.
Re: Регулятор для паяльника
Добавлено: Сб июн 09, 2018 04:58:40
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;
}
}
Re: Регулятор для паяльника
Добавлено: Сб июн 09, 2018 15:55:23
radteh
Если бузер нужен только для предупреждения, то ничего. Не забудь указать режим порта на выход и включить подтяжку. Если бузер неправильно подключишь, то буде пищать всё время.
Re: Регулятор для паяльника
Добавлено: Сб июн 09, 2018 17:00:52
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...
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 сек будет выключен
}
}
Это самый простой способ по допиливанию этого кода.
Re: Регулятор для паяльника
Добавлено: Сб июн 09, 2018 17:38:19
Boxmail
вот нормальный паяльник, а раньше там еще синие были СТ-96 и 95 что ли. У мну даже жало на нем родное осталось, хотел заменить но потом руки так и не дошли, паяет что менять.
if (--TimeBlank==0) {
// PORTD.3=Blank; // Âîò ýòó ñòðî÷êó äîáàâèòü
в этом случае не нужна?
Попробовал скомпилировать со строкой PORTD.3=Blank; и залить hex. Показывает ерунду. Не зря сообщало об ошибках.
Чем это было скомпилировано?
Или надо где-то явно указывать, что это для Atmega8?
// 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: Регулятор для паяльника
Добавлено: Вс июн 10, 2018 14:22:28
radteh
В файле main.c внутри функции "static void avr_init(void)" пишешь DRIVER(BUZZER,OUT), там где и остальные DRIVER описаны.
Строчки начинающиеся на "//" это коментарии
Re: Регулятор для паяльника
Добавлено: Вс июн 10, 2018 15:07:00
elektro.kot
Исправил почти практически после отправки того сообщения, не сразу обратил внимание на функцию инициализации мк.
Все работает .
Порт PD5 - напряжение 3 вольта, я рассчитывал на 5, поставил вместо резистора 200-470 ом переменник 1К, переменник скручен практически в ноль, 12-вольтовый бузер пищит довольно громко .