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

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


Ответить

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

Вс июн 17, 2018 05:50:04

Ну с выключением бузера можно побороться, надо в протеусе схему собрать проверить. А вот с лампочкой разбираться не очень хочется, что-то мне подсказывает что много переписывать надо. Ты хочешь регулятор использовать для освещения или нагревателя?
Кидай архив с последней версией где всё относительно нормально.

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

Вс июн 17, 2018 15:21:11

С выключением бузера как бы поборолись, выключается одновременно с миганием и лишнего не бузит.
Для нагревателя, хотя дополнительная функциональность лишней не бывает, как правило.
Лампочка 40 ват мигает только при установленных 25% мощности, однако :).
При 50% уже не мигает, так что править код в этом случае смысла/необходимости нет.

Смысл есть добавить в настройки возможность задать время выключения - TIME_POWER_OFF - несколько фиксированных значений - 30 мин., 60 мин., 120 мин. - было бы вполне достаточно. Это сложно?

В архиве все, включая проект протеус (shema_buzzer.pdsprj), бузер у меня в протеусе работать не хочет, подцепил динамик.
_solder.zip
текущий
(204.78 KiB) Скачиваний: 200
В ролике - работа кода
Код:
   if ( --Tim100msek==0 ) {
      OFF(BUZZER); //выключен
      Tim100msek=100;
// ...
, и лампочка при при 50% мощности.

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

Вс июн 17, 2018 15:46:40

Добавить не сложно, сам об этом думал. Нужно перенести переменную где храниться время отключения в другую область памяти.

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

Вс июн 17, 2018 18:04:14

Я имел в виду пункт меню настроек, типа, [Job], в котором можно задавать время выключения фиксированными значениями, например, [30], [60], [120].

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

Пн июн 18, 2018 05:03:18

Быстро результат не жди, у меня много вопросов к коду. Например вот этот кусок:
Код:
#if defined (__AVR_ATmega8__)
#    define Tim_Pause(tim)    ( (tim/0.004)+1 ) 
#else
#    define Tim_Pause(tim)    ( (tim/0.004)+1 )
#endif    
Происходит проверка для какого контроллера компиляция, но в обоих случаях создаётся один и тот-же макрос.

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

Пн июн 18, 2018 06:02:33

В коде везде проверка мк, некоторая избыточность кода может быть просто чтобы не запутаться, что к чему.

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

Пн июн 18, 2018 08:32:12

В том то и дело что проверки стоят, но они не все нужны. Вот ещё нашёл сброс сторожевого таймера (в случае atmega8 сброса не происходит), всё хорошо, только сторожевой таймер включен фьюзами, но не инициализирован. То есть по факту не работает.

Что-бы не запутаться пишут комментарии и дают говорящие имена переменным и функциям.

Итак, вроде что-то получилось и можно тестировать.
Вот что изменилось:
1. Удалён параметр _t_, вместо него теперь tOF. Время автоматического отключения, указывается в десятках минут, но не более 10 часов (600 минут или на экране 60). Если указать 0, то автоотключение будет выключено.
2. Введён параметр tAL, указывается в минутах и задаёт время начала мигания до отключения. Не может быть установлен больше tOF или 10 минут.
3. Звуковое оповещение срабатывает примерно за 20 секунд до отключения.

Сейчас раздумываю о звуковом подтверждении нажатия кнопок и входе в настройки.

Ссылка на бинарик: http://rgho.st/7GVVnslrh

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

Пн июн 18, 2018 17:45:27

Кто-то чистит код от промежуточных версий, кто-то оставляет, не закомментировав, например, ненужные проверки. Я тоже все вкрапления в разных местах OFF(BUZZER); по ходу работы просто закомментировал, потом почистил.

Звуковое подтверждение нажатия кнопок и входа в настройки, как опция, интересно, но не всегда нужно, мои кнопки 12х12 щелкают четко и громко, хотя да, у других могут быть и молчаливые кнопки.

Добавлено after 1 hour 21 minute 41 second:
Вопросы
1. Удалён параметр _t_, вместо него теперь tOF. Время автоматического отключения, указывается в десятках минут, но не более 10 часов
(600 минут или на экране 60). Если указать 0, то автоотключение будет выключено.
600 минут или на экране 60 - будет путать, если 600 минут, то и на экране 600 минут, место для третьей цифры есть.

Ни для tOF, ни для tAL указать 0 не могу, если жать по кругу кнопки [-][+], то для tOF или 1..., или ...60, задать 0 не получается, т.е., отключить автовыключение не могу. Для tAL - 1...10 по кругу.
2. Введён параметр tAL, указывается в минутах и задаёт время начала мигания до отключения. Не может быть установлен больше tOF или 10 минут.
Не может быть установлен больше tOF или МЕНЬШЕ 10 минут? Логичнее было бы не больше 10 мин.

Т.е., если задать tOF = 1 , tAL = 1 , то должно начать мигать сразу?
3. Звуковое оповещение срабатывает примерно за 20 секунд до отключения.
20 секунд мало, можно не успеть добежать из туалета.

Тестирование в железе

1.
tOF = 1, tAL = 1, начало мигать через 1 мин. после включения нагрузки.
Мигало тоже минут 10.
Сигнал бузера как бы за 20 секунд до отключения.

2.
tOF = 1, tAL = 9, мигания нет, что понятно, потому что время работы задано 10 минут, а мигание - через 90 минут работы, если я правильно понимаю логику работы этого варианта прошивки.
Мигание включилось одновременно с бузером за 20 секунд до отключения.
Т.е., мигаение надо задать не 1...10*10мин, а в текущем варианте 1...10, но в минутах, без кратности.

- tAL по факту устанавливается не меньше 1, не больше 9.
- Кратность tOF * 10 мин. как бы логично, а вот tAL в практическом использовании логичнее от 1 минуты.
- 600 минут в коде и 60 на экране - уже путает :) .

