Ви не увійшли.
Сторінки 1
Здравствуйте. Если у Вас трёхпроводная схема (+питание, -питание, данные), то скорее всего резистор подтяжки по умолчанию 4.7кОм. Замените его на 1кОм, но не менее - должно заработать.
Плата должна остаться исправной. Скорее всего из-за к.з. вышел из строя источник питания 12В. Смотрите его.
brigadir, значение резистора в цепи затвора (не базы - это ведь полевик ) у вас очень большое! Вы загоняете мосфет в активный режим, т.е открываете его очень медленно. Из-за этого он будет греться.
Особенностью всех импульсных схем является работа их ключевых элементов в режиме насыщения-отсечки.
http://www.compel.ru/lib/ne/2008/15/9-p … stroystvah
Расчёты показывают, что оптимальным сопротивлением в цепи затвора для вашего транзистора при частоте ШИМ Ардуино в 500Гц будет значение Rg = 500Ом. Можно и меньше, но только до 250Ом.
При меньшем значении Rg вы будете нагружать выход ШИМ.
Между затвором и истоком ставьте резистор в диапазоне 10...30кОм. Прежнее значение в 22кОм отлично подходит.
Для решения проблемы с яркостью можете попробовать ещё вот что: наделите ваш светодиод или LED ленту "ламповым" эффектом, когда из-за инерционности разогрева самой спирали лампа не успевает мгновенно зажечься и погаснуть. Для этого уменьшите время шага изменения яркости, т.е. увеличьте скорость её нарастания/убывания так, чтобы глаз не успел заметить именно эти шаги изменения. Затем необходимую яркость, какова бы она не была, не устанавливайте скачком, а плавно к ней подходите с ранее установленной скоростью. При таком алгоритме, изменение яркости добавит ещё и уюта
brigadir, согласно приведенного вами описания, схема подключения полевика верная. Только обязательно ставьте между затвором и истоком резистор, а лучше всего - обычный стабилитрон на 5.1В. Полевик менять не нужно.
Мерцания связаны с тем, что светодиод - элемент, управляемый током, а не напряжением.
Изменяя значение скважности ШИМ, вы линейно изменяете среднее значение выходного напряжения, однако из-за нелинейности ВАХ светодиода его ток при этом изменяется нелинейно.
Для того, чтобы мерцания исчезли, изменяйте с каждым шагом яркости значение напряжения нелинейно - так, чтобы более-менее плавно изменялся ток. Значения напряжения на каждом шаге яркости подберите экспериментально.
NoName, как раз таки в конструкции if "== flag1" - и есть условие, за которое я говорил...В первом случае условия ведь не было...
Но главное, что заработало
"есть переменная
unsigned char DATA = 0x84
#define flag1 0x02
#define flag2 0x04
0x84 & 0x04 = 0x04 ( true etc )
if ( DATA & flag1 )
{
... func1
}
else if ( DATA & flag2 )
{
... func2
}
как правильно оформить данную конструкцию? ибо не работает (
что я делаю не так ?"
Я вообще не понял самой конструкции if и постановки задачи...
Но попытаюсь ответить...
Вы пишите так: if ( DATA & flag1 ), т.е. пытаетесь над переменной DATA провести выделение разрядов по маске flag1 и с результатом произвести само условие If....Возникает два вопроса:
1) Где переменная, в которой хранится результат выделения разрядов?
2) Где само условие If?
Попробуйте сделать так:
А = DATA & flag1 // "А" хранит результат выделение разрядов по маске flag1
B = DATA & flag2 // "В" хранит результат выделение разрядов по маске flag2
// Здесь рассматриваются сами условия и действия, которые вам необходимо совершить:
if ( A [ваше условие] )
{
// выполнять действия
}
if ( B [ваше условие] )
{
// выполнять действия
}
Добрый день. Если я правильно понял, то вам с помощью 12bit ЦАП нужно вывести 256 значений, т.е. 8bit. Это можно сделать с помощью порта B или D МК ATmega32U4. Но, поскольку, МК распаян под ардуино так, что полный порт выделить нельзя, то используйте два порта по 4 бита в каждом. Удобнее всего, согласно схеме, использовать половину порта F (PF4...PF7) и половину порта D (PD0...PD3). Так вот, берёте ваше 8bit число Z, делите его на две части по 4bit, получаете два числа: Х и Y. Далее записываете в оба порта соответствующие числа командой PORT: Например PORTF=X, PORTD=Y. К пинам соответствующих портов подключаете ваш ЦАП. Таким образом, изменяя Z от 0 до 256 автоматически получите необходимое значение напряжения на выходе ЦАП.
Ну извинятся вам не за что . Форум для этого и нужен, чтобы друг- другу помогать советами, идеями и т.д. Да и в схемотехнике вы не 0, если смогли привести схему, задать вопрос и понять ответ
Да, вы правы. Подключение модуля реле верное. Только учтите, что согласно схеме электрической принципиальной модуля, активным (включающим реле) является сигнал логического "0".
Реле на 12В по способу подключения никак не отличается от реле на 5В. Только ему необходимо обязательно обеспечить эту величину напряжения - от 5В работать не будет.
Если нужно, чтобы работало именно от 5В - используйте схему простейшего транзисторного ключа:
На +U подаются ваши 12В, а на R2 - управляющее напряжение 5В.
Если необходимо управлять не только одним реле, то проще использовать микросхему ULN2003. К ней можно подключить целых 7 реле.
Никаких резисторов и транзисторов в схеме не будет - всё есть внутри неё.
В магазине это вот такой модуль: http://arduino-ua.com/prod280-Draiver_s … ya_ULN2003
Гальваноразвязка - это когда электрические цепи не связаны между собой с помощью электрических соединений. Информация в этом случае передаётся через оптопары (оптроны) или трансформаторы. Использование гальваноразвязки не только увеличивает надёжность оборудования, но и обеспечивает безопасность. К тому же иногда без неё вообще невозможно функционирование некоторых электронных узлов.
Применительно к вашему случаю, можно сказать, что ПК с соответсвующим ПО для измерения и регистрации температуры будет "видеть" датчики, но электрически не будет с ними соединён. Это обеспечит защиту ПК от нештатных ситуаций со стороны датчиков (обрыв проводов линии связи, нарушение их изоляции, попадание на линию связи высоких потенциалов и т.д.) и, как следствие, повысит надёжность системы в целом.
В вышеуказанном Ethernet в качестве устройства гальваноразвязки применён так называемый LAN-трансформатор.
Adrian, вас устроит решение задачи не через подключение по Ethernet, а через USB с гальваноразвязкой. Как показывает практика, на пром. предприятиях такой вариант работает стабильно - не хуже Ethernet.
"Коробочка", в которую будут сводиться все датчики, будет расположена в непосредственной близости от системного блока ПК.
Vyachez, используйте LDO стабилизатор напряжения, например LD1085V, с соответствующим "обвесом". У него минимальная разница напряжения вход-выход - 1,3В, что вам подходит.
Подключайте к нему оборудование 12В только в момент заряда, например с помощью дополнительного реле.
Хотя вопрос: на сколько требовательно оборудование 12В именно к 12В?. Может без реле возможно запитать его? Тогда получите не 12В, а 10,7В. На сколько это критично - решайте сами.
artanets, проще всего использовать ШИМ с простейшим RC фильтром. Таким образом, изменяя значение скважности ШИМ получите на выходе напряжение от 0 до 5В. Далее, после фильтра, ставится операционный усилитель, на котором реализован неинвертирующий усилитель с коэффициентом усиления Ку=2.
Вот в помощь статья: http://www.gaw.ru/html.cgi/txt/app/micr … AVR131.htm
Kollega, вы почти ответили на свой вопрос У вас есть прошивка дальномера. Крепите датчик сверху вашей ёмкости и добавляете в прошивку пару формул, чтобы привязать расстояние от датчика к воде в уровень воды в баке.
В таких случаях проще всего пользоваться относительными единицами - процентами - выходит очень информативно.
К примеру - вода около датчика, допустим на расстоянии 10см - это 100% (бак полный), вода на дне (расстояние 2м) - 0% (бак пустой).
Ну и конечно же два комплекта Ардуин с модулями Bluetooth.
Можно к вашему имеющемуся Arduino Nano v3.0 вторым взять Pro mini ATMEGA328 328p 5V 16MH.
Сторінки 1