Управление байпасом с одного пина

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

да, это более вероятно.
а не пробовали эксперимент, как я? то есть, отключить всё нафиг от 595, кроме выходов, и дать питание? Это бы сразу определило, есть ли в них какая-то странность, или нет.
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1142
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

если оставить только питание и убрать кондёр то они прост осветятся все
смена пина тоже не помогла

в общем с кондёром мне нравится поставил 820 мкф задержка 7 сек
как раз прошивка прогрузится датчики опросятся а там уже и нагрузка разблочится

Добавлено after 9 minutes 25 seconds:
а можно ли на 595 подать питание 5в но при этом spi будет от есп32 ?
а то если питать от той же есп на выходах напруга 2,82в всего
под мосфет нужно мне побольше
Реклама
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1633
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

74HC_HCT595.pdf
(278.04 КБ) 120 скачиваний
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1142
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

а как апаратный spi подключить к 595
пробую по разному не получается и методом тыка тоже

последний вариант
13-11
12-14
14-12

и всеравно все горят
Реклама
Эиком - электронные компоненты и радиодетали
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1633
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

а как апаратный spi подключить к 595
MOSI от микроконтроллера на вывод 14 (595), SS от МК на вывод 12 (595), SCK от МК на вывод 11 (959).
и всеравно все горят
Так и будет пока "жаба" не позволит задействовать дополнительный вывод МК. :)) Выше я предлагал такой вариант... https://www.radiokot.ru/forum/viewtopic ... 6#p4239876 :wink:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1142
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

Изображение
там только моси есть
Реклама
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1633
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

любой вывод (которым можно рулить от МК) на вывод 12 (595), CLK от МК на вывод 11 (959).
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1142
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

не всеравно все горят а должен только один
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1633
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

Микроконтроллер есть в наличии из AVR (к примеру ATtiny13A)? Могу написать прошивку для проверки работы 595_х.

Если будут работать нормуль, значит что-то не то делаете...
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1142
Зарегистрирован: Пт авг 05, 2016 04:47:49

Сообщение Di123 »

я теперь пробую передать шим на 595
на 5 штук

в 2кгц с последующим шимом в 15 бит
пока пробую частоту передать и она подёргивается на светодиоде
посоветовали подключить апаратный вариант

но я привязан к своим блокам в флпроге
Спойлер

Код: Выделить всё

#include "RT_HW_BASE.h"
byte _BitsToByte1_Out = 0;
RT_HW_CLASS_FLPROG_CHECK id_242741573;
uint32_t timeBegin_242741573;
uint16_t period_242741573=100;
uint8_t readVar_242741573(); //--Block SPI.74HC595;
//RT_HW_STRUCT_74HC595_ID z_242741573;
uint8_t qnt_242741573=0;
uint8_t codeErr_242741573=0;
uint8_t spiBUS_242741573=0;
uint8_t spiCS_242741573=255; //--Block 74HC595->for SPI;
uint8_t arr_242741573;
bool _tempVariable_bool;
void setup()
{
}
void loop()
{
    //Плата:1
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 0, _tempVariable_bool);
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 1, _tempVariable_bool);
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 2, _tempVariable_bool);
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 3, _tempVariable_bool);
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 4, _tempVariable_bool);
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 5, _tempVariable_bool);
    _tempVariable_bool = 0;
    bitWrite(_BitsToByte1_Out, 6, _tempVariable_bool);
    _tempVariable_bool = !(0);
    bitWrite(_BitsToByte1_Out, 7, _tempVariable_bool);
    //===============74HC595================
    if(id_242741573.dir==0)
    {
        spiBUS_242741573=(4); //--getting SPI bus.ext;
        spiCS_242741573=15; //--getting SPI cs.user;
        codeErr_242741573=RT_HW_Base.spiInitDevice(spiCS_242741573,spiBUS_242741573); //--init SPI bus & cs;
        if(!codeErr_242741573)
        {
            id_242741573.dir=10;
        }
         else
        {
            id_242741573.dir=90;
        }
    }
     //--end if(dir==0);
    if(id_242741573.dir==10)
    {
        RT_HW_Base.FLProgCheckEvent(id_242741573,timeBegin_242741573,'E',period_242741573);
        if(id_242741573.state==1)
        {
            readVar_242741573();
            id_242741573.dir=20;
        }
        if(id_242741573.state==2)
        {
            if(readVar_242741573()) 
            {
                id_242741573.state=3;
                id_242741573.dir=20;
            }
        }
    }
    if(id_242741573.dir==20)
    {
        RT_HW_Base.SPIwrite(4000000,1,SPI_MODE0,arr_242741573,spiCS_242741573,spiBUS_242741573); //--SPI.func=1 output v8*1;
        id_242741573.dir=10;
    }
    //==========================
}
bool _isTimer(unsigned long startTime, unsigned long period)
{
    unsigned long currentTime;
    currentTime = millis();
    if (currentTime>= startTime) 
    {
        return (currentTime>=(startTime + period));
    }
     else 
    {
        return (currentTime >=(4294967295-startTime+period));
    }
}
uint8_t readVar_242741573()
{
    if(arr_242741573!=(uint8_t)(_BitsToByte1_Out)) 
    {
        arr_242741573=(uint8_t)(_BitsToByte1_Out);
        return 1;
    }
     else
    {
        return 0;
    }
}
 //--func=1->check v8;
Ответить

Вернуться в «Периферия»