kincajou: (Default)
Оказалось, у него скончалась встроенная сетевая карта.
У осциллографа ценой страшные тыщи долларов внутри стоит говённая писишная материнка, и вот на ней вдруг сдохла сетевуха (даже несмотря на то, что мы её никуда ни разу не подключали).
Выключил через bios setup и осцилл, наконец-то, нормально загрузился.

Но меня поражает жадность Tektronix - софт осфиллографа вымогает деньги за свой функционал :(
kincajou: (Default)
получили сегодня контроллер, 200А/100В. Начальник купил его, чтобы доказать, что мы ничего не умеем и не понимаем в силовых контроллерах - мол, "зачем вам такие конденсаторы" и "зачем вам такие огромные транзисторы". Торжествуя, принёс контроллер показать.

Вскрыли.

Внутри - штук 30 транзисторов в TO-220 (а у нас - 7 штук в корпусе SOT-227), алюминиевые шины (у нас - медные под оловом, в будущем будут медные под никелем) и штук 60 электролитических конденсаторов, зашунтированных ещё маленькими керамическими. А у нас всего два плёночных, и они работают лучше, чем электролиты (проверено и наглядно измерено). Монтаж почти весь на соплях. Вместо нормальных изолированных датчиков тока - шунты из дорожек на платах. Вместо нормального энкодера подразумевается подключение датчиков Холла (мы и так можем, но всё же). И размерами всё хозяйство ничуть не меньше нашего, плюс к тому к нему нужен внешний пусковой резистор с реле и т.п., а у нас это уже всё внутри схемы!

Да, и эта "американская" коробочка made in PRC.

Начальство, кажется, начинает что-то понимать.
kincajou: (Default)
Печальный итог дня: перегретый до +103 градусов плёночный кондёр (с паспортной рабочей до +70) вздулся и потерял в ёмкости (было 100 uF, стало 7uF). И ещё издох мой программатор, выживавший даже при подключении в схему, в которой потенциал "земли" был около 100В. Эх.
kincajou: (Default)
Весь день, буквально весь день сидел и бодался с загадочным поведением довольно простого модуля. До обеда его набросал по-быренькому, используя уже работающий шаблон. Несколько регистров, хитрый сумматор и конечный автомат, в зависимости от неких условий подсовывающий на входы сумматору числа из разных регистров. Ничего сложного, но схема вела себя краааайне странно - два числа получались правильно, а третье совпадало с первым (чего быть не должно ни при каких условиях). Искал, искал - код почти что переписал заново.

А оказалось, что это я в куске, отвечающем за инициализацию при получении сигнала сброса, жоско вписывал в регистры некие константы, о которых просто забыл. Выбросил этот кусок и сделал инициализацию от микроконтроллера... и всё сразу заработало, как должно.

Тьфу.
kincajou: (Default)
Ежели оснастить ось мотора датчиком, позволяющим с максимальной точностью определить реальное положение ротора, то задача управления становится если не тривиальной, то заметно более простой по сравнению с ситуацией, когда инфы о роторе нет ваще.

Положение ротора можно определять разными методами. Например, в дешёвых BLDC без встроенных датчиков используется метод "обратной ЭДС", когда контроллер смотрит на напряжение на "свободном" полюсе обмотки и ждёт, когда оно пересечёт нуль - форма кривой этого напряжения однозначно зависит от положения ротора, но есть два серьёзных "но":
1) на малых скоростях этот метод очень сильно теряет в точности, и это принципиально нельзя исправить
2) ежели хотим обезопасить схему и используем гальваническую изоляцию силовой части от логики, то в схеме возникает недешёвая развязка трёх аналоговых сигналов.

Гораздо удобнее, когда мотор заранее оснащён правильными датчиками. Например, если это датчики Холла (или что-то подобное). Обычно такие датчики выдают трёхбитный сигнал в коде Грэя, "однозначно" указывающий на то, что ротор находится в одном из шести возможных секторов (в "электрическом смысле", механически секторов может быть намного больше). Кавычки вокруг однозначности неспроста - остаётся довольно большая неопределённость положения, не позволяющая точно сказать, на какой именно угол повёрнут ротор. В принципе, это можно обойти, если контроллер реализует нечто вроде ФАПЧ, синхронизируемой по событиям от датчиков (примерно так сделано "синусоидальное управление" в недорогих моторчиках). Но ежели что-то с ротором случилось, то в промежутках между синхроимпульсами ФАПЧ будет непредсказуемо врать.