Исходники не судьба :( ?
Без исходников прошить под разные мк и индикаторы не прошить :( .
Ну и возможность подправить в коде значения tOF, tAL, исходя из конкретных условий или предппочтений, не была бы лишней.

Если не считать мелких шероховатостей, то данный функционал просто супер. То, чего очень-очень-очень не хватало.
Последний раз редактировалось elektro.kot Пн июн 18, 2018 22:45:08, всего редактировалось 1 раз.

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

Пн июн 18, 2018 18:03:07

Исходники будут, но когда всё будет готово.
tOF - кратность 10 минут, можно и сделать отображение в сотнях.
tAL - Кратность 1 минута. С некорректным миганием разберусь
Ошибку с невозможностью установки ноля просмотрел на релизе, сейчас исправлю.

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

Пн июн 18, 2018 18:31:55

Только что проверил.
tOF - 2, tAL-1 - мигает намного дольше 1 минуты, и 20 секунд бузера на практике таки мало, не все молодые и прыткие :) .

Добавлено after 2 minutes 32 seconds:
отображение в сотнях было бы лучше - сейчас меняется 1...2...3 ... 60 , было бы 10...20...30 ... 600 - было бы "интуитивно" понятно, что увеличиваем на 10 минут, в отличие от tAL - где увеличиваем на 1 минуту.

Добавлено after 7 minutes 31 second:
снова сделал
tOF - 2, tAL-1 - мигать начало минуты через 3 после включения нагрузки.

Добавлено after 16 minutes 2 seconds:
Повторно:
tOF - 2, tAL-1 - общее время работы ~20 мин., мигать начало через несколько минут после начала работы (точнее не засек), мигало ~15 минут (засек секундомером),
может, получилось, что tAL - это не смещение относительно tOF, а абсолютное значение времени мигания?

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

Пн июн 18, 2018 18:34:24

Подправил код:
1. Пищалку увеличил до 30 секунд.
2. Индикация tOF теперь трёхзначная.
3. tOF теперь можно выставить в ноль.
4. Индикацию предупреждения об отключении исправил.
http://rgho.st/6FGwRYqw9

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

Пн июн 18, 2018 19:10:58

Делаю, отпишусь.

Добавлено after 52 minutes 13 seconds:

Если tOF==000 - нет перехода к tAL - супер.
tAL - при переходе сюда иногда появляется 55 (?), листание [-+] - от 0 до 9.
Если при tOF==10, доступное мак. значение tAL==9 , то при tOF==20, мак. доступное значение tAL==10 , так задумано?

Тестирование 1
tOF==10, tAL==1
- включение мигания - за 1 мин. до отключения
- включение бузера - за 30 сек. до отключения
- в работе 10 мин.

Тестирование 2
tOF==20, tAL==5
- включение мигания - за 5 мин. до отключения
- включение бузера - за 30 сек. до отключения
- в работе 20 мин.

Код работает, как часы, теперь этот регулятор просто куколка :beer: .

Кроме запланированного озвучивания кнопок:
- можно задать при включении нагрузки не установку указанного в настройках фиксированного значения мощности, а установку при включении нагрузки последнего (фактического при отключении питания регулятора) значения мощности?
это важно, поскольку рабочая мощность практически никогда не соппадает з фиксированными значениями, всегда приходится подстраивать;
- в режиме работы добавить помигивающую точку в левом или правом разряде индикатора - для индицирования этого самого рабочего режима?

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

Вт июн 19, 2018 01:50:26

55 на tAL постараюсь отловить. В какие моменты появляется, когда tOF был равен нолю или когда любому значению?
Максимум 9 для tAL при tOF = 10, так и задумано.
Включение с последней использованной мощностью реализовать можно, но пропадает смысл пресетов.
Смысл мигающей точки не понятен, ведь если на экране цифры, то значит уже рабочий режим.

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

Вт июн 19, 2018 02:42:54

55 на tAL точно помню при заходе в настройки после прошивки, и было еще раз, кажется, я первый раз после прошивки не зашел в настройки tAL, т.е., 55 появляется при первом заходе в tAL, когда tAL не задан
Также после прошивки при первом заходе в tOF на индикаторе 550
И то, и то не напрягает.
После настройки все отображается, как задумано, - и в tAL, и в tOF - то, что задано.

Немного поработал с регулятор, да, в последней использованной мощности особого смысла нет, "рабочую" мощность задал как фикс. настройку №2, пример: фикс.№2 = [55] для коректировки - фикс.№1 = [50], фикс.№3 - [60] - вполне устраивает.

Мигающая раз в секунду точка в рабочем режиме просто чтобы немного "оживить" рабочее место :) , хотя подобное в паяльных станция делают для индикации режима нагрева, в этом регуляторе оно действительно только как элемент дизайна.
Последний раз редактировалось elektro.kot Вт июн 19, 2018 07:43:08, всего редактировалось 1 раз.

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

