|
|
Результаты опроса: Нужен ли такой мод? | |||
Нужно | 102 | 98.08% | |
Не нужно | 2 | 1.92% | |
Голосовавшие: 104. Вы ещё не голосовали в этом опросе | Отменить свой голос |
|
|
84769 280 22 12 |
|
Опции темы | Поиск в этой теме |
28.08.2013, 18:48 | 61 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: А нужен ли драйвер?
Фьюзы там как отображены? Где галочка - НЕзапрограммированы? Иначе получается что и RESET отключен, и DebugWIRE включен, и ещё куча нелепостей. А если всё же вечно путающее всех инверсное отображение, то EEPROM форматируется вместе с Flash при прошивке, и ничего в нём не остаётся, ибо фьюзом это не задано (EESAVE - EEPROM preserves chip erase).
|
28.08.2013, 18:51 | 62 |
|
Re: А нужен ли драйвер?
INFERION,
Да, трется. Не помню уже почему раньше так делал, а сейчас это не нужно. По привычке. Сейчас galex обрадуется Сейчас подумал - там вообще ни одного критичного для прошивки фуса нет. Не помнишь, какие по дефолту? [Исправлено: Tamagotchi, 28.08.2013 в 18:52] |
28.08.2013, 19:02 | 63 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: А нужен ли драйвер?
Даташит в помощь, всё там есть. Но по-умолчанию BOD не активен, тактовая занижена, стартап тайм в ряде случаев завышен и т.п...
|
28.08.2013, 19:22 | 64 |
|
Re: А нужен ли драйвер?
INFERION,
Кстати, кнопку делал по твоей наводке про борьбу с дребезгом - опрашивать пореже и забить на дребезг. Все отлично работает. И еще я подумываю над индикацией батареи. Там подводные камни в сопротивлении АКБ. Насколько я понимаю - оно не постоянно и зависит не только от качества АКБ но и от степени разряда, правильно? У тебя в драйвере оно пересчитывалось? А использовалось потом как? Я думаю попробовать рассчитывать хватит ли заряда для конкретного тока, чтобы под нагрузкой не падало ниже порога отключения и если не хватает - не давать включить режим. [Исправлено: Tamagotchi, 28.08.2013 в 19:31] |
28.08.2013, 21:27 | 65 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: А нужен ли драйвер?
Я ещё не пришел к идеальному механизму, он потихоньку видоизменяется. Так в 4.0 ограничение по макс. потребляемому току производится следящей системой (по входному напряжению), без арифметики. Хорошо тем, что внутреннее сопротивление знать не требуется, а плохо тем, что следящая система весьма тормозная и шумит. Плавный пуск спасает от тормозов, а шум принципиально не устраним. Индикатор там перенял идею с зарядного устройства и активное сопротивление так же не учитывается, поскольку индикатор меряет напряжение батареи в короткие паузы между импульсами. Заполнение 99% и мерцания на 60Гц не видно, но это работает только если включить ШИМ (заполнение настраивается вплоть до 100%). В зарядке же чуть хитрее - там амплитуда переменной составляющей тока ровно 25% и арифметика довольно примитивная - работает тоже отлично. Просто светодиодом так не помодулируешь, а потребляемый 4.0 ток очень трудно вычислить.
В 5.0. Я решил переложить всё на арифметику, и долго с нею провозился. Сначала хотел взять идею с зарядки (неглубокая модуляция, которую не заметно на глаз), но сигнал оказался слишком зашумленным и грязным (мне требуется ловить дельту входных напряжений в десятые милливольта, внутрикристально - тут и передискретизация не помогла), поэтому оставив всё как есть просто объяснил программе, что измерять сопротивление нужно только в тех случаях, если сигнал имеет достаточную амплитуду (>10mV). Теперь он измеряет его только во время резких естественных изменений потребляемого тока (мигания там всякие, плавные пуски и т.п.). Мне это не очень нравится, но лучшего в данной реализации я пока ничего не придумал. Зато не шумит, т.к. данные обновляются только во время естественных изменений яркости. Субъективно сопротивление не сильно плывёт по мере разряда и здорово не мешает. Сама же арифметика очень чётко отрабатывает то, что от неё требуется. К примеру у меня ограничение там стоит на максимальную просадку напряжение в АКБ 0,5V (если больше - защита на панасониках выбивает) - держит честно Vbut-0,5V, пока не упрётся в 3V - дальше держит этот порог. Никаких следящих механизмов и шума, связанного с ними. Индикатор тоже не особо врёт, жить с ним можно... Труднее всего вычислить потребляемый ток, не имея шунта на входе. Известен лишь ток на выходе и входное напряжение. В безразрывном режиме всё просто и замечательно, а вот в прерывистом я стабильной работы не добился. Но к счастью там и ошибка не так бросается в глаза из-за небольших токов. Арифметика в двух режимах сильно отличается и необходимо добавлять ещё узел, определяющий в каком режиме сейчас работает дроссель. Тоже арифметика. Плюс вычислять и всегда знать кучу других параметров. В общем неблагодарное это дело, лучше сразу повесить на вход шунт, а выходной ток уже вычислять приблизительно по нему. На выходе ошибка не так критична как на входе. Плюс ко всему с внешним делителем качество измерения Vin вырастет в несколько раз, и может быть получится использовать неглубокую модуляцию, как в зарядке... Дальнейшее развитие идеи - построить на аналоговом коммутаторе специальный дифф. каскад, заряжающий два конденсатора в определённые моменты, которые подключены к дифф. усилителю самой тиньки (который в свою очередь периодически снимает то показания шунта, то дельту напряжений). Так можно ловить весьма слабый сигнал и в глубокой модуляции потребность отпадёт. Если драйвер двухдроссельный (совмещённый с зарядкой), то промежуточное звено можно использовать как рекуператор, в холостую гоняя энергию между батареей и конденсатором, обеспечивая модуляцию потребляемого тока без какого-либо влияния на сам светодиод. Такие вот идеи... Для вычисления внутреннего сопротивления у меня используется такая вот формула: Rin=(Vinmax-Vinmin)<<16/(Iinmax-Iinmin) А затем и вычисление ЭДС батареи: Vcc=(Iinmax*Rin)>>16+Vinmin Далее ограничивается выходной ток: Irefmax=(Vcc-3V)*3V/(Rin*Voutmax/65536) Как-то так, но это всё выдрано с комментариев и там полно ассемблерных полотен с кучей мелких деталей. Индикатор использует переменную Vcc, а всякие min и max добываются уже модулятором тока, или механизмом, вылавливающим их при естественных изменениях этого тока. Поэтому я и называю эти измерения дифференциальными, т.к. используется незначительная разница в напряжениях (единицы-десятки милливольт) при изменении тока на известную величину. Так можно заодно снимать дифф. сопротивление нагрузки и подстраивать под неё регулятор, но я решил что это лишнее... Арифметика вся 16-ти разрядная, поэтому промежуточные результаты умножения (32 разряда) при делении на них чего либо, или же при их умножении на что-либо - сдвигаются вправо 16 раз (делятся на 65536). На точности это сильно не отражается, чего нельзя сказать о производительности и размере кода... [Исправлено: INFERION, 28.08.2013 в 21:55] |
Поблагодарили: 2 раз(а) |
Nimnul (29.08.2013), Tamagotchi (28.08.2013)
|
29.08.2013, 07:57 | 66 | |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 00:22 Адрес: Россия, Пермский край
Сообщений: 38399
Сказал(а) спасибо: 5956
Поблагодарили: 32825 раз(а) в 15220 сообщениях
|
Re: А нужен ли драйвер?
не очень. при выключении тк все равно теряется ведь калибровка?
? я про обратную (по отношение к той что на фото) сторону спрашивал. в начале темы был разговор что делитель удаляется (полностью или достаточно от земли отрезать только) и позже было сказано что возможно диод уберется, для более точных замеров. в 54 посте про это ничего нет. Цитата:
но какая разница, если постоянно контролируется текущая просадка для текущего тока на предмет достаточности лишь, а не для прогноза времени работы - нехай себе меняется сколько угодно [Исправлено: galex, 29.08.2013 в 07:58] |
|
29.08.2013, 09:55 | 67 |
|
Re: А нужен ли драйвер?
С делителем можно потупить немного иначе. Не знаю нужно это или нет. Отпаиваем оба сопротивления, затем меньшее (4.7k) паяем на место Большего. Пока это не используется, но можно повесить на эту (7-я) ногу DS18B20 и этот резистор будет выполнять роль подтяжки для 1-wire.
|
Поблагодарили: 1 раз |
galex (29.08.2013)
|
29.08.2013, 10:06 | 68 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 00:22 Адрес: Россия, Пермский край
Сообщений: 38399
Сказал(а) спасибо: 5956
Поблагодарили: 32825 раз(а) в 15220 сообщениях
|
Re: А нужен ли драйвер?
типа будет 2 термоконтроля - корпуса и подложки светодиода, если удастся разместить. или аккумулятора. для полного счастья останется только выкинуть уже эти несчастные стабилизаторы, поставить полевик с офингенно низким Vds и рулить им без ограничений. модификация народного драйвера в V4M [Исправлено: galex, 29.08.2013 в 10:12] |
29.08.2013, 10:17 | 69 |
|
Re: А нужен ли драйвер?
Программа при включении определяет наличие 18Б20 и использует его, если его нет - внутренний датчик. С этим датчиком я уже сталкивался и прикрутить его не проблема. Он 0.0625 градуса (если правильно помню) ловит. Делал термостат для газового котла, подхожу к нему и котел вырубается - датчик меня увидел
|
Поблагодарили: 1 раз |
shurko_3 (29.08.2013)
|
29.08.2013, 13:33 | 70 | |
Регистрация: 06.06.2010 Последняя активность: 02.05.2024 10:50 Адрес: Беларусь, Минск
Сообщений: 2013
Сказал(а) спасибо: 694
Поблагодарили: 856 раз(а) в 359 сообщениях
|
Re: А нужен ли драйвер?
Цитата:
самое сложное здесь то, что нужно уже будет отдельную(новую) плату делать , а это уже не каждому под силу, будем "выжимать последние соки" из народного, на 7135 )) |
|
29.08.2013, 13:46 | 71 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 00:22 Адрес: Россия, Пермский край
Сообщений: 38399
Сказал(а) спасибо: 5956
Поблагодарили: 32825 раз(а) в 15220 сообщениях
|
Re: А нужен ли драйвер?
|
29.08.2013, 13:53 | 72 |
|
Re: А нужен ли драйвер?
Вообще то galex почти прав. Я же писал, что этот мод - побочный продукт при разработке импульсника. Пока меня кинули с изготовление печаток (а вот здесь про печатки прав shurko_3) и я собираю в кучу все, нужное для их изготовления, я обкатываю кнопку и скелет программы на народнике. Отсюда и такой жирный код. Там все на прерываниях и флагах построено, чтобы не занимать процессор и освободить такты для руления ПИД регулятором с большой скоростью.
|
29.08.2013, 14:00 | 73 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 00:22 Адрес: Россия, Пермский край
Сообщений: 38399
Сказал(а) спасибо: 5956
Поблагодарили: 32825 раз(а) в 15220 сообщениях
|
Re: А нужен ли драйвер?
|
29.08.2013, 15:13 | 74 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8022
Сказал(а) спасибо: 934
Поблагодарили: 5193 раз(а) в 2784 сообщениях
|
Re: А нужен ли драйвер?
У меня, при 8 * 7135 и спящем контроллере, потребление около 0,2мкА.
Правда это то на ATtiny13A. Но не на всех ATtiny13A: -- те что на драйверах распаяны (разных, всех что попадались) -- все умеют так хорошо спать. -- купил по несколько штук в "Ркс Компоненты" и "Имрад" (Киев) -- с тем-же кодом эти контроллеры (даже без обвязки) -- спят при 1-2мкА (намного больше даташитных характеристик). |
29.08.2013, 15:30 | 75 |
|
Re: А нужен ли драйвер?
Значит надо попробовать поискать, что я не выключил. Может и замусь... а пока прикрутил индикаторный светодиод на 7-ю ногу. Начинает моргать, когда напряжение под нагрузкой меньше 3.1В. И часто мерцает, когда драйвер в режиме ТК.
|
29.08.2013, 15:41 | 76 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: А нужен ли драйвер?
Потребление МК ведь и от напряжение питания сильно зависит и от температуры.
Вот TM15 вообще 2,7мА жрёт в дежурке. 0,9мА драйвер и периодически миллиампера 4 кнопка, которая горит половину времени... |
29.08.2013, 15:54 | 77 |
|
Re: А нужен ли драйвер?
INFERION,
строка для прошивки и установки фусов дудкой и usbasp программатором: avrdude.exe -p ATtiny85 -c usbasp -P usb -U lfuse:w:0x62:m -U hfuse:w:0xD3:m -U flash:w:"flash.hex":a Шьет. Правильное заклинание? |
29.08.2013, 16:33 | 78 | |
|
Re: А нужен ли драйвер?
Цитата:
mcucr1 = MCUCR | _BV(BODS) | _BV(BODSE); mcucr2 = mcucr1 & ~_BV(BODSE); MCUCR = mcucr1; MCUCR = mcucr2; не дает никакого эффекта. что с этим кодом, что без - никакой разницы какие идеи? |
|
29.08.2013, 16:35 | 79 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5774
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях
|
Re: А нужен ли драйвер?
Я по-другому делаю. FT232RL быстрее самой тиньки на 8МГц (да и на 16МГц тоже), поэтому я сначала зашиваю фьюзы, чтоб поднять скорость прошивания флеш в 8 раз, что весьма ощутимо, т.к. ждать всё равно приходится долго. А чтоб после прошивки скорость переключилась - необходимо заново войти в режим программирования, уже с новой скоростью:
avrdude.exe -p t85 -c ftbb -P ft0 -B 57600 -U hfuse:w:213:m -U lfuse:w:210:m avrdude.exe -p t85 -c ftbb -P ft0 -B 460800 -U flash:w:Forum_Driver.hex -U hfuse:w:85:m -U lock:w:252:m Может быть можно и так: avrdude.exe -p t85 -c ftbb -P ft0 -B 57600 -U hfuse:w:213:m -U lfuse:w:210:m -B 460800 -U flash:w:Forum_Driver.hex -U hfuse:w:85:m -U lock:w:252:m Если заработает - должно быть быстрее. Как там скорость определяется в usbasp я не знаю. Сколько времени заливает, и особенно читает 8 килобайт? По поводу BOD Sleep. Компилятор может быть и сам эту операцию делает, ибо на программном уровне вложится в отведённое время Си трудно, он же тормоз и делает всё как ему удобно. Тут или ассемблерная вставка требуется, или уже подобная проблема решена в самом компиляторе, что логично. Вот ТУТ похожая ситуация. Спец. меры не принимались, а потребление всё равно будто с отключенным BOD. [Исправлено: INFERION, 29.08.2013 в 16:42] |
29.08.2013, 16:43 | 80 |
|
Re: А нужен ли драйвер?
У меня в программаторе скорость перемычкой регулируется. Так, что облом со скоростью. Знаю, что в новых версиях прошивок для usbasp есть регулировка, но не знаю, насколько мой китайский программатор совместим по ногам, а по схеме сравнить лениво
Компилится эта беда так: Код:
692: 85 b7 in r24, 0x35 ; 53 694: 84 68 ori r24, 0x84 ; 132 696: 98 2f mov r25, r24 698: 9b 7f andi r25, 0xFB ; 251 69a: 85 bf out 0x35, r24 ; 53 69c: 95 bf out 0x35, r25 ; 53 69e: 85 b7 in r24, 0x35 ; 53 6a0: 80 62 ori r24, 0x20 ; 32 6a2: 85 bf out 0x35, r24 ; 53 6a4: 78 94 sei 6a6: 88 95 sleep 6a8: 08 95 ret |