|
|
| ||||||||
|
|
|
|
412371
530
32
10
|
|
Опции темы | Поиск в этой теме |
|
|
441
|
|
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 17:42
Сообщений: 40372
Сказал(а) спасибо: 6673
Поблагодарили: 36066 раз(а) в 16661 сообщениях
|
|
|
|
|
|
|
442
|
|
Новичок
Регистрация: 29.12.2013 Последняя активность: 26.01.2020 20:30
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях
|
Не совсем понял как использовать тег "[code]" .
Давайте я скопирую готовые рабочие и скомпилированные коды (папка с проектом полностью и в папке RELEASE есть даже готовые *.hex ) я вижу скрепку здесь, правда сделанные под себя. Включение вольтметра сделан 2 короткими кликами. Если получится то тогда пусть кто умеет выложит коды правильно хотя если уже будут готовые файлы то тогда может будет ни к чему. |
|
|
|
|
|
443
|
|
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 17:42
Сообщений: 40372
Сказал(а) спасибо: 6673
Поблагодарили: 36066 раз(а) в 16661 сообщениях
|
ставите его в начале, а в конце "[/code]"
а между ними Код:
register uint8_t MAX_THEMP asm("r12"); // максимальная температура читается из EEPROM
#else
#ifdef TURBO_TIME
register uint8_t turbo_timer asm("r8");
register uint8_t prev_mode asm("r9");
#endif
#endif
|
|
|
|
|
|
444
|
|
Новичок
Регистрация: 29.12.2013 Последняя активность: 26.01.2020 20:30
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях
|
Не пойму короче . Попробовал для проверки скачать свои файлы , почему то вложения не качаются _ высвечивается какой то attachment.php вместо моих файлов? так должно быть или я не правильно закачал (может имена длинные). Кто нибудь пробовал скачать вложения
LD_7135_v_2.6.5 moy M1-2.80A 10_2016 volt control 3_0-3_9.rar LD_7135_v_2.6.5 moy M1-2.80A 10_2016 volt control 3_0-4_2.rar или это глюк только для меня и свои файлы я не могу скачать. |
|
|
|
|
|
445
|
|
Новичок
Регистрация: 29.12.2013 Последняя активность: 26.01.2020 20:30
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях
|
Давайте повторю по вашему.
" Код:
"
Вот участок программы в файле Хиде 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
}
"
|
|
|
|
|
|
446
|
|
Новичок
Регистрация: 29.12.2013 Последняя активность: 26.01.2020 20:30
Сообщений: 32
Сказал(а) спасибо: 7
Поблагодарили: 8 раз(а) в 6 сообщениях
|
Все равно как то меняет коменты и они становятся длинными, но сам код вроде норма.
Теперь урезанный вариант вольтметра. Вот измененный участок Урезанного вольтметра в файле Хиде 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
}
"
Ну вот вроде и все изменения в программах драйвера. нужно тестировать . У меня все работает прекрасно. |
|
|
|
|
|
447
|
|
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 17:42
Сообщений: 40372
Сказал(а) спасибо: 6673
Поблагодарили: 36066 раз(а) в 16661 сообщениях
|
|
|
|
|
|
|
448
|
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
Приветствую всех)
У меня возник вопрос - а в последних версиях драйвера с доработкой свечение между вспышками (при ШИМ=0) это нормальное явление (мождет АМЦ-шки какие-то другие пошли), или у меня тинька подпаленная попалась? Может кто сталкивался?
__________________
Скажем нет пиратству! - Качаем только лицензионные диски. |
|
|
|
|
|
450
|
|
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
DooMmen, если речь про красный драйвер с програмируемыми режимами и новой прошивкой с бээлэф то да есть в них такой косяк или тиньки глячные или каким то образом пробивается порт (это моя скудоумная догадка)
|
|
|
|
| Поблагодарили: 1 раз |
DooMmen (20.12.2016)
|
|
|
451
|
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
дядюшка_зуэ, драйвер стандартный штатный, но с измененной разводкой платы. В стоке 5-я нога тиньки висит на минусе, может это программно и подпалило порт. Попробую осциллограмки на днях посмотреть и тиньку поменять, заодно скину фотографии переделки (а то что-то не смог найти, правда драйвер на 2.1А).
galex, явно не послесвечение. Светится как мунлайт на минималке. |
|
|
|
|
|
452
|
|
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
DooMmen, с большой долей вероятности Вы и правы, странно зачем новые обычные драйвера стали делать с 5-й ногой на минусе. сам сначала на это не обратил внимание, потом заметил этот момент в обсуждении и удалил новый драйвер из корзины. правда он мне все равно попался уже потерпевший для экперементов, была интересна разводка платы, хотя она тоже неудачная даже для тактовой кнопки и пружина барахло.
кстати с прошивкой ceramiс для тактовой кнопки этот эффект на паленом драйвере не проявляется, мунлайт минимальный как и следует 1,6мА без прибавки, но там стробов нет [Исправлено: дядюшка_зуэ, 20.12.2016 в 22:41] |
|
|
|
| Поблагодарили: 1 раз |
DooMmen (20.12.2016)
|
|
|
453
|
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5204 раз(а) в 2785 сообщениях
|
В каком-то драйвере (точно не помню в каком именно, давно было) строб -- это не включение+выключение, а ШИМ255/256 + ШИМ1/256.
Т.е., максимум + минимум(мунлайт). А может это во многих так, ШИМ1/256 очень часто вообще не зажигает светодиод, внешне не определить. Нет, порты с легкостью переживает такое. В даташите это не запрещено. Только указанно, что напряжение логических уровней гарантируется для выходного тока не более 60мА. |
|
|
|
| Поблагодарили: 1 раз |
DooMmen (20.12.2016)
|
|
|
454
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Было такое. На зеленом драйвере. Хз с чем связано.
__________________
батискаф: герметична, надійно ізольована від зовнішнього світу капсула,яка іде на дно |
|
|
|
| Поблагодарили: 1 раз |
DooMmen (20.12.2016)
|
|
|
455
|
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
Решил проблему подвесив конденсатор 10nF с 5 ноги на общий. Костыль конечно, но работает, хотя есть свои глюки при этом. Возможно данный эффект связан с уменьшенным током потребления стабилизатора, ну и с тем что при ШИМ=0 у нас на выходе порта ШИМ не 0, а =1.
|
|
|
|
|
|
456
|
|
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
я осцилом смотрел, там нет ШИМа при свечении
|
|
|
|
|
|
457
|
|
Увлеченный
Регистрация: 04.06.2014 Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях
|
Помогите пожалуйста разобраться. Нужен максимальный ток 2100 в фонарь Convoy s2+ на драйвере 105D без звезд.
1. Паяем конденсатор 2. Режем и паяем как на фото? https://forum.fonarevka.ru/... 3. Раскоментируем конденсатор и прошиваем с током 2800 и 4. Убираем два 7135 на обратной стороне мк (драйвер с восьми стабами) Поясните пожалуйста для чего паять конденсатор? Верно? [Исправлено: Den200, 10.01.2017 в 01:25] |
|
|
|
|
|
458
|
|
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
конденсатор можно и не подпаивать на 105D они нормальной емкости для уверенной работы.
если готовы раскоментировать то можно подправить режимы сделав максимум 2100 перекомпилить версию и два лишних стаба не отрезать механически. |
|
|
|
| Поблагодарили: 1 раз |
Den200 (10.01.2017)
|
|
|
459
|
|
Увлеченный
Регистрация: 04.06.2014 Последняя активность: 21.03.2020 00:26
Сообщений: 340
Сказал(а) спасибо: 118
Поблагодарили: 16 раз(а) в 14 сообщениях
|
Спасибо. Стабы нужны в другое место.
![]() А если снять с обратной стороны и сделать 2100 в прошивке, то на шимах яркость уменьшится? |
|
|
|
|
|
460
|
|
животное опасно
Регистрация: 18.11.2014 Последняя активность: 23.02.2022 10:39
Сообщений: 958
Сказал(а) спасибо: 56
Поблагодарили: 153 раз(а) в 129 сообщениях
|
там для шима 1АМС на 5-й ноге для режимов меньше чем 350 мА, два на 2-й ноге для фиксированых 700мА и остальные на 6-й ноге для максимума и прочих комбинаций режимов.
если снять 2 с обратной стороны драйвера нужно смотреть на таблицу режимов подбирать правильные комбинации чтобы получить нужные токи т.к. LED_MASK_5 (6-я нога) будет не 5-ть АМС, а 3 АМС. |
|
|
|
| Поблагодарили: 1 раз |
Den200 (10.01.2017)
|