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

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


Ответить

Re: Часы Super Clock - VFD

Пт май 25, 2018 16:18:47

v1.5
Ввел задержку 5с перед повторным опросом датчика движения после гашения часов. (Ложные срабатывания из-за помех по питанию).
Вынес настройки в отдельный файл. Исправил ошибку, из-за которой будильник мог не прозвонить. Исправил переход на зимнее время.
Вложения
m32SC_VFD_1.5.7z
(621.51 KiB) Скачиваний: 326

Re: Часы Super Clock - VFD

Чт янв 10, 2019 17:37:36

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

Начну с разъёмов,
Что подключать к разъёмам Х2, Х3 и без обозначения?

С Х1 тоже не всё понятно, туда подключаются кнопки или IR приёмник.
Схема подключения и назначение кнопок смотреть в исходной статье https://radiokot.ru/konkursCatDay2014/22/

Какой контроллер применён для сенсорных кнопок?

Куда припаивать датчик давления?
см. IC3 выводы 5, 6
Подтягивающие резисторы I2C это R3, R5

Софт для ПК и дройда сдесь https://radiokot.ru/forum/viewtopic.php ... 5#p2972725

Компилировать в CodevisionAVR https://sunduk.radiokot.ru/loadfile/?loa ... 52&turbo=1 вроде этот должен подойти.

Подсветка в платах сделана частично, надо сделать или отдельную плату для диодов, или переделать плату индикаторов.

Не нашел куда подключать датчик жестов. Предположительно к Х3, но какое соответствие контактов?

В исходном проекте ставится датчик влажности. Эти часы поддерживают его?

Ещё не нашел где брать EPROM?

Это пока все вопросы и некоторые ответы на них. Возможно появятся ещё после начала сборки. У меня последнее время перестали получаться платы при помощи ЛУТ, буду пробовать фоторезист.

Re: Часы Super Clock - VFD

Вс янв 13, 2019 15:35:46

Х1-кнопки.
Х2-вход от датчика движения.
Х3-Подключение датчика жестов. Подключение сравните с оригинальной схемой.
Без обозначения-Появляется логическая единица, пока звучит будильник.
Датчики ВМР-180/ВМЕ280 припаивать на шину I2C параллельно RTC. R3 и R5 нужно удалить если на плате датчика нет преобразователя уровней сигнала и стоят подтягивающие резисторы на 3.3В на самой плате датчика.
Подсветку никто не собирал как я понял, я тоже. Теоретически работает.
Часы поддержмвают те же датчики, что и в исходном проекте.
EEPROM лежит там же где и HEX: Debug/Exe/

Re: Часы Super Clock - VFD

Пн янв 14, 2019 17:17:11

По поводу датчика движения. На каком расстоянии он может срабатывать? Скажем на 3...4м сработает?
Буду делать с подсветкой, как подготовлю разводку платы, сразу выложу.
Если установлен FT232, то можно прошивать через него?

Re: Часы Super Clock - VFD

Пн янв 14, 2019 17:22:26

Смотря какой датчик и как его настроить.

Шить можно только через SPI.

Re: Часы Super Clock - VFD

Пн янв 14, 2019 17:24:22

На 3-4м думаю любой будет срабатывать.
По плате не скажу, нет сейчас доступа.

Re: Часы Super Clock - VFD

Чт янв 24, 2019 18:15:44

Резисторы между USB и FTDI какие должны быть? На плате написано 68ом, на схеме 22ом. Как правильно? Комп пишет, что устройство не опознано.

Re: Часы Super Clock - VFD

Чт янв 24, 2019 18:24:30

22Ом, можно поставить перемычки.

Re: Часы Super Clock - VFD

Пт янв 25, 2019 17:43:16

22ом не помогло, заработало с перемычками.
На плате светодиоды надо перевернуть, катодом вниз.
По даташиту на FT232 светодиоды подключаются к +5в, не к GND.

Re: Часы Super Clock - VFD

Вт янв 29, 2019 04:21:40

Запустил часы, работают хорошо. Замечательная конструкция!
Пришлось перематывать трансформатор, иногда начинало коротить, и ток взлетал свыше 2х ампер. В этом деле очень пригодился USB измеритель, успевал выключать. Фоторезистор поставил СФ-2, работает, но яркость велика, буду разбираться как настроить.
в конфиге параметр:
//"порог" датчика освещенности
#define BRIGHTNESS_THRESHOLD 50
в какую сторону менять для уменьшения яркости?

Термодатчику между плат очень жарко, буду переставлять в более прохладное место.

Re: Часы Super Clock - VFD

Чт янв 31, 2019 08:07:19

Это порог освещенности, при котором снижается яркость. А яркость свечения устанавливается в приложении.

Понятно.
Считал, что яркость меняется пропорционально освещённости. Оказывается в конфиге указывается порог при котором яркость свечения переключается между двумя значениями. Надо попробовать переделать на пропорциональный режим. Возможно смогу разобраться.

Re: Часы Super Clock - VFD

Чт янв 31, 2019 10:06:55

Я так понимаю вас не устраивает то, что они днем или ночью светят слишком ярко?
Надо изменить эти константы в еепром.
Код:
//==============прочее=================
eeprom unsigned char day_bright_value = DAY_BRIGHT;//яркость в дневном режиме
eeprom unsigned char night_bright_value = NIGHT_BRIGHT;//яркость в ночном режиме
unsigned char max_brightness = 254;         //максимальная яркость


Надо попробовать переделать на пропорциональный режим

Плохая идея :wink: .
Если соберитесь, то помните что человеческий глаз воспринимает яркость нелинейно.

Re: Часы Super Clock - VFD

Пт фев 01, 2019 09:34:30

