Страница 1 из 1

Eeprom в зарядном устройстве

Добавлено: Вс авг 03, 2014 23:19:07
DJZEM
Здравствуйте уважаемые коты и кошки. Пришел поплакаться, или похвастаться своей тупостью. Может направите в правильное русло.
Дело в том, что слепил я зарядное устройство. Хотел выставить пороги срабатывания реле, да чтобы запоминались в ипром. Не выходит. То помнит, то не помнит, то вообще, черт и что помнит. :facepalm: Проект в Atmel studio и протеусе прилагаю.
Не ругайтесь, если что не так делаю, не туды пишу... Вообще огорчен, слов нет. :cry:

Re: Eeprom в зарядном устройстве

Добавлено: Пн авг 04, 2014 02:09:46
Rtmip
Здравствуйте. Думаете интересно разбираться в этой куче файлов, что выложили, без подробного описания?
Кнопочки для изменения pA и pV на проекте в протеусе почему не нарисовали? Без нажатия на них значения
всегда будут одни и те же...
В программе как собираетесь хранить два значения в одной ячейке ЕЕПРОМа?
Во вложении чуть исправленный код, сейчас все запоминает и читает. Как оно там дальше работает не разбирался,
да и дисплея нет у меня такого, чтобы посмотреть. Пока не нажмете на кнопки, которые по Вашему же коду, подключены
к:

Код: Выделить всё

 if((PIND&(1 << PD2)) == 0){                // если кнопка 3 нажата
	     _delay_ms(50);
		 pV = pV+5;}                               //плюс вольты
	    
	   if((PIND&(1 << PD3)) == 0){                // если кнопка 4 нажата
	      _delay_ms(50);          
	     pV = pV-5;}                              //минус вольты
		 
	   if((PIND&(1 << PD4)) == 0){                // если кнопка 5 нажата
		_delay_ms(50);
		 pA = pA+5;}                              //плюс амперы
		 
	   if((PIND&(1 << PD5)) == 0){                // если кнопка 6 нажата
		 _delay_ms(50);
		 pA = pA-5;}                              //минус амперы
		 
ничего и не пишется при первом включении.
После того как данные будут записаны в EEPROM, то они потом считаются при следующем включении и они же запишутся,
если их не измените своими отсутствующими кнопками. Поэтому советую использовать не
eeprom_write_byte
, а так:
eeprom_update_block
раз уж все равно пишутся два значения при нажатии на кнопку, но это не принципиально :)
Во вложении раскоментируйте строчку:
//#define F_CPU 8000000
и если Ваш компилятор не выдавал предупреждений, то поправьте как было в определении функции:
void presets(void)
, хотя должны были быть предупреждения на такое:
void presets()
, но я не знаток, утверждать не буду...
P.S. Вообще чего огорчаться, нормально программу написали, например, я так не умею, может научусь :) Да и не каждый сумеет, не огорчайтесь :)

Re: Eeprom в зарядном устройстве

Добавлено: Пн авг 04, 2014 19:01:20
DJZEM
Ах вот оно что :shock: значит я тупо не создал двух ячеек и пихал все в одну... Как стыдно после СТМ не разобраться в АВР :facepalm:
Проект с кнобками, вроде там где то есть, не стал сортировать, так как не надеялся на помощь :roll:

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

По поводу void presets() студия ошибок не выдает, вообще не заморачивался по этому поводу... Хотя у меня 6.2 версия. На много круче четверки... :)

Re: Eeprom в зарядном устройстве

Добавлено: Пн авг 04, 2014 19:17:29
Pink-Pank
никогда мы не будем братьями
Типичный правый сектор Украины. Обосрал Россию, но за помощью все равно сюда лезет... :facepalm:

Re: Eeprom в зарядном устройстве

Добавлено: Пн авг 04, 2014 19:32:08
DJZEM
:facepalm: Ой простите коль так обидел... Хотя тут не только Россия... :roll: А вы сами вообще из США :wink:

Re: Eeprom в зарядном устройстве

Добавлено: Пн авг 04, 2014 19:49:14
Pink-Pank
А вы сами вообще из США :wink:
На заборе тоже написано..

Re: Eeprom в зарядном устройстве

Добавлено: Пн авг 04, 2014 20:01:57
DJZEM
Не с проста вы такое пишете... Вообще не понимаю, к чему этот разговор... Для такого есть другие форумы :)

Все таки по поводу непонятных глюков... Может из за того что реле и светодиод на одном порту??

Re: Eeprom в зарядном устройстве

Добавлено: Вт авг 05, 2014 00:16:25
Rtmip
DJZEM, если светодиод подключен без резистора и то, думаю вряд ли...
схему бы нарисовали, то что в проекте наверняка отличается от реальной схемы, а файл lay6 не знаю чем смотреть.
Pink-Pank, подобными постами в этом разделе Вы играете на руку тем, кто все это развязал и сталкивает братьев лбами... :(

Re: Eeprom в зарядном устройстве

Добавлено: Ср авг 06, 2014 14:07:10
DJZEM
Лей6 смотрится в спринте шестой версии.
С проблемой глюка, вроде решил. Все дело в наводке на провода кнопок. Подтянул каждую резисторами 10к к плюсу. На контакты реле поставил советский пленочный кондер 0.01. Резет, тоже подтянул к плюсу через 10к. По возможности, убрал паутину проводов. Работает все как и ожидалось.

Вот новая плата + прошивка, в ней регулировка порогов, осуществляется подстроечными советскими резисторами 30-100к не меньше 20к, чтобы не нагружать стабилизаторы. Номиналы резисторов в числовом обозначении СМД резисторов, электролиты не критичны 10-100 микрофарад. Частота контроллера внутренний генератор 8мгц, можно и кварц подключать.Шунт, самодельный, 0.08 Ом. Прибор проверен с батареей, вери гут :lol:

Схему шима, взял первую попавшую, только между затвором и землей, поставил резистор 10к. Irf3205, усадил на большой радиатор.