Самое клёвое - поставить энкодер, показывающий положение ротора в долях градусов. Чем больше долей, тем всё становится точнее, тем выше можно поднять КПД машины, доводя его до максимально достижимого.

И вот мы тут ща собираем новый прототип, с энкодерными датчиками, сделанными на Марсе! )
kincajou: (Default)
1) Реализован минимальный контроллер Wishbone, подключаемый как внешняя память к микроконтроллеру
2) ..причём сначала в асинхронном варианте, что жоско конфликтует со спецификацией, но для простых вещей оказалось вполне годным решением
3) реализовано простейшее периферийное устройство для WB - регистр, при записи в коий на плате включаются/выключаются соответствующие светодиоды, а при чтении мы получаем положение двух микропереключателей
4) реализовано устройство чуть посложнее, представляющее собой "декодер энкодера" - модуль, обрабатывающий сигнал с квадратурного энкодера и предоставляющий значения счётчика импульсов микроконтроллеру
5) ...причём этот дивайс СНАЧАЛА был написан весь полностью, затем испытан на реальном энкодере и показал свою 100%-ную работоспособность. Раньше я делал наоборот - смотрел на реальное железо и итерационно включал его поддержку в проект.

На очереди - контроллер ЦАП/АЦП, ШИ-модулятор, контроллер прерываний, модуль CAN, всякая мелкая мелочь.
kincajou: (Default)
В схеме есть некий процесс, в зависимости от состояния флагов инкрементирующий-декрементирующий некий счётчик по каждому тактовому импульсу. Микроконтроллер, сидящий на той же плате рядом с ПЛИС, может считать состояние этого счётчика и поиграть флажками. Я даж понял и победил глюк, когда вместо ожидаемого числа считывалось что-то иное -- счётчик 16-битный, а микроконтроллер 8-битный, соотв. любая транзакция занимает как минимум два цикла (с т.з. микроконтроллера ПЛИС выглядит как асинхронная память, внутри же ПЛИС модули соединены по синхронной шине Wishbone), поэтому вероятны ситуации, когда я считал один байт от предыдущего значения счётчика, а другой уже от следующего (да ещё и так, что там произошёл переход через FF). Дополнительный теневой регистр выправил ситуацию.

Но остался странный эффект - при первом запуске системы из счётчика всёравно может считаться абракадабра. Несмотря на то, что и сброс работает вполне корректно, и запись инициализирующего значения нормально проходит.. нипанятна. Эффект то есть, то нет - как его ловить, не знаю.
kincajou: (Default)
Случайно коротнули одну ячейку Li-Ion бочки плоскогубцами )

Инструмент упал на контакты и остался на них висеть, мгновенно приварившись. А скол на поверхности из-за того, что пришлось в буквальном смысле отколотить сей лишний элемент электрической цепи, чтоб он не расплавился нахуй прямо там же.
kincajou: (Default)
К тому же куча побочек.

Но я не об том. Приятно, когда дивайс собираешь и он сразу почти работает (почти лишь потому, что надо писать программу), не нуждаясь в "соплях", "патчах" и прочих переделах по живому. Вот и щас. Наконец-то дело дошло до сборки одной маленькой платки, анонсированной некогда - на ней AT90CAN128 и XC3S400 (фото выложу, но чуть попозжее). Собрал, включил - фурычит!

Буду на этой штуке отрабатывать некоторые алгоритмы DSP, плюс сделаю на этой основе новую версию контроллера для мощного BLDC.

А ещё начальство кому-то там наобещало выдать мотор на 100 кВт... бля... Даже если представить себе переход, например, на 200В бортовую сеть (а это уже иной уровень, по сравнению с 36В), то это значит, что ток будет под 500А постоянки. Очень хочется надеяться, что про это обещание все забудут.