Вт июн 19, 2018 03:09:43

Эти значения появились из-за мусора в памяти, и там похоже не 55 а 255 (максимальное значение для переменных типа uint8_t). Нужно сделать проверку если значения в памяти больше максимальных, то выводить ошибку памяти EEP. Много украшений в 8к не запихнёшь. Я вообще удивлён что автор выложил прошу для mega48 размером больше 4к.

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

Вт июн 19, 2018 03:35:43

Да, выводить ошибку памяти EEP было бы полезно, у меня оно два раза появилось при первом заходе в настройки после ЕЕР, но мало ли где и как оно может проявиться еще.
Да, с украшением это я чот нафантазировал, полезнее было бы выводить в рабочем режим инфу о текущей фиксированной настройке - если фикс. настройка №1 - точка в левом разряде, фикс. настройка №2 - точка в среднем разряде, фикс. настройка №3 - точка в правом разряде. Для забывчивых, как я.

Мега48 - функционал - работает так же, как мега8, или есть отличия?

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

Вт июн 19, 2018 04:36:30

У mega48 памяти 4k, у mega8 памяти 8k, прошивка почти 8k размером. Разобрался, по факту прошивка около 2.5к, ещё много можно напихать.

Ну вроде всё устранил. Простые проверки, а размер ощутимо вырос. Исходники и бинарик: https://yadi.sk/d/2yt8Qiwd3Y6YYQ
Перезалил файл, ссылка прежняя. Мелкие исправления сделал.

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

Вт июн 19, 2018 05:38:23

Простые проверки - добавили проверку памяти?

Добавлено after 1 minute 34 seconds:
ещё много можно напихать - и что планируете :) ?

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

Вт июн 19, 2018 05:55:07

Добавил проверку значений в памяти. Добавить можно всё что угодно, вопрос в том что нужно для этого регулятора?

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

Вт июн 19, 2018 07:32:38

Последния версия вашей прошивки работает великолепно.

Что нужно, покажет практика.

Из не озвученных ранее замечаний, при настройке после прошивки при переходе в фиксированные настройки отображается 255 для всех фикс. настроек и режимов числа/проценты, т.е., начальные значения, как в вашем коде для tOF=10, tAL=1, не задаются. Так было изначально в оригинальной прошивке. Не пришла мысль проверить, включается с этими значениями - 255 - нагрузка, или не включается. Если включается и регулятор жарит на все 255, т.е., на все 100%, это не есть хорошо для нагрузки.

Было бы логично для фиксированных настроек изначально тоже задавать какие-нибудь небольшие значения по умолчанию, напр., фикс. №1=5%, фикс. №2=10%, фикс. №3=15%, и в числах фикс. №1=10, фикс. №2=20, фикс. №3=30.

Добавлено after 9 minutes 57 seconds:
Проверил.
Если после прошивки пропустить настройку фиксированных значений - оставить 255, нагрузка не включается и на индикатор выводится 255, требуя ввести значение фиксированной настройки. Т.е., включить нагрузку без установки фиксированных значений невозможно.
Ответить