Jump to content

Прот5

Members
  • Content Count

    61
  • Joined

  • Last visited

Community Reputation

1 Обычный

About Прот5

  • Rank
    Осваивающийся

Электроника

  • Стаж в электронике
    Не связан с электроникой

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. все, вопрос снят.... если кому интересно - вместо USART1_IRQHandler надо использовать __irq_usart1(void), тогда все ок.
  2. Всем привет! Пытаюсь настроить прерывание на чтение USART1 без HAL/SPL напрямую обращаясь к регистрам в среде Arduino IDE и столкнулся с проблемой: обработчик прерывания не цепляется по всей видимости при линковке, т.е. само прерывание срабатывает при отправке на ком-порт, и сразу начинает мигать индикатор ошибки у Blue pill (stm32f103c)... в остальном все работает нормально, не работает именно RX у МК... причем, если не использовать прерывание на чтение, то RX так же не работает, т.е. если просто выставить биты RE, TE и UE.. то TX работает, а RX нет: ... void USART1_IRQHandler(void) { if (USART1_BASE->SR & USART_SR_RXNE) { } } void setup(){ ... RCC_BASE->APB2ENR |= (RCC_APB2ENR_USART1EN); USART1_BASE->BRR = 0x1D4C; //baudrate 9600 @72Mhz USART1_BASE->CR2 = (USART1_BASE->CR2&0xFFFF80FF);//обнуляем LINEN STOP[1:0] CLK EN CPOL CPHA LBCL USART1_BASE->CR3 = (USART1_BASE->CR3&0xFFFFF804);// обнуляем CTSIE CTSE RTSE DMAT DMAR SCEN NACK HDSEL IREN EIE USART1_BASE->CR1 |= USART_CR1_UE | USART_CR1_RE | USART_CR1_TE | USART_CR1_RXNEIE; noInterrupts(); NVIC_BASE->ISER[37/32] = BIT(37%32); // 37 - USART1 из Reference Manual'a interrupts();// вызывает внутри __enable_irq(), напрямую почему-то не определено и хрен знает какой хидер цеплять ... } ... Кто-нибудь сталкивался с подобным? Как без HAL SPL все это дело напрямую запилить, а точнее, чтобы линковщик обработчик USART1_IRQHandler вшил? Пробовал добавлять extern "C" { void USART1_IRQHandler(void){...} } ... тоже не помогло, причем если поставить после всех хидеров сразу с описанием внутренностей функции, то линковщик ругается "conflicts with new declaration with 'C' linkage".... а если перед setup(), то линкуется без ошибок, но видать выкидывает эту функцию.... не могу заставить его подхватить обработчик.
  3. Спасибо за ответ) попробую
  4. нужен физический переключатель (3х позиционный с 2 путями), т.к. переключается boot0 на стм32 одновременно с резетом (1 путь у свича для переключения бут0, 2ой - для сброса). Схема с кондером работает удобно (щелкнул в одно крайнее положение и программируй, щелкнул в другое крайнее сброс + обычная работа, промежуток подвешен, что дает возможность кондеру разрядиться для очередного сброса и разряжается быстрее, чем щелкаешь), но я не знаю можно ли так конденсатор насиловать, чтоб он разряжался в обратку?
  5. он не закроется до тех пор пока к пину1 подтянуто 3.3в.... а с конденсатором закрывается после его заряда от 3.3в... а далее если переключить пин1 на 2.... то конденсатор разрядится, а транзистор останется при этом выключенным до следующего переключения пина 1 на 3.3в
  6. Ну вот мне это и не нравится, испортит ли это конденсатор? или в таком случае лучше ставить неполярный?
  7. Всем привет! Была задача через переключатель (switch, не кнопку) сделать кратковременный автоматический сброс МК. Задачу реализовал (картинка в аттаче) - надо сбросить, подтягиваю через свитч пин 1 к 3.3в и далее можно в подвешенное состание переключить либо не переключать вовсе, а когда надо скинуть снова, то переключить сначала в подвешенное состояние, если не было сделано до этого и потом опять на 3.3в переключить................. но вот интуиция подсказывает, что реализация кривая (не нравится наличие подтяжки к земле на плюсе кондера)..... конденсатор не разряжался через R40 (без R39, когда переводил переключатель в подвешенное состояние и обратно МК не сбрасывался повторно.... первый раз сбрасывается на ура, а далее нет) при подвешенном контакте 1 и разряжаться стал только когда вставил R39, что мне не особо нравится (заряд снимается сразу с обкладки анода через R39)....не выйдет ли из строя конденсатор при такой схеме подключения? Почему конденсатор не разряжается через R40, если накопившийся заряд от плюса к минусу должен идти? Как правильней реализовать задумку (по триггеру подавать ноль на RST пин МК и быстро возвращать в исходное состояние) или и так сойдет? Осциллограф показывает плавный разряд с небольшим резким спадом в начале разряда (на 1/4-1/5 от 3.3в), подача на гейт же резкая с 0 до 3.3в.
  8. @KomSoft Спасибо огромное за объяснение, многое стало понятно теперь! А вариант 1с) подразумевает толщину меди 2oz или 1oz?
  9. Спасибо за полезное инфо! Буду знать! Спасибо за подробное объяснение!! Не совсем понял только, это расчет для реализации лэйаута как на 1а? Макс темп кристалла 125гр - это Tj(junction)? на графиках почему-то есть еще Та=125гр (это покоя температура и соотв окружающей среды)? Получается, что не все потеряно и транзистор годен для тока до 4.5а!?
  10. @Ремирович Да, я пробовал на светодиоде с резистором и все изумительно работало, но там в плане понимания просто все было - питание одно было и к истоку земля цеплялась. А после к нмосфету доп источник питания подключил: минус к истоку, к стоку один конец нихрома, другой конец которого к плюсу и даже не думал, что минус еще на землю кинуть надо (считал что от плюса к минусу пойдет), причем затвор управлялся ардуино чз 1к и 10к кидал на минус, который подводил к истоку для подвешенной ситуации, потом кидал не на минус, а на землю...... в итоге в какой-то момент спалил один канал (пробил) и началось непонимание того почему при закрытом затворе ток идет..... потом только когда все отсоединил ,подключил опять светодиод с резистором понял это, когда переподключил его на второй канал, на котором все работало как надо. Далее уже к нему подключил все как на схеме и землю, как Вы правильно сказали и все заработало как надо и мосфет не греется особо, правда ток не сильный (около 400мА, т.к. сопротивление нихрома имеющейся длины у меня около 25 Ом, плюс провода от нихрома и крокодилы).... выделение тепла нихромом порядка 5-6Вт. Теперь вот думаю, что такой нмосфет не потянет ток 2.5-3.5а, несмотря на 7.5а в непрерывном режиме из даташита, если только не сделать "язык" теплоотвод к нему как в сноске 1а в даташите, хотя у транзистора на брюхе пластик.... вообще, не совсем понимаю всю информацию из даташита, особенно касающуюся температуры и тепла. В даташите написано 2Вт, неужели, сделав такой "язык" в 16.13мм2 под ним он реально будет выделять 2вт при токе 7.5а (пуская даже 5а)? Или же надо в другом корпусе транзистор смотреть то-252а (типа IRLR/U2905 42а 55в 110Вт), чтоб наверняка? Кстати, попытался сразу измерить напряжение между затвором и истоком - осциллограф показывал шим.
  11. Ладно, спасибо всем, извините что не по госту.... совсем не учел того, чтобы вопрос в разделе чайников задать, надо учебник по радиоэлектроннике и схемотехнике прочитать, а так же курсы соответствующие пройти.... но тогда и надобности в этом форуме и его разделе пропадут.... спасибо, кэп!)
  12. Я читал инфу про управление нагрузкой чз н-канал. мосфеты, про шим и нихром соотв.... так что вопрос задан ПОСЛЕ предварительного исследования. Даже ссылки на даташиты сразу вставляю, чтоб удобно было....
  13. Ребят, вы странные снобы.... описание раздела наверху почитайте - " Песочница (Q&A) Вопрос-Ответ. Для тех, кто совсем ничего не понимает в электронике" !!! Нарисовал в пэинте на скорую руку, скажите спасибо, что не карандашем, а линией чертил, иначе бызигзаги лицезрели, камрады..... прежде, чем отчитывать кого-либо раздел проверьте. Хорошо представляю, подключал нихром напрямую к аккумулятору... нихром грелся, ток бежал Если понять не можете где были измерения на схеме, ребенка своего спросите) Коммент по землю - ед. полезный набор букв, за что спасибо, особенно @Ремировичу, который без лишнего сарказма потратил свое время, чтобы доходчиво объяснить суть проблемы человеку далекому от электронники, за что ему спасибо! Проверю с землей, отпишусь. Не могу, т.к. грелку делаю.....
  14. Т.е. надо минус дс-дс с землей контроллера связать (не страшно, что у того 5в от пк, а у дс-дс 12в), без этого ток не побежит полноценно? Только я не совсем понимаю почему? Контроллером является ардуино и запитан от пк.... Кстати, нмосфет грелся до 45-49гр.цел. при выкл затворе, что тоже непонятно А ао3400 и вовсе сгорел, хотя по даташиту 5.8а выдерживать должен при макс 30в
  15. Всем привет! Не могу понять, что не так...."подключил" нихромовую нитку и dc-dc к Н-канальный мосфету, в качестве управляющего ШИМ сигнала - ардуиновский пин, который генерирует ШИМ. С ШИМом все ок....осциллографом проверил. При выключенном ШИМе (0), амперметр выдает ток не нулевой, если подсоединить его к плюсу dc-dc....либо вовсе к выходу мосфета (там другой ток выдает) и напряжение между концами нахромовой нити стабильно держится 5.хх в при закрытом гейте. А при открытом гейте на 4.95в, выдает напряжение на нихроме всего 7.хх вместо 12в..... По даташиту порог срабатывания гейта 0.6-1.5в, а у меня 0в.... почему: а) амперметр показывает ток в разных местах и почему он разный б) почему есть напряжение на концах нихромовой нитки в) почему при открытом гейте (4.95в) выдается около 7в (по даташиту не врубаюсь куда смотреть, чтобы понять какое напряжение на выходе будет при заданом на гейте) ? почему все 12в не получаются? Заранее спасибо за ответы!)
×
×
  • Create New...