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

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

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

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

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 174969   Ответов в теме 530   Подписчиков на тему 32   Добавили в закладки 10
Опции темы Поиск в этой теме
Старый 17.11.2016, 21:28   421
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3974
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

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

Den200, строб какой? можно бискотти с блф переделать.
Сам скомпилировать смож?
тема
http://budgetlightforum.com...

файлы
http://bazaar.launchpad.net...

хексы для компиляции в папку с С файлом
тут http://bazaar.launchpad.net...


fuses are low: 0×75, high: 0xFF

avrdude -c usbasp -p t13 -u -Uflash:w:$FIRMWARE -Ulfuse:w:0×75:m -Uhfuse:w:0xFF:m

тут
Цитата:
PROGMEM const uint8_t modegroups[] = {
1, 2, 3, 5, 7, STROBE, BIKING_STROBE, BATTCHECK,
1, 2, 3, 5, 7, 0, 0, 0,
7, 5, 3, 2, 1, 0, 0, 0,
2, 4, 7, STROBE, BIKING_STROBE, BATTCHECK, SOS, 0,
2, 4, 7, 0, 0, 0, 0, 0,
7, 4, 2, 0, 0, 0, 0, 0,
1, 2, 3, 6, STROBE, BIKING_STROBE, BATTCHECK, SOS,
1, 2, 3, 6, 0, 0, 0, 0,
6, 3, 2, 1, 0, 0, 0, 0,
2, 3, 5, 7, 0, 0, 0, 0,
7, 4, STROBE,0,0, 0, 0, 0,
7, 0,
};
на первое место поставить STROBE, например в последней группе вместо режима только 100% сделать только строб так

Цитата:
PROGMEM const uint8_t modegroups[] = {
1, 2, 3, 5, 7, STROBE, BIKING_STROBE, BATTCHECK,
1, 2, 3, 5, 7, 0, 0, 0,
7, 5, 3, 2, 1, 0, 0, 0,
2, 4, 7, STROBE, BIKING_STROBE, BATTCHECK, SOS, 0,
2, 4, 7, 0, 0, 0, 0, 0,
7, 4, 2, 0, 0, 0, 0, 0,
1, 2, 3, 6, STROBE, BIKING_STROBE, BATTCHECK, SOS,
1, 2, 3, 6, 0, 0, 0, 0,
6, 3, 2, 1, 0, 0, 0, 0,
2, 3, 5, 7, 0, 0, 0, 0,
7, 4, STROBE,0,0, 0, 0, 0,
STROBE, 0,
};
__________________
батискаф: герметична, надійно ізольована від зовнішнього світу капсула,яка іде на дно

[Исправлено: MSS, 17.11.2016 в 21:34]
MSS вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Den200 (17.11.2016)
Старый 17.11.2016, 22:23   422
дядюшка_зуэ
животное опасно
 
Аватар для дядюшка_зуэ
 
Регистрация: 18.11.2014
Последняя активность: 23.02.2022 10:39
Адрес: борисове поле
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях

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

о так это славнозвисная прошивка з бээлэфа которую саймон в свои новые драйвера льет
тогда попутно спрошу не выяснили они там случайно почему пробивается порт у тини и она светит все время 2мА
извините конечно что в этой теме там не тусуюсь
дядюшка_зуэ вне форума   Ответить с цитированием Вверх
Старый 17.11.2016, 22:26   423
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Спасибо. Сложно с компиляцией. Раньше делал а сейчас система отказывается почему-то. И переустанавливал авр студио. И ни в какую.
Строб нужен герц так 10 или такой как в тамагочи fast strobe. Если не ошибаюсь там 7,5 герц. Шью stk200 и пони прог. Там фьюзы как то по другому ставятся.

Мне даже защиты батареи не надо, так как это будет подключаться к блоку питания. Просто строб. Реле сработало-строб. Реле выключилось - питания на драйвер нет

