Перейти к содержанию
    

iiv

Свой
  • Постов

    2 884
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Весь контент iiv


  1. мы с Вами одновременно подумали :) У меня пока основная непонятка в том, что если у меня висит 3 датчика на одном входе PCA9548AD смогу ли я правильно разрулить доступ ко всем этим датчикам.
  2. пока я до конца не уверен, в таблице 6 главы 10 на странице 14 написано 10. Static characteristics Table 6. Static characteristics at VDD = 2.3 V to 3.6 V VIH HIGH-level input voltage 0.7VDD(минимум) - VDD + 0.5 V(максимум) то есть минимум будет от 1.7В? Или я не прав? ЗЫ: а датчики вроде тоже VDD_IO=3V могут поддерживать, или я опять что-то не до конца понял?
  3. Дорогие друзья, огромное спасибо за интересные советы! Отдельно очень-очень благодарен Вам Sergey_Aleksandrovi4 за совет про I2C mux, нашел у NXP PCA9548AD, которую, похоже, можно попользовать. На самом деле датчиков у меня 24 :) по 8 с одинаковыми адресами: 8 раз L3G4200D: http://www.st.com/internet/com/TECHNICAL_R.../CD00265057.pdf и 8 раз LSM303DLM: http://www.st.com/internet/com/TECHNICAL_R.../DM00026454.pdf так как в магнетометре не поменять адрес, то наличие CS или изменения бита у измерителя ускорения погоды не делает... Сейчас читаю даташит PCA9548AD чтобы убедиться, что он будет полностью совместим с тройками моих датчиков.
  4. Всем привет, посоветуйте, пожалуйста, САБЖ. Датчики на 1.8В, атмега на 5В, ног CS или переустановки адресов в датчиках нет, датчики идентичные, опрашивать их надо одновременно, или последовательно по циклу. Я вижу два выхода: 1) электронный ключ, например, как SN74CBT3251D на каждую SDA ногу датчиков и через выравниватель уровней на SDA атмеги, а SCL через выравниватель уровней на все датчики броадкастом, понятно дополнительно задействовать 3 ноги для выбора датчика по схеме SN74CBT3251D. 2) воткнуть 8 пинов через выравниватель уровней в каждую SDA ногу датчиков, SCL через выравниватель уровней на все датчики броадкастом. В первом случае - вроде все просто, но схема сложнее, могу по габаритам не пролезть, большая вероятность ошибки в схеме, а мне желательно с первого раза иметь работающую версию. Во втором случае - основной недостаток - мутить софтверный I2C. Есть ли он такой, можно ли так сделать? Я пока только через SDA/SCL эту шину реализовывал и софтверно не видел можно ли. Если такой софт есть, то склоняюсь ко второму варианту. Ножек на оба варианта хватает, так как надо дополнительно только ком порт и 3 обычные ноги еще подключить. Вдруг я что-то еще не учел, пожалуйста, посоветуйте! Спасибо ИИВ кажется, этот вариант отпадает, так как ведомый может удерживать уровень SCL, если данные не готовы... Остается первый вариант, если в нем нет каких-то еще подводных камней.
  5. Спасибо Вам за интересный совет, как раз с учетом всех советов развожу новую плату и попробую тамже заимплементировать Ваш подход. Благо всяких положительных и отрицательных напряжений у меня на плате уйма.
  6. Без вопросов, посоветуйте, пожалуйста, в чем опубликовать? Схема у меня сейчас в пикаде, то, что до повышающего транса - примерно 140 компонент, после него два двухполупериодных каскада на 5 ступеней и делители - еще 80 компонент. Первая часть нарисована, вторая - собрана навесным, так как всяко она в масле плавает, и плату на нее тратить не было ни времени, ни нужды. Если пикадову часть джипегить - будет не читаемо, если в исходниках, то надо еще и мою библиотеку компонент тащить, не факт, что кто-то даже решиться это все барахло зачитывать... Скажите, пожалуйтса, как поступить?
  7. Уважаемые, Tanya и =AK=, огромное Вам спасибо за дельные советы. Теперь многое мне понятно, надеюсь, что последовав Вашим советам все у меня наконец-то заработает. Очень надеюсь, что вскоре подниму эту тему снова, чтобы рассказать, что теперь все работает! С уважением ИИВ
  8. Огромное спасибо за ответ! Я подозревал, что так, но, мне это ВВ ДУ (INA148 или LT1990) туда поставить посоветовал один мной уважаемый человек, поэтому я сильно на этом зацикливался... Можно последний вопрос... надеюсь, что последний, до успешного решения задачи: скажите, пожалуйста, разумно ли это сделать TVS диодами (вопрос не в цене, а чтоб работало), или надо что-то другое делать? Например, такими: http://ru.farnell.com/jsp/search/productde...jsp?sku=1748614 Спасибо ИИВ
  9. Спасибо Вам, Tanya, за совет! не совсем, как мне кажется, там по земле такие импульсы могут проходить, что процессор перезагружается... Вот в этом я, кажется, что-то не понимаю, поднял старую ветку, если не затруднит, помогите, пожалуйста!
  10. Можно об этом же продолжение... Я знаю, что я что-то не понимаю, но упорно не могу разобраться что именно мне не понятно... Уже несколько ОУ сжег, и атмегу, и две бездарно разведенные платы в мусорку ушли... Помогите, пожалуйста, как правильно. Что мне надо: есть 5 входов (P7, P9), на которые подается напряжение порядка +/-5В, которое получено от ВВ делителей. Более того, в исходной схеме у меня есть входы +5кВ, +20кВ, 0, -5кВ, -20кВ. Делителями я их и перевожу в то, что идет на входы P7, P9, так, что P7-1 - это "земля", P7-2, P7-3 - результат деления положительных напряжений, P9-1, P9-2 - результат деления отрицательных напряжений. Сами напряжения меняются пилообразно, то есть наростает оно за 100-2000мс, потом резко падает до 0. Мне надо знать момент падения с точностью примерно 100мкс, и желательно знать значения в промежутках хотя бы 1000 раз в секунду, для всяких статистических мониторингов. Из постановки - атмеги328 - должно за глаза хватить. При попытке воткнуть ее напрямую туда даже с питанием от батарейки - она довольно регулярно перезагружается не успевая сохранить ни какую разумную телеметрию. Есть подозрение, что это происходит из-за довольно больших выбросов. Если туда воткнуть обычный прибор UNI-T 71D, то он видет скачки напряжения, осцилл я туда воткнуть боюсь. Попробовал в свое время с LT1990 - (обсуждение выше) тоже ничего не получилось. Сейчас пробую поставить между делителями и оцифровщиками дифференциальные усилители, так, чтобы скачки напряжения не перезагрузили атмегу, но и измерения проходили бы быстро и аккуратно. Сейчас стоит схема как на картинке, если все резисторы на ней 2кОм - атмега или горит, или перезагружается, если резисторы порядка 1мОм - атмега ловит какой-то шум. Промежуточные значения я еще не пробовал. Скажите, пожалуйста, в правильном ли я направлении двигаюсь, и, если да, как правильно расчитать номиналы резисторов, а если нет - в каком направлении копать? Спасибо ИИВ
  11. я и ищу способ это избежать, сквозного тока быть не должно, про задержку я еще в самом первом посте писал, она у меня есть. По даташитам и без нагрузки мне достаточно организовать в 70нс задержку, чтобы ничего не грелось. Под моей нагрузкой на мосфетах должно быть 5-7А, при допустимых бросках в 40А и постоянных 10А (по даташитам на мосфеты), но при такой нагрузке задержку приходиться поднимать аж до 30мкс, а это для меня неприемлимо из-за того, что я не могу работать на частотах выше 10кГц.
  12. Давайте, чтобы максимально соответствовать форуму, схему и мое пояснение положу в старый топик, а здесь, только по компонентам будем обсуждать, я же здесь спрашивал именно о готовом, кому-то известном номинале ВВ дифференциального усилителя, и, как мне казалось, в теме "Компоненты" - это очень соответствующий вопрос. С уважением ИИВ
  13. когда замерял потребление всей схемы, получалось так: 1. маленькая частота (20-100кГц), маленькая нагрузка (меньше 100Ватт), все ключи и драйверы холодные, КПД около 100% в пределах ошибки измерения, 2. тест без нагрузки вообще, проверка переключения ключей, проверка - осциллографом через делитель: ключи греться начинают от 1МГц (да и схема потеблять), а вот мосфет-драйверы уже от 150кГц стоят довольно горячие. На 1МГц на 4-х мосфет-драйверах рссеивалось около 10Ватт мощности. Принимая входную емкость мосфетов 5нФ, только на ее зарядку-разрядку при 1МГц надо 2Ватта, ну а драйверы, конечно не со 100% КПД работают, да еще оптокоплер через 7805 питается... 3. при большей нагрузке и частотах от 70кГц ключи сразу начинают греться. Осцилл, воткнутый в выходы драйверов P и N мосфетов одного плеча показывает, что фронты закрытия-открытия начинают пересекаться. да именно так у меня сейчас... Вот и ищю причину, может, конечно она не в этом, но пока не смог сам дойти, поэтому здесь и вопрошаю!
  14. Почему же реинкарнация - это уже крик о помощи! Когда, по Вашему совету, Tanya, я повесил туда обычный ОУ, его просто пробило да и атмегу тоже, поэтому давайте забудем про Ваш совет в предыдущей ветке.
  15. Всем привет, хочется измерять делителем напряжение в ВВ линии. Напряжение может меняться от 0 до 400В, или до 5кВ, или до 20кВ в зависимости от типа эксперимента. Нужно измерять примерно 1-10 тыс раз в секунду. В качестве измерителя - АЦП атмеги. Земля ВВ линии развязана с измерителем, но измеритель развязан с внешним миром. Хочется поставить делитель и после него дифференциальный усилитель. Пробовал LT1990, но, почему-то не получилось. Есть альтернатива INA148, ее еще не пробовал. Скажите, пожалуйста, есть ли что-то еще разумное, для моей задачи, или надо брать INA148, или я что-то кординально здесь не понимаю? Спасибо ИИВ
  16. я как раз об этом, разумно ли, делают так или нет, нет ли каких-то моментов, которые я не учел? сами-то драйверы работают, но их питание, похоже, проседает (это при 20Ватт питания на драйвер!!!), и из-за этого все не всегда во-время включается-выключается.
  17. Всем привет и с Новым Годом, я опять со своими баранами, посоветуйте, пожалуйста, сабж как правильнее... Суть в следующем, делаю полный мост для питания повышающего транса, мосфеты моста IXTH10P60, IXFH20N60Q, драйверы мосфетов TC4421/4422 воткнутые через HCPL-0930-000E в плисоборду DE0 от Terasic.com. Это железо позволяет мне переключать мосфеты с задержкой порядка 70нс. Проверял осциллографом NI PCI-5154 от национальных инструментов. Конечно частоты за мегагерц мне не нужны, но хочется иметь ровный и красивый фронт переключения, и чтобы ничего нигде не грелось. Если моя нагрузка потребляет до 500Ватт, то все более-менее нормально, а вот при токах порядка 5-7А на мосфетах у меня начинает проседать напряжение питания мосфетов уже на 150-200кГц и, как следствие, не устойчивае включение драйверов, и, понятно, все начинает идти в разнос. Хочется этого избежать... Сейчас питание у меня организовано от хорошого 10кВаттного источника через сборку на 50А диодов, и воткнуто в два параллельно поставленных конденсатора на 680мкФ. Рядом с мосфетами стоит еще керамики 8 штук по 120нФ. А драйверы питаются отдельным питанием от выпрямления 12В с тора на 40VA. Понятно, что "+" драйвера P мосфета соединен с "+" питания, а "0" драйвера N мосфета соединен с "0" питания. Есть мысли вслух как попытаться улучшить ситуацию: 1. увеличить номиналы конденсаторов (можно, но сколько надо?) 2. сделать блок питания такой, что питание мосфетов приплюсовывается сверху и снизу к выпрямленному сетевому напряжению (дополнительные 30В погоды не сыграют, мосфеты до 600В). или есть еще что-то разумное? Что лучше, пожалуйста, посоветуйте! Спасибо ИИВ
  18. решал очень похожую задачу, правда у меня 4 АЦПшника в плиску было воткнуто. Тоже надо было что-то большое на 1МБ апдейтить, а потом примерно со скоростью 20-50 кадров в секунду отрисовывать. Обошелся SRAMом, оказалось проще. Первый блок программы туда все это пишет, а второй оттуда все формирует и читает. Может Ваш алгоритм тоже сможет так расположиться?
  19. Я немного сомневаюсь, что без лвдса 300МГц Вы безошибочно прокачаете данные между плисками, я бы на Вашем месте попробовал завести один синхронизированный клок на обе плиски, а вот обмен между ними проводить на меньшей частоте распараллеливая и развязывая через ФИФО, но, если алгоритм это не позволяет, конечно придется разводить очень аккуратно, и, может Вам повезет. Я недавно работал на системе с 4-мя бордами DE2 115 от Terasic, которые у меня были соединены по обычному 40пиновому штеккеру. Мне было достаточно организовать асинхронный броадкаст данных с каждой борды на все остальные, и для этого я использовал по 9 пинов - один клочный, и остальные датные. Все клочилось с одного 50МГц внешнего клока, а потом внутри каждой плиски повышалось до 200МГц. Обмен был развязан через ФИФО и клочился отдельно. Частотой обмена я игрался, меньше 40МГц ошибок не было, больше 50МГц уже были ошибки, больше 100МГц ошибок уже было так много, что работать было уже не возможно. Использование 4-х таких борд я мотивировал теми же как и у Вас аргументами - 4 эти борды стоили мне меньше одной стратиковской борды, а суммарное число умножителей, простота их использования, и достигаемая скорость были выше чем на стратиксе. Но мне сильно повезло с алгоритмом, что я мог его очень ровно распараллелить.
  20. я может что-то и упустил, но, как я понимаю, есть режим работы таймера, когда он считает от 0 до ICR1 и потом вниз, режим как раз задается по WGM=10. Мы включаем первый канал когда значение таймера больше OCR1A, и выключаем второй канал, когда значение таймера меньше OCR1B. В этом случае, длина паузы должна быть OCR1B-OCR1A и будет одинакова в обоих случаях, а длина включенного состояния первого канала будет составлять (ICR1-OCR1A)*2, а длина включенного состояния второго канала будет составлять (ICR1-OCR1B)*2. Может для решения этой задачи что-то с COM?A? или COM?B? не так? Я в железе еще не проверял, не успел, да и осцилла свободного под рукой нет, а симулятора нет подавно, так как все в ардуиновской оболочке под линуксом пишу. Если я со своими утверждениями ошибся, поправьте, меня, пожалуйста! согласен
  21. Спасибо, smk, за простое и интересное решение! ""...Есть одна непонятка..." все, сам понял, что все должно нормально работать!!! Огромное спасибо за простое и элегантное решение!!!
  22. Если режима такого в таймере нет, похоже дальше обсуждать нечего, иначе тема обсуждения куда-то от вопроса уйдет... Поставлю вторую атмегу - все решится. На ней, при правильном написании нескольких функций и min(t1,t2)>1, max(t1,t2)>4 я таки с точностью до одного такта то, что мне надо получал, только в этот момент атмега больше ничего не могла делать...
  23. Спасибо за ответ, конечно так-то понятно, но не хотелось бы, а так можно и вторую Атмегу поставить. Хотелось все внутри одного процессора уместить. Тем более, что хотелось слегка менять дед-тайм, так в пределах 0-30% от длительности включенной половинки моста, от этого в моей схеме тоже много зависит...
  24. Всем привет, хочется иметь на двух ножках Atmega328p сигналы для управления полным мостом вида Время | 1-ая нога | 2-ая нога (0,t1) | 0 | 0 (t1,t2+t1) | 1 | 0 (t2+t1,t2+2*t1) | 0 | 0 (t2+2*t1,2*t2+2*t1) | 0 | 1 и так далее, причем чтобы задавать t1, t2 в виде числа тактов и в это же время заниматься чем-то другим. Так как мне и t1, и t2 надо менять довольно в больших пределах примерно около 500-1000 раз в секунду, очень хотелось организовать все это на чем-то хардверном. Значения t1 и t2 могут колебаться в диапазоне от 1 до 2000, то есть частоты варьируются с 2кГц до 2МГц. Софтверно знаю как, но не хочу, так как процессор должен в это же время делать много другой работы. Могу сделать почти так, но без первого или третьего шага, то есть Время | 1-ая нога | 2-ая нога (0,t2) | 1 | 1 (t2,t2+t1) | 1 | 0 (t2+t1,2*t2+t1) | 0 | 0 а так как драйверы моста у меня можно хоть инвертирующие, хоть не инвертирующие поставить, то получается, что это эквивалентно Время | 1-ая нога | 2-ая нога (0,t2) | 0 | 1 (t2,t2+t1) | 0 | 0 (t2+t1,2*t2+t1) | 1 | 0 но, хочется именно так, как я написал вначале. Может есть правильные установки регистра TCCR1A и я что-то пропустил, вдруг кто-то знает, пожалуйста, подскажите! PS: забыл добавить, что меня устроило бы даже такое Время | 1-ая нога | 2-ая нога (0,t1) | 0 | 0 (t1,t2+t1) | 1 | 0 (t2+t1,t2+2*t1) | 1 | 1 (t2+2*t1,2*t2+2*t1) | 0 | 1 но я не понимаю как это реализовать... Спасибо ИИВ
  25. снова поднимаю тему, так как снова стала сильно актуальна хочу пойти по этому пути (Холл в магнитопровод попробовал, но не понравилось) а именно сделать схемку с хооршо развязанным питанием с простенькой атмегой или атини и передачей по оптокоплеру сигнала. Вопрос с следующем. При измерении тока можно применить схему типа измерения падения напряжения на резисторе. Так как резистор при 10мкА получается 0.5МОм для измерений атиней надо 10кОм, надо применить что-то чтоб увеличить ток. Просто накапливать конденсатором не могу, так как важно время измерения. Наверное правильно применить ОУ или что-то аналогичное. Скажите, пожалуйста, ina148 или lt1990 для этого дела подойдут? Разумно ли так, или стоит в другом направлении думать? Спасибо ИИВ
×
×
  • Создать...