|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Не зависло, я просто редко здесь бываю, и забыл уже о этой теме.
У ECCOsea индикация будет сразу, после включения. Если нужно проверить 4 лития, то необходимо доставить микросхему 7805 для питания самого индикатора (что уже увеличивает габариты), а на вход ADC повесить резистивный делитель деляший напряжение на 7 (подбирая номиналы резисторов находим ближайшее соотношение) (16,8/6,8=2,15) и использовать источник опорного напряжения на 2,56 вольта. Резисторы для моста потребуются на 10 килоом и на 68 килоом. тогда нижня я граница (допустим на аккумуляторе 3,1 вольта) будет 3,1*4=12,4 делим в делители получаем 1.82 вольта. Значит наш предел измерения лежит между 1,58 и 2,15 имея опорное напряжение в 2,56 вольта получаем что на 1 отсчет 2,56/1024=0,0025 вольта (10 битный АЦП в микросхеме) значит наше значение будет 2.47-1.82=0.57 0.65/0.0025= 228 Точность для индикатора более чем достаточная ![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Вот схемку набросал.
Если прошивка всё еще интересна, могу соорудить. Но последовательное включение аккумуляторов мне ненравится. Здесь бы можно сделать индикатор на 8 меге, которая будет мерить напряжение каждого аккумулятора по отдельности, и выводов у неё много, индикатор под каждый аккумулятор сделать можно, Если использовать СМД светодиоды, то можно сделать 4 столбика по допустим 5-10 светодиодов. В QFP32 корпусе она очень компактная. Прошивка еще интересует? |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Несмотря, на то, что приходится шить микроконтроллеры для светодиодных драйверов каждый день, их программированием так и не удалось занятся. Для меня это пока китайская грамота.
Ryazanec, спасибо вам за работу! Прошивка очень интересует! Думаю, куча столбиков мне не нужна, достаточно простого светофора о трёх светодиодах. А можно прошивку под 85ю тиньку? А то у меня их десятки... |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Так 25 45 и 85 отличаются только объёмом памяти
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Вот. Только проверте, сколько потребляет микроконтроллер в спящем режиме, в спячку он впадать должен, но так как не прошивал, и не замерял, то сказать не могу, протеус мне об это не скажет (не знаю где смотреть)
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Ryazanec, спасибо! Проверим) А фьюзы какие? По привычке буду шить CodeVisionAVR
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Не помню уже. Я изменял лиш частоту кристалла, сделал её 8 мегагерц. Я шью дудкой, и нужные настройки в разных батниках хранятся, из под другого не прошивал. Расчитываю их обычно при помощи онлайн калькулятора.
http://www.engbedded.com/fu... ckdiv8 =0 только установить (убрать деление на 8 ), остальное по заводским настройкам 0 - подразумевает НЕ запрограммированый бит, по завоским настройкам он запрограммирован и частота генератора 1 мегагерц. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
У меня win7 64bit и LPT программатор. И дудка тут не катит. Если прошить только ckdiv8 =0, а остальные нет (галочки сняты все по умолчанию), то контроллер уже не перепрошить без HV-программатора.
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
По умолчанию, то как стоит в самом микроконтроллере.
Дудка нормально катит. как ставить фьюзы в разных программаторах я не знаю, не шил из под других, так как в одних галочка это запрограммированый бит, а в других галочка не запрограммированый. Спрашивайте у народа как у вас идид биты - прямо или инверсно. для вас по ссылке выше я сделал их конфигурацию. Калькулятор на то и калькулятор. он показывает сразу заводские установки, я всего лиш убрал деление на 8 частоты. Обращаю ваше внимание на подпись: (галочка установлена )means programmed (0). ноль потому, что раньше фьюз биты можно было установить всего 1 раз, способом - пережеч перемычку. где перемычка пережжена, там ноль и бит соответственно установлен. это сложилось давно, и продолжается по наши дни, это нужно просто запомнить. А на счет HV программатора - он и не нужен, я собрал вот такое устройство : http://gostarbaiter.ru/?p=389 -теперь не боюсь reset отключать. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Что даёт выключатель S1 и что будет, если третью ногу микрухи подключить напрямую к плюсу (восьмая нога) и запитать всё это пятью вольтами? Шью микру, подключаю светодиоды, стабилизатор и делитель не ставлю. Не работает. Фьюзы выставил также как на картинке, пробовал с ckdiv8 и без.
Может всё-таки для 85й тиньки надо чего-то подкорректировать? |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Я прошивку переписал под 85 тиньку.
S1 включает индикацию. работоспособность можно проверить, подключив микроконтроллер к аккумулятору (3-5 вольт) в момент включения болжен кушать милиампер 11 а через 0,5 секунды он должен засыпать и потреблять не более 0,3 милиампера. при нажатии на кнопку потребление должно вырасти до 5-15 милиампер. Делитель нужен, что бы на вход попадало не более 2,56 вольта, так как генератор опорного напряжения настроен на 2,56 вольта Если подать больше, то ничего и не будет, его просто зашкативает, вы ему же подаете 5 вольт. поделите 5 вольт хотя бы пополам, поставив 2 резистора по 10 килоом. Работает схема так. При подачи питания на схему, она ждет 0,5 секунды, и если кнопка не нажимается за это время, то МК засыпает. Стоит нажать кнопку, он просыпается, и измеряет напряжение на выводе PB4 (ADC2), и потом отображает светодиодами замеряное напряжение. так как опорное напряжение 2,56 вольта, то он в состоянии измерить напряжение на выводе в пределах 0-2,56 вольта. Если не терпится, подключайте индикатор через амперматр к 1 аккумулятору (шкала 20 милиампер) смотрите какое потребление у него, должно быть примерно 0,3 милиампера. (0,2-0,25 если быть точнее). Дальше нажимаете на кнопку и держите. Потребление должно вырасти минимум раз в 10. Для справки - микроконтроллеры attiny25,45,85 одинаковые, разница только в объеме памяти. даташит один на все 3 микроконтроллера. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Ок! Завтра проверю. Еще вопрос: если S1 постоянно будет включен или тупо постоянно вывод 2 закорочен на минус, как схема будет работать? Постоянно показывать заряд?
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
да, постоянно, пока не отключете кнопку. он при включении смотрит нажата кнопка или нет, если нажата, то отображает, если нет, то прождав0,5 секунды он засыпает. если после этого нажать на кнопку, то прерывание его расбудит.
Если вам не нужна кнопка, то могу подправить прошивку, что бы при включении он отображал бы сразу заряд, тогда кнопку можно выкинуть и не заморачиваться, либо повесить на этот порт еще что нибудь, например сигнал отключения нагрузки от аккумуляторов если разряд слишком сильный. Кстати заводские настройки фьюз можно узнать, прочитав их программатором из самого микроконтроллера, а потом подправив уже зашить. те пустые галочки, о каких вы говорили это настройки программатора а не микроконтроллера. В CVAVR это READ->Fuse Bit(s) |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Всё верно, считал заводские фузы со свежей микры, убрал галочку ckdiv8. Подаю разное напряжение около 2х вольт на третью ногу, вторая нога замкнута на минус. Включаю питание, светодиоды загораются (количество зависит от напряжения), на них плавно чуть снижается яркость, потом плавно поднимается обратно и они гаснут (тоже вроде плавно). И всё. Постоянной индикации нет. Если напряжение ниже загорания одного светодиода, все три кратковременно один раз вспыхивают и гаснут.
Этого всего нет: 1) Горят (переливаются) все 3 светодиода 2) Мигает 1 светодиод и 2 горят 3) Горят только 2 светодиода 4) мигает один и горит 1 5) горит один 6) мигает 1 7) быстро мигает 1 когда напряжение совсем низкое вспыхивают поочередно все светодиоды И еще: а не проще поставить стабилизатор на 3 вольта или около того и избавится от резисторов в цепи светодиодов? |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Резистор проще. Резистор ограничивает ток на вывод порта, без резистора порт выгореть может.
Сделал прошивку без кнопки - подали напряжение, получили индикацию. Если и так не заработает у вас, буду сильно удивлен. в протеусе работает без проблемм |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 18.08.2011 Последняя активность: 11.08.2015 21:34
Сообщений: 61
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Есл б оно вообще не работало, было б проще, а тут такое ощущение, что цикл программы не повторяется, а совершается всего один раз. Завтра на работе заново прошью и проверю.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Ryazanec. Этот протеус вообще корректно симулирует? Я неоднократно натыкался на жалобы, что в нём глюков столько, что симулировать МК невозможно. Я попробовал залить обе прошивки в свой индикатор, правда на 45-й тиньке - не завелось. Думаю это из-за меньшего объёма ОЗУ, которое очень любит юзать Си (ты ведь на нём код писал)?
Можешь попробовать скомпилить под 45-ю, я на своём индикаторе код погоняю. У меня схема практически идентичная, только один внешний резистор к проводам прикрутить (верхний, делителя). P.S. Думаю код под 25-ю тиньку пойдёт и на остальных двух, т.к. у неё минимальный объём ОЗУ (а пишем мы проги так, что отсчёт адреса идёт по декременту, т.е. с самой задницы области с ОЗУ вниз)... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
|
![]()
Не забывайте учитывать, что у МК с разным обьёмом памяти по-разному инициализируется стек!
Для МК с меньшим обьёмом это будет только SPL. Если больше 256 байт, то SPH и SPL. Для ассемблера надо править код, для Си - перекомпилить.
__________________
e-mail: euro@********* jabber: shop@********* Сообщение: http://forum.*********/sendm... |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Ну вообще я в протеусе отлаживал уже, пока сильных нареканий нет, хотя и не всегда всё гладко бывает.
Да, пишу я на С, изучать ассемблер нет времени, хотя и хотел. покаовырял его и понял, что тот код, что делает компиллятор С лучше моего и пока забил на это. Вот сменил чип на 45 тиньку. Кстати протеус не ругнулся на прошивку, что она под другой микроконтроллер. Сейчас собираю переходники для программатора, а то надоело проводки напаивать. Отлаживать если собирусь, то на макетке сделаю. 85 тинек у меня было пару штук, когда собирал Индикатор на 45 той, её не нашел, но нашел 85 тые. хотел на одной собрать индикатор, на второй звонок. В итоге залез в С и собрал свой индикатор на 25 той, до звонка руки не дошли, не нашел разъёмы под карты. Сейчас на ебее заказал и разъёмы и набор конденсаторов и резисторов 0603 по 5000 штук ![]() ![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Работает
![]() Но работа мне не понравилась (сейчас повалит критика) ![]() 1,2кБ кода, жесть. Нет, с таким раскладом у меня ещё долго не будет желания связываться с ЯВУ для подобных задач... Исходник можно глянуть? Интересно же ![]() |
![]() |
![]() ![]() |