| 
 | 
		
			
  | ||||||||
  
  
	 | 
	
  | 
| 
		 | 
  101662  
  204  
  0  
  0
 | 
            
 | 
Опции темы | Поиск в этой теме | 
			
			 
			
			
		 | 
		
			 
			
 
1
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Здравствуйте. 
		
		
		
			Выкладываю свою версию индикатора заряда батареи. Для чего изготавливалась эта версия - хотелось сделать что то своё и для себя, так же я отказался в целях экономии энергии аккумулятора от внешнего делителя напряжения. Как работает схема - да впринцыпе так же как схема от INFERION -а. А именно - при подаче на вывод PON высокого уровня индикатор просыпается и показывает текуший заряд. Есть несколько индикацый заряда. 1) Горят (переливаются) все 3 светодиода 2) Мигает 1 светодиод и 2 горят 3) Горят только 2 светодиода 4) мигает один и горит 1 5) горит один 6) мигает 1 7) быстро мигает 1   когда напряжение совсем низкое вспыхивают поочередно все светодиодыПосле отключения лазера программа ждет завершения анимации и гасит светодиоды ,если больше ничего не произошло то контроллер через 1 секунду засыпает. При подтяжке вывода CHRG на землю включается индикация заряда 1) плавно включается 1 светодиод 2) плавно включается второй светодиод 3) плавно включается 3 тий светодиод 4) плавно гаснут все и далее по кругу. В проекте файл прошивки и дудка, вначале шьются фьюзы, затем сама прошивка. Фьюзы те же что в схеме инфа, если перепрошиваете то их не трогайте. Можно расширить схему и подключить еще один светодиод, но тогда перепрошить можно будет только HV программатором. Если кому надо то прошивку доработаю.  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
2
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Да, забыл сказать - все мигания и прочее анимации, плавные. 
		
		
		
			Это моя первая прошивка и скорее всего я её буду дорабатывать. Потребляет схема мало, а когда контрллер засыпает то потребляет столько, сколько потребляет МК в спящем режиме. А для тех кому светодиодов мало можно сделать так. Правда на CHRG вывод придется подавать сигнал высокого уровня (например при зарядке аккумулятора подавать ток напрямую на этот вывод), а контролер придется включать вместе с самим лазером для измерения напряжения на нем, и он не будет подключен к аккумулятору когда лазер выключен. Но это всё в теории   на практике я такое решение не проверял. Прошивку само собой под этот вариант нужно будет менять ... да и нужно будет точно знать падение на диоде которфй между Vcc и 8 выводом МК, так как он будет вносить искажения в замеры.
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
3
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Решил объединить индикатор заряда с самой зарядкой, а драйвер крепить на лапах диода - так безопаснее для диода. 
		
		
		
			Итого конструкция будущих "фонариков" будет состоять из зарядно-индикаторной части и самого драйвера с диодом, всего 2 платы вместо 3х в разных частях фонарика как было ранее ![]() Вот фото того что получилось, на плате недораспаяны 2 детали резистор на 10 килоом и еще один конденсатор, сейчас это уже собрано полностью и опробовано - результат меня устраивает. Вторая сторона платы используется только для массы и в качестве радиатора. Ток зарядки 525 милиампер. прошивку стоит откалибровать так как она раньше предусматривала индикацию в диапозоне 2,8-4,2 вольта а надо в диапозоне 3,4-4,2 а то что ниже разделить на 2 поддиапазона 3-3,4 сильный разряд и мигание, а ниже 3х вольт хочу что бы тинька гасила драйвер (придется отключать ресет что бы на это хватило выводов, в результате выкинул из схемы драйвера 2 супервизора ). Платка как раз входит в фонарик. Заказал на заводе еще втулки-переходники аксиз-фонарик. Вверху платы 6 контактов под программатор, переходник тоже изготовил так как перетыкать и паять провода мне лениво, лучше на плате предусмотреть площадки. P. S. Микросхема зарядки MC34673  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
4
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 11.02.2010 Последняя активность: 03.09.2015 13:00 
					Сообщений: 622
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Интересно будет увидеть твой комбайн. Молодец!) Я завтра тоже оккупирую кое-чей сверлильный станок, и просверлю в паре фонариков отверстия для зарядки и индикации.
		 
		
		
		
		
		
		
		
	 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
5
 
			
		 | 
	
| 
			 
			 Завсегдатай Фонарёвки 
			
 
			
			
				
			
  
			 
 
			
	 | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
6
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			А что за микросхемы использовал? 
		
		
		
		
		
		
		
	Я стремился к минимальной цене, так как хочу собрать несколько фонариков на продажу, очень принтер хочется лазерный и паяльную станцию (хотя бы фен, так как паяльник нормальный у меня теперь). контроллер - Attiny25 зарядка - MC34673 драйвер - NCP1529 начинка не такая уж дорогая   к этому и стремился.
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
7
 
			
		 | 
	
| 
			 
			 Завсегдатай Фонарёвки 
			
 
			
			
				
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			А я стремился к КПД. Зарядка - BQ24155.
		 
		
		
		
		
		
		
		
	 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
