Толян22

Логика написания программы под AVR

8 posts in this topic

Доброго времени! НаписАл в песочницу, но что-то не задалось там с помощью.... Попробую в профильный раздел :-) Если что сильно не пинайте) Суть вот в чем... Имеем пилообразное напряжение амплитудой до 2 вольт и частотой 1-1,5 ГЦ. И нам нужно мерить его... Если оно есть, то на выходе МК имеем логическую 1. Если оно пропало или амплитуда снизилась ниже 1В, то не позже чем через 2 сек, ставим логический 0. Пишу в Bascom AVR. Как так выстроить логику программы, чтобы опрашивать АЦП в течении 2 секунд и если напряжение поднималось хотя бы раз выше 1В, то держать единицу, а если нет, то выставить ноль? В идеале должно получиться нечто похожее на схематическую осциллограммку ниже

осцилка на форум схем нет.JPG

Share this post


Link to post
Share on other sites
ARV    762

Считайте скользящее среднее значение за 2 секунды и по нему принимайте решение.

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Создание беспроводных устройств на системах-на-кристалле семейства SimpleLink компании TI»

Компания Компэл, совместно с Texas Instruments приглашают 26 июня принять участие в вебинаре, где инженер по применению беспроводных технологий компании TI расскажет, как на новых беспроводных системах можно реализовать несколько полезнейших в повседневной жизни функций для ваших устройств. С развитием элементной базы TI становится возможной реализация более удобных, функциональных и безопасных систем, недоступных ранее. Вебинар проводит инженер по применению беспроводных технологий в TI Мари Хернес(будет дублированный перевод).

Подробнее...

mvkarp    3772

Не думаю, что среднее нужно считать. Отслеживать наличие сигнала выше порога, если ниже порога - запускать таймер. Выше - таймер на сброс. От таймера - прерывание - и на сигнал "Беда-а-а!"

Share this post


Link to post
Share on other sites
3 минуты назад, ARV сказал:

Считайте скользящее среднее значение за 2 секунды

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

2 минуты назад, mvkarp сказал:

Не думаю, что среднее нужно считать. Отслеживать наличие сигнала выше порога, если ниже порога - запускать таймер. Выше - таймер на сброс. От таймера - прерывание - и на сигнал "Беда-а-а!"

Вот это уже четкая мысль! Спасибище!!!

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

55 минут назад, Толян22 сказал:

Имеем пилообразное напряжение амплитудой до 2 вольт и частотой 1-1,5 ГЦ. И нам нужно мерить его... 

А нужно ли его мерить? Может использовать компаратор?

Share this post


Link to post
Share on other sites
COKPOWEHEU    273

Это зависит от того нужно ли менять пороги. На АЦП это делать попроще. Зато его немного сложнее настраивать.

Share this post


Link to post
Share on other sites

Получилось вот что:

$regfile = "attiny13.dat"
$crystal = 9600000

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portb.0 = Output
Dim X As Word
Start Adc

Do
If Getadc(3) <= 200 Then
Incr X
Waitms 100
Else
X = 0
End If

If X => 20 Then
Portb.0 = 0
Else
Portb.0 = 1
End If
Loop

End

 

И тут родились два вопроса

1. Как сделать задержку PB.0 в 2 сек с логического 0 на 1?

2. Как допилить в программу второй канал? То есть, отдельная нога меряет напряжение второго источника и другая выставляет 1 и 0 не зависимо от первых двух?

Edited by Толян22

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Сообщения

    • Это кто вам сказал? Вот осцилка без нагрузки А вот при 500кГц и нагрузка 3 IRF460. Без нагрузки С нагрузкой. левая тупа драйвер.....правая с повторителями на КТ814-815.  
    • подскажите пожалуйста оптимальное параметры питание для однополярной и двуполярной версий усилителя. спасибо, нашёл сам в форуме)
    • выкинул красные флажки,заменил их керамикой 330пф и кмками, запаял bc550+560, к53-18.
      нашел пару живых к50-29(жаль всего 2..)вторая пара будет простые современные .
      радиаторы для vt5 (2sb1559) надо сделать, и как-то придумать закрепить панельки под новые оу...
      на выхлоп из того что предложил крабыч-выбрал тип142+147. думаю еще попробовать генератор на полевике как тут  раньше на выходе стояли кт825+827 ..из них слеплю стабы в бп.
    • Вместо отвода от одной трети катушки - можно сделать без отвода: емкостной делитель, то есть два последовательных конденсатора паралельно катушке. А отвод, под названием " одна треть" будет между этими конденсаторами. Сами конденсаторы тоже подвержены закону "одна треть". Это значит, что верхний например 100 пф, нижний 300 пф. А  катод на землю сажать уже через ВЧ дроссель... ... 
    • Где-то частично согласен... Только вот - абсолютно без нагрузки - на электролитическом конденсаторе фильтра - после диодного моста - напряжение фактически соответствует формуле...  Стоит подключить нагрузку - и...   - "просыпается" это самое падение напряжения на тех-самых P-N переходах.  А, дальше - уже начинают суммироваться и падение напряжения на обмотке трансформатора (внутреннее сопротивление), и за счёт несоответствия расчётных и реальных токов в обмотках,  и на сопротивлении проводов и так до бесконечности.... 
    • Мостовое и однополупериодное и выпрямление ... выбор очевиден. VDS2 я вряд ли лучше опишу  R6 - на пару минут разминулись ... отписал  Сопротивление драйвера IR (сопротивление полевых транзисторов внутренних драйверов) имеет значительное сопротивление, это видно по сравнительно малым токам по управлению затвором ION=0,15A и IOF=0,31A. И диоды VD3, VD5 (в схемах без дополнительных драйверов на этой МС) на затворах прекрасно переносят импульсные токи при разрядке затвора, чем сокращают время нахождения силовых транзисторов в линейном режиме и уменьшают их нагрев. Время открытия и закрытия транзистора несколько сотен наносекунд, сравните их с периодом хотя бы одного такта
    • @kotosob Не переживай, обсудим. Ладно, тему почищу... много не по теме...