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

Дмитрий Т87

Members
  • Постов

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

  • Посещение

Электроника

  • Стаж в электронике
    1-2 года

Посетители профиля

984 просмотра профиля

Достижения Дмитрий Т87

Новобранец

Новобранец (2/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

-1

Репутация

  1. Всем добрый день. В моём проекте Arduino + LCD от сименс который подключен к аппаратному SPI порту, происходит зависание дисплея и затем он становится темным. Причину зависания установил: во время передачи данных по spi в основном цикле loop, происходят прерывания с частотой 50гц для считывания значения текущей температуры нагревателя и управление мощностью нагревателя. #include <CyberLib.h> #include <avr/pgmspace.h> #include "LPH8731V2.h" #include <PinChangeInt.h> void setup() { pinMode(LCD_CS, OUTPUT); pinMode(LCD_RESET, OUTPUT); pinMode(LCD_RS, OUTPUT); pinMode(LCD_CLK, OUTPUT); pinMode(LCD_DATA, OUTPUT); //Настройка пинов LCD StartSPI(0,8,1);//запускаем spi mode 0/clock div 8/ MSB LCD_init();//Инициализация дисплея. attachInterrupt(1, ZC, FALLING);//Zerro cros прерывания } void loop() { ShowTemper(); } //функция вывода на дисплей void ShowTemper(void){ char buf[3]; if(SetHotAirT<100){sprintf(buf,":%1i;",SetHotAirT);} else sprintf(buf,"%i;",SetHotAirT); lcd_PutStr16x12(buf,50,25); static uint32_t prevDisplayMillis = millis(); if (millis() - prevDisplayMillis >1000) { prevDisplayMillis = millis(); detachInterrupt(1); if(getTemperature()<100){sprintf(buf,":%1i;",getTemperature());} else sprintf(buf,"%i;",getTemperature()); lcd_PutStr16x12(buf,50,45); attachInterrupt(1, ZC, FALLING); } if(SetHotAirRPM<100){sprintf(buf,"%5i%%",(SetHotAirRPM*10));} else sprintf(buf,"%i%%",SetHotAirRPM); lcd_PutStr(buf,12,68,BLACK,BLUE ); } /* Zero cross INT1 */ функция прерывания от детектора нуля 220в void ZC() { StartTimer1(HeaterOn, ots); RestartTimer1(); GetHotAirT = getTemperature(); } uint16_t getTemperature()//функция чтения температуры c АЦП { delayMicroseconds(50); static float adcValue; static int readings[30], readIndex = 0, total = 0; // the readings from the analog input total = total - readings[readIndex]; readings[readIndex] = A0_Read; total = total + readings[readIndex]; readIndex ++; if (readIndex >= 30) { readIndex = 0; } adcValue = total/30 * (5 / (pow(2, 10) - 1)); uint16_t result = ceil(((float) adcValue) / 0.005 - 0.000075); return result; } В функции вывода на дисплей поставил задержку обновления данных и запрет прерывания во время обновления данных, но все равно получается что дисплей виснит и становится темным. Может кто знает решение для этой проблемы?
  2. Помогите пожалуйста распознать модель dc dc преобразователь.
  3. Силиконовые прокладки подкладывали? Как с ними будет теплоотдача?
  4. Такие транзисторы уже редкость. Купил 3 TIP 3055 поставил на радиатор от процессора, при напряжении 24 вольта ещё нормально, но когда снижаешь до 10-12 радиатор на печку стоновится похож.
  5. Всем добрый день. Кто может подсказать какие хорошие биполярные транзисторы можно применить для линейного регулятора напряжения и тока? Собрал регулятор по этой схеме : Транзисторы поставил на радиатор алюминиевый, схема работала но не долго. По очереди сгорели все 3 транзистора. Когда вскрыл, то понял о великой китайской хитрости - продавать полное Г... Вот подумываю попробовать взять 3 TIP 3055 может кто уже брал уже, и может подсказать на счёт них?
  6. Это не смешно! Просто нужно увеличить выходной ток датчика для подключения более мощного вентильного двигателя.
  7. Подскажите пожалуйста как подключить транзисторы pnp A928A к датчику холла AH276 из куллера, для увеличения выходной мощности. Даташит на транзисторы Ниже по датчику холла.
  8. Собираю схему электронного трансформатора, вот только проблема с расчётом самого трансформатора, по скольку ферритовых колец нет в наличии хочу использовать трансформатор от компьютерного бп. Напряжение вторички должно быть 14.4 В ток 10А для питания "шурика". Кто нибудь собирал что то подобное?
  9. Немного разобрался. Этот резистор идет на "-" а с шимки к нему идет резистор 270Ом и диод 522й в параллели, то есть эта цепь представляет собой делитель напряжения для затвора транзистора. Когда с шимки сигнала нет этот резистор запирает транзистор. Я предполагаю что сопротивление должно быть очень большим. Вот эта шимка очень похожа по схеме на ту что в блоке:
  10. Шим 1D10615. Навряд ли на него даташит есть по всем результатам поиска нашел только этот NCP1201. как по виду всё остальное целое, даже диоды.
  11. У блока питания сгорел полевик и резисторы обвязки(главное раньше чем сгорел предохранитель). не могу найти номинал об углевшегося smd резистора R12 стоящего между "-" питания и затвором транзистора. Может кто ремонтировал и знает что за резистор? Фрагмент из видео по ремонту данного зарядного. Правда не видно что за номинал.
  12. только общие характеристики частота и т.п. О принципе работы нет данных. Это радиоволновой метод, или электрического поля.
  13. Хочу разобраться как работает искатель скрытой проводки Лис. Состоит из двух блоков генератора а приёмника с регулированием чувствительности. В мыслях крутится что принцип на основе пеленгации радиочастоты. Что скажите?
  14. А на полевики - биполярные транзисторы реально поменять? А то у меня несколько от материнки валяется, не знаю куда применить.
×
×
  • Создать...