8
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36 
					Сообщений: 1342
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			А где исходник? Открыл архив, а там только .hex  
		
		
		
		
		
		
		
	 ...
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
9
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Исходник на СИ. 
		
		
		
		
		
		
		
	Алгоритм тупейший if (напряжение от и до то) {Делаем что то.} это моя первая прошивка,даже стыдно код показывать   так как знаю что косяков в ней не мало.
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
10
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36 
					Сообщений: 1342
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Просто там есть некоторые моменты с энергопотреблением, из-за которых у тебя МК может есть не 1мкА в дежурке, а целых 0,2мА. И ещё мне интересно как ты меряешь без делителя напряжения, собственно, напряжение батареи...
		 
		
		
		
		
		
		
		
	 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
11
 
			
		 | 
	
|
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Там есть хитрость одна, её нет в даташите что так можно но всё же можно. 
		
		
		
		
		
		
		
	Есть возможность в качестве опорного напряжения выбрать AVCC, а в качестве измеряемого – опору Vbg (1.1В в моем случае для attiny25 да и atinyX5) Uavcc = 1.1*1024/ADC Зависимость в этом случае будет обратня - большему значению напряжения будет соответствовать меньшее значение на АЦП. Но есть и недостаток в быстродействии так как переключение мультиплексора АЦП в таком режиме происходит не сразу, из-за чего первые 5-6 результатов измерения будут недостоверными (в режиме Free-Run), я выкидывал примерно 10 первых результатов установив задержку. Цитата: 
	
  | 
|
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
12
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18 
					Сообщений: 1034
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 Цитата: 
	По идее в режиме Free-Run переключение выполнится только перед последующим измерением, ну может еще одно измерение будет неверное, 10 - это как-то многовато. Отключать источник опорного надо (BOD, ADC и компаратор). И вачдог, если используется.  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
13
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Ну так контроллер уходит в спячку а когда просыпается то начинает мерять, тут могут возникать ошибки ( у меня возникали - бывали попадались результаты некорректные) но задержка получается совсем небольшая при включении  
		
		
		
		
		
		
		
	 . В моем случае не нужно сверхбыстро реагировать контроллеру - он используется только в качестве индикатора ![]() сторожевой таймер отключен и компаратор а вот про опорное... в общем прошивку все равно корректировать...  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
14
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36 
					Сообщений: 1342
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			Так и думал что ты решил так подключать АЦП  
		
		
		
		
		
		
		
	 . Других вариантов просто и нет. Я думал над таким подключением, но предпочёл делитель, желая сделать по-меньше программного огорода и по-выше характеристики. В общем я беру эту идею на вооружение, действительно у МК такая возможность есть. А если по извращаться над кодом, то работать будет ненамного хуже резистивного делителя...А ты разве не замерил потребляемый МК ток? Супервизор жрёт много (точнее ИОН, который он, ADC и компаратор используют), его перед выходом в Power down необходимо отключать хитрым способом (недостаточно просто бит где-то поставить).  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
15
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			замерял, действительно 0,2 милиампера  
		
		
		
		
		
		
		
	  я раньше не замерял так как проверял на старой схеме с впаяным делителем.Прошивку все равно менять   перепрограммирование занимает меньше минуты, площадки на плате предусмотрены, и переходник под эти платы сделан. Печатку выложу как на работе время будет - дома нет принтера поэтому печатки я на работе делаю.
		 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
16
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			Супервизор жрёт много (точнее ИОН, который он, ADC и компаратор используют), его перед выходом в Power down необходимо отключать хитрым способом (недостаточно просто бит где-то поставить). 
		
		
		
		
		
		
		
	и что же это за хитрый способ?  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
17
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36 
					Сообщений: 1342
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 Код: 
	cli ldi R17, 0b10110000 ldi R16, 0b10110100 ;BOD Sleep, Sleep, режим Power-down, BOD Sleep Enable out MCUCR, R16 out MCUCR, R17 ;BOD Sleep, Sleep, режим Power-down sei Sleep  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
			
			 
			
			
		 | 
		
			 
			
 
18
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
  
			 
 
			
	 | 
	
	
	
		
              
			 
			
			после этих изменений контроллер вообще перестал засыпать  
		
		
		
		
		
		
		
	![]() пока сделаю с потребелением 0,2 милиампера, не так это много, но устал переделывать, одни изыскания и ничего готового в итоге.  | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
19
 
			
		 | 
	
| 
			 
			 Ветеран Фонарёвки 
			
 
			
			
				
			
  
			Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36 
					Сообщений: 1342
 Сказал(а) спасибо: 0 
		
			
				Поблагодарили: 0 раз(а) в 0 сообщениях
			
		
	  | 
	
	
	
		
              
			 
			
			На Си вообще плясок с бубном хватает. Да и на С++, если на комп пишешь прогу, тоже не всё прозрачно. Пишешь вроде что-то вполне конкретное и понятное, а компилятор извращает как ему больше нравится. Так что полезно иногда выискивать ошибки в листинге...
		 
		
		
		
		
		
		
		
	 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 | 
| 
			
			 | 
		
			 
			
 
20
 
			
		 | 
	
| 
			 
			 Увлеченный 
			
 
			
			
				
			
  
			 
 
			
	 | 
	
	
	
		
              
			 | 
| 
  
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		  
		
	 |