Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Мастерские светотехников Мастерская: Tamagotchi и Rime
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Закрытая тема  Создать новую тему
Просмотров в теме 305792   Ответов в теме 837   Подписчиков на тему 28   Добавили в закладки 11
Опции темы Поиск в этой теме
Старый 18.03.2015, 17:27   661
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

vdavid, похоже он заходит и сразу выходит из мунлайта.
выбрано в программе
#define RST_LEV_MOON / сброс яркости при выходе из мунлайта (в режиме NOMEM - поумолчанию включен)
- выходит в минимальный режим, если его закоментировать - то выходит сразу в тот режим, в котором он был при вызове мунлайта. Ничего не понимаю

upd если закоментировать //#define ONECLICKMOON - то входит в мунлайт по 3 кликам и сидит там пока еще раз 3 клика не сделать.... такие вот пироги

попробовал поставить кнопку и кнопкой кликать - не меняется ничего.

[Исправлено: MSS, 18.03.2015 в 17:44]
MSS вне форума   Вверх
Старый 18.03.2015, 18:01   662
дядюшка_зуэ
животное опасно
 
Аватар для дядюшка_зуэ
 
Регистрация: 18.11.2014
Последняя активность: 23.02.2022 10:39
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

так у Твинтвин как раз помимо не входило в мунлайт еще и промаргивает индикацию батарей быстрее, чем надо было
и была это софтовая проблема выявилось после переустановки студии и тулчейна
у меня тоже в разных драйверах с разной скоростью отмаргивает вплодь до стробов шью одну и туже очень удачная только уровень мунлайта под себя правлю меньше и шаги как меня научили, еще линейку режимов тут уж как кому нравиться
странно что у Вас это вот так вот вдруг вылезло до этого ж было нормально
или чтото нето
дядюшка_зуэ вне форума   Вверх
Старый 18.03.2015, 20:58   663
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

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

Еще наверно стоит попробовать //#define FREQMOON_OFF раскоментировать.

[Исправлено: MSS, 18.03.2015 в 21:59]
MSS вне форума   Вверх
Старый 18.03.2015, 22:21   664
vdavid
Ветеран Фонарёвки
 
Регистрация: 25.01.2015
Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

