|
|
| ||||||||
|
|
|
|
156385
306
48
33
|
|
Опции темы | Поиск в этой теме |
|
1
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
Исходный фонарик-тушка продается без названия на таобао, у нескольких продавцов.
Лучший выбор у этого продавца: http://yuyanghx008.taobao.c... . Там, по крайней мере, есть хоть какой-то выбор, как по типам светодиодов, так и по их оттенку. Предложения периодически меняются. Самое дешевое предложение на сегодня $12.61 (без доставки) на нейтральном XPG R5. В магазине продавца достаточно адекватные фото, а мой фотик сейчас недоступен, поэтому в теме только несколько фотографий сделанных в разное время и не сильно хорошего качества. Сам по себе, фонарик можно использовать и без доработки, на свою цену: - нормальная герметичность, везде, где надо, есть резинки; - анодирование, но, похоже, не очень твердое – толстой скрепкой процарапать можно, легче, чем на Конвое. С другой стороны, у многих китайских нонеймов анодирование похуже; - длинна 106мм, вес 60 грамм, диаметр хвоста 24мм, головы 25мм, средняя часть 22мм; - хороший магнит в торце, заметно сильнее, чем у Skilhunt H02; - съемная клипса на двух винтах; - нормально лезут как защищенные, так и обычные банки, с любой конструкцией «+»; - гладкий стоковый рефлектор похож на рефлектор Skilhunt R02, с таким же распределением света; - хороший теплоотвод от светодиода и хорошая теплопередача с головы на корпус – корпус прогревается заметно быстрее и сильнее, чем у Skilhunt H02 (возможно сказывается отсутствие анодирования на резьбах). Сравнительное фото: Skilhunt H02, герой обзора, Nitecore HC30 С родной электроникой не все так радужно, стабилизации тока нет: стоит директ-драйв через одноомный резистор. Ограничения по разряду аккума нет. Вполне можно увести аккум заметно ниже 3В. Фонарь при этом будет едва светить, так что разряженность аккума не заметить нельзя. У фонаря три режима: слабый (100мА), яркий (около 1А на новом аккуме) и строб (около 0,5Гц). Слабый режим делается ШИМ-ом достаточно высокой частоты – 4кГц, поэтому мерцание практически незаметно (стоковый Конвой имеет более заметный ШИМ). Включается и выключается коротким кликом, переключение – долгим нажатием. Есть память режимов – включается в том же режиме, что и выключается. Тактовая кнопка в голове: Из косяков: не очень удачно сделаны проточки для о-ринга стекла и юбки кнопки. Проточки касаются друг друга в самом углу и образуют яму. На фото выглядет страшнее, чем на самом деле. Когда ставиться кнопка, она закрывает эту яму и О-ринг для стекла, при закручивании безеля, нормально герметизирует фонарь. Впрочем, и плюс в этом есть – через эту щель на кнопку попадает больше, чем обычно, света со светодиода. И светонакопительная кнопка достаточно долго и достаточно ярко светится в темноте, после выключения фонарика. Из хорошего: - легко модернизировать прошитым для тактовой кнопки «народным» драйвером, по размеру драйвер полностью идентичен. Устанавливается он в латунную втулку впресованную в голову фонаря, при желании можно закрепить каплей припоя; - легко поставить тирку, подходит такая же, как и у Skilhunt H02. Тирку можно поставить под родное стекло. Из доработки – сделать проставку под звезду. Для установки тирки под стекло и при толщине звезды 1,6мм, нужна проставка 2мм. Диаметр под звезду светодиода 15,7мм, Ставить надо либо стандартную 16мм звезду, немного обточенную, либо звезду 14мм. Изначально на фонаре под звездой было анодирование, я его смыл «кротом». Тела фонаря под звездой около 7мм – вполне можно сделать отверстия с резьбой для винтов прижима звезды (и проставки). На фото пока только один винт закручен. О модернизации фонаря народным драйвером (8хAMC7135 на ATtiny13A): «Народный» драйвер модернизируется аналогично https://forum.fonarevka.ru/... Нужно: 1. Тактовая кнопка подключается к 6-му выводу, второй вывод кнопки – на минус. 2. Отрезается нижнее плечо делителя напряжения от земли и подключается к 6-му выводу. 3. Пятая нога микроконтроллера управляет одним 7135 (ШИМ), ко второй ноге подключен тоже один 7135, остальные 7135 подключены к 3-й ноге. Как именно резать дорожки зависит от конкретной версии драйвера, на форуме достаточно инфы на эту тему. Прошивка писалась для туристическо-резервного использования фонаря, с небольшим уклоном к экономичному юзу на слабых режимах. Исходники (проект для AVR Sudio 5, hex и fuse) в архиве. Хоть у фонаря много режимов, управлять режимами легко. - короткий клик – включение/выключение фонаря; - долгое нажатие – перебор режимов «вверх», до 4-го включительно, без перехода по «кругу»; - короткий клик + долгое нажатие – пребор режимов «вниз», до 1-го включительно; - двойной клик – включение «турбо» (и из включенного и из выключенного фонаря); - тройной клик – индикация уровня заряда аккума (и из включенного и из выключенного фонаря); Фонарь без памяти последнего режима, но включение возможно в разных режимах: - короткий клик + долгое нажатие (аналог команды понижения режимов) – мунлайт; - короткий клик – 1-й режим; - долгое нажатие (аналог команды повышения режимов) – 2-й режим, если продолжать удерживать кнопку, то перейдет в 3-й режим (через 0,5с); - двойной клик – включение «турбо». Есть защита от случайного включения – пятерной клик. Из включенного режима фонарь моргнет, выключится и заблокируется от случайного включения. Будет доступно только индикация уровня заряда (тройной клик) и снятие блокировки – пятерной клик. При снятии блокировки фонарь коротко моргнет (без включения). Во всех режимах, кроме мунлайта и 1-го режима, есть плавный степдаун – в течении 2 минут яркость плавно понизится (не заметно для глаза) примерно на 20%. В режиме Турбо – плавный степдаун длится примерно 5 мин, за это время ток плавно уменьшится немного больше, чем на 700мА, после этого фонарь перейдет в 4-й режим. При разряде аккума ниже 3В – фонарь понижает режимы вплоть до 1-го (без принудительного перехода в мунлайт). Каждое такое автопонижение индицируется коротким морганием. При напряжении ниже 2,8В – фонарь трижды (с интервалом около 8 с) просигнализирует коротким морганием и выключится. Режимы фонаря по току: Мунлайт - 3мА 1-й - 13мА 2-й - 63мА, после плавного двухминктного степдауна -51мА 3-й - 265мА, после плавного двухминктного степдауна -200мА 4-й - 720мА, после плавного двухминктного степдауна -600мА Турбо - 2,9А, после плавного пятиминутного степдауна -2,1А Ток измерялся по аккуму. Краткий итог (ИМНО) по фонарю – сам по себе стоит своих денег. После модернизации становится конкурентен Skilhunt H02, однако заметно дешевле и с возможностью «заточить» управление «под себя». Несколько огорчает невозможность покупки в более доступных/удобных местах. Лично я, при его покупке, пользовался сервисом http://www.mistertao.com Прошивка tactical_v5.0.zip |
|
|
|
| Поблагодарили: 52 раз(а) |
|
|
2
|
|
Ветеран Фонарёвки
Регистрация: 15.03.2015 Последняя активность: Сегодня 13:05
Сообщений: 3683
Сказал(а) спасибо: 1348
Поблагодарили: 1827 раз(а) в 1174 сообщениях
|
Подобный на алиэкспресс
|
|
|
|
|
|
3
|
|
Ветеран Фонарёвки
Регистрация: 16.10.2012 Последняя активность: 22.02.2022 02:51
Сообщений: 4358
Сказал(а) спасибо: 687
Поблагодарили: 2978 раз(а) в 1380 сообщениях
|
|
|
|
|
|
|
4
|
![]() |
ceramic,
Фонарь может стать хитом для любителей переделок. Дешевый и отстойный в стоке и похоже, что вполне хороший после переделки. Заказал
|
|
|
|
|
|
5
|
![]() |
ceramic,
А сколько байт у тебя программа получается? Мне кажется, ты зря _delay() делаешь inline. |
|
|
|
|
|
6
|
|
Участник форума по OpenID
|
у меня как раз товарищ искал недорогой и хороший налобник. кажется мне есть чем его обрадовать. а может и себя))
|
|
|
|
|
7
|
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
Рантайм же.
Таковы были хотелки. Это последний вариант, на 20%. Тот, что я себе хотел оставить, и даже оставил, но неожиданный поход в гости, без заранее готового подарка, лишил меня его. Мне показался интересным такой вариант. Перед этим, два из тех что я модил (уже больше года юза на нескольких сплавно-байдарочных прогулках), понижают яркость на 30%. Первую минуту светит без снижения яркости, потом за минуту плавно съезжает вниз. Глазами совершенно не видно. И даже, если одновременно сравнивать два фонаря с начальным светом и "съехавшим" -- далеко не каждый определит, какой из них ярче. А рантайм-то +30%. Впрочем -- исходник есть, кому не нравиться -- можно отключить. Среди тех кто их юзает, а всего таких 8 человек -- это уже хит, разумеется, за свою цену. Цитата:
Однако на свою цену -- конкурентов как-то не видно. Аналогично. К тому-же там, судя по всему, там уже новая версия продается. Мой продавец (с таобао) ответил мне, что с конца весны у него только новые тушки (хотя фотки на сайте остались старой версии). Придут -- посмотрю какая тут. Когда я открыл тему, я еще не знал что есть новая версия, и что две мои тушки, купленные в сентябре, -- это уже новая версия. У меня в первом посте есть фотки и новой и старой версии. Внешнее отличие одно -- у старой версии средняя часть была абсолютно симметрична, у новой версии одна из проточек чуть поуже. Фотки из моего первого поста (в реале цвет не отличается, телефон и фотоаппарат в разных условиях так сняли) Вес новой тушки совсем чуть чуть больше,увеличился на 2,5 грамма, стал 62,5 грамма. Но есть и более существенные отличия: Из хорошего: наконец проточки сделали по людски, теперь проточки для кнопки и для стекла не касаются. Вот старая версия: А это новая: Из плохого -- немного изменили безель для стекла. Теперь его полочка немного не перпендикулярна и есть маленькая щель между безелем и корпусом. На герметичность не влияет (о-ринг стоит внизу безеля), очень маленькая щель,настолько маленькая, что я ее не видел. Может быть критично только для перфекционистов, которые врядли позаряться на сей фонарь. Сфотографировать сложно, поэтому немного выкрутил безель (в реале щель меньше): 998 bytes (97.5% Full) Возможно. Встречный вопрос: а как стоит попробовать? Раньше (давно пробовал) просто в теле программы расставлял _delay() -- код получился больше. Сейчас не пробовал. ЗЫ Еще из плохого (как для меня) -- вроде магнит послабее стоит. У предыдущей версии разница со Скилхантом была очевидная, а с новой попробовал -- вроде-бы сильнее держит, но совсем не намного. Старой версии сейчас нет, что-бы сравнить. [Исправлено: ceramic, 06.01.2016 в 15:23] |
|
|
|
|
|
|
8
|
![]() |
У меня другой тулачайн и твой вариант не скомпилися - не влез, а код ниже 1012 байт. Попробуй, сколько мой вариант на твоем компиляторе займет.
Код:
/* LED Driver Tactical Button
* Created: 25.12.2015
* FIRMWARE VERSION: 5.0
* This code is distributed under the GNU Public License http://www.gnu.org/licenses/gpl.txt
* Author: Ceramic https://forum.fonarevka.ru/member.php?u=4262
*/
#define OS_MAIN __attribute__((OS_main))
#define INLINE inline __attribute__((__always_inline__))
#define NOINLINE __attribute__((__noinline__))
#define F_CPU 4800000UL
#include<avr/io.h>
#include<util/delay.h>
#include<avr/interrupt.h>
volatile unsigned char Cod = 1;
unsigned char Nmodes;
unsigned char Nmax;
unsigned char B;
unsigned char P;
unsigned char adch_val;
unsigned char nV;
unsigned char Vblink;
unsigned char Timer;
unsigned char Power;
unsigned char Block;
unsigned char Ns;
unsigned char ModesDown [6] = { 0, 0, 1, 5, 12, 36};
unsigned char Modes [6] = { 3, 12, 48, 190, 0b01000, 0b11000};
unsigned char volt [4] = { 140, 155, 165, 175 };
NOINLINE void delay_() { _delay_ms( 54 ); }
INLINE void blink()
{
TCCR0A = 0;
DDRB = 0b11011;
PORTB = 0b00000;
delay_();
PORTB = 0b00001;
ADCSRA = 0xCF;
delay_();
PORTB = 0b00010;
}
INLINE void Off()
{
Cod = 0;
Power = 0;
Nmodes = 0;
OCR0A = 0x00;
TCCR0B = 0x00;
TCCR0A = 0x00;
PORTB = 0x02;
WDTCR = 0x10;
WDTCR = 0x00;
MCUCR = 0x30;
GIMSK = 0x40;
BODCR = 0x03;
BODCR = 0x02;
sei();
asm("sleep");
MCUCR = 0x00;
TCCR0B = 0x01;
}
INLINE void SwitchMode()
{
GIMSK = 0x00;
unsigned char n;
if ( B == 3 )
{
for (n = 0; n < 5; n++)
{
blink();
if (adch_val < volt[ n ]) break;
}
delay_();
delay_();
goto m2;
}
else if ( ( B == 5 ) )
{
Block = Power;
if ( Power ) Power = 0;
blink();
goto m2;
}
else if ( Block ) goto m2;
else if ( B == 10 )
{
if ( ( Power ) && ( Nmodes < Nmax ) ) Nmodes++;
else if ( !Power ) Nmodes = 2;
}
else if ( B == 11 )
{
if ( ( Power ) && ( Nmodes > 1) ) Nmodes--;
}
else if ( B == 2 ) Nmodes = 5;
else if ( B == 1 )
{
if ( !Power ) Nmodes = 1;
else
{
Power = 0;
goto m2;
}
}
else goto m2;
Power = 1;
m2: Cod = 0;
if ( Vblink )
{
TCCR0A = 0;
PORTB &=~ 0b11001;
delay_();
Vblink = 0;
}
if ( Power )
{
Ns = Modes[ Nmodes ];
TCCR0A = 0x83;
PORTB &=~ 0b11001;
if ( Nmodes > 3 )
{
PORTB |= Ns;
Ns = 255;
}
OCR0A = Ns;
Timer = 0;
GIMSK = 0x40;
}
else Off();
}
OS_MAIN int main(void)
{
DDRB = 0b11001;
CLKPR = 0x80;
CLKPR = 0x02;
ACSR = 0x80;
ADMUX = 0x61;
while(1) { if (Cod) SwitchMode(); }
}
ISR(INT0_vect)
{
GIMSK = 0x00;
if ( P == 0 ) { P = 1; B = 0; }
else if ( P == 2 ) P = 3;
else if ( P == 4 ) P = 6;
WDTCR = 0x10; WDTCR = 0x40;
}
ISR(WDT_vect)
{
GIMSK=0x00;
if ( P == 0 )
{
DDRB = 0b11011;
PORTB &=~ 0b00010;
ADCSRA = 0xCF;
}
else
{
if ( bit_is_set ( PINB, PB1 ) )
{
if ( ( P == 1 ) || ( P == 4 ) )
{
if ( P == 4 )
{
Nmax = 4;
if ( B < 10 ) Cod = 1 ;
}
P=0;
WDTCR = 0x10; WDTCR = 0x61;
}
else
{
if ( P == 3 )
{
B++;
WDTCR = 0x10; WDTCR = 0x44;
}
else { WDTCR = 0x10; WDTCR = 0x41; }
P = 4;
}
MCUCR = 0x00;
}
else
{
if ( P == 5 ) { WDTCR = 0x10; WDTCR = 0x00; }
else
{
if ( P == 2 )
{
P = 4;
if ( B ) B = 11;
else B = 10;
Cod = 1;
if ( !Power ) Nmax = 3;
WDTCR = 0x10; WDTCR = 0x45;
}
else if ( P == 4 ) Cod = 1;
else
{
P = 2;
WDTCR = 0x10; WDTCR = 0x44;
}
}
MCUCR = 0x03;
}
GIMSK = 0x40;
}
}
ISR (ADC_vect)
{
adch_val = ADCH;
ADCSRA = 0;
DDRB = 0x19;
PORTB |= 0b00010;
if ( Timer < 14 )
{
if ( ++Timer > 7 )
{
Ns = Ns - ModesDown [ Nmodes ];
if ( ( Nmodes == 5 ) && ( Timer == 14 ) )
{
if ( bit_is_set ( PINB, PB3 ) )
{
Timer = 0;
PORTB &=~ 0b01000;
Ns = 255;
}
else
{
B = 11;
Cod = 1;
}
}
OCR0A = Ns;
}
}
if ( adch_val < 130 )
{
B = 11;
if ( adch_val < 115 )
{
if ( ++nV > 3 )
{
B = 1;
nV = 0;
}
}
Vblink = 1;
Cod = 1;
}
else nV = 0;
GIMSK = 0x40;
}
|
|
|
|
|
9
|
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
Цитата:
Скомпилировал: 1008 bytes (98.4% Full) Немного больше чем было. |
|
|
|
|
| Поблагодарили: 1 раз |
Tamagotchi (06.01.2016)
|
|
|
10
|
![]() |
|
|
|
|
|
11
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
|
|
|
|
|
|
12
|
![]() |
|
|
|
|
|
13
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
Теперь и я не знаю.
Инсталятор называется avr8-gnu-toolchain-installer-3.4.5.30-win32.any.x86.exe Но в нем лежит файл avr8-gnu-toolchain-3.4.5.1522-readme.pdf А 5-я студи в "OPTION" показывает toolchain-3.2.3_315. Приду домой попробую там разобраться. На работе у меня только 5-я студия, а дома стоит пару 4-х, пару 5-х и 6-я (старые не сносил, когда новые ставил, но все работают). Может там будет понятнее. |
|
|
|
|
|
14
|
![]() |
|
|
|
|
|
15
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
Tamagotchi, разобрался с версиями, то, что я писал про тулачайн раньше -- неверно.
Тулчайны я то инсталлировал, но сейчас, как оказалось использую два, которые шли с инсталляцией студий (не всегда своих). Много времени прошло. Я несколько разных вариантов пробовал вот и забыл. На компе у меня стоит: AVR Studio 4.18 (build 684) -- использует тулчайн 3.3.1_27 от AVR Studio 5.1 (лежит в c Program Files\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\)AVR Studio 4.19 (build 730) -- то-же самое. AVR Studio 5.0 (build 1163) Installer - Full -- родной тулчайн 3.2.3_315 AVR Studio 5.1 (build 20 Installer - Full -- родной тулчайн 3.3.1_27Atmel Studio 6.2 sp1 (build 1502) -- использует тулчайн 3.3.1_27 от AVR Studio 5.1 Почему именно на таком наборе остановился -- точно не помню. Думаю, именно из-за размера сгенерированного кода. Чужие проекты ни разу (во всяком случае пока) не оказывались большими (HEX), а нередко (после перекомпиляции) -- меньшими. Один и тот-же исходник во всех этих студиях дает одинаковый по длине код (наверняка не всегда, но мне еще не встречались исключения). [Исправлено: ceramic, 07.01.2016 в 02:20] |
|
|
|
| Поблагодарили: 1 раз |
Tamagotchi (07.01.2016)
|
|
|
16
|
![]() |
ceramic, Как правильную версию посмотреть?
|
|
|
|
|
17
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
Разобрался.
В предыдущем сообщении о версиях опять сбрехал. То ли Студия изначально такая, то-ли я установками тулчейнов ее запутал, что в разных местах по разному показывает, а по факту может быть и по другому. Надо смотреть окно вывода информационного сообщения при компиляции (если повторно перекомпилировать -- можно не увидеть, лучше изменить какую-то буковку и скомпилировать). Ищем сообщение о запуске make: ...\make.exe all Вскоре за этим будет инфа о запуске gcc. На моей студии 6.2: "C Program Files\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe" .....Открываем этот avr-gcc.exe текстовым редактором и ищем по "_GNU_Toolchain_" Находим версию, у меня: pkgversion=AVR_8_bit_GNU_Toolchain_3.3.1_466 Получается, что у меня студия 5.0 использует pkgversion=AVR_8_bit_GNU_Toolchain_3.2.3_315 А студии 4.18, 4.19, 5.1 и 6.2 -- pkgversion=AVR_8_bit_GNU_Toolchain_3.3.1_466 |
|
|
|
| Поблагодарили: 1 раз |
Tamagotchi (07.01.2016)
|
|
|
18
|
![]() |
|
|
|
|
|
19
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
|
|
|
|
|
|
20
|
![]() |
|
|
|
|