Jump to content

    

somebody111

Участник
  • Content Count

    225
  • Joined

  • Last visited

Community Reputation

0 Обычный

About somebody111

  • Rank
    Местный

Recent Profile Visitors

2565 profile views
  1. Спасибо. Подскажите тогда еще. Вот строчки из примера: struct pbuf* pbuf1= pbuf_alloc(PBUF_TRANSPORT, 1500, PBUF_ROM); pbuf1->payload = (void*)buf; pbuf1->tot_len = 1400; //data length pbuf1->len = 1400; Чем отличается tot_len от len И что означает 1500? Вообщем, можете прокомментировать смысл последних двух строчек?
  2. Добрый день. Есть контроллер TM4C129ENCPDT13. Задача: отправить udp пакет по широковещательному адресу 255.255.255.255 на заданный порт. После первой строчки udp_send (сконфиругирован на 255.255.255.255) контроллер уходит в FaultIsr. На любой другой - без проблем. Что-то где-то я не сконфигурировал... Инициализация: void EthernetUDPInit(uint32_t freq) { uint32_t ui32User0, ui32User1; uint8_t pui8MACArray[8]; SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOK); GPIOPinConfigure(GPIO_PK4_EN0LED0); GPIOPinConfigure(GPIO_PK6_EN0LED1); GPIOPinTypeEthernetLED(GPIO_PORTK_BASE, GPIO_PIN_4 | GPIO_PIN_6); ROM_FlashUserGet(&ui32User0, &ui32User1); pui8MACArray[0] = ((ui32User0 >> 0) & 0xff); pui8MACArray[1] = ((ui32User0 >> 8) & 0xff); pui8MACArray[2] = ((ui32User0 >> 16) & 0xff); pui8MACArray[3] = ((ui32User1 >> 0) & 0xff); pui8MACArray[4] = ((ui32User1 >> 8) & 0xff); pui8MACArray[5] = ((ui32User1 >> 16) & 0xff); lwIPInit(freq, pui8MACArray, 0, 0, 0, IPADDR_USE_AUTOIP); udp_init(); ROM_IntPrioritySet(INT_EMAC0, ETHERNET_INT_PRIORITY); ROM_IntPrioritySet(FAULT_SYSTICK, SYSTICK_INT_PRIORITY); } Тестовая программа: char buf [512]; char buf1 [512]; g_ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000); // Configure the device pins. // //EthernetPing configure // Configure SysTick for a periodic interrupt. // ROM_SysTickPeriodSet(g_ui32SysClock); ROM_SysTickEnable(); gpio_init(); EthernetUDPInit(g_ui32SysClock); buf[0] = 'A'; buf[1] = 'B'; buf[2] = 'C'; buf[3] = 'D'; buf[4] = 'E'; struct udp_pcb *UDPSock1 = udp_new(); ip_set_option(UDPSock1, SOF_BROADCAST); struct udp_pcb *UDPSock2 = udp_new(); struct udp_pcb *UDPSock3 = udp_new(); udp_recv(UDPSock1, UDPIntHandler, NULL); udp_bind(UDPSock1, IP_ADDR_BROADCAST, 7070); udp_recv(UDPSock2, UDPIntHandler, NULL); udp_bind(UDPSock2, IP_ADDR_ANY, 7071); udp_recv(UDPSock3, UDPIntHandler, NULL); udp_bind(UDPSock3, IP_ADDR_ANY, 7072); // // Loop forever. All the work is done in interrupt handlers. // struct pbuf* pbuf1= pbuf_alloc(PBUF_POOL, 1500, PBUF_ROM); pbuf1->payload = (void*)buf; pbuf1->tot_len = 1400; //data length pbuf1->len = 1400; ROM_SysTickIntEnable(); static bool flag=false; uint32_t port_temp=0; while(1) { // udp_sendto(UDPSock1,pbuf1,(u32_t)0xffffffff,7070); udp_send(UDPSock1,pbuf1); udp_send(UDPSock2,pbuf1); udp_send(UDPSock3,pbuf1); //pbuf_free(pbuf1); SysCtlDelay(40000000); } } Укажите, что не так?
  3. Я не делаю источники питания, я делаю мегаватные привода. Пришел запрос от завода при аварийном отключении запитать какую-то чепуху от звена постоянного тока, когда отключится питающая сеть. Аккумулятор они не хотят - его 100% обслуживать придется, а объект в Якутии и до него добираться по тайге на оленях 2 дня. Решение с отключающимися резисторами меня не устраивает - не устраивает корпус высоковольтного Дарлингтона - прошьет. Поэтому будет просто проволочный резистор и стабилитрон. В целом, спасибо за консултиацию, ответы я получил в полном объеме
  4. Обратноходовый Высоковольтный DCDC.pdf
  5. Не нравится мне этот барон Мюнхаузен, который сам себя за волосы из болота вытаскивает: не понятно как поведет себя схема с запитыванием от вспомогательной обмотки при загаженной с коммутационными провалами сети. Не надежно как-то выглядит. А если так: 1. Мостовой импульсный преобразователь, работающий на скважности 50% качает импульсный трансформатор. На выходе импульсного трансформатора - штатный понижающий импульсный преобразователь. 2. Питание системы управления и драйверов моста осуществляется от флайбека 1000В в 15В (ток потребления по вторичной стороне 100мА максимум). Его реализовывать по схеме с вспом. обмоткой. Это решение можно тогда масштабировать..1кВт...10кВт. Будут меняться только транзисторы и трансформатор
  6. 1. 100% защитить можно, если вы кристалл мосфета будете держать холодным. Если у вас температура кристалла рабочая 130 и возникает короткое - то ни о каких 100% речи идти не может. 2. Сложность системы защиты определяется выбранном вами схемой - либо вставлять шунт последовательно, либо измерять падение напряжения на мосфете. Везде одно и тоже - при достижении порога должны быть сняты импульсы Без проблем. Запас по току х10, запас по напряжению х10, индуктивность последовательно ключу
  7. Добрый день. Задача: есть звено постоянного тока 1000В, есть потребитель 30В/5А. Нужно сделать понижающий развязанный DC/DC. Осуществить питание от другой сети по условиям т.з. не допускается. Какие возможны эффективные решения для такого класса напряжений? 1. Топология. 2. Ну, предположим, топология выбрана. Выбрали даже какую-то микросхему. Как реализовать питание этой микросхемы от звена 1000В, таких просто нет.
  8. Скрипт Altium

    Добрый день. Есть ли у кого-нибудь скрипт, который присваивает полю Comment значение поля Designator по всему проекту. Не хочется ручками прописывать каждый элемент...
  9. Зачем ставить резистивный шунт с непонятной индуктивностью, когда можно поставить дроссель с известной индуктивностью и вычислять ток по падению напряжения. Модель шунта с индуктивностью Uш=Lш*dIш/dt+Iш*Rш. Передаточная функция Iш=Uш*(Lш*s+Rш). Если пропустить через RC c постоянной Lш/Rш, то все компенсируется
  10. Проблема с индуктивностью шунтов была аналогичного рода. Решил проблему датчиком холла. У них быстродействие <1 мкс. Ну или вариант вместо шунтового сопротивления ставить шунтовую индуктивность и резистивный шунт. Ток можно восстановить с помощью наблюдателя Калмана. Отлично работает -настраивается один раз. Но это цеоая плата с контроллером. Поэтому сейчас только датчик тока еа основе эффекта Холла
  11. Есть общие рекомендации производителя - двойной запас. Т.е. если коммутируете 600В, транзистор должен быть расчитан на 1200 итд. Это по аппноутам инфинеона, семикрона, митсубиши, фуджи. В частном порядке можно снизить, но важно знать условия работы. В даташите на приведенный вами транзистор приведена диаграмма области безопасной работы Ic=f(Uприложенного) для заданной ширины импульса -fig.9. Обратите особое внимание на подпись Tc=25 град. При больших значениях, допустимые токи будут еще ниже. Там все есть. Я бы начал искать на полке 1700В. Если у вас реально 200А рабочий ток, то вам придется их мноооого параллелить, у них термосопротивление большое
  12. Все решается еще проще.Выбирается транзистор, рассчитанный с запасом на рабочее напряжение и рабочий ток.
  13. Желтый -напряжение на шунте 15мОм.Когда транзистор открыт, на нем 2В. Какой ток? Транзистор 12 класса, т.е до 1200В, вы на него подаете больше 1200В.Ознакомьтесь подробнее с документацией на этот транзистор - там приведено , какое напряжение допускается прикладывать к транзистору при заданном токе и ширине импульса На второй картинке у вас транзистор на короткое время открывается, закрывается а потом открывается надолго. Так задумано?
  14. Не являюсь выпускником МЭИ, но говорю МЭИ- знаю десятка два выпускников, которые писали дипломы сами.И еще понимали, что писали. Еще больше общался с преподавателями оттуда в рамках конференций - они не диванные теоретики.В Москве, наверное, лучше нет Все зависит только о какой силовой электронике идет речь.Если слаботочка , то пром. электроника, если больше, то каф. электропривода. Там сейчас сильный зав. кафедрой