[Исправлено: Den200, 17.11.2016 в 22:30]
Den200 вне форума   Ответить с цитированием Вверх
Старый 17.11.2016, 22:26   424
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3974
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

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

Не слышал такого
MSS вне форума   Ответить с цитированием Вверх
Старый 17.11.2016, 22:38   425
дядюшка_зуэ
животное опасно
 
Аватар для дядюшка_зуэ
 
Регистрация: 18.11.2014
Последняя активность: 23.02.2022 10:39
Адрес: борисове поле
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях

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

stk200 классика когда то начинал с него потом на лпт принтер сел и пришлось перейти на юсб
а жаль таких скоростей больше ни на чем другом не встречалось
мигнуть не упеешь как он мегу зашьет, а на юсб ждеш пока тиню напихает, мегу так вообще можно сразу идти гулять
дядюшка_зуэ вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 09:07   426
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3974
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

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

вот тут первая группа заменена на один только строб
Цитата:
PROGMEM const uint8_t modegroups[] = {
STROBE, 0, 0, 0, 0, 0, 0, 0,
1, 2, 3, 5, 7, 0, 0, 0,
7, 5, 3, 2, 1, 0, 0, 0,
2, 4, 7, STROBE, BIKING_STROBE, BATTCHECK, SOS, 0,
2, 4, 7, 0, 0, 0, 0, 0,
7, 4, 2, 0, 0, 0, 0, 0,
1, 2, 3, 6, STROBE, BIKING_STROBE, BATTCHECK, SOS,
1, 2, 3, 6, 0, 0, 0, 0,
6, 3, 2, 1, 0, 0, 0, 0,
2, 3, 5, 7, 0, 0, 0, 0,
7, 4, STROBE,0,0, 0, 0, 0,
7, 0,
};
Миниатюры
Нажмите на изображение для увеличения
Название: biscotti.jpg
Просмотров: 407
Размер:	124.6 Кб
ID:	178080
Вложения
Тип файла: zip Новая сжатая ZIP-папка.zip (1.3 Кб, 72 просмотров)
MSS вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Den200 (18.11.2016)
Старый 18.11.2016, 13:02   427
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Подскажите пожалуйста как в Pony Prog поставить вот эти фьюзы для extream burner
low: 0×75, high: 0xFF
Хочу прошить прошивку с предыдущего поста, а МК новый и пустой

[Исправлено: Den200, 18.11.2016 в 14:21]
Den200 вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 16:49   428
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Что за мк. Attiny 13a su?. Она немного шире. Но она не хочет прошиваться. Есть ли какое-то отличие от обычной 13а кроме корпуса?
Den200 вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 16:52   429
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3974
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

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

нету. "Обычная" это SSU как в драйверах
MSS вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 17:04   430
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Да. Под обычная имел ввиду как в nanjg. Щас попробую не прищепкой а подпаяться. Просто две штуки новые и даже фьюзы не читаются
Den200 вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 22:11   431
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

В общем su лпт не видит
Den200 вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 22:34   432
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3974
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

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

дело не в типоразмере корпуса
MSS вне форума   Ответить с цитированием Вверх
Старый 18.11.2016, 22:51   433
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Я уже запутался окончательно. Прошивка есть. Пони прог есть. Какие фьюзы в понипроге выставить правильно? Мк новый
Den200 вне форума   Ответить с цитированием Вверх
Старый 19.11.2016, 00:00   434
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Нашел калькулятор.
Исходя из тех фьюзов что посоветовали, в понипроге нужно выставлять так как на картинке

Выходит ради интереса чтобы прошить с помощью avrdude драйвер от ув. Тамагочи нужно ставить
0x71 low
0xFD hi
Я верно разобрался?
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_20161118-225837.png
Просмотров: 601
Размер:	336.5 Кб
ID:	178156

[Исправлено: Den200, 19.11.2016 в 00:06]
Den200 вне форума   Ответить с цитированием Вверх
Старый 23.11.2016, 13:34   435
LJek
Увлеченный
 
