And I flashed it, and then shit brix

Небольшая зарисовка из жизни начинающего разработчика.

Сегодня на работе паял тот девайс, для которого недавно травил платку. Запаял МК (ATmega48), подключил программатор чтобы сбросить фьюз CKDIV (всегда сбрасываю эту дефолтную установку перед использованием, предпочитаю 8МГц). Вообще-то у меня для этого написан специальный батничек, однако сегодня он оказался дома. И что-то лень мне стало напрягать мозг и заново писать командную строку для дудки — дай, думаю, возьму инициализационный батничек от древнего проекта, что был под рукой. Взял. Зашил. WTF? Ё-моё! Да тот проект тактировался от внешнего кварца! Ну да, lfuse=0xF7! Вот тут я и отложил кирпичей — генераторов вокруг нет, кварца на плате нет и не планировалось, и вообще ножки XTAL не разведены. Жесть, короче. Пошел искать… С трудом нашел на списанной плате кварц на 10МГц, подпаял его на соплях, даже без рекомендуемых конденсаторов. Полез в даташит, зашил корректное значение, МК ожил. Ффух… В общем, теперь я на всю жизнь запомнил, что правильное число для lfuse в таких случаях — 0xE2. И заодно теперь я знаю, что кварц заводится и без конденсаторов.

Мораль.

ТОВАРИЩ! Будь бдителен! Всегда проверяй, какие фьюзы зашиваешь!

Еще повезло, что это были не локбиты…

И да, внезапно, кварц работает без конденсаторов!
  • 0
  • 19 июля 2011, 22:53
  • _YS_

Комментарии (29)

RSS свернуть / развернуть
Да, он работает без конденсаторов. Но нет гарантий, что стабильно. Нет гарантий, что именно на той частоте, что на нем написано, нет гарантий, что заработает в следующий раз. К тому-же подпаял на соплях — наверное паразитная емкость была не маленькая.
Но лучше, для надежности, соблюдать рекомендации.
0
  • avatar
  • mzw
  • 19 июля 2011, 23:15
Это все понятно. В общем, у меня была задача просто оживить МК, а уж на какой частоте он там заведется, меня мало волновало. В реальном устройстве на конденсаторах, конечно, экономить не стоит.
0
(всегда сбрасываю эту дефолтную установку перед использованием, предпочитаю 8МГц)

Зочем? Ее же можно программно отключить!
+1
Да ну? Можно программно отключить деление на 8, которое задается фьюзом?
0
Да. записав в регистр делителя частоты нужное значение 0. Флаг фузов отвечает за значение, которое будет записано в этот регистр при старте. во время же выполнения можешь его крутить по своему усмотрению, хоть меньше хоть больше.
0
Пречитал раздел даташита System clock and clock options…

Охренеть, и правда… Сколько с AVR работаю, а этого не знал. Спасибо!
0
Это во всех относительно новых контроллерах есть =)

Единственное, если программно задаёте слишком маленькую частоту, то не всякий программатор сможет с ней состыковаться (JTAGICE3, например, имеет нижний порог частоты ISP 8 КГц, значит, минимальная частота контроллера 32 КГц).

Если уж так вышло, подавайте питание при опущенном ресете, чтоб он поменять частоту не успел с дефолтных 1 МГц =)
0
блин а я ток плату жду, прога уже написана… дня 4 теперь пасьянс играть баги ловить )
0
У меня на этот случай генератор на программаторе — ничего подпаивать не надо, тыкнул провод на XTAL, другой рукой кликнул «Write fuses», профит!

Этот способ работает и при установке на внешнее тактирование, и установке тактирования от кварца, когда такого не имеется на плате.
0
И да, внезапно, кварц работает без конденсаторов!
То ли еще было! Я сейчас балуюсь с ланчпадом от TI, который подарили на семинаре. Прилепил туда «сенсорную кнопку» из кусочка фольгированного текстолита. Написал программку по примерам. Сижу нажимаю на «сенсор», все работает, все клево, стабильно, красиво… Когда ВНЕЗАПНО увидел, что сенсор НЕ ПОДКЛЮЧЕН к процессору! О_о
Я разъем вставил не на те пины на гребенке и получилось, что сенсор был подключен не к тем дорожкам — он вообще в воздухе висел! Но тем не менее работал исправно =)
0
Емкостная связь всё-же была.

