Jump to content

    

xemul

Свой
  • Content Count

    1907
  • Joined

Posts posted by xemul


  1. Где-то встречал какой-то мануал, в котором говорится, что ток через вывод - не принципиальность, т.к сам корпус при таком токе не пройдет по теплу. А, значит, такой ток никогда не будет иметь место через вывод.

    О подобном (правда, немного наоборот) обычно говорится в примечаниях к параметрам в Absolute Maximum Ratings.

    Н-р, в ДШ на IRFB7440 (в TO220, ID (Package Limited) 120 A)

    ID @ TC = 25°C 208 A (1)

    ...

    Notes:

    (1) Calculated continuous current based on maximum allowable junction

    temperature. Bond wire current limit is 120A. Note that current

    limitations arising from heating of the device leads may occur with

    some lead mounting arrangements. (Refer to AN-1140)

    Если верить нотесам, кристаллы, разварка (bond wires) и компаунды сейчас о-го-го, а вот выводы (leads) хлипковаты.

    Summary

    The maximum amount of continuous dc current that you can force into a FET

    supplied by any manufacturer is rarely the publicized ID max on the banner

    headlines for a components specifications...

    The primary constraint upon the amount of current is the temperature of the source

    contact on a printed circuit board.

  2. Тут задача нестандартная.

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

  3. Угу. А еще - не знаю как симистором из 90 вольт сделать 120. Про форму тока тут уже можно не говорить. В заголовке темы - диапазон входных напряжений.

    Если бы все ТС придумывали адекватные заголовки...

    По ходу пьесы ТС признался, что реальные обороты двигателя ему не интересны, из чего у меня получился простой вывод о лишних сущностях. (но обороты я бы таки отслеживал хотя бы по пульсациям тока на переползании щёток по полюсам якоря)

    Но вот почему придется пристраивать куда-то 400-500Вт тепла - непонятно. Бакбуст такого калибра должен иметь КПД не менее 0.94-0.95.

    Я, честно говоря, тоже не понял, как соотносятся 400-500 Вт с бакбустом на 1.5 кВт, поминавшемся ранее, и сделал неправдоподобное предположение.

    Это не 15 ватт, конечно, но вполне приемлемо для импульсного регулятора такой мощности. 50-60 ватт тепла в предельном режиме- можно надеяться.

    ПМСМ, это не единственная причина, почему регуляторы оборотов во всякоразных (бытовых в том числе) пылесосах и перфораторах не делают на бакбустах.

  4. Забавно.

    На второй странице топика удаётся выяснить, что двигатель постоянного тока, хотя в первом посте ТС сразу сказал - двигатель коллекторный.

    Там же продолжаются рассуждения за форму тока, хотя на 1-ой странице ТС уже отметил слегка фиолетовый оттенок этого аспекта. (если вдруг, то на подумать: какая нагрузка на выходе фазового регулятора наиболее неприятна для формы тока?)

    И предлагается простое решение с одним неудобством - нужно куда-то пристроить 400-500 Вт, не влезающие в КПД. (если вдруг: нужно будет постараться посеять на симисторе при условиях ТС больше 15 Вт)

    Желаю плодотворной дискуссии.

  5. ... а усреднение разве не как корень квадратный?...

    Я сразу отметил - "чисто математически". Очевидно, что для измерения в-1000-раз-более-длиньшего интервала с той же разрядностью достаточно в-1000-раз-более-меньшей опорной частоты.

    В погрешности сейчас лезть смысла чуть.

  6. Можно и 100000 раз усреднить показания нужны примерно 10 раз в секунду. Сейчас сигнал в аналоговой форме синус. Как его согласовать с цифрой(дорогие ггц операционники, ацп.. нет ).

    А есть варианты?

    Два компаратора, XOR, раздельно считать длительности и 0, и 1 (чтобы упростить себе жизнь и работать в интервале 180..355 градусов). По накоплению требуемого числа периодов производить нехитрые вычисления.

  7. 355 (градусов?) на 7 МГц соответствуют интервалу времени ~ 0.89 мкс.

    Чтобы "прямо взять и измерить" этот интервал с разрешением, н-р, 16 бит, потребуется частота 2^16/0.89 мкс ~= 7,4E+010 Гц = 74 ГГц.

    (для 24 бит посчитайте сами)

    Если допустимо усреднить фазу по, н-р, 1000 периодам, (чисто математически) удастся обойтись частотой 74 МГц.

  8. Питание

    Ну да, какое ж творчество без еды.

    Предполагается ли, что мультивольтажное изделие должно работать от сети 220 VAC с двигателем на 110 VAC (и наоборот)?

    Посмотрите на стародревние U211B2/B3 (выпускаются и используются до сих пор) - уже тогда люди знали, как бороться с "мотор просто не может запуститься", - или поищите их новые инкарнации.

  9. 1. А каков принцип действия мотора, работающего и от постоянки, и от переменки?

    2. Если у вас все-таки стандартный асинхронник, лучше применить готовый инвертор и не изобретать велосипед. Тем более на такие мощности...

    Мне поставленна задача разработать компактный блок управления коллекторным двигателем

     

    Нет, особого требования к оборотам нет, мотор идет в составе вакуумного насоса. Но предложенное Вами решение не пройдет, так как вероятно Вы не внимательно прочли все сообщение. :)

    Не пройдёт по какому параметру? По "Мне поставленна задача разработать"?

  10. Мне поставленна задача разработать компактный блок управления коллекторным двигателем для работы в сетях с 90-240в.

    Мотор могу преименить или на 120в 10А или на 230в 5А.

    Что такое "от 50%-60% до мах", пока не понятно, но если оно не имеет отношения к стабилизации скорости, то возьмите какой-нить регулятор оборотов для электроинструмента и срисуйте схему (или просто наклейте свою лейбу).

  11. Нет. Нужна гарантия, что среди Ваших изделий не будет повторов,

    Как генерировать идентификатор в устройстве? Идентификатор включать в прошивку? 1000 устройств и 1000 уникальных прошивок?!

    Варианты сериализации номеров/прошивок в конфе обсуждались неоднократно.

    и не будет повторов с другими 1-wire устройствами.

    В ванварных FC достаточно неиспользуемых кодов. Самописный слэйв-"эмулятор DS2406" легко может отвечать чем-то отличным от 0x12, а самописный мастер - обрабатывать и это отличное, и 0x12 для совместимости.

  12. а мэй нот дэфайн...

    Если сомневаетесь, загляните в ассемблерный листинг. У меня почему-то есть уверенность, что там ничего лишнего не соптимизировалось. Да и сами говорите "тут вдруг всё работает даже с -O3".

     

    Процитированный Вами п.9 о том, что усилия одного оптимизатора могут привести к странноватым результатам, о чём писал Сергей Борщ, а усилия другого - не привести, и что знакомство с "implementation-defined restrictions" приветствуется.

    В этом смысле volatile на всё, поминаемое в прерываниях - платформо- и компиляторо-независимая панацея.

    Но мне проще подстелить соломки какого-либо вида.

  13. Хотелось-бы пруфлинк, если можно. Сколько копал на тему volatile - нигде не видел подобного разделения на то где требуется, а где не требуется volatile.

    ISO9899 Programming Languages C

    5.1.2.3 Program execution

    ...

    8

    EXAMPLE 1

    An implementation might define a one-to-one correspondence between abstract and actual

    semantics: at every sequence point, the values of the actual objects would agree with those specified by the

    abstract semantics. The keyword volatile would then be redundant.

    ...

    Можно также посмотреть п.п. 4, 5, 9.

  14. Нет...

    Вообще-то, примерно это я и написал (и даже перечислил, то, что не требует объявления volatile, т.к. волатильно _не_изменяется_; даже то, что волатильно изменяется, но опять же не требует volatile).

    Отквоченная Вами фраза - доказательство (точнее, в данном случае, опровержение другого утверждения) от противного, ПМСМ, довольно очевидное.

  15. А вот это неверно. Если оставить их без volatile, то компилятор может в основном цикле просто закешировать их значение в регистрах и никогда не складывать в память. А может вообще выкинуть все операции с этими переменными, ибо в основном цикле есть только запись в эти переменные, но нет чтения. Следовательно, результат этой записи никому не нужен и считать его тоже не нужно.

    Тогда необходимо объявлять volatile любую переменную, которая в одной единице компиляции только читается, а в другой - только пишется.

  16. При этом channels.enabled, channels.top и channels.compare_val меняются посредством вызова функции spwm_configchannel(), нужно ли делать их volatile и почему всё работает и без этого?

    Верно ли утверждение, что все глобальные переменные, доступ к которым осуществляется как в прерывании, так и в основном цикле нужно обязательно объявлять с volatile?

    volatile должны быть объявлены глобальные переменные, которые и _изменяются_ в прерывании, и используются вне прерывания.

    channels.enabled, channels.top и channels.compare_val в прерывании не изменяются, и им volatile'ность не требуется.

    Используется ли вне прерывания channels.counter++, не понятно.

    Тем не менее, прерывание TIMER1_COMPA при исполнении spwm_configchannel() может привести к сбою формирования ШИМ, если не подстелить соломки.

    (н-р, из приведённого кода не очевидно, что в spwm_configchannel() после "channels.enabled = 0" выполняется что-то, устанавливающее пин в определённое состояние, вроде "*channels.port &= ~(1 << channels.pin);", или что не приключится пропуск такта ШИМ при изменении channels.compare_val, или что ...; но, возможно, оно Вам и не актуально)

  17. В результате, при отправке байта, в логе вылетает следующий текст:

     

    [PIC16 MEMORY] PC=0x0015. Attempt to write unimplemented memory location 0x0007 with 0xA8 ignored.

    Ну и я , конечно, понимаю, что ошибка тут, скорее всего, идиотская...

    Перевожу:

    [PIC16 MEMORY] PC=0x0015. Попытка записи в несуществующую ячейку памяти 0x0007 ...

    (PC - Program Counter, указывает адрес исполняемой команды)

    Вы успели обидеть все онлайн-переводчики?

     

    Ошибка в нежелании ознакомиться с ДШ на контроллер (в данном случае с "FIGURE 4-2: DATA MEMORY MAP"), с мануалом на используемый компилятор и с примерами написания/оформления программ, предоставленными производителем контроллера, компилятора или среды разработки (за протеус ничего не скажу, т.к. не знаю).

    Ну я совсем новичок еще...

    Новичкам обычно приходится много читать.

    Для оформления кода или логов в сообщении используйте теги CODE (иконка с рулоном бумаги и зелёным треугольником над окном редактирования) или CODEBOX (для длинных простыней). Это написано в правилах конфы.

    Разбираться в лапше из b'01010101' без комментариев никто (я - точно) не будет.

  18. 3. Так для кого они тогда продолжают выпускать эти семейства тоннами?

    Вряд ли продолжают. Если закажете какую-нибудь LS (гы-гы) или ALS, сильно сомневаюсь, что получите промаркированную последними годами.

    И что, если ТТЛ не идет в ширпотреб значит это плохие микросхемы?

    Означает, что есть лучше и дешевле для таких применений. Да и дискретную логику в ширпотребе сейчас придётся очень поискать.

  19. Предположу, что (биполярный) транзистор не догадывается, по какой схеме его включили, и будет работать одинаково надёжно, если считалка для схемы была правильная.

    У биполярной цифры получше будет, н-р, с устойчивостью к ионизирующим излучениям. Но CMOS дешевле в производстве, и как только бо-ме победили родовые болячки технологии (защёлкивание по паразитным диодам, чувствительность к статичеству, скорострельность), шансов в ширпотребе у биполярной цифры не осталось.

  20. По умолчанию д-линковские поделия назначают 192.168.1.1 себе. Проверьте на всяк случай.

    В настройках сервера DHCP можно задать резервирование IP-адреса по MAC. Это самое прямое решение проблемы. (IP, естесно, должен быть в пределах пула адресов сервера DHCP)

    Второй вариант - задать одноплатнику ручками IP-адрес в той же подсети, но вне пула адресов сервера DHCP.

    Дополнительных плясок при этом не потребуется. (если не заработает, сбросьте настройки роутера в умолчательные, обновите фирмварь, ...)

    Третий вариант - задать ручками IP-адрес в другой серой подсети и добавить соответствующие маршруты роутеру.

  21. Не до конца понятно назначение ног 18 и 19 вывода R34, или это продолжения шины адреса? Но полезной информации в EEPROM хранится ровно 65534 байта и ИМХО 16бит адреса предостаточно.

    Возможно, один из них - что-то вроде MEMR'. Если предположить, что на плате могут стоять и микросхемы ОЗУ, то второй, соответственно, MEMW'.

    Если адрес всего 16бит то как я это понимаю:

    - U5 и U6 это всего лишь буфер, для шины адреса. "епромины" включены так, что они поочерёдно формируют 16битный адрес. У 27C1024 уже 16битный адрес. значит можно рассматривать что U5 и U6 не нужны.

    U5 и U6 - буфер, разгружающий шину адреса и развязывающий её от U7, там, где она используется.

    Есть сомнение, что U6.1, U6.19 сидят на земле.

    "епромины" адрес не формируют, они его получают.

    - U8 на пару с U9 я плохо до конца понимаю, но в вариации с разъёмом R34 (остальные у меня пустые) они работают как R/W ключик с CE. опять же в вариации с 27C1024 ИМХО это не надо, т.к. она одна. Или нет?

    U9(B,C,D) - дешифратор на A12..A15 = 1111.

    U8(C,D) - формирователь CE' (что прибегает на U8.10, гадать не берусь).

    U8(A,B ) - формирователь OE'.

    - U7 защелка данных для формирования 16битного результата с 2х микросхем, тоже вроде как отпадает в варианте с 27C1024.

    U7 - защёлка старшего байта адреса (для систем с мультиплексированной шиной адреса/данных). На Вашей картинке входы у неё справа, а выходы - слева. На U7.11 должен приходить сигнал типа ALE'.

    где я не прав?

    Схема снята не совсем корректно, имхо.

    R12 д.б. с другой стороны JP4.

    Вероятно, не хватает связей между разъёмами (некоторые входы висят в воздухе, если подключается только ER34, или повиснут при разомкнутых перемычках).

    Заметил ещё что-то, но уже забыл. Ищите сами.

     

    Отслеживать шнурки в параллельно-попердикулярной лапше - удовольствия чуть. Знаете, как рисуются шины? Вот и нарисуйте. Самому станет понятней.

     

    В качестве замены, имхо, сейчас (удобнее использовать)/(проще найти) flash, а не UVE EPROM.

    Судя по JP10, U5, U6, U7 можно упростить. (только сравните на всякий случай ёмкости по входам U5, U6 и входам шины адреса предполагаемой памяти)

    Судя по JP1..8, в памяти используется верхняя половина осьмушки (CE' = 0 только при A12..A15 = 1111). С учётом неиспользуемого A0 достаточно памяти 2^11 x 16 бит.

    U8, U9 упростить вряд ли удастся. "Не мелочитесь, Киса".

    JP9 на схеме не нашёл.

  22. Похоже, дискуссанты упускают из виду момент, что фильтр рассчитывается на одну определенную частоту, а иначе говорить о порядке фильтра нет смысла.

    Если рассматривать фильтр, как чёрный ящик с некоторой АФЧХ, то он может быть рассчитан и на сто одну вполне определённую частоту.

    Можно (попробовать) разделить фильтр о сто одной частоте на сто один фильтр об одной частоте, но смысл порядка будет один и тот же.

    Что полосовой фильтр 4 (четвертого) порядка получается при объединении 2 (двух) фильтров ВЧ, каждый из которых 2 (второго) порядка, и 2 (двух) фильтров НЧ, каждый из которых 2 (второго) порядка. Итого, если сложить все порядки всех фильтров, получим 8 (восемь). Ан, нет, будет лишь 4-й порядок.

    Что ПФ, показанный на последней картинке, подписан как фильтр 1 порядка, хотя у него 2 RC цепи.

    Угу, невнимательно поразглядывал. Меня учили не так.