Регистрация: 29.04.2015
Последняя активность: 06.05.2018 12:38
Адрес: Краснодар
Сообщений: 116
Сказал(а) спасибо: 27
Поблагодарили: 5 раз(а) в 4 сообщениях

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

Господа-товарищи, я созрел на собственную тему: https://forum.fonarevka.ru/...
LJek вне форума   Ответить с цитированием Вверх
Поблагодарили: 2 раз(а)
Corvax (23.11.2016), MSS (23.11.2016)
Старый 03.12.2016, 00:40   436
Den200
Увлеченный
 
Регистрация: 04.06.2014
Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях

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

Здравствуйте. Вопрос вот в чем:
Пользуемся все время средним, например, режимом. Он включается всегда так как прошивка с памятью. Задача сделать так, чтобы при следующем включении фонарь включился на полную мощность.
Делаем полунажатия и выводим максимальный режим. Выключаем фонарь. Ожидаем при следующем включении максимальный режим, но включается все равно средний. Хоть и выключили мы фонарь на максимальном.
Но если между выводом на максимальный режим и выключением подождать секунды 4, то контроллер поймет то что мы хотим максимальный режим при следующем включении. Как можно уменьшить время ожидания?

Силовая кнопка.

[Исправлено: Den200, 03.12.2016 в 00:43]
Den200 вне форума   Ответить с цитированием Вверх
Старый 04.12.2016, 13:04   437
Gebon
Новичок
 
Регистрация: 29.12.2013
Последняя активность: 26.01.2020 20:30
Адрес: Москва
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях

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