Я так понимаю вас не устраивает то, что они днем или ночью светят слишком ярко?
Надо изменить эти константы в еепром.
Код:
//==============прочее=================
eeprom unsigned char day_bright_value = DAY_BRIGHT;//яркость в дневном режиме
eeprom unsigned char night_bright_value = NIGHT_BRIGHT;//яркость в ночном режиме
unsigned char max_brightness = 254;         //максимальная яркость

Можно так или, как посоветовал Lion_A, отрегулировать яркость в программе.

Re: Часы Super Clock - VFD

Пт фев 08, 2019 11:57:34

Вчера наблюдал забавное явление. Часы непрерывно по кругу уменьшали, а затем увеличивали яркость свечения. Наблюдал за этим несколько минут, сколько продолжалось не знаю, надо было уходить. Может внести небольшой гистерезис на переключение.

Re: Часы Super Clock - VFD

Вс фев 17, 2019 19:21:01

Возможно что и нужно, но у себя такого не наблюдал ни разу.

Исправил ошибку возникавшую при попытке скомпилировать с датчиком BME280. Других изменений нет.
Вложения
m32SC_VFD_1.6.7z
(597.81 KiB) Скачиваний: 254

Re: Часы Super Clock - VFD

Пн апр 08, 2019 15:40:23

Пришел датчик BME280, прошил v1.6, Комнатный датчик 18b20 убрал. Часы перестали показывать бегущую строку. Не показывает в автоматическом режиме ни датчиков, ни дату. В программе показывает температуру давление и влажность, аналогично при нажатии на кнопку.

Re: Часы Super Clock - VFD

Пн апр 08, 2019 18:44:07

Сейчас свои перепрошил, все работает.
Может что не то выложил. Попробуйте этот архив.
Вложения
m32SC_VFD_1.6.7z
(597.22 KiB) Скачиваний: 254

Re: Часы Super Clock - VFD

Вт апр 09, 2019 16:10:17

Заработало. Причина была до банальности простой, надо было переключить режим с нормального на Авто.

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

не получается настроить минуты в будильнике, записываю вот так:
// будни-124, суббота-128, выходные-130
{"Ежедневный будильник" , 254, 6, 0, 0},
{"будильник 2", 124, 7, 20, 0},
{"будильник 3", 128, 6, 40, 0},
{"будильник 4", 124, 5, 30, 0},
{"будильник 5", 254, 6, 0, 0}
в программе получаю иные значения минут. Как правильно?

Ещё у меня очень большая разница температуры, BME280 показывает 30гр., а 18b20 25гр. Это можно откорректировать?

Re: Часы Super Clock - VFD

Вт апр 09, 2019 23:11:31

Формат двоично-десятичный, вводите так:
Код:
{"будильник 2", 124, 0x07, 0x20, 1},


По поводу датчика, у меня есть один такой. Сразу после включения показывает правильно, а потом как будто нагревается. Начинает завышать температуру и занижать влажность. От такого лучше избавиться.
Можно попробовать в файле bme280.c вычитать из полученной температуры как-то так:
Спойлер
Код:
//расчитываем температуру
void bme280_CalcTemp(BME280_U8_t *pSign, BME280_U16_t *pTemperature)
{
 BME280_S32_t var1, var2, T;
 
 var1 = ((((adc_T>>3) - ((BME280_S32_t)dig_T1<<1))) * ((BME280_S32_t)dig_T2)) >> 11;
 var2 = (((((adc_T>>4) - ((BME280_S32_t)dig_T1)) * ((adc_T>>4) - ((BME280_S32_t)dig_T1))) >> 12) * ((BME280_S32_t)dig_T3)) >> 14;
 t_fine = var1 + var2;
 T = (t_fine * 5 + 128) >> 8;
 
 //=коррекция конкретного датчика=
 T -= 4 * 100;
 //=============
 
 if((T & 0x8000) == 0)*pSign = '+';
    else
    {
    *pSign = '-';
    T = ~T + 1;
    };

 *pTemperature = T;
}

Для влажности так:
Спойлер
Код:
//расчитываем влажность
void bme280_CalcHumidity(BME280_U16_t *pHumidity)
{
BME280_S32_t v_x1_u32r;

v_x1_u32r = (t_fine - ((BME280_S32_t)76800));
v_x1_u32r = (((((adc_H << 14) - (((BME280_S32_t)dig_H4) << 20) - (((BME280_S32_t)dig_H5) * v_x1_u32r)) +  ((BME280_S32_t)16384)) >> 15) * \
(((((((v_x1_u32r * ((BME280_S32_t)dig_H6)) >> 10) * (((v_x1_u32r * ((BME280_S32_t)dig_H3)) >> 11) + ((BME280_S32_t)32768))) >> 10) + \
((BME280_S32_t)2097152)) *  ((BME280_S32_t)dig_H2) + 8192) >> 14));
v_x1_u32r = (v_x1_u32r - (((((v_x1_u32r >> 15) * (v_x1_u32r >> 15)) >> 7) * ((BME280_S32_t)dig_H1)) >> 4));
v_x1_u32r = (v_x1_u32r < 0 ? 0 : v_x1_u32r);
v_x1_u32r = (v_x1_u32r > 419430400 ? 419430400 : v_x1_u32r);
*pHumidity = ((BME280_U32_t)(v_x1_u32r>>12))/100;

//коррекция конкретного датчика
*pHumidity += 8 * 10;
if(*pHumidity > 990)*pHumidity = 990;
}

Но я бы заменил датчик.

Re: Часы Super Clock - VFD

Вс апр 28, 2019 20:14:07

Купил бы платы в Москве на эти часики...
Ответить