Кстати, эти кнопки (не конкретно ваши, а вообще) могут срабатывать на расстоянии до 15 см! (если сенсор большой)
0
Да, скорее оно так и было. Но интересно то, что при «правильном» подключении оно работало хуже =) Хотя это были уже мои грабли, вроде удалось их победить. А вот расстояние срабатывания получилось очень маленькое. Даже несколько слове картона мешают работе.
0
Да, кстати, я наконец завел этот девайс. :-) Он представляет собой логгер разряда батареи, если я еще не говрил — снимаю зарядно-разрядные ВАХ аккумов. Техника работает, я читаю книжку — profit! Слава роботам! :-D
0
Прошли годы, и внезапно я тоже хочу такой девайс. Можно исходники, схемы, платы, явки, пароли? :)
0
а на коленке за вечер? слабо?
0
да, явку подсказываю: bsvi.ru
там такой (или подобный) логгер есть.
0
а зачем мне велосипед собственной конструкции?
+1
см. чуть выше.
0
Э-э-э… У-у-у… Этож когда было-то! У меня с тех пор сменился рабочий комп и две флешки.

Ну ОК, я поищу. Если чо найду, выложу.
0
Я тоже делал такую штуку (4 канала на ATMEGA8 с точными резисторами и ключами на транзисторах от матплаты), сейчас думаю применить для этого STM32. У меня проблема в обработке результатов… Хочу красивую программку, а писать — руки не доходят…
0
У меня в .csv-файл писалось, без гуев.
0
Да у меня тоже, просто хочется автоматический график для каждой батарейки/аккумулятора, с зависимости Rint(t), U(t), Q(t) и цифры емкости в зависимости от конечного напряжения. Ну и вычисление принятого заряда при зарядке.
0
Ну, у меня батарейка была всего одна. :)
0
Ради одной батарейки — это да, но обычно есть огромная куча батареек, аккумуляторов в радиотелефонах, радиостанциях, пультах, игрушках,..., а аккумуляторы как раз лучше всего подбирать по примерно одинаковой емкости и по току саморазряда.
0
Я много лет собирался сделать себе универсальный зарядник для разных типов аккумуляторов, с разными удобствами…
Время шло, требования менялись, постоянно появлялись новые типы аккумуляторов.

А в прошлом году появились у нас в продаже всякие готовые для моделистов. Взял один, поуниверсальней, и проблема отпала автоматически. Сделать что-то похожее я бы может и смог, но тут уже все в аккуратном корпусе, с кучей режимов и менюшек, работает как полностью автономно, так и с постоянной отправкой данных в комп, где строятся графики заряда — разряда как батареи в целом, так и каждого ее элемента в отдельности (литиевые для моделей имеют балансировочные разьемы). Заряжает свинцовые, никелевые, литиевые аккумуляторы всех систем, от 1 элемента до 6 литиевых или от 1 до 15 никелевых, свинцовых — до 20v, может тренировать батареи, балансировать, есть контроль температуры, и всякое другое. Подсчет и показ во время заряда или разряда емкости в мА-часах. Ток заряда 0,1 — 5А. Напряжение батареи до 26v. Питание от 11-18v. Цена всего около 40 баксов, при такой универсальности… Куча шнуров с разными разьемами в комплекте.

