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

=AK=

Свой
  • Постов

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

  • Посещение

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

    5

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


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

     

    поставить индуктивный фильтр

    Забудьте про "индуктивные фильтры" для частот менее 50 Гц. В цепях питания ламповых схем они были оправданы, но в сигнальных цепях современных схем это нонсенс.

  2. Набор резисторов для измерения двух полярного сигнала.

    Не понял. Это вы о чем?

     

    какие варианты фильтров использовать

    В вашем случае для получения простейшего фильтра надо добавить два кондера: один с "+" входа ОУ на землю, второй - между "-" входом ОУ и его выходом. Кондеры д.б. настолько большими, насколько допустимо запаздывание результата измерения.

  3. Есть схемка(рис) работает вроде нормально

    Не верю. Так, как нарисовано, работать не должно. У вас нарисован ОУ, который включен в режиме компаратора, но работает на АЦП. Полная ерунда, короче говоря.

     

    Вы бы лучше рассказали подробнее свою задачу.

  4. Мне нужно ровно в два раза меньше.

     

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

  5. Из за чего они дороже я писал выше.

    Основная причина дешивизны массовых электронных изделий состоит в том, что все "ноу-хау", все сложности и нюансы зашиты в специализированный кремний и софт. Попробуйте-ка собрать компьютер на дискретных транзисторах.

     

    Что же касается активных пробников, то я очень сильно подозреваю, что там стоят специализированные заказные ИС, что-нибудь арсенид-галлиевое. В пользу этого говорит тот факт, что активные пробники выпускают только те фирмы, которые имеют возможность делать - и делают - заказные ИС: Агилент, Тектроникс, ЛеКрой.

  6. Пролезать ему неоткуда, на схему подается только 12В. Скорее всего это кратковременное падение напряжения от 12 до 0.

    От той части схемы, которая соединена со входом 1, на выход может идти только добавка напряжения - поскольку диод D2 пропускает ток только в одном направлении. А у вас при появлении импульсов на входе 1 напряжение на выходе падает, т.е. что-то отсасывает ток. Значит, или диод битый, иди монтаж с ошибками - последнее более вероятно.

  7. Сегодня на улице увидел грузовик, который вез три большие трубы. И тут я подумал, что надо из них космические ракеты делать. А то дорогие ракеты что-то очень. Всего-то надо взять такую трубу, приделать к ней спереди обтекатель, а сзади сопло, заправить топливом - и все. Осталось только нюансы узнать. Труб сейчас как грязи, да и достать не проблема. Какие ставить? Бетонные, железные или пластмассовые?

  8. 1) Если Вх2 замкнут на +12, то 0,5сек импульсы на Вх1 дают на выходе IN1 (Q6) вполне стабильное напряжение, в момент отсутствия импульса напряжение падает с 12в до 11в. Правда такая стабильная картина устанавливается где-то после 2-3 импульса, а после 1го напряжение может упасть до 4 вольт.

    Очевидно, Q3 и Q4 разряжают С3 не с первого раза. Нужно уменьшить R8 раза в 3-4, а также уменьшить С3, скажем, до 6.8 мкФ.

     

    Кроме того, полезно будет увеличить R10 раза в 2-3, тогда Q5 будет раньше срабатывать

     

    2) Если Вх2 замкнут на массу, то при импульсах на Вх1 напряжение на выходе Q6 прыгает от 12 до 5в.

    Этого быть не должно. Ищите ошибку в монтаже. Похоже у вас где-то в схему паразитным образом "пролезает" питание 5 В

     

    3) При импульсах на Вх1 (Вх2 замкнут на +12), выход IN2 (сток VT1) имеет сопротивление на массу 0ом (правда если попытаться замерить напряжение между стоком VT1 и +12, то будет 0, не тянет по мощности полевик?), при отсутствии импульсов - на массу 650ом (между массой и стоком VT1 показывает +12в).

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

     

    PS: По-английски "вход" пишется "INPUT" а "выход" - "OUTPUT". Поэтому сигнал, обозначенный как IN1, IN2, звучит как вход, а не как выход. Выход был бы назван OUT1, OUT2

  9. 1) Кондер С3 увеличить раз в 100-1000 и добавить резюк 1к последовательно с ним.

    2) D2 выбросить нафиг, а R3 оставить

    3) Последовательно с D1 врезать резюк 1к, а R1 увеличить до 10к

    4) С базы Q1 на землю добавить резюк 3.3к

     

    Тогда, может, заработает. Но сама идея у схемы довольно гнилая. Такие вещи правильнее на КМОП логике делать.

  10. О исправил.

    Спасибо. Но, наверное, эта ошибка не в одном месте, а в нескольких. В сообщениях продолжает отображаться, что автор принадлежит группе "новичёк". Например

    Сообщение #1 Сегодня, 04:22

    LNShadow

     

    Группа: Новичёк

    Сообщений: 1

    Регистрация: ...

    Из: ...

    Пользователь №: ...

  11. С оптроном не получается.

    "Оптрон после фотоприемника" выглядит просто как издевательство над здравым смыслом. В сущности это точно соответствует присказке "водку продали, деньги пропили".

     

    Как бороться с помехами - читайте здесь

  12. Если ли очень простой вариант написания кода для двух одинаковых импульсов?

     

    Я не очень хорошо понял, что вы хотите. Попробую ответить в боее-менее общем виде.

     

    Самое простое и бронебойно-правильное решение состоит в том, чтобы передать неизвестно-какие сигналы (от кнопок и т.п.) во временное пространство вашего основного клока CLK, а дальше работать в нем. Передача сигнала производится при помощи 2-х или 3-х каскадного "синхронизатора", ктороый представляет собой по сути просто сдвиговый регистр. В примере внизу я обрабатываю 2 входных сигнала Button1_i и Button2_i совершенно одинаково по сути, но по-разному в написании, получая сигналы button1 и button2

     

    Два замечания к представленному коду:

    - Я сознательно предпочитаю где можно пользоваться переменными (variable), а не сигналами (signal), посколку переменные более локальны и за пределами процесса не видны

    - Отступы надо "беречь" и пользоваться ими экономно. Основная цель состоит в том, чтобы повысить читаемость текста, а не в том, чтобы долбить по клавишам

    resync_pro : process(CLK)
    variable b0,b1: std_logic;
    variable bb : std_logic_vector(1 downto 0);
    begin
    if rising_edge(CLK) then
      button1<=b1; b1:=b0; b0:= Button1_i; --  сдвиговый регистр "собран из кусочков", так удобно писАть, когда он короткий
      button2<=bb(1); bb:=bb(0) & Button2_i; -- сдвиговый регистр в основном сделан вторым выражением, его можно было сделать любой длины
    end if; -- CLK
    end process resync_pro;

     

    Предположим, что входы Button1_i и Button2_i приходят от одной кнопки с контактом "на переключение", которая замыкает Button1_i на землю при нажатиии кнопки, или замыкает Button2_i на землю при отпускании кнопки (конечно, на входы навешены подтягивающие резисторы). Тогда подавление дребезга элементарно обеспечивается простым RS-триггером. Результирующий сигнал назовем button

    debounce_pro : process(CLK)
    begin
    if rising_edge(CLK) then
      if ( button1='0') then
        button<='1'; -- кнопка нажата
      elsif ( button2='0') then
        button<='0'; -- кнопка отжата
      end if;
    end if; -- CLK
    end process debounce_pro;

     

    Теперь создадим короткие импульсы длительностью 1 клок по нажатию кнопки (назовем его button_re, где re означает "rising edge") и по отпусканию кнопки (назовем его button_fe, где fe означает "falling edge")

    edges_pro : process(CLK)
    variable b :std_logic;
    begin
    if rising_edge(CLK) then
      ------------------------
      -- rising edge
      ------------------------
      if (button='1') and (b='0') then
        button_re<='1';
      else
        button_re<='0';
      end if;
      ------------------------
      -- falling edge
      ------------------------
      if (button='0') and (b='1') then
        button_fe<='1';
      else
        button_fe<='0';
      end if;
      ------------------------
      -- 1-битный сдвиговый регистр
      ------------------------
      b:=button; -- это должно быть в конце процесса, а не в начале
    end if; -- CLK
    end process edges_pro;

     

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

    Выходной сигнал назовем Pulse1_o

     

    pulse1_pro : process(CLK)
    variable cnt : unsigned(7 downto 0);
    begin
    if rising_edge(CLK) then
      -------------------------
      -- по фронту 
      -------------------------
      if (button_re='1') then 
        cnt := (others => '0'); -- обнулили счетчик
        Pulse1_o <= '1'; -- запустили вых. импульс
      -------------------------
      -- считаем до тех пор, пока старший разряд счетчика равен 0
      -------------------------
      elsif (cnt(7)='0') then 
        if (to_integer(cnt)=55) then -- когда счетчик отсчитал нужное нам число клоков
          Pulse1_o <= '0'; -- закончили вых. импульс
        end if;
        cnt := cnt+1; -- считаем клоки
      end if;
    end if; -- CLK
    end process pulse1_pro;

  13. Не надо NVE! Тяжелые проблемы с доставкой, мелкие неприятности, типа неопределенных состояний при включении - работает только по фронту. Года три мучились. Перешли на ADuM, как гора с плеч!

    Соответствует нашему опыту. Они и по фронту работают не всегда. Что угодно, только не NVE.

  14. А вы подумайте, куда девается ток, который течет через этот диод?

    Абсорбируется кондерами на линии Vcc и затем постепенно потребляется всеми нагрузками в цепи питания. При указанных 6.8 к и максимальном постоянном напряжении, скажем, 25 В (что намного превосходит любые разумные пределы), через резистор течет менее 3 мА, что благополучно съедается микроконтроллером. А кратковременные выбросы сначала абсорбируются, а потом съедаются.

     

    R4 создает начальный ток смещения для диодов и стабилитрона

    Это смещение нужно, только если стабилитрон имеет значительный ток утечки, который повлияет на точность измерений. Зенер с малыми утечками разумнее ставить напрямую в точку соединения R1,R2, а диоды и R4 викинуть, т.е. сделать так, как было у топикстартера изначально.

  15. маска и лак защищают поверхность платы от старения

    Маска и лак не защищают от коронного разряда - корона постепенно "съест" их и со временем создаст проводящие каналы на их поверхности. Лак оставляет оголенными острые заусенцы и углы, поэтому корона образуется и на покрытой лаком плате.

     

    Чтобы не образовывалась корона, нужна объемная заливка (эпоксидкой, силиконом) или погружение в трансформаторное масло.

     

    "Твердая" объемная заливка не должна иметь больших воздушных пузырей, иначе в них тоже может образоваться корона. Поэтому объемную заливку, пока она не застыла, надо сначала поместить в ваккум, а потом обратно в нормальное атмосферное давление.

     

    С маслом поначалу проще, но оно постепенно загрязняется.

  16. зачем например нужен r13??

    Ранее обсуждалось, cообщение #27

    Кстати, последовательно с затвором VT1 тоже полезно было бы резюк 1к поставить из тех же соображений. Заодно эти резюки помогут помехи фильтровать.

     

    смущает номинал r14 при работе двигателя а тем более стартера могут быть проблемы. внеси в питание перепады от 7 до 15 вольт и короткие импульсы до 200

    А кто его знает, как пейджер будет реагировать на помехи на входах (если они будут). Может, они ему и не мешают вовсе. Может, от только на долгие сигналы реагирyет. Но в принципе не помешало бы поставить по одному кондерчику 0.1 мкФ параллельно R7 и R14

  17. Итак, полная схема (строго не судите):

    Беглый взгляд говорит, что все ОК. :)

     

    неизвестно как поведут себя контакты реле по входу вх2 если замыкание на землю произойдёт при разряженном конденсаторе с1

    А тогда по барабану, как они себя поведут - кондер-то все равно уже разряжен :biggrin:

  18. А входные сигналы у него откуда берутся?

    Написано так:

     

    Вход2 это контакт 40А реле (выход на клаксон\поворотники).

    Извиняюсь, перепутал входы..

    На самом деле так: ВХОД2 - это контакт бистабильного (2А) реле замкнутый на +12 или на массу, а ВХОД1 это контакт моностабильного (40А) реле НЗ на массу, при работе тревоги замыкаемый на +12 импульсно.

     

    Понять из этих слов что-либо трудно, можно по-разномy истолковать, что имелось ввиду. Но, похоже, что один контакт переключается между землей и питанием, а другой замыкает клаксон на землю. Если бы аффтар удосужился нарисовать схему своих источников сигналов, то было бы намного понятнее.

  19. Но если к эмиттеру Q6 просто подключить +12, то куда подключать собственно выход схемы?

    Почему вы хотите эмиттер Q6 на +12 зафигачить? :(

     

    Как я понял, в сообщении #22 вы нарисовали ваши нагрузки, куда поступают сигналы с выходов схемы. Я полагал, что сток VT1 подключен ко входу пейджера, который вы обозначили "вход 2 - тревога", а эмиттер Q6 - ко входу, обозначенному как "вход 1". У вас там нарисован резистор 6.8к от входа 1 на +12, что по моему разумению должно означать, что этот резистор уже встроен в вашу нагрузку.

     

    Вот вы же закрасили розовеньким то, что находится за пределами данного устройcтва. Вот и этот резистор R12 надо тоже розовеньким закрасить.

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