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

Salamander

Участник*
  • Постов

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

  • Посещение

Весь контент Salamander


  1. Я так восхитился простотой и понятностью картинки, что проигнорировал ссылку) Сейчас почитаю)
  2. А еще вопрос - как правильно называется жесткая тканная (на стекловолокно похоже) трубка, в которую продеты провода датчика? Чтоб мне найти на замену разволокнившейся. Именно так и выглядит. Просто увидев проводник из необычного материала, высокотемпературный спай, я решил, что не все так просто с соединением.
  3. Интересная штука. А угольный электрод зачем? Для ограничения тока? У меня есть импульсник на 10 Ампер. Понятно, что если накоротко замыкать, то защита сработает. А если через угольный электрод, рассчитав сопротивление?
  4. А гильзой обжать можжно? Это хотэнд от 3д принтера. До этого у меня стоял обычный термистор, там гильзы были. Можно ли так делать с термопарой?
  5. Доброе утро. Обломился провод датчика PT1000, у холодного спая. Скрутка, полагаю, недопустима. Да и длины не хватит. Как спаять? Микрогорелки высокотемпературной у меня нет, обычная расплавит все к чертям. Обычным припоем не прокатит, ибо рабочая температура 250 градусов. Посоветуйте.
  6. Не... порабощение человечества точно откладывается: А я все же задал этот вопрос. Не потому, что я глуп, как считает RobFPGA, а из интереса, хочется понять, чем эта система "дышит". Вот ответ и он довольно остроумен:
  7. Одно из другого не следует))))) Но есть достаточные основания утверждать, что Солнце не описывает круг вокруг Земли . К слову, о дремучих временах.... Ведь правильно понял суть времени еще Аристотель. В смысле что времени, как такового, не существует, что это мера движения материи. Ньютон, живший куда позднее, и тот полагал, что существует некое время, абстрагированное относительно материи, самостоятельно текущее.
  8. Это в мой огород камень? Простите, но я именно это на это и уповал, что для выбора правильной системы отсчета достаточно средневековых научных инструментов. Без современных понятий и определений. Я же написал "когда-то навело на мысль".
  9. Знаете, они может и равноправны. Но если брать за точку отсчета Землю, то будет очень странным, что и Солнце и все звезды во Вселенной вращаются относительно Земли с одинаковой угловой скоростью. Осознание этого факта и навело когда-то на мысль, что это не Солнце вращается вокруг Земли, а сама Земля вокруг своей оси.
  10. Вы тут спорите. А я задал этот вопрос простым русским языком системе Chat GPT, получил ответ: На вопрос, что больше весит : килограмм стали или килограмм пенопласта, ChatGPT уже отвечает правильно (килограмм стали, потому что на них действует сила Архимеда в воздухе, и на объемный килограмм пенопласта она больше). А вот согласовать импеданс [1+j*5] Ом к 50 Ом в полосе [4.4...5] ГГц на основе полосового фильтра еще не может. Порабощение человечества пока отменяется.
  11. Катализатор это вещество, которое либо ускоряет реакцию, либо участвует в цепи реакций таким образом, что в итоге не расходуется. Ржавчина - это Fe(OH)2, водород берется из воды, то есть вода расходуется. Получается это не катализатор. Не спорю, просто вспоминаю, чему учили в школе по химии. P.S. Вспомнилось интервью Паука (Троицкого, лидера группы "Коррозия металла").... Он говорил, что задумал музыкальную группу еще в школе, долго думал над названием. А в это время готовился к экзамену по химии, учил билет под названием "Коррозия металла". И в советском учебнике было написано, что коррозия металла препятствует наступлению коммунизма, поскольку приносит ущерб промышленности. И тогда Паук решил назвать свою группу "Коррозия металла", чтобы коммунизм никогда не наступил.
  12. Так наоборот получается - почва намокла, все ОК. Труба заржавела, почва высохла - заземления нет. Наверное я закопаю трубу не рядом, а прямо под полом, куда вода стекает.
  13. Речь ведь идет не об окислении, а о заржавлении. Для этого нужен не кислород, а вода. Ее в земле достаточно. Ржавчина препятствует выполнению трубой заземляющей функции? Я думал так - если заземлить душевую кабину, то при пробитии на корпус УЗО сработает сразу же, а не тогда, когда кто-то успеет ощутить на себе миллиамперы, не так ли?
  14. А когда труба заржавеет, не будет хуже? Или только нержавейку?
  15. А нужно раздеваться и под душ при этом становиться?))) Смех смехом, но только так эксперимент будет чистым. Одно дело разбрызгивающаяся и прерывающаяся после метра падения струя, другое дело - тело, уверенно стоящее на сырых досках. Там два ТЭНа по 5 кВт (чтоб за пару часов нагревало), боюсь, что трансформатор нужен недешевый, да и все равно приятного будет мало, если не будет отключения.
  16. Схему вечером (сейчас неудобно). Заземления нет, но я могу возле кабины закопать какое-нить ведро. А так в бак входит 2 провода - фаза и ноль. В баке два отверстия, в которые продеты концы ТЭНа. Хоть ТЭН изнутри и отделен от бака резиновой прокладкой (для герметизации), но внутри отверстий ничто не мешает контакту. Будем считать, что корпус ТЭНа, бак и стенки душа гальванически соединены.
  17. Друзья есть вопрос, может он конечно и глупый, но с электричеством, понимаете, шутки плохи.... Лучше задам. Потому как речь идет об УЗО (устройство защитного отключения) а я периодически в сети натыкался на фразы "УЗО в этом случае не поможет"... В общем, ситуация такая - дачный душ, из металла, наверху бак (гальванически стены кабины и бак - единое целое), в баке ТЭН. Душ на сырой земле, пол - сырые доски. Между сырыми досками и струей воды, вытекающей из бака, голое тело. Если вдруг нагревательный элемент ТЭНа пробьет на корпус. И хотя между ТЭНОМ и корпусом бака есть прокладка, будем считать, что ее нет. В общем, какие перспективы для голого тела в кабине? Сработает ли УЗО?
  18. Я конечно не собираюсь этого делать, но чисто для себя спрошу - а если я эту 10 кВт нагрузку буду коммутмровать фазовым методом? Я так коммутировал 4 кВт лампы в самодельный печи оплавления, к сети подключал через EMI фильтр, но все равно в доме все приборы и лампы освещения нервничал, когда я печку включал. Не, я понимаю, там другое было, посадка напряжения, но все же.... На всякий случай супрессоры на 12 вольтовой линии поставить будет не стыдно?
  19. Доброй ночи. Задача такая - проложить в одной гофре два кабеля, 220 вольт и 12 вольт. Кабель под землей, а потому силовая его часть серьёзная - кабель бронированный. Возникла мысль - а если взять 5 жильный кабель, 1 жила заземление, две жилы это 220 вольт ещё две - 12 вольт. 220 вольтовый кабель питает коллекторный двигатель и мощный тэн, и то и другое коммутируется симмисторами. Если бы 12 вольтовый кабель был сигнальным, я бы такими глупыми вопросами не задавался. Но он не сигнальный, он соединяет выход импульсного сетевого блока питания и вход среднестатистического импульсного преобразователя 12-5 вольт. Броски напряжения, возникающие пр коммутации 5-10 кВт нагрузки, способны ли они навести помеху, которая попав на выход блока питания или вход stepdown преобразователя, может вывести их из строя? Кабеля разнести или не надо? Или по двунаправленому супрессору поставить с обоих концов кабеля?
  20. СТранная проблема... Использую DWT для микросекундных задержек и прочих шалостей. Инициализирую вот так uint32_t DWT_Delay_Init(void) { /* Disable TRC */ CoreDebug->DEMCR &= ~CoreDebug_DEMCR_TRCENA_Msk; // ~0x01000000; /* Enable TRC */ CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; // 0x01000000; DWT->LAR = 0xC5ACCE55; /* Disable clock cycle counter */ DWT->CTRL &= ~DWT_CTRL_CYCCNTENA_Msk; //~0x00000001; /* Enable clock cycle counter */ DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; //0x00000001; /* Reset the clock cycle counter value */ DWT->CYCCNT = 0; /* 3 NO OPERATION instructions */ __ASM volatile ("NOP"); __ASM volatile ("NOP"); __ASM volatile ("NOP"); /* Check if clock cycle counter has started */ if(DWT->CYCCNT) { return 0; /*clock cycle counter started*/ } else { return 1; /*clock cycle counter not started*/ } } Когда устройство под отладчиком - все работает. Стоит отсоединиться или просто стартовать без отладчика - в тех местах где программа ждет определенного значения счетчика, она зависает. Такое ощущение, что счетчик не считает. В чем может быть проблема? У меня проц STM32H743, на других процах такого не было. Точнее было на F746, но там это вылечилось добавлением в код DWT->LAR = 0xC5ACCE55; Тут же не прокатило. Что скажете?
  21. Сделал как в статье по ссылке char *strdup(const char *src) { size_t len = strlen(src) + 1; char *s = malloc(len); if (s == NULL) return NULL; return (char *)memcpy(s, src, len); } Схавал компилятор это. Дальше применяю: char months[] = "JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"; char** tokens; tokens = str_split(months, ','); if (tokens) { int i; for (i = 0; *(tokens + i); i++) { printf("month=[%s]\n", *(tokens + i)); free(*(tokens + i)); } printf("\n"); free(tokens); } смотрю опосля в отладчике переменную tokens. В ней только один элемент - нулевой, он правильный. Хотя в цикле if (result) { size_t idx = 0; char* token = strtok(a_str, delim); while (token) { assert(idx < count); *(result + idx++) = strdup(token); token = strtok(0, delim); // ставлю брейкпоинт, token всегда правильный } assert(idx == count - 1); *(result + idx) = 0; } ставлю брейкоинт - token всегда правильный. Где косяк? Блин... не умею просто пользоваться отладчиком. Все нормально, все разбивается по разделителю, все читается.
  22. Эээ... Ммм... Если нетрудно, можно поподробнее, для тупых?
  23. Хм.. Вы указали на функцию, которая вызывается в той функции, что я привёл. Что скажете?
  24. Друзья еще вопрос. Нашел готовую функцию разбиения строки на подстроки по разделителю #include "stdio.h" #include "stdlib.h" #include "string.h" #include <assert.h> char** str_split(char* a_str, const char a_delim) { char** result = 0; size_t count = 0; char* tmp = a_str; char* last_comma = 0; char delim[2]; delim[0] = a_delim; delim[1] = 0; /* Count how many elements will be extracted. */ while (*tmp) { if (a_delim == *tmp) { count++; last_comma = tmp; } tmp++; } /* Add space for trailing token. */ count += last_comma < (a_str + strlen(a_str) - 1); /* Add space for terminating null string so caller knows where the list of returned strings ends. */ count++; result = malloc(sizeof(char*) * count); if (result) { size_t idx = 0; char* token = strtok(a_str, delim); while (token) { assert(idx < count); *(result + idx++) = strdup(token); token = strtok(0, delim); } assert(idx == count - 1); *(result + idx) = 0; } return result; } Проект с этой функцией компилируется, то есть никаких неизвестных функций в коде нет. Но вот при линковке получаю "Error: L6218E: Undefined symbol strdup (referred from main.o)." Блин... почему так? Стандартные же библиотеки, include прописаны, чего еще не хватает? у меня KEIL, если что. в string.h прототип strdup не описан. Я понимаю, что код писался под навороченные компиляторы и библиотеки к ним, а в KEIL они урезанные что ли.... но чем заменить эту функцию тогда?
×
×
  • Создать...