Подробней писал о нем тут:
forum.easyelectronics.ru/viewtopic.php?p=159314#p159314
+1
Клон B6, по видимому.
На самом деле, универсальный зарядник довольно прост — это всего лишь управляемый CV/CC источник плюс МК, получающий по обратной связи напряжение на батарее и ток через нее. Единственное, что появилось с приходом лития — это модуль балансировки, но его можно сделать автономным (есть и готовые такие, кстати).
Сложнее всего с зарядом никеля (ну, кроме NiZn — этот заряжается как литий). Во первых, нужна куча источников тока (ну или балансир по току, но в принципе балансир — это и есть массив стабилизаторов, по стабилизатору на элемент), во вторых у него есть только один надежный признак окончания заряда — температура. А это означает, что нужно городить конструкцию, обеспечивающую термоконтроль по нескольким каналам (по каналу на аккум) и держатель аккумов с термодатчиком, который имеет хороший тепловой контакт с банками любого типаразмера.
В B6 ничего такого нет, как и в большинстве распространенных зарядников, он годится для зарядки одиночных никелевых элементов или одиночных батарей (именно батарей, которые составлены из одинаковых элементов одной партии и на отдельные элементы не разбиваются). Один из немногих образцов, где все это есть — LaCrosse 909, за что и любим теми, кому приходится иметь много дел с никелем.
0
На самом деле, универсальный зарядник довольно прост — это всего лишь управляемый CV/CC источник плюс МК, получающий по обратной связи напряжение на батарее и ток через нее.
Естественно, я так и хотел. Но постоянно у меня появлялись аккумуляторы разных емкостей, с разными режимами зарядки, разными размерами и корпусами, список требований рос и расширялся. Да хотелось чтобы было не слишком громоздкое, и удобное. Куча возможных вариантов. С другой стороны — давно уже насобачился заряжать любые аккумуляторы вручную, с выставлением и контролем режимов и параметров, так что вроде большой нужды не было…

В последнее время начал использовать литиевые (Li-Io, Li-Po) — с ними надо уже аккуратней. Хотя вроде тоже несложно, но есть свои нюансы.
Пока думал — попался на глаза подходящий по всем параметрам и приемлемый по цене готовый, и чего время терять, когда можно взять и пользоваться уже сейчас. Компактность, гибкое, но удобное управление всего 4 кнопками, можно использовать любое питание, независимо от выходных напряжений — что тоже немаловажно. Например, можно повесить его на аккумулятор от UPS, и по фигу будут пропадания сетевого напряжения… Ну, и встроенная балансировка для литиевых, от 1 до 6 элементов, причем уже с готовыми шнурами и разьемами…

Под «никелевыми» я имел в виду никель — кадмиевые и никель — гидридные (лень было писать полностью). Когда — то были еще железо-никелевые, но сейчас у меня их нет, и вряд ли уже будут. Других пока не использовал, да и в продаже еще не видел.

В 70х годах использовал еще серебряно-цинковые, по 3,5 и 25 Ач.
По тем временам, были отличные батареи. Да и сейчас могут потягаться иногда и с литием. Особенно про отдаваемыи токам.
Но главный (и чуть ли не единственный, кроме цены) недостаток — дохнут через полгода — год, независимо от использования. Заряд ассимметричным током несколько продляет этот срок, но ненамного…

С появлением дешевых литиевых — уже неактуально. Но когда — то несколько комплектов по 8 шт использовал. На лето — хватало, но на следующее — обычно быстро дохли… Потом извлекал из них серебро, использовал для серебрения всякой херни.
0
Я тоже счел что дешевле и проще купить готовый и сейчас ко мне какой-то из клонов IMAX B6 едет.
Под никелем я имел в виду то же самое — NiCd и NiMH. Для них этот зарядник подходит слабо. Можно, конечно, собрать несколько банок АА в батарею при помощи отсека, но пока самый голодный зарядится — самый сытый давно уже будет в перезаряде.
0
Никелевых я обычно сейчас использую по 2 — 4штуки, не более, в основном АА, 1600 — 2200 мАчас. Для них мне обычно хватает простенького китайского зарядника на 4 раздельно заряжаемях АА или ААА. Есть в продаже и для не то 6, не то 8… С ними проще, и стоят недорого.
Есть также схемы подобных зарядников на микроконтроллерах (обычно PIC16F873, PIC16F676), на 3-4 раздельно заряжаемые банки с контролем заряда по спаду напряжения, можно повторить между делом.

Меня в последнее время заинтересовали литиевые, — большая удельная емкость при малых габаритах, но довольно опасные. Поставишь на заряд, пойдешь в магазин за хлебом, а за это время — дом сгорит… Надо с ними аккуратно, не рисковать с хреновыми зарядниками, да и вообще. За температурой постоянно следить.

Несколько лет назад был случай, у одного мужика с моей работы мобильник в кармане штанов его жены загорелся. На дачу летом ехали, жарко было…
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.