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

Обсуждаем контроллеры компании Atmel.
Ответить
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна

Сообщение DJZEM »

Здравствуйте уважаемые коты и кошки. Пришел поплакаться, или похвастаться своей тупостью. Может направите в правильное русло.
Дело в том, что слепил я зарядное устройство. Хотел выставить пороги срабатывания реле, да чтобы запоминались в ипром. Не выходит. То помнит, то не помнит, то вообще, черт и что помнит. :facepalm: Проект в Atmel studio и протеусе прилагаю.
Не ругайтесь, если что не так делаю, не туды пишу... Вообще огорчен, слов нет. :cry:
Вложения
zarad_acp_butt.rar
(247.17 КБ) 133 скачивания
Контактная информация:
Реклама
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение 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. Вообще чего огорчаться, нормально программу написали, например, я так не умею, может научусь :) Да и не каждый сумеет, не огорчайтесь :)
Вложения
ADC_pin.rar
(2.73 КБ) 145 скачиваний
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна

Сообщение DJZEM »

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

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

По поводу void presets() студия ошибок не выдает, вообще не заморачивался по этому поводу... Хотя у меня 6.2 версия. На много круче четверки... :)
Последний раз редактировалось ibiza11 Вт авг 05, 2014 09:08:47, всего редактировалось 1 раз.
Причина: 2.2 Запрещается создание нескольких сообщений подряд в одной теме. Если вы хотите что-то добавить к своему, уже написанному сообщению, воспользуйтесь кнопкой "Правка".
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США

Сообщение Pink-Pank »

никогда мы не будем братьями
Типичный правый сектор Украины. Обосрал Россию, но за помощью все равно сюда лезет... :facepalm:
Fucking static initialization order fiasco
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна

Сообщение DJZEM »

:facepalm: Ой простите коль так обидел... Хотя тут не только Россия... :roll: А вы сами вообще из США :wink:
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США

Сообщение Pink-Pank »

А вы сами вообще из США :wink:
На заборе тоже написано..
Fucking static initialization order fiasco
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна

Сообщение DJZEM »

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

Все таки по поводу непонятных глюков... Может из за того что реле и светодиод на одном порту??
Последний раз редактировалось ibiza11 Вт авг 05, 2014 09:09:50, всего редактировалось 1 раз.
Причина: 2.2 Запрещается создание нескольких сообщений подряд в одной теме. Если вы хотите что-то добавить к своему, уже написанному сообщению, воспользуйтесь кнопкой "Правка".
Контактная информация:
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

DJZEM, если светодиод подключен без резистора и то, думаю вряд ли...
схему бы нарисовали, то что в проекте наверняка отличается от реальной схемы, а файл lay6 не знаю чем смотреть.
Pink-Pank, подобными постами в этом разделе Вы играете на руку тем, кто все это развязал и сталкивает братьев лбами... :(
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 342
Зарегистрирован: Чт ноя 21, 2013 14:05:26
Откуда: Україна

Сообщение DJZEM »

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

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

Схему шима, взял первую попавшую, только между затвором и землей, поставил резистор 10к. Irf3205, усадил на большой радиатор.
Вложения
2960.gif
(210.47 КБ) 336 скачиваний
cxema.rar
(46.07 КБ) 151 скачивание
Контактная информация:
Ответить

Вернуться в «AVR»