avatar
Исправил, но сообщение о ошибках лучше в личку
avatar
импульснх
avatar
спасибо, понял :)
avatar
Бусинки ставятся не расчетно, а экспериментально. То есть, ткнулся осциллографом->увидел грязь->поставил бусинку. Когда такие итерации окончены, делают вторую ревизию платы и никакого оверинжиниринга не получается.
avatar
Э… Я ведь уточнил почему --> больше не всегда означает лучше. Можно же наставить «на всякий случай» всего и везде. В итоге получим оверинжиниринг, что не есть хорошо.
avatar
Ну, естественно, одна бусинка менее эффективна, чем две :) А паразитная емкость там очень мала и через нее ничего не может пролезть, в этом и заключается основное свойство бусинки.
avatar
Насколько мне позволило мое знание англ., тов. Джимм говорит, что применение одной ферритовой бусинки не так эффективно, как применение двух (по входу и выходу)?.. И что он говорил насчет паразитной емкости, кот. параллельно индуктивности из «бусинки»?..
p.s. Второе видио — вот это я понимаю, рабочий беспорядок :)
avatar
По падению напряжения согласен — это обязательно нужно учитывать. Разве что не найдешь шотки на большие напряжения. Подправил статью.

А супрессор я обычно ставлю больше питающего и меньше максимального для микросхемы — питающее 24Вольта в проекте, микросхема держит максимально 60 Вольт между выходными точками. Так что 33В супрессора самое то для подавления скачков.
avatar
Проблема с супрессорами в том, что их нужно выбриать на напряжение больше питающего, иначе через них потечет основной ток. Но если их брать на напряжение больше питающего, то они не защитят от защелкивания.

Правда еще вопрос, какие быстрее
Для защиты от защелкивания всегда нужно использовать Шоттки. Из-за низкого падения, они не дадут потечь току внутрь микросхемы.
avatar
Супрессор защищает от выбросов. Причем довольно неплохо.
А про вилочки диодные я и говорю. Правда еще вопрос, какие быстрее — у HER-ов как правило емкость перехода меньше на порядки.
В своей девайсине у меня стоят Шотки из БП-шников компьютерных — что было под рукой.
avatar
Скорее всего, пробивается из-за защелкивания выходного каскада. В таком случае супрессор не поможет (точнее, похоже, но его нужно уж очень точно подбирать), зато помогут вилки из диодов Шоттки с выходов на землю и питание.
avatar
Хотел замечаний, получи:
Объявляем библиотеки и данные:
Ты в каждой статье их объявляешь. Пора уже вынести куда-нибудь.

//общее количество разрядов индикатора
#define LEDDIGITS 4

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

template <uint8 SegmentCount> class SegmentDisplay
// а потом сделать тайпдеф для своего индикатора:
typedef SegmentDisplay<4> RlnSegmentDisplay


Это хоть и правильно, но сложно и не нужно. Ведь в текущей реализации нельзя использовать несколько индикаторов. В итоге, у тебя два варианта — вынести весь код, который специфичен для твоего индикатора в отдельные методы и в своей реализации переопределять их:

class SegmentIndicatorBase
{
    protected:
        virtual int segmentCount() = 0 const;
        ....
};

class RlnSegmentIndicator : protected SegmentIndicatorBase
{
    protected:
        virtual int segmentCount() { return 4; };
        ....
};


Либо просто забить и прописать 4 константой в классе.

void Init(uint8_t _Base);//функция инициализации
Всегда радовали такие комментарии :)

мне не удалось передать указатель на эту функцию ни изнутри класса, ни снаружи
Указатель на метод класса называется «делегат». Фишка в том, что чтобы вызвать метод класса нужно не просто его вызвать, но еще и передать ему указатель на данные класса. Поэтому твой хак — вполне нормальная штука.

BUTTONSSETUP;

Такого вообще лучше не делать. Совсем не понятно, что это.

uint16_t UIntPow(uint16_t _data, uint8_t _pow){//Возведение целого числа в степень

Ты извини, но функция гениальна. Напиши лучше просто таблицу

Ну, это — для начала :)
avatar
Будет. Реализую знаковый и десятичный вывод на индикатор и будет.
avatar
Мне кажется, что функции типа «вывод информации на индикатор» неплохо бы оформить в качестве библиотеки. Потому, что когда читаешь статью про энкодер, кусок кода для вывода на индикатор как-то не в тему смотрится.

По идее, должно быть что-то типа такого:

#include "RlnElectro.h"

void main()
{
    RlnInit();
    RlnSegmentDisplay_Show(1234);
}
avatar
Таких реле — тьма: начиная от мелочи и кончая контакторами на тыщи ампер. Вот, для примера, даташит на релюшку от OMRON.
avatar
Никогда не видел таких реле
avatar
Это — для всех компиляторов, просто потому, что по другому не сделаешь.
avatar
А это для какого компилятора? Например, между майкрософтовским и GCC есть отличия, которые мешают использовать одинаковые библиотеки на C++.
avatar
Угадал. Молодец, держи плюсик :)
Спасибо тебе добрый человек.
avatar
Сергей, обрати, плз, внимание на формат коммента: после редактирования кнопкой «изменить» в форме вылазит много мусора и после сохранения вылазит в видимость тэг «code»…