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

Gorby

Свой
  • Постов

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

  • Посещение

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

    4

Сообщения, опубликованные Gorby


  1. Нужно подобрать линейный стабилизатор на 5V ток не менее 0.5А (что то типа LM7805) в корпусе TO-252 с максимальным входным напряжением не ниже 15V.

    Гугл не помогает :crying:

     

    Даже Фарнелл не помогает. Наверное, Вы хотите действительно странного.

     

    http://www.farnell.com/datasheets/1636639.pdf но на 25В, но ТО220 :crying:

     

     

  2. Привет всем! учусь на факультете электроники! не могу придумать себе тему на диплом! моя специальность - электронные приборы и устройства! посоветуйте что то актуальное и перспективное (а то руководитель дает темы, которые устарели еще в 80-х )

    Ладно, будущее светило электроники, лови удачу:

     

    "Блок управления лазером в приборе для исследования глазного дна"

     

    Самый что ни на есть живой и актуальный.

     

    Есть кусочек электроники, есть кусочек программирования. Не знаю только, хватит ли на диплом.

    Могу еще и другую плату подкинуть, если лазаря не хватит (ту, куда плата лазера подключена).

     

    Фишка в том, что 20мВт зеленый лазер может запросто проделать дыру в глазу. Поэтому очень актуально максимально обезопасить пациента от разных неисправностей. более 60% схемы - это защитные цепи, кое-где продублированные.

     

    Давай мыло, дам схему, чертежи печатной платы, ВОМ.

  3. Не ну вот МЕМS датчики же используются для определения угла крена, тангажа, рысканья. А вот если к этому прикрутить цифровой строительный уровень, то все норм будет.

     

     

    МЕМS датчики - слишком общее название.

    Если вы имеете в виду "типа гироскоп", т.е. датчик углового ускорения, то после двух интегрирований (чтобы получить положение) про точность и стабильность можно забыть. Но запросто можно применить как стабилизатор по крену. Но постоянно будет медленно сваливать то туда, то сюда.

     

    А если акселерометр, то да, его можно использовать в качестве датчика наклона. До тех пор, пока платформа не движется ускоренно. Странная у вас однако платформа, с рысканьем, тангажом и креном. На дрон похожа. Вы бы не темнили...

     

    По делу: современные дешевые МЕМС гироскопы и акселерометры практически пригодны для игрушек и джойстиков.

    Для более-менее серьезных применений их точность\шумы\стабильность неприемлемы. Например, как вам уход угла гироскопа 20 град за 5 минут? Для стабилизации от возмущений потянет, а для самостоятельного полета - ну никак.

     

     

    Не поможет никакая математика, ни сам Калман и фильтр, пророк его. Это если датчики плохие. МЕМС датчики - плохие. Для целей навигации летающих объектов.

     

    например:

    http://www.spectronsensors.com/tilt-sensors.php

     

     

    А вот надо бы точность 1 - 2 градуса получить.

     

    Да хоть 0.1

    Ставьте на свою платформу оптомеханический енкодер и меряйте.

     

    А если это летательный аппарат типа "RC вертолет", то забудьте о дешевизне.

     

    Тоже с (не очень большой) точностью, т.к. зависит от высоты над уровнем моря, температуры и т.д.

     

    Смотря какие требования к точности. Краткосрочно (десятки минут), при старте с земли (обнуление высоты), я на простом оборудовании (AVR, АЦП, дешевый пьезо сенсор) получал точность порядка 1 метра. Вполне достаточно. Ближе можно ультразвуком.

  4. Подскажите какие существуют датчики положения в пространстве

     

    Таких не бывает.

     

    А вот что бывает:

     

    - Датчик углового ускорения. По-народному - MEMS гироскоп. Интегрируя его показания можно с (не очень большой) точностью вычислять положение тела при вращении его вокруг оси.

     

    - Датчик давления. Используя барометрическую формулу, можно вычислять положение тела по высоте.

     

    - Датчик ускорения (акселерометр). Позволяет вычислять много чего, в том числе и угол наклона. Но существует ряд ограничений.

     

    - магнитометр (частный случай - компас). Очевидно.

     

    - Трубка Пито. Измеряет относительное давление. Можно вычислить относительную скорость. А уже из него - перемещение, затем и положение. Используется в авиации.

     

    - тупо уровень строительный. Есть с электрическими контактами. Недостатки - те же, что и у акселерометра.

     

     

  5. Еще у нас с общим входным питанием не все просто. 14 вольт получается с флайбека. Иголки лезут до 100 милливольт после всех фильтров. Потом стоит степдаун на 5 вольт CS51411. Первая мысль была с него наделать 3.3 вольта для питания цифры и аналоговой части. Почитал все что выше и теперь думаю что надо LDO ставить сразу с 14 вольт и видимо не одно, а друг за другом пару чтоб все иголки удавить. Или может фильтр какой нибудь LC или что-то аналогичное?

     

    Ну что за ересь...

     

    Разберитесь, как правильно осциллографом пользоваться.

    Станьте скопом на землю. Убедитесь, что видите опять же иголки 100 милливольт.

    Подумайте, откуда они там. И ЕСТЬ ли они там на самом деле.

    А уж потом стройте гирлянды стабилизаторов.

     

    Подсказка: на маленькой макетке сделайте на подходящем операционнике усилитель с Ку=20-50, запитайте его от батарейки и заэкранируйте. его входы подключите локально короткими проводниками к земле и к измеряемой цепи РЯДОМ. К выходу этого усилителя подключаете скоп. Смотрите. Анализируете. Говорите "аааааааааа".

     

  6. unsigned long Mylong = 4294967294;
    char buffer[9]; // 8+null terminator
    
    sprintf (buffer, "%Xl", Mylong);
    while(*buffer) TransmittChar(*buffer++);
    
    
    
    
    
    
    union {
    unsigned long Mylong;
    char buf[4];
    }MyUnion;
    
    MyUnion.Mylong = 4294967294;
    
    TransmittChar(MyUnion.buf[3]);
    TransmittChar(MyUnion.buf[2]);
    TransmittChar(MyUnion.buf[1]);
    TransmittChar(MyUnion.buf[0]);

     

     

    Действительно, не совсем понятно, что вам нужно. Привел два примера. В первом получите искомую текстовую строку. Во втором - настоящие хексы. Надеюсь, оно вам надо.

     

  7. //--------------------------- 
    // IAR - AVR IAR Compiler [ICCAVR] (Current Version) 
    
    // required includes 
    #include <processor-specific include> 
    #include <inavr.h> // Architecture include 
    // brings in __enable_interrupt() and __disable_interrupt() 
    // not requred for the ISR itself, but will be needed to 
    // enable interrupts in your code 
    
    //handler declaration 
    #pragma vector=interrupt-vector-name 
    __interrupt void my_name_for_this_isr(void) { 
       //rest of code 
    } 
    // NOTE: The ISR function must immediately follow the #pragma

     

    Все верно. Вы случайно угадали правильный синтаксис.

     

    http://www.avrfreaks.net/index.php?name=PN...pic&t=54318

     

    Загляните по ссылке, как раз для Вас.

    А вообще - читать доку на компилятор. Там много есть интересного.

     

  8. В принципе, о прототипах я и сам могу несколько подробнее рассказать.

    - я не совсем понимаю, как правильно объявить прототип обработчика прерывания. :fman:

     

    Как-то не согласуется одно утверждение с другим :)

     

    Прерывания НЕ являются частью языка Си. Их НЕЛЬЗЯ правильно объявить, пользуясь K&R Си.

     

    Ибо прерывание - очень особая функция, требует особых пролога-эпилога и команду возврата.

     

    Поэтому объявление прерываний абсолютно зависит от компилятора. Ищите в хелпе на компилятор.

     

    В общем случае это будет

     

    void UART1TransmittComplete(void);

     

    А где-то рядом с ним будет ключевое слово interrupt, ISR или как там у вашего компилятора.

    Также может указываться вектор прерывания (номер в таблице прерываний, или иная релевантная информация).

     

    Удачи!

  9. А чем Altium не угодил?

     

    Монструозностью. И тем, что краденый. А вообще работалось в Альтиуме неплохо.

     

    На новой работе был уже куплен ПАДС, вот и пришлось осваивать. Чему и рад несказанно.

    А поскольку библиотеки под каждую плату делаю сам, благо визарды сейчас позволяют делать это быстро,

    то и не испытываю проблем юного поколения "дайте мне очень нужен футпринт на микросхему ХХХ".

  10. Вычитал, что PADS не имеет метрической сетки. Если это так, то "к чертовой матери!"

     

    Типа Пастернака не читал, но осуждаю?

     

    ПАДС не имеет метрической сетки в СХЕМНОМ редакторе. При машинном выводе чертежей ГОСТом допускается.

     

    В редакторе плат сетки переключаются туда-сюда на раз.

     

    Вообще, после многолетней работы с пикадом (начиная с 2.0) и Альтиумом, Ментор ПАДС - это песня. Простой, как пикад. Понятный, как альтиум. Не монстр. Не дорогой. Хорошие хелпы, правда русской литературы мало, но Мегратек старается...

  11. Тут наверное нужна схема.

    Кондёр - возьмём 4700мкФ.

     

     

    Кондёр я собираюсь заряжать до 5В(максимум что выдаст USB - я подразумеваю такое питание). Токоограничивающий резистор 1 Ом. Измеряемые сопротивления до 1мОм, с шагом там видно будет. Эталонный резистор например 5 мОм или 10 мОм.

     

    Итак у нас возник скачок тока в 5А. Если посмотреть спектр сигнала - ну скачок + дальнейшая разрядка с

    Шунт у Вас с какой индуктивностью? - объясните данный вопрос.

    Шунт чего?

     

     

    Не шунт, а шут... Гороха...

     

    Спецификация USB ограничивает ток на уровне 500 миллиампер (0.5 А).

    Как и емкость конденсатора по цепи питания - 10 микрофарад.

    Ах да, USB-3 даже 0.9 А.

     

    А ничего, что даже гипотетически предполагаемые 5 ампер будут только в начале зарядки?

    По мере заряда конденсатора ток при данной схеме построения цепи (резистор 1 Ом) будет падать.

     

    Топикстартеру неплохо бы подучиться, если работает. Ну или в армию, если учится...

     

    Ага, вижу схему. Беру свои слова обратно.

  12. Здравствуйте.

     

    Если 2 провода находятся близко друг к другу и на одном из них возникает импульс амплитудой 5В, то на втором будут наводки?

     

    Как их рассчитать и можно ли этого как то избежать не разнося провода на расстояние?

     

    Mentor Hyperlynx может такое рассчитывать.

     

    Как избежать:

    1 Разнести провода на разные слои платы, поместив между ними земляной слой. То есть разносим по вертикали.

     

    2 Поместить между проводами третий провод, подключенный к земле, желательно с переходными отверстиями.

     

    3. Ограничить скорость нарастания напряжения на проводе-агрессоре, помеха уменьшится.

     

    4. Найти толковую книжку по SI (Signal Integrity) и читать, читать, читать....

     

     

    Удачи!

     

  13. А все таки почему не запускается прямо из ISE

     

    Он не запускался уже в 10-й версии ISE.

    Похоже, со скриптами накосячили.

    В более ранних - работало нормально.

     

     

    Но Вам похоже шашечки, а не ехать...

     

     

  14. создаю файлы

     

    cat > ~/.bash_profile << "EOF"

     

    а они нигде не создаются. на HDD их нет. или они есть, но я их не вижу?

     

    В линуксе файлы, имя которых начинается с точки, невидимы. Как скрытые файлы в виндовс.

    Скорее всего он создался, но вы его не видите.

  15. В теме "Работа DDS ad9910 на верхних частотах" было упомянуто о особенностях ВЧ-схемотехники

     

    кто подскажет что за элемент такой FB?

     

    Ferrite Bead - дроссель на феррите с высокими внутренними потерями. Ставится последовательно в цепи питания и сигнальные цепи тоже для подавления ВЧ гармоник. Характеризуется импедансом на заданной (высокой) частоте. Обычно это 100МГц.

     

    Пример:

    http://www.vishay.com/docs/34024/ilbb0603.pdf

     

  16. Нынче ГОСТ, оказывается, задает условия для пробоя. :biggrin:

    Говоря о пробое, нужно говорить о напряженности поля вблизи электродов, а не о напряжении на них. Вот такая правда жизни. ;)

     

    Наверное, автор все-таки имел в виду ГОСТ , определяющий "нормальные условия".

     

    Или Вы будете спорить, что давление и влажность влияют на напряжение пробоя?

  17. Я уже 4 года с FPGA работаю и имплементированы проекты порядка "Компенсатор дифференциальных задержек для VCAT до 256мс". Я отлично знаю что такое, пред-установка и пост-удержание тригерров. Мне интересно про то как симуляторы отрабатывают код, по каким алгоритмам и т.д.

    А вопросы задаете студенческие, космического масштаба. Типа "как симуляторы отрабатывают код, по каким алгоритмам"

    От Вас ожидалось примерно следующее: "вот, в функциональной симуляции в этом месте сбоит, а в post-layout все нормально. Где могут быть грабли?"

    А Ваша постановка вопроса показывает, что Вы не понимаете разницы между ними. Иначе бы проверили.

    А если бы работали 4 года с ФПГА, то забили бы на функциональное моделирование вообще, оставив его только для проверки маленьких блочков кода.

    Самое достоверное - post-layout симуляция, и то не на все 100 %. Ибо не учитывает сигналы за пределами кристалла, да и PLL внутри не всегда адекватно симулируется.

     

    Был тут один, всё супернадежными компиляторами бредил. Постоянно находил баги в Си-компиляторах.

     

    Почему когда кто то спрашивает что, его сразу представляют 'начинающим' ? Все познать невозможно. Вот у меня не было таких проблем никогда, и я решил задать вопрос. Вдруго кто то встречался с подобными вещами. Чего же тут смешного?

     

    Я не смеялся. Это было отчаяние :-). И рабочее решение Вам предоставил.

    А начинающим представляют не того, кто спрашивает, а того, кому по профилю 23 года, а он уже 4 года ФПГА занимается :-)

     

    Удачи!

  18. Оно (время срабатывания) всегда равно дельта-задержке в поведенческом моделировании (если нет каких-то связей со времянками), а не 0.

    И то, что написано у старттопика в коде - правильно!

    А добавлять "чтоб всегда работало" after 1ns - это костыль и он то и есть кривость.

     

    Было бы правильно - топика бы не было.

  19. Вот такая вот штука. получается что кроме понимания работы архитектуры системы нужно отлично понимать алгоритмы работы САПР, в котором эта архитектура верифицируется.

    Очень было бы полезно почитать про дельта-задержки. Что бы в будущем таких "глюко-фич" избегать. Не подскажете, где и что почитать? Спасибо!

     

    Ааааааа... держите меня трое....

    Почитайте лучше про триггер. Про его setup и hold, например.

    А дельта-задержек не существует. Это абстракция. В отличие от времени срабатывания триггера.

    И хоть один раз доведите свою схему до имплементации. Очень умильно на Ваших диаграммах выглядят сигналы, меняющиеся строго по клоку. Жизнь реальная, она куда как суровее будет.

     

    Ну и не забывайте про плохого танцора... А то всё у Вас САПР виноват :biggrin:

     

    Я про багу не знаю. А в Квартусе функциональное моделирование подразумевает функционирование с нулевыми задержками.

    Можете изменять даныые по фронту клока и все равно получите нужный результат. Вот с временным моделированием это не пройдет.

    И понятно почему.

    Про альдек не знаю. А моделсим ведет себя адекватно симулятору Квартуса.

     

    А что, в Моделсиме есть разделение на функциональное и временное моделирование?

    Запустите туда чистый VHDL без задержек и он Вам напоказывает...

    А кое-кто взвизгнет "очередную багу Моделсима нашёл!"

  20. Gorby:

    По вашему предположению, все присваивания, написанные без указания задержек будут при моделировании(наприме, в Modelsim) выполняться одновременно и никак не буду соответствовать поведению реального триггера?

    То есть результат симуляции такого простого куска кода:

    always @(posedge clk)
      begin
        signal_d1 <= signal;
        signal_d2 <= sigbel_d1;
      end

    Не будут соответствовать работе 2-х триггеров?

     

    Я Вас правильно понял?

     

    Вы поняли правильно. Только без категоричного обобщения "все присваивания". На самом деле симулятор не так плох, чтобы тупить в таком каноническом случае. А вот сделайте счетчик десятичный (ну чтобы обратные связи от самого себя были) - тут же наколетесь.

  21. Присоединяюсь к недоумевающему коллеге des333: вы несёте феерическую ахинею.

     

    Коллега des333 абсолютно точно выразил мысль. И недоумевал - имеет право.

    А Вы оскорбляете. Ответьте за базар. Скриншот симулирования двух идеальных триггеров - в студию.

  22. LOL. Зачем тогда существует механизм дельта-задержек в симуляторе?

     

    Он не "зачем", а "как работает в конкретном симуляторе".

     

    Имеем тот эффект, что время срабатывания описанного кривыми руками триггера равно нулю.

    А нуль, очевидно (жаль, не всем), всегда меньше любой дельты.

     

    Причем этот эффект влияет не на текущий триггер (он-то сработал), а на последующий за ним, по цепочке. Или на текущий тоже, если перед ним стоял триггер тактируемый тем же клоком. А поскольку порядок обработки симулятором триггеров непредсказуем, то от изменения мест триггеров в проекте меняется результат симуляции.

  23. про after 2ns - это хорошее замечание.

    Смех смехом, а почему тогда всегда это работало, а щас не пашет?

    Мне интересно, как выявить такие баги сразу и каким средствами. в моем случае тут все легко оказалось - 4 сигнала всего. а если такие глюки будут проявлсят на более серьезных проектах - как их обнаружить?

     

    я раньше тоже такие баги встречал в моделсиме. он вообще ими кишит. правда и в алдеке были такие моменты. в 7.1 версии. искренне думал что все такое убрали. анн нет....

     

    Повторяю: это НЕ баги. Тем более, не баги сред моделирования. (у сред тоже бывают баги, но их вы повстречаете гораздо позже и реже).

     

    Баг - в вашей голове, если Вы думаете, что существует идеальный триггер.

     

    Давайте проведем мысленный эксперимент. Есть два идеальных Д-триггера. Клок общий.

    Выход первого соединен со входом второго (последовательно).

    Изменяем сигнал на входе Д первого триггера. Так вот, в нарушение всех законов очевидности и причинно-следственности, Вы увидите изменившийся сигнал на выходе ВТОРОГО триггера по ТОМУ ЖЕ фронту клока, который зарегистрировал изменение входа на первом. Ибо состояние выхода первого триггера изменилось ОДНОВРЕМЕННО с фронтом клока. И уже ИЗМЕНЕННОЕ, зафиксировалось как входное для второго триггера.

    Таким образом, сигнал "пролетит" любое количество триггеров. Вы ведь своими руками построили такую модель. Самое неприятное, что разные симуляторы разруливают такую ситуацию по-разному. Ибо ситуация сродни делению нуля на ноль. Возможное решение я Вам уже указал.

     

    Теперь чем "кишит" Моделсим. Моделсим показывает Вам Ваши собственные ошибки. Научитесь внимательно разбираться, чего он от Вас хочет. Как и компилятор Си, без причин он не ругается.

  24. Наблюдал такой же глюк в Моделсиме для тестбенча и модуля на Verilog.

    Входы "рисуете тестебенчем"? Попробуйте по другому описать тестбенч - по меньше не синтезируемых конструкций. Мне это помогло. Глюк событийной модели.

     

    Оба не правы.

     

    Отвлекитесь от программизма. И подумайте, что физически происходит в триггере.

    А потом соотнесите это с вашей моделью.

    А то сразу "авторемонтное изменение сосудов..." (с)Жванецкий

     

    Правильный ответ: если хочется симулировать именно поведенческую модель,

    то после КАЖДОГО присваивания сигналу (не переменной) ставим волшебное слово "after 1nS".

    Хорошенько подумайте, зачем.

     

    Если бы вы были более последовательны, то сделав имплементацию вашего творения в кристалл и получив модель для post-layout симуляции (с реальными таймингами), вы были бы приятно удивлены: всё бы работало, как задумано. Хорошенько подумайте, почему.

     

    Подсказка: в реальном чипе ВСЕГДА имеется промежуток времени от фронта клока до изменения выхода триггера. А в вашей идеальной симуляции триггер изменяет свое состояние через 0 пикосекунд после фронта. Что вызывает массу интересных побочных эффектов.

     

    Удачи.

  25. вот как раз зафиксировать удар превысивший уровень нужно а как мягкая прокладка влияет на акселерометр из чего её сделать? как в серийных изделиях делают

     

    Например плата с датчиком (она небольшая, 1 см2) приклеивается к объекту на двухстороннюю клейкую ленту из вспененной резины. Если недостаточно мягко, то на два слоя. Или между ними поролоновая прокладка. В общем как сделаете, так и будет.

     

    Купите любой датчик ускорения, подключите осциллограф и посмотрите. Многие вопросы отпадут сами собой.

×
×
  • Создать...