2Т301Е
Описание и параметры
- Максимальное напряжени коллектор-база при заданном обратном токе коллектора и разомкнутой цепи эмиттера(Uкбо макс),В: 30
- Максимальное напряжени коллектор-эмиттер при заданном токе коллектора и заданном сопр. в цепи б-э.(Uкэr макс),В: 30
- Максимальное напряжени коллектор-эмиттер при заданном токе коллектора и разомкнутой цепи базы(Uкэо макс),В: -
- Максимально допустимый ток коллектора ( Iк макс,А): 0.01
- Статический коэффициент передачи тока h21э мин: 40
- Граничная частота коэффициента передачи тока fгр,МГц: 30.00
- Максимальная рассеиваемая мощность коллектора (Рк,Вт): 0.15
Структура 2Т301Е
Структура: NPN
Корпус
Корпус: KT-1-7
Цена 2Т301Е
купить 2Т301Е можно по цене 13.5Сообщение с конференции
Разрабатываю устройство на AVR, которое при помощи аппаратных ШИМ управляет нагрузкой.
Значения ШИМ принимаются по USART, интерфейс RS 232.Передавются пакеты по 8 байт. Первые три байта значения трех ШИМ соответственно,
как правильно считывать номера принятых байт.есть подозрение, что непрaвильно расположена переменная счета принятых байт.
Вот кусок программы на CodeVisionAVR:
unsigned int schet_ad; //СЧЕТЧИК ПРИНЯТЫХ АДРЕСОВ
// USART Receiver buffer
#define RX_BUFFER_SIZE 8 //величина буфера
// остановился здесь
char rx_buffer[RX_BUFFER_SIZE];
#if RX_BUFFER_SIZE<256
unsigned char rx_wr_index,rx_rd_index,rx_counter;
#else
unsigned int rx_wr_index,rx_rd_index,rx_counter;
#endif
// This flag is set on USART Receiver buffer overflow
bit rx_buffer_overflow;
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR;
//*************
schet_ad ++; //СЧЕТЧИК АДРЕСОВ
//**************
if ((status & (FRAMING_ERROR | PARITY_ERROR | D?4??4??1?_OVERRUN))==0)
{
rx_buffer[rx_wr_index]=data;
if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1;
};
};
}
#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index];
if (++rx_rd_index == RX_BUFFER_SIZE)
rx_rd_index=0;
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif
------------------------
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: Off
// USART Mode: Asynchronous
// USART Baud rate: 115200 (Double Speed Mode)
UCSRA=0x02;
UCSRB=0x90;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x08;
----------------------------
while (1)
{
while (schet_bayt != schet_ad ) //СРАВНЕНИЕ СКОЛЬКО ДЛИТСЯ ПАКЕТ
{
if (schet_ad == 1) //ВЫДЕЛЕНИЕ АДРЕСА 1
{
pwm1 = getchar();
OCR2 = pwm1; //шим
};//ДЛЯ if (schet_ad == 1)
if (schet_ad == 2) //ВЫДЕЛЕНИЕ АДРЕСА 2
{
pwm2 = getchar();
OCR1A = pwm2; //шим
};//ДЛЯ if (schet_ad == 2)
if (schet_ad == 3) //ВЫДЕЛЕНИЕ АДРЕСА 3
{
flag1 = 1; //УСТАНОВКА ФЛАГА-КОНЕЦ СЧЕТА НУЖНЫХ АДРЕСОВ
pwm3 = getchar();
OCR1B = pwm3; //ТАИМЕР 1
flag1 = 1; //УСТАНОВКА ФЛАГА-КОНЕЦ СЧЕТА НУЖНЫХ АДРЕСОВ
};//ДЛЯ if (schet_ad == 3)
}; //ДЛЯ while (schet_ad <= schet_bayt-1)
if (flag1 == 1) //ОБРАБОТКА ВСПОМОГАТЕЛЬНОГО ФЛАГА
{
schet_ad = 0; //ОБНУЛЕНИЕ СЧЕТЧИКА АДРЕСОВ
flag1 = 0; //установка флага в0
}//ДЛЯ if (flag1 == 1)
};//ДЛЯ while (1)
, 2тс613а, цоколевка кт826в, 2Т630А транзистор корпус