Всем привет! Хочу предложить на тестирование реализацию полноценного ВОЛЬТМЕТРА. Данный вопрос я поднимал еще в марте 2016г. Правда, меня абсолютно никто не поддержал в данном вопросе, хотя и обещал DooMmen сделать моргание как я предлагал для драйвера LD_7135_v_2.6.5 , но заходя на его сайт я вижу, что у него очень много своих проектов и скорее всего времени у него свободного нет и не будет. Тем не менее я пользуюсь бесплатно исходниками лучшего в мире в моем понимании народного драйвера и я не имею права не поделиться своей радостью применения очень удобного вольтметра которым я пользуюсь уже более месяца на 2 фонарях затем еще перепрограммирую 5шт. Я даже вывел данную функцию вольтметра на 2 коротких клика как самую востребованную функцию для меня, можно мерить до бесконечности в процессе работы фонаря.
Хочу кратко описать возможности вольтметра.
1- Как и было указано мне знающими пользователями еще весной, что высокой точности не может быть по определению, так как могут сильно разниться уровни опорного напряжения (V_ref) в ATtiny13A в зависимости от партии и года выпуска, а также параметра диода шотки (S4) который стоит по питанию. Но полученная погрешность +- ( 0,05В - 0,1В) в измерениях меня вполне устраивает и все равно четко видно тенденцию разряда батареи.
2- Модернизируется только оптимизированный драйвер LD_7135_v_2.6.5 так как у него свободной памяти довольно много.
3- Существует упрощенный вариант вольтметра, индикация только 3,0-3,9 вольт (увеличение на 34 ячейки памяти относительно стандартного варианта автора, при необходимости можно еще 4 ячейки убрать и будет 30 ячеек) . Если напряжение на аккуме 3,9В и выше то индикация всегда будет 3,9В.
4- Существует полный вариант вольтметра, индикация 3.0-4.2 вольт (увеличение на 78 ячеек памяти относительно стандартного варианта автора.
5- Модернизируются только участки памяти режима «индикации батареи» в файлах 7135x8v2.h и 7135x8v2.c , ничего больше не трогается и не меняется в программе драйвера.
6-Хочу указать, что все сделано на основе алгоритма автора «индикации батареи» , только просто контрольных точек стало больше и они моргаются удобно в вольтах, т.е. алгоритм измерения напряжения, яркость моргания, временные параметры моргания и т.д. все остается не тронутым, все это труд автора народного драйвера.
7- Безусловно я мог написать и не совсем грамотно и не оптимально так как я не умею программировать, только на основе шаблонов и огромное желание сделать функцию вольтметра, и как ни странно вольтметр работает как я хотел.
Поэтому возникает вопрос автору народного драйвера Tamagotchi нужно ли вообще развивать данную тему про вольтметр, я даже не знаю каким образом подать коды изменения программ так как строки с пояснениями длинные и могут не правильно скопироваться и т.д. или вообще закрыть тему так как уже есть упрощенная встроенная функция индикации батареи и достаточно. Тогда я и тему не буду подымать, а то материала и пояснений довольно много. Извините за многословность. Но вы не представляете как удобна функция настоящего вольтметра, пусть даже с небольшой погрешностью.
Gebon вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Tamagotchi (04.12.2016)
Старый 04.12.2016, 19:04 Автор темы   438
Tamagotchi

 
Аватар для Tamagotchi
 
Регистрация: 07.09.2011
Последняя активность: 04.08.2023 18:59
Адрес: Волгоградская обл.
Сообщений: 13685
Сказал(а) спасибо: 3333
Поблагодарили: 7887 раз(а) в 3523 сообщениях

Отправить сообщение для Tamagotchi с помощью Skype™
По умолчанию Re: Народный драйвер мод v2. Часть 3.

Tamagotchi вне форума   Ответить с цитированием Вверх
Старый 04.12.2016, 19:27   439
Gebon
Новичок
 
Регистрация: 29.12.2013
Последняя активность: 26.01.2020 20:30
Адрес: Москва
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях

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

Спасибо. Тогда поехали.
Хочу еще раз напомнить , что встроенный ВОЛЬТМЕТР требует дополнительной памяти, которая полностью зависит от конфигурации фонаря т.е. используемых режимов и функций. Например если убрать функцию памяти хотя бы для испытания вольтметра то высвобождается более 100 ячеек и т.д.
В принципе для моей реализации 5 основных режимов + 5 дополнительных режимов , функция памяти , (термоконтроля нет) , функция полноценного фонаря уместилась (+78 ячеек).
Не уместилась у меня в памяти полная версия только в случае когда я для прикола включил функцию «отключение максимального режима по таймеру в секундах (+74 ячейки), я сделал 300сек как в фонаре FENIX PD35». Вот тогда у меня и появилась урезанная версия вольтметра 3.0В-3.9В где я применил только увеличение на 30 ячеек, иначе не умещалась.
Рекомендую AtmelStudio v.6 , у меня v.6.2 так она создает относительно AtmelStudio v.5 , v.7 более оптимальный код на выходе минимум на 4 ячейки это точно ( DooMmen на своем сайте тоже рекомендует ).
-------------------------------------------------------------------------------------------------
Вот участок программы в файле Хиде 7135x8v2.h от автора без изменений.
//Уровни напряжений индикации
//val = ((V_bat - V_diode) * R2 * 255) / ((R1 + R2) * V_ref)
//V_diode = 0.28V; R1 = 19.1k; R2 = 4.7k

#define U1 0x98 // 3.6
#define U2 0xA0 // 3.7
#define U3 0xA4 // 3.8
#define U4 0xAB // 3.95


Вот измененный участок Полноценного вольтметра в файле Хиде 7135x8v2.h для 3.0-4.2В.

//Уровни напряжений индикации
//val = ((V_bat - V_diode) * R2 * 255) / ((R1 + R2) * V_ref)
//V_diode = 0.28V; R1 = 19.1k; R2 = 4.7k ; V_ref=1.1V

#define U1 0x84 // 3.1В (измеренный порог 3,04В)
#define U2 0x89 // 3.2В (измеренный порог 3,16В)
#define U3 0x8E // 3.3В (измеренный порог 3,26В)
#define U4 0x92 // 3.4В (измеренный порог 3,36В)
#define U5 0x96 // 3.5В (измеренный порог 3,45В)
#define U6 0x9C // 3.6В (измеренный порог 3,57В)
#define U7 0xA0 // 3.7В (измеренный порог 3,66В)
#define U8 0xA5 // 3.8В (измеренный порог 3,75В)
#define U9 0xAA // 3.9В (измеренный порог 3,86В) или 0xA9
#define U10 0xAE // 4.0В (измеренный порог 3,96В) норма
#define U11 0xB4 // 4.1В (измеренный порог 4,05В) или 0xB3
#define U12 0xB9 // 4.2В (измеренный порог 4,16В) или 0xB8



Значения (define U1 - define U12) я подбирал в ручную , программировал чип более 100раз и мерил точным мультиметром , короче заняло кучу времени . Формула указанная в программе вроде верная но появляется очень большая погрешность и я ей не пользовался. Данные пороги можно еще корректировать (я даже привел примеры в комментах), может , где то я неточен, хотя я все проверял .
//val = ((V_bat - V_diode) * R2 * 255) / ((R1 + R2) * V_ref)
//V_diode = 0.28V; R1 = 19.1k; R2 = 4.7k ; V_ref=1.1V

Например расчетное падение напряжения на диоде в формуле V_diode = 0.28V , а на самом деле у меня при 4.0В питания батареи падение получается на диоде V_diode = 0.22V , а если уже 3.0 В питания батареи то падение на диоде получается уже V_diode = 0.13V (Это уже громадная разница с расчетным ). Все по науке, меньше напряжение, меньшее потребление чипа и соответственно меньшее падение на диоде.

Вот участок программы в файле СИ 7135x8v2.c от автора без изменений.

uint8_t switch_voltage [] = {U1, U2, U3, U4};
static INLINE void display_voltage(void)
{
uint8_t v_batt;
uint8_t i = 0;
input_mode();
mode_saver = 0;
v_batt = adch_volt;
while(1)
{
OCR0A = 0x80;
delay_ms(75);
OCR0A = 0x00;
delay_ms(100);
if(v_batt < switch_voltage[i])
break;
if(++i >= 5)
break;
}
delay_ms(100);

#ifdef THEMPERATURE_CONTROL
i = ReadEEPROMByte(CFG_CALIBRATE);
if((!i) || (i == 0xFF)) // если термоконтроль отключен - мигаем
flash(10);
#endif
}

Вот измененный участок Полноценного вольтметра в файле СИ 7135x8v2.c для 3.0-4.2В.

uint8_t switch_voltage [] = {U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12}; // Вольтметр 3,0-4,2В

// Индикация 3,0-4,2В увелич. на 78 ячеек памяти относит. прежней индикации от автора

static INLINE void display_voltage(void)
{
uint8_t v_batt;
uint8_t i = 1;
input_mode();
mode_saver = 0;
v_batt = adch_volt;
delay_ms(200); // Пауза перед изм.Напряж,+4 яч.пам, если не хватает памяти можно закомент.

if(v_batt > switch_voltage[9]) // Определ. Напряж. батареи, если 4 Вольта и более то i=0
i = 0; // i=0 если напряжение батареи более 4 Вольт
else
i = 1; // i=1 если напряжение батареи менее 4 Вольт

while(1) // Цикл для моргания 3 Вольт или 4 Вольт, зависит от перем i=1 или i=0 соотв.
{
OCR0A = 0x80;
delay_ms(75);
OCR0A = 0x00;
delay_ms(100);
if(++i >= 4)
break;
}
delay_ms(200); // Пауза разделяющая Вольты и десятые доли Вольта
if(v_batt > switch_voltage[9]) // Определ. напряжения батареи, если 4 Вольта и более то i=10
i = 10; // сделать i = 10 для цикла десятых долей Вольта если 4 Вольта
else
i = 0; // сделать i = 0 для цикла десятых долей Вольта если 3 Вольта

while(1) // Цикл Сравн. Напряж. с эталоном U1-U12 и моргание десятых долей Вольта
{
if(v_batt < switch_voltage[i])
break;
OCR0A = 0x80;
delay_ms(75);
OCR0A = 0x00;
delay_ms(100);
i++;
if(i == 9 || i == 12)
break;
}
// delay_ms(200); // Пауза после моргания U, мало для меня, + на 2 ячейки прогр. больше
delay_sec(1); // Моя величина паузы, получается примерно 3 сек то что надо

#ifdef THEMPERATURE_CONTROL // ничего здесь и далее не трогал
i = ReadEEPROMByte(CFG_CALIBRATE);
if((!i) || (i == 0xFF)) // если термоконтроль отключен - мигаем
flash(10);
#endif
}
Gebon вне форума   Ответить с цитированием Вверх
Старый 04.12.2016, 19:34   440
Gebon
Новичок
 
Регистрация: 29.12.2013
Последняя активность: 26.01.2020 20:30
Адрес: Москва
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях

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

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

Теперь урезанный вариант вольтметра 3.0-3.9В.

Вот измененный участок Полноценного вольтметра в файле Хиде 7135x8v2.h для 3.0-3.9В.

//Уровни напряжений индикации
//val = ((V_bat - V_diode) * R2 * 255) / ((R1 + R2) * V_ref)
//V_diode = 0.28V; R1 = 19.1k; R2 = 4.7k; V_ref=1.1V


#define U1 0x84 // 3.1В (измеренный порог 3,04В)
#define U2 0x89 // 3.2В (измеренный порог 3,16В)
#define U3 0x8E // 3.3В (измеренный порог 3,26В)
#define U4 0x92 // 3.4В (измеренный порог 3,36В)
#define U5 0x96 // 3.5В (измеренный порог 3,45В)
#define U6 0x9C // 3.6В (измеренный порог 3,57В)
#define U7 0xA0 // 3.7В (измеренный порог 3,66В)
#define U8 0xA5 // 3.8В (измеренный порог 3,75В)
#define U9 0xA9 // 3.9В (измеренный порог 3,86В) было 0xAA


Вот измененный участок Урезанного вольтметра в файле СИ 7135x8v2.c для 3.0-3.9В.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
uint8_t switch_voltage [] = {U1, U2, U3, U4, U5, U6, U7, U8, U9}; //Вольтметр 3,0-3,9В

// индикация 3,0-3,9В увеличивает на 34 ячейки памяти относительно прежней индикации от автора
// (можно уменьшить до 30 ячеек если убрать далее вначале паузу delay_ms(200); )

static INLINE void display_voltage(void)

{
uint8_t v_batt;
uint8_t i = 0;
input_mode();
mode_saver = 0;
v_batt = adch_volt;

//delay_ms(200); // пауза перед работой вольтметра (если не хватает пам. закомент,-4 яч.)

while(1) // Цикл для моргания 3 раз - 3 Вольта
{
OCR0A = 0x80;
delay_ms(75);
OCR0A = 0x00;
delay_ms(100);
if(++i >= 3)
break;
}
delay_ms(200); // Пауза разделяющая Вольты и десятые доли Вольта
i = 0; // обнулить переменную i = 0 после цикла моргания 3 Вольт

while(1) // Цикл Сравнение напряж. с эталоном U1-U9 и моргание от 0 до 9 раз
{
if(v_batt < switch_voltage[i])
break;
OCR0A = 0x80;
delay_ms(75);
OCR0A = 0x00;
delay_ms(100);
if(++i >= 9)
break;
}
//delay_ms(200); // пауза после моргания напряж, мало для меня, + на 2 ячейки прогр. больше
delay_sec(1); // Моя величина задержки, получается примерно 3 сек

#ifdef THEMPERATURE_CONTROL // сейчас и далее ничего не трогал оставил как есть
i = ReadEEPROMByte(CFG_CALIBRATE);
if((!i) || (i == 0xFF)) // если термоконтроль отключен - мигаем
flash(10);
#endif
}

Ну вот вроде и все изменения в программах драйвера. нужно тестировать . У меня все работает прекрасно.
Gebon вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

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

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