MSS, Попробуйте вот здесь:
Код:
static NOINLINE void input_mode(void)
{
	all_off();
	delay_ms(150);
поменять 150, скажем на 200.
Или здесь:
Код:
static INLINE void mode_line_chg(void)		 // включаем MODELINECHG
#ifdef ONECLICKMOON
{
	input_mode();
	WriteEEPROMByte(CFG_MOONMODE, 0x00);
дописать ClearNewMode();
vdavid вне форума   Вверх
Поблагодарили: 2 раз(а)
DooMmen (18.03.2015), MSS (18.03.2015)
Старый 18.03.2015, 22:46   665
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от vdavid :
input_mode
, не успевает выключиться перед сменой регистра? тоесть если светодиод у нас не успеет выключиться в регистре будет не 0хАА, а мусор?

Цитата:
Посмотреть сообщение Сообщение от vdavid :
дописать ClearNewMode();
Да, попробую обязательно. Уже завтра на работе.

А в этом куске ничего не может повлиять?
Цитата:
#else
if (ReadEEPROMByte(CFG_MOONMODE) == 0xFF)
std_loop();
else
#ifdef ONECLICKMOON
if(IsNewMode()) // если короткий клик выходим из MODELINECHG
{
WriteEEPROMByte(CFG_MOONMODE, 0xFF);
#ifdef ONECLICKMOON
#ifdef RST_LEV_MOON
#ifdef REVERSE_SW // сброс яркости после мунлайта
current_mode = 0;
#else
current_mode = MAX_MODES;
#endif
#else
ClearNewMode();
#endif
#endif
std_loop();
}
else
moon_loop();
#else
moon_loop();
#endif
#endif

[Исправлено: MSS, 18.03.2015 в 22:55]
MSS вне форума   Вверх
Старый 18.03.2015, 23:03   666
DooMmen
Участник форума по OpenID
 
Аватар для DooMmen
 
Регистрация: 08.01.2014
Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3
Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от vdavid :
поменять 150, скажем на 200.
Странно то что ClearNewMode() делается по прерыванию через 250мс после включения, а delay_ms(150) - это задержка на 300мс (это если в компиляторе указана частота 4.8МГц, а в контроллере фьюзами выставлено 4.8МГц, но в контроллере включен делитель на 2). Значит проблема в том что не срабатывает прерывание, или частота указанная в компиляторе устанавливается компилятором с учетом делителя. Дописать ClearNewMode() - вариант, но это 6 байт кода, и костыль.

MSS, надо смотреть установленные частоты, какая версия студии?

Обновил прошивку (один мелкий недочет, и поправил термоконтроль по рекомендации vdavid). Костыль добавил в mode_line_chg, но пока закоментировал. Прошивка все там-же - LD_7135_v_2.6.5.zip.
__________________
Скажем нет пиратству! - Качаем только лицензионные диски.
DooMmen вне форума   Вверх
Поблагодарили: 1 раз
MSS (18.03.2015)
Старый 18.03.2015, 23:08   667
vdavid
Ветеран Фонарёвки
 
Регистрация: 25.01.2015
Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

MSS, Дело в том, что WDT должен щелкнуть до выхода из mode_line_chg. Время для собаки - 250 мс, задержка delay_ms(150) - должно быть 300 мс, как мне кажется. Если тактовый генератор завышает частоту, а генератор собаки - наоборот занижает, то может быть, что WDT срабатывает позже, чем мы рассчитываем. У Твинтвин проблема была из-за тулчейна от студии 4.18 и версий рядом с ней. Там был интересный баг, когда _delay_ms занижал интервал в 4 раза, а _delay_us - в 3. Поэтому частота промаргивания уровня батареи была выше в 4 раза и были глюки с мунлайтом по той же причине.
vdavid вне форума   Вверх
Старый 18.03.2015, 23:11   668
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

DooMmen, студия четвертая. Есть еще шестая, но она у меня делает по объему больше файл, чем четвертая
Частоты наверно нормальные, я же и hex ваш заливал, один хрен... я вот думаю, может быть это из-за кондера по питанию? у меня ведь не 105С, а АК-47.
Стробы медленные и индикация заряда батареи отмаргивается не быстро (около 1 сек 1 моргание). ладно не буду так голословно заявлять, завтра еще раз все прошью и проверю-посчитаю

Цитата:
Посмотреть сообщение Сообщение от vdavid :
У Твинтвин проблема была из-за тулчейна от студии 4.18 и версий рядом с ней. Там был интересный баг, когда _delay_ms занижал интервал в 4 раза, а _delay_us - в 3. Поэтому частота промаргивания уровня батареи была выше в 4 раза и были глюки с мунлайтом по той же причине.
Тогда можно попробовать еще и в 6й скомпилировать, но опять же - на залитых готовых hex те же грабли были. А на другом драйвере и с этой 4й версией работал мунлайт.

[Исправлено: MSS, 18.03.2015 в 23:16]
MSS вне форума   Вверх
Старый 18.03.2015, 23:17   669
DooMmen
Участник форума по OpenID
 
Аватар для DooMmen
 
Регистрация: 08.01.2014
Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3
Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от MSS :
я же и hex ваш заливал, один хрен...
Так мой хекс под драйвер с конденсатором на ресете (не забыли закомментировать?).
DooMmen вне форума   Вверх
Старый 18.03.2015, 23:20   670
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от DooMmen :
Так мой хекс под драйвер с конденсатором на ресете (не забыли закомментировать?).
кондер я не напаивал. А когда себе компилировал то отключал и конденсатор и диод на термоконтроле. Он там вроде тоже включен по умолчанию.

Кстати, мне кажется лучше сделать по умолчанию без кондера. Большинство не делают себе кнопку с подсветкой, а так оно сбивает немного. И диод тоже лишнее.
Это лучше дополнительно менять - если в драйвер с паяльником лезут, а не только дорожки режут ИМХО

[Исправлено: MSS, 18.03.2015 в 23:23]
MSS вне форума   Вверх
Старый 18.03.2015, 23:31   671
DooMmen
Участник форума по OpenID
 
Аватар для DooMmen
 
Регистрация: 08.01.2014
Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3
Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от MSS :
Кстати, мне кажется лучше сделать по умолчанию без кондера. Большинство не делают себе кнопку с подсветкой, а так оно сбивает немного. И диод тоже лишнее.
Сделал без конденсатора, а вот с диодом - раньше было непонятно работает, или нет, и версия с диодом - исходная авторская версия, но если оно работает - меняю. Прошивка там-же.
DooMmen вне форума   Вверх
Старый 18.03.2015, 23:36   672
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от DooMmen :
с диодом - раньше было непонятно работает, или нет
, я ниразу не впаивал диод. На кинге у меня стоит транзистор, но там "по мотивам" этой темы скопирован термоконтроль и всунут в версию для тактовой кнопки ceramic.
А терморезисторы на 105С из этой темы у меня тоже без диода. Может и не правильно, но у меня так работает. Вот теперь еще и с корректировкой термоконтроля от vdavid буду прошивать.
MSS вне форума   Вверх
Старый 19.03.2015, 00:03   673
vdavid
Ветеран Фонарёвки
 
Регистрация: 25.01.2015
Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от MSS :
А терморезисторы на 105С из этой темы у меня тоже без диода
Диод там ровным счетом ничего не дает. Для того, что бы он работал как стабилизатор, нужно добавить еще пару резисторов. А кому это надо? Вот просто диод вместо термистора мне понравился.
Попробуйте прошить вот это:
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>

#define WDTO_250MS	0x04


ISR(WDT_vect)
{
  PORTB ^= (1<<PB0);
}

int main(void)
{
  DDRB=3;
  PORTB=0;
  WDTCR = (_BV(WDCE) | _BV(WDE));
  WDTCR = (_BV(WDTIE) | WDTO_250MS);
  
  sei();
  while (1) {
    _delay_ms(150);
    cli();
    PORTB ^= (1<<PB1);
    sei();
  }	
}
На 5 ноге полупериод меандра должен соответствовать 250 мс WDT, а на 6-й - 150мс от delay.
vdavid вне форума   Вверх
Старый 19.03.2015, 09:58   674
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

avr studio версия 416 build 638.
медленный строб - 15 вспышек за 10 сек. заряд батареи отображает 5 миганий и строб отключенного термоконтроля за 1,5-2 сек.
В архиве практически тоже самое, что было у вас, только отключен кондер и диод.
DooMmen, файл 7135x8v26.lss там же после компиляции.

Цитата:
Посмотреть сообщение Сообщение от vdavid :
Код:
static NOINLINE void input_mode(void)
{
all_off();
delay_ms(150);

поменять 150, скажем на 200.
Поменял. Проблема решена на значении в 500. При 200, 300 ничего не менялось.

Цитата:
Посмотреть сообщение Сообщение от vdavid :
Или здесь:
Код:
static INLINE void mode_line_chg(void) // включаем MODELINECHG
#ifdef ONECLICKMOON
{
input_mode();
WriteEEPROMByte(CFG_MOONMODE, 0x00);

дописать ClearNewMode();
Это тоже помогло. При старом значении delay_ms(150) также остается в мунлайте и выходит-входит как и должно.

Цитата:
Посмотреть сообщение Сообщение от vdavid :
Попробуйте прошить вот это:
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>

#define WDTO_250MS 0x04


ISR(WDT_vect)
{
PORTB ^= (1<<PB0);
}

int main(void)
{
DDRB=3;
PORTB=0;
WDTCR = (_BV(WDCE) | _BV(WDE));
WDTCR = (_BV(WDTIE) | WDTO_250MS);

sei();
while (1) {
_delay_ms(150);
cli();
PORTB ^= (1<<PB1);
sei();
}
}

На 5 ноге полупериод меандра должен соответствовать 250 мс WDT, а на 6-й - 150мс от delay.
Прошил. Веселый строб получается В цифрах выход - на 5 ноге 1,764 Гц, На 6й ноге 5,88-5,9Гц
t=1/(2F) получаем для WDT=283мс, для daley(150)=85мс

Тоесть вочдог примерно попадает, а вот задержка в два раза меньше выходит.
Вложения
Тип файла: rar LD_7135_v_timer.rar (31.4 Кб, 60 просмотров)
MSS вне форума   Вверх
Старый 19.03.2015, 10:51   675
vdavid
Ветеран Фонарёвки
 
Регистрация: 25.01.2015
Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от MSS :
Проблема решена на значении в 500
500 на самом деле соответствует 244.
Цитата:
Посмотреть сообщение Сообщение от MSS :
для daley(150)=85мс
Да уж. Тогда можно вот здесь:
CLKPR = 0x01;
единичку заменить на двоечку и ничего больше не трогать.
vdavid вне форума   Вверх
Поблагодарили: 1 раз
MSS (19.03.2015)
Старый 19.03.2015, 11:17   676
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от vdavid :
Да уж. Тогда можно вот здесь:
CLKPR = 0x01;
единичку заменить на двоечку и ничего больше не трогать.
Так тоже работает. И стало медленнее мигать при индикации заряда батареи.
Только это заменил в стандартной прошивке.
static INLINE void initialize(void)
{
CLKPR = 0x80;
CLKPR = 0x02; // устанавливаем делитель тактовой частоты

А закоментировать или раскоментировать //#define FREQMOON_OFF ничего не дает.
Может стоит эти CLKPR = 0x02; оставить в прошивке по умолчанию? Или как оно так получается, что на одних работает, на других нет? Зависит от МК или от чего?
MSS вне форума   Вверх
Старый 19.03.2015, 11:35   677
vdavid
Ветеран Фонарёвки
 
Регистрация: 25.01.2015
Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от MSS :
Зависит от МК или от чего?
У Вас МК бракованный. По фьюзам тактовая частота должна быть 4.8 Мгц, а по факту - в два раза больше. Оставлять же CLKPR = 0x02 не стоит, тогда увеличивается минимальное время включенного состояния для КК.

[Исправлено: vdavid, 19.03.2015 в 11:36]
vdavid вне форума   Вверх
Поблагодарили: 1 раз
MSS (19.03.2015)
Старый 19.03.2015, 11:52   678
vdavid
Ветеран Фонарёвки
 
Регистрация: 25.01.2015
Последняя активность: 16.02.2025 22:50
Сообщений: 1584
Сказал(а) спасибо: 268
Поблагодарили: 509 раз(а) в 322 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

MSS, А остальные тиньки из приехавших такие же? Можно залить в них прошивку из поста 673 и проверить частоты не вынимая из сокета.
vdavid вне форума   Вверх
Старый 19.03.2015, 12:44   679
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

vdavid, та вот думаю наверно напишу китайцу WTF...
Проверить смогу только завтра. Они дома. Но я думаю что оно все такое будет.
Меня вполне устроит и 8,6МГц деленное на 2 программно.
Светляк для меня не самый важный режим, просто зачем отказываться от него, если он уже есть
В общем можно подытожить.
Если у вас глюки со входом в мунлайт - смотреть нужно на работу медленного строба. Если он чаще, чем 1 раз в секунду - очень вероятно, что частота работы МК не правильная.
Возможные варианты решения подсказаны vdavid, результаты описаны выше https://forum.fonarevka.ru/...

В итоге я остановился на такой прошивке, как во вложении. В ней заменен CLKPR = 0x02; для мунлайта CLKPR = 0x05; и уменьшено время перебора в рампинге. Потребляет в светляке 1,2мА
Немного переделан велостроб, чтоб оснавная яркость бралась из текущего режима, а мигает оно на максимуме (здесь возможно такое, что при переходе из максималки в велостроб - мигать не будет ничего, но зачем тогда на максималке в строб заходить). Память занята все полностью - 1024.
Изменения от vdavid для термоконтроля в ней тоже учтены.

Фьюзы Lo=79 Hi=FD.
Вложения
Тип файла: rar LD_7135_v_2.6.5 New 19.03.rar (30.2 Кб, 71 просмотров)

[Исправлено: MSS, 19.03.2015 в 12:46]
MSS вне форума   Вверх
Старый 19.03.2015, 15:01   680
ceramic
Ветеран Фонарёвки
 
Аватар для ceramic
 
Регистрация: 08.10.2011
Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5203 раз(а) в 2785 сообщениях

По умолчанию Re: Народный драйвер мод v2. Часть 2.

Цитата:
Посмотреть сообщение Сообщение от MSS :
avr studio версия 416 build 638.
Это ни о чем. Студия это всего лишь оболочка.
Код зависит от версии тулчейна.
Если разные версии студии будут использовать одну и ту-же версию тулчейна, то код будет идентичным.
ceramic вне форума   Вверх
Закрытая тема  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности
Время генерации страницы 0.16804 секунды с 18 запросами