Нда. И, по слухам, к нам едет пенистр Табуреткин, осматривать наши достижения.
kincajou: (Default)
но под строгим контролем... Нам просто интересно было, КАК ЭТО.
Вместо повреждённых ячеек поставили новые, а сами "убитые" ячейки вытащили на улицу. В чисто научных целях по одной из них ударили ломом.

Как-то не впечатляет. Оболочка лопнула, из неё чё-то вытекло. Некоторое время ещё шипело, пузырясь.

И всё :(



А вот ежели б то же самое произошло в закрытом корпусе, расклад был бы иной. Пузырилося, похоже, водород. И окромя повышения давления внутри отсека (фиг с ним, совсем сильно не поднял бы), он создаёт риск возгорания. Всё-таки вокруг полным-полно нагретых деталей, плюс ещё что-нибудь может искрануть (те же остатки повреждённых ячеек, например). Гарантий того, что оно не взорвётся вдруг, нету никаких.
kincajou: (Default)
Некая контора сделала к нашей батарее грандиозное зарядное устройство. Обещали высокую точность, мощность, большую скорость заряда и вообще аккуратность работы. К тому же, сплошное ноу-хау.

В итоге оное зарядное устройство накачало несколько ячеек аж до 4.6В,... учитывая, что 4.25В это предел, после которого может начаться необратимое разрушение, несложно догадаться: оно и началось. Ничего [пока] не взорвалось, но очень всё к тому близко - батарея со словами "эээыыы.. пацаны..." нагрелась и распухла до устрашающих размеров - часть ячеек аж вылезла за размеры каркаса.

Ни дня без приключений, ебёнаматрёна.
kincajou: (Default)
История про лечебное замыкание.

Преамбула: когда я каркаю, меня надо слушать. Но никто ж не слушает...

Вот и на сей раз, как обычно, я предупреждал одного коллегу о том, что в дивайс с 60В-батареей, способной дать ток "козы" порядка 1500А, лезть не стоит. Во всяком случае, через маленкую щёлку между двумя платами, практически не видя, куда именно тыкаешь щупом от моего, блять, осцилографа. Свой тектроникс, блять, возьми, а мой лекрой не замай! Не, мы же инженера опытные. Рядом стоит конструктор и ответственно заявляет - "да там нечему коротить".

Собственно, зачем полезли-то. Один из четырёх электронных коммутаторов, включающих нагрузку, почему-то отказывался включать нагрузку. Три работают нормально, четвёртый не реагирует на команды. Вскрыли, поменяли управляющую микросхему, устранили гипотетический непропай, прозвонили участок схемы, протестировали мосфет - всё в порядке. Проверили кабели. Один даже заменили. Всё в порядке. Но не работает. Единственное, что не проверили - сопротивление между выходной шиной и "землёй", и щас уже неизвестно, каким оно было.

В общем, лезет вышеупомянутый инженер (опытый спец, без шуток), рядом его конструктор ободряет, а я каркаю - "не надо лезть во включённый дивайс, хотя бы откиньте плату так, чтобы всё было нормально видно". Мне отвечают - да ты чё, мол, это же целых четыре болта надо открутить! Это долго, я так долезу. Я продолжаю ныть. Конструктор продолжает приободрять - "невозможно там закоро~~ BANG! яркая оранжевая вспышка на плате, сноп искр, дым, вонь. БАМ! ещё одна вспышка, уже синяя, где-то в районе выходного разъёма. С разносом в доли секунды.

И схема... заработала! Причём после проверки оказалось, что ничего, вощемта, не сгорело.

Разгадка - во второй вспышке, которая синего цвета.

Судя по всему, когда монтажник собирал разъём (у нас тут новый монтажник, не сильно опытный.. даже, скорее, вообще неопытный - но научится, потенциал есть), где-то случайно коротнул проволочкой контакты. А схема, запускающая ключевой мосфет, следит за сопротивлением выходной линии - если она чует "козу", то мосфет включается и тут же вырубается, ничего не взрывая. Но когда коллега полез разбираться (с моим драгоценным осциллографическим щупом!), то случайно включил схему в обход контроля тока (замкнув что-то на землю - первая вспышка, и теперь иголка щупа у меня слегка так оплавлена) - мосфет включился и через шину побежали электрончики... встретив по пути коротыш. А коротыш не ожидал, что через него сразу столько электрончиков ломанётся и взорвался, превратившись в пар (синяя вспышка была от дуги). И проблема решена - коротыша нет, схема работает.
kincajou: (Default)
Заказал платы, пять комплектов. Не надеюсь, что первый блин полностью оправдает все надежды, но для проверки работоспособности главной идеи этого хватит вполне - а там и вторая версия подоспеет, на порядки чувствительнее.

Мне не интересно делать круглые глаза и заговорщицки шептать - я хочу сам такое найти и изучить.
kincajou: (Default)
Спрашиваю у конструктора:
- Товарищ дорогой, а зачем ты на этой плате поменял порядок выводов в разъёме, а на второй оставил как раньше было?
- Мне показалось, что так оптимальнее

О_о

240А

Apr. 23rd, 2012 07:53 pm
kincajou: (Default)
Когда-нибудь видели, как горит двухсотсорокаамперный мосфет?

Я вот тоже раньше не видел. Как оказалось, ничего особенного - просто тихо издыхает. Правда, термограф показывает почти мгновенную "вспышку" перегрева до 160..180 градусов на медной подложке чипа, после чего начинает разогреваться корпус, медленно и печально.
kincajou: (Default)
История первая, в одну фразу: как называется человек, про область своей деятельности горздо заявляющий (в письменном виде) - it tehnolodgies?

История вторая. В штате нашей лабы относительно недавно появился новый сотрудник. Сотрудница, точнее. Барышня двадцати с чем-то там лет от роду. Взяли её только заради того, что у нас некому заниматься расходно-приходными делами -- комплектухи много, бумажек требуется ещё больше, и если кто-то из инженеров будет всё оформлять "по закону", то работа застрянет. Для того и взяли. Много ума не надо: сиди себе, за сверяй таблички. Тихо, аккуратно. Так оно и было, а потом вдруг барышня вся буквально в слёзы - мол, "зачем я вообще тут, у меня же высшее техническое, я хочу интеллектуальной работой заниматься". Ну, раз так.. Отчего ж и не дать интеллектуально поработать-то, раз просют? Мы ж не звери какие. Ежели кому интеллектуально надо напрячься - это мы завсегда обеспечим.

И вот сформулировал я ей задачу (больше никто не решился всерьёз воспринимать): есть необходимость в устройстве, кое будет обрабатывать сигнал в восемнадцати аналоговых датчиков и выдавать сообщения об изменении их состояния наружу, по интерфейсу CAN. И требуется всего-то нарисовать работоспособную схему. Т.е. даже не провести всю разработку от начала и до конца, а просто СЛУШАЙ СЮДА взять вот этот карандашный эскиз, да оформить его в виде схемы электрической принципиальной. Мне просто некогда, а дивайс нужен. Сказано - сделано. Нагрузил барышню, сам переключился обратно.

Проходит пара-другая дней. И как-то погрустнел наш интеллектуальный работник, перестал даже глазки строить. Со мной вообще боится разговаривать. И выяснилось, почему: выпускник машиностроительного (причём не какого-нибудь паровозного, а самого что ни на есть электромашинного)_не_умеет читать электрические схемы. Ничего не знает ни о каких микроконтроллерах. Не понимает эскизы - я нарисовал микросхемы условными прямоугольничками с ножками - так она буквально так (!!!) в схемном редакторе и нарисовать пыталась. Причём наш конструктор снизошёл и показал, из каких библиотек готовые элементы брать.
Взяла.
И сидит в ступоре: там же всё не так, нету таких выводов (а я разве помню, как там написано - Vdd или Vcc?), а какие есть - не там расположены...

December 2016

S M T W T F S
    123
45678910
11121314151617
18192021222324
25 262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 20th, 2017 08:42 pm
Powered by Dreamwidth Studios