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

Vkulagin24@gmail.com

Пользователи
  • Публикаций

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

  • Посещение

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

    1
Сообщения, опубликованные Vkulagin24@gmail.com
 
 

  1. Ничего не понятно что вы хотите , я вам подскажу как пойму что вам вообще нужно. Два параллельно можно заряжать аккумулятора , желательно что бы их емкость была одинаковой . Я не уверен что она раздражает до 2.5 мне кажется если память не изменяет то около 3 вольта


  2. Не знаю сможете ли вы это сделать на просторах китайских магазинов продаются готовые платы которые умеют такое делать на них просто подается выпрямленное питание +310вольт а на выходе 220синус


  3. Это называется плавный пуск , там вероятнее всего стоит печатная плата , на которой будет стоять трех ногий симмстор и db3 динистор больше там нечему ломаться покупай сразу две эти детали и меняй


  4. Я с этого сайта что вы мне дали и собираюсь собирать регулятор оборотов вентилятора печки. Всем спасибо все сделал благодаря умным людям я наконец-то подправил исходник для частоты шим сделал хекс файл около 200герц и 2.4кГц буду собирать схему на пакете уже все отладил


  5. Так и не получилось у меня создать хекс файл того что не компилируется , наверное где то ошибка если есть возможность скомпилируйте кто может и добавте сюда пожалуйста хекс файл . И что интересно я нашел прошивку на 19кГц так мосфет сильно греется , драйвер для мосфета на комплиментарной паре я собирал не помогает ВСе ровно греется очень


  6. Помогите пожалуйста кто умеет и знает нужно увеличить частоту ШИМ в данном коде ШИМ 18 герц и предназначение этого кода управлять температурой паяльника(12вольтового) а я хочу управлять электродвигателем печки авто. Мне очень понравилась как устроена управление одной кнопкой но вот частота маловато для управления эл.двигателем знаю что нужно что бы никаких звуков не исходила от моторчика печки частота шин должна быть больше 20кГц. Есть исходник вот часть его я предполагаю что нужно что то тут менять




    DDRB |= (1 << PB0); //Ножка PB0 как выход(ШИМ)
    TCCR0A = (1 << COM0A1) | (1 << WGM00); //выбор ШИМ с фазовой коррекцией
    TCCR0B = 0x05; //Предделитель - 1024 и старт таймера
    TCNT0 = 0; // Сброс счетчика прерываний(0-255)
    OCR0A=0; //Выбор Значения ШИМ

    а что нужно не знаю, я читал про шим attiny13 но так и не разобрался . А вот и исходник в Bascom

     

     

    /*
    /*
     * SolderPWM.c
     *
     * Created: 05.11.2017 23:33:14
     * Author LampCORE.ru:
     */
     
     
    #define F_CPU 9600000UL //частота процессора 9,6 Мгц
    #include <avr/io.h>
    #include <util/delay.h>
    #include <avr/interrupt.h>
    #include <avr/eeprom.h>
     
    //макросы для включения, выключения светодиодов
    //низкий уровень - на ножке 0 вольт, высокий уровень - на ножке 5 вольт
    #define LED1_OFF PORTB &= ~(1<<PB4); //Низкий уровень ножки PB4
    #define LED2_OFF PORTB &= ~(1<<PB3); //Низкий уровень ножки PB3
    #define LED3_OFF PORTB &= ~(1<<PB2); //Низкий уровень ножки PB2
     
    #define LED1_ON PORTB |= (1<<PB4);  //Высокий уровень ножки PB4
    #define LED2_ON PORTB |= (1<<PB3);  //Высокий уровень ножки PB3
    #define LED3_ON PORTB |= (1<<PB2); //Высокий уровень ножки PB2
    //Указатели для EEPROM
    uint8_t autosave_p EEMEM; uint8_t level_p EEMEM;
    //Переменная для выбора режима ШИМ
    uint8_t level=0;
    //volatile - чтобы компилятор не трогал эти переменные и не оптимизировал
    //Счетчики в прерывании
    //для мигания
    volatile uint8_t count=0;
    //для переливания 3х светодиодов
    volatile uint8_t count2=0;
    //счетчик удержания кнопки
    volatile uint8_t i=0;
    //переменная для события был_клик
    volatile uint8_t wasclick=0;
    //36 переполнений (36 раз происходит событие TCNT0>255 ) = 1 секунда
    // Прерывание по совпадению счетчика таймера с OCR0A
    // 9 600 000 Гц/Предделитель 1024 / 1000 = 9 375 Гц в секунду/255=36 прерываний
    //в секунду
    ISR (TIM0_COMPA_vect)
    {
     
    //инкремент счетчиков, две переменные, чтобы режимы
    //светодиодов мигания и переливания не зависили друг от друга
    count++;
    //если больше пол секунды
    if(count>18){count=0;}
     
        count2++;
        //если больше секунды
        if(count2>36){count2=0;}
     
    }
     
     
    //функция отключить все светодиоды
    void off_all_led()
    {
        LED1_OFF;LED2_OFF;LED3_OFF;
    }
     
     
     
     
    int main(void) {
     
    // Настраиваем порты ввода/вывода    
    DDRB |= 1<<PB4;//Ножка PB4 как выход
    DDRB |= 1<<PB3;//Ножка PB3 как выход
    DDRB |= 1<<PB2;//Ножка PB2 как выход
     
     
    DDRB |= 0<<PB1;//Ножка PB1 как вход(кнопка)
    PORTB |= (1 << PB1);//Включаем подтягивающий Pull-UP резистор для ножки
    //PB1(вход-кнопка)(высокий уровень(+5Вольт))
     
     
    DDRB   |= (1 << PB0);    //Ножка PB0 как выход(ШИМ)
    TCCR0A = (1 << COM0A1) | (1 << WGM00);  //выбор ШИМ  с фазовой коррекцией
    TCCR0B = 0x05; //Предделитель - 1024 и старт таймера
    TCNT0 = 0;     // Сброс счетчика прерываний(0-255)
    OCR0A=0;       //Выбор Значения ШИМ
     
     TIMSK0=0x04;//Разрешить выполнение прерываний по совпадению в OCR0A             
     sei();// Разрешить глобальные прерывания
     
     
        //Индикация включения, быстрое переливание светодиодов с инвертированием
        LED3_ON;
        _delay_ms(45);
        LED3_OFF;
     
        LED2_ON;
        _delay_ms(45);
        LED2_OFF;
     
        LED1_ON;
        _delay_ms(45);
        LED1_OFF;
     
        LED2_ON;
        _delay_ms(45);
        LED2_OFF;
     
        LED3_ON;
        _delay_ms(45);
        LED3_OFF;
     
     
        //переменная для хранения значения автосохранения включено\выключено
            uint8_t autosave;
            //считать значение автосохранения с EEPROM по адресу в &autosave_p
            autosave=eeprom_read_byte(&autosave_p);
     
     
        //если сохранение включено то режим ШИМ равен значению из EEPROM
        if (autosave==1)
        {
            level=eeprom_read_byte(&level_p);
            //Проследовать сразу на метку handler_button, где
            //сразу инициируется режим, считанные из EEPROM
            goto handler_button;
        }
     
     
     
     
        //Бесконечный цикл
        while(1)
         {
     
     
     
     //Если на PB1 низкий уровень(если кнопка нажата)
     if( ! (PINB & (1 << PB1))) {
    //Событие был_клик произошло
    wasclick=1;
    //инкремент счетчика нажатия кнопки до i=255
    if (i!=255){ _delay_ms(83); i++; //если прошло 3 и более секунд
    if (i>=36)
        {
            //Событиея был_клик НЕ было
            wasclick=0;
     
                    //если автосохранение включено - отключить, записать
    // это в EEPROM
            if (autosave==1)
            {
                eeprom_write_byte(&autosave_p,0);
                autosave=0;
            }
            //если автосохранение выключено - включить, записать в EEPROM
            else
            {
                eeprom_write_byte(&autosave_p,1);
            autosave=1;
            }
     
     
            //если автосохранение включено включить светодиод 1 на 1,5 секунды
            if (autosave==1)
            {    
                LED1_ON;
                _delay_ms(1500);
                LED1_OFF;
                //перейти сразу к обработке переменной level
                goto handler_button;
            }    
     
            else
            //иначе, если автосохранение выключено включить светодиод 3 на
    //1,5 секунды
            {
              LED3_ON
              _delay_ms(1500);
              LED3_OFF;
              //перейти сразу к обработке переменной level
              goto handler_button;
     
            }
     
     
     
        i=0;//сброс счетчика после долгого нажатия    
     
         //перейти сразу к обработке переменной level
        goto handler_button;
     
        }//i>=36
     
     
     }//i!=255
     
     
     
    }//! (PINB & (1 << PB1))
     
     
     
    // Выполнять только, если кнопка отпущена т.е. выполняется, только, если wasclick=1
    //(событие был_клик произошло)
    if  ( (PINB & (1 << PB1))&&wasclick==1) { //события был_клик не было wasclick=0;
    _delay_ms(83);
    //Точные числа перескакивают, в узкий диапазон попасть трудно, поэтому от 2х до 12,
    // 2*83+83=249 миллисекунд
    //если кнопка была нажата (+83миллисекунды пауза внутри условия) 83*2 миллисекунд
    if (i>=2&&i<=12)
    {
    // повысить режим
    level++;
    //если режим превышает 7 сделать режим 0
    if(level>8){level=0;}
     
                   //если включено автосохранение записать в EEPROM значение
    // режима
                       if (autosave==1)
                       {
                           eeprom_write_byte(&level_p,level);
                       }
     
     
               //метка обработки переменной level(режимов)
            handler_button:              
               switch(level)
               {
                   //каждому значению level - свое значение ШИМ и режим
    //светодиодов
                   case 0:OCR0A=0;off_all_led();break;
                   case 1:OCR0A=32 ;off_all_led(); break;
                   case 2:OCR0A=64;off_all_led()  ;break;
                   case 3:OCR0A=96;off_all_led()   ;break;
     
     
               //Если быстро нажать кнопку count2 не сбросится и какой-либо
                      // светодиод будет гореть
              //некоторое время вместо того, чтобы погаснуть - переливания не
                      // будет
              //принудительно сбросим count2
                   case 4:OCR0A=128;off_all_led();count2=0;break;
     
                   case 5:OCR0A=160;off_all_led() ;
                   LED1_ON;
                   break;
     
                   case 6:OCR0A=192;off_all_led()   ;
                   LED1_ON;LED2_ON;
                   break;
     
                   case 7:OCR0A=224;off_all_led() ;
                   LED1_ON;LED2_ON;LED3_ON;
                   break;
     
     
                   case 8:OCR0A=255;off_all_led();break;
     
     
               }//switch
     
        i=0;//сброс счетчика кнопки
       }//i>=2
     
     
     
     
    }//release отпущено
     
     
     
     
        //Мерцания светодиодов        
        //Каждому значению ШИМ - свой режим светодиодов
         switch(level)
         {
         case 0:;break;
         case 1:    
            //count прибавляется на 9 за пол секунды
           if(count>=0&&count<9){LED1_ON;} if(count>9&&count<=18){LED1_OFF;} ;
            break;
     
    case 2:
    //
    if(count>=0&&count<9){LED2_ON;}
    if(count>9&&count<=18){LED2_OFF;} ;
    break;
    case 3:
    //
    if(count>=0&&count<9){LED3_ON;} if(count>9&&count<=18){LED3_OFF;} ;
    break;
    case 4:
    //переливания, свой счетчик count2
    if(count2>=0&&count2<6)
    {LED3_OFF;LED2_OFF;LED1_ON} if(count2>6&&count2<=12){LED1_OFF;}
    if(count2>=12&&count2<18){LED1_OFF;LED3_OFF;LED2_ON}
    if(count2>18&&count2<=24){LED2_OFF;}
    if(count2>=24&&count2<30){LED2_OFF;LED1_OFF;LED3_ON}
    if(count2>30&&count2<=36){LED3_OFF;} ;break;
    case 5: ;break;
    case 6:;break;
    case 7:;break;
    case 8: if(count>=0&&count<9){LED1_ON;LED2_ON;LED3_ON;}
    if(count>9&&count<=18){LED1_OFF;LED2_OFF;LED3_OFF;}
        ;break;
     
         }
     
     
     
         }//while
     
     
    }//main


  7. Видел подобное на ардуино там оно измеряет расстояние помойму от метра до сантиметров правда я не знаю показания выводили на монитор компа видео можно поставить и динамик что бы тот пищал когда предмет будет в метре может и больше не помню . На ютюбе есть такая схема . Работает она по принцыпу как у летучей мыши датчик спускается сигнал потом сигнал отражается и возвращается и показывает расстояние до предмета. Может и больше 1метра я уже не помню


  8. Не знаю как добавить картинку с схемой . Можете сами поискать в интернете реле регулятор напряжения для мотоцикла. Там генератор вырабатывает переменное напряжение схема делает постоянное и при увеличении числа оборотов напряжение остается почти не неизменным. Стабилитроном устанавливается нужное напряжение


  9. Есть сайти китайским там есть продаются dc-dc понижающий преобразователь с током 12 ампер напряжения 30 вольт .регулируется ток и напряжение. Стоит около 5$.оформить корпус с охлаждением диодный мостик вывести переменные резисторы на ружу и индикацию там светодиод сдвоенный красный и зеленый. Устройство маленькое не дорогое мощное. После не большой доработки регулируется вольт и ток от нуля


  10. Трансформатор какой мощности. Обмотки какого сечения? И наконец что Вы будете подключать В виде нагрузки? Сколько ампер потребляет нагрузка? Вы использовали два кт817? Если да то замените первый на тот у которого коэффициент усиления большой. Я думаю нужно искать от 30 два кто 817 не нужно .


  11. По поводу что бы переключалось мне кажется самое простое это нужно два реле и три транзистора один pnp И два npn. Самому стало интересно и схемку на листе на рисовал у.А что будет запитываться от инверторА ?


  12. Если честно то я видел в интернете что то похожее там намотка трансформатор на двух тороидальных этим самом как пояснялось за счет что электромагнитный поток идет с двух торов к центру (первичные обмотки конечно на мотаны так скажем на левой стороне одного тора вторичка середина двух торов и еще одна часть вторички на правом торе) и если мне не изменяет память за счет суммирования двух потоков на вторичке(середина двух торгов) нужно вдвое меньше витков на один вольт.


  13. Вот меня интересует такой вопрос при создании устройств на мк и ds1307(часы реального времени) их надо как то прошивать отдельно?. Или настройка(прошивка) их будет лежать (находится) в самой прошивке под соответствующий мк. ВОТ к примеру часы ,вольтметр на мк attiny 2313 есть готовые схемы с прошивкой .хочу собрать но боюсь что все куплю а собрать девайс не получиться. А именно программирование самих часов. И с датчиком температуры тоже самое? В прошивке будет уже все прописано что он показывал верную температуру

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