Jump to content
Sign in to follow this  
Guest Тот самый чайник

Подключение датчиков к микроконтроллеру STM32

Recommended Posts

Guest Тот самый чайник

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

Микроконтроллер я как понял он питается и управляется с помощью 3.3В а 5В нежелательно,  поскольку мк может сгореть. Хотя многие говорят можно подать, а в дотушите нету упоминания, можете разъяснить этот момент. (знаю можно устранить с помощью подтягивающего резистора, но всё же, хочу знать от мнение асов и кто уже просветлён).

Есть датчики температуры, уровень жидкости и её температура, скорости вращения. Их я как понимаю можно подключить на МК через усилитель, ФНЧ и комутатор аналоговых сигналов а затем на МК пустить. (питание через гальваническую развязку сделаю), так можно делать? Интересует схема этих датчиков которые я перечислил, желательно для промышленности поскольку не могу выбрать а какие-то не могу найти потому что не знаю что поставить. 

Ещё читал что аналоговые датчики можно подключать напрямую из датчиков к МК (через делитель). Что скажите?

И такой момент, на МК есть вводы и выводы. Т.е. программно в них можно прописать какой пин будет вводом а какой выводом? Дискретным или аналоговым, можете рассказать? Или на статью с разъяснением скиньте.

Пока что так.

 

Share this post


Link to post
Share on other sites
Guest Юрий

Добрый день. Если на ваш контроллер существует какая либо отладочная плата, то возьмите на нее схему электрическую и посмотрите, какая там разводка. 

В документации указаны предельные границы по напряжению питания. Лучше придерживаться стандартных значений в заданных интервалах. 

Если сигнал аналоговый, то можно пропустить через ФНЧ и завести на встроенный АЦП. АЦП преобразует ваши сигналы из аналоговой формы в цифровую, которую воспринимает логика контроллера. Можно выбрать датчик сразу с цифровым выходом и не использовать АЦП. Это будет попроще на мой взгляд.

Пины контроллера могут располагать различными функциями. Если открыть раздел General-purpose I/Os (GPIO) раздел технической документации на ваш контроллер, то там можно найти схему порта. Там  показано, что порт может работать на вход и на выход, так же есть различные альтернативные функции. Документация разбивается на три раздела. Reference, programming, user manual. Не знаю, на всех контроллерах STM там или нет. Схему ищите в Reserence manual.

 

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • это вопрос вообще неуместный. Все равно, что спросить на форуме, не в курсе ли кто, сколько у меня на сигареты в месяц уходит. Поэтому, куча лишних вопросов. Вопрос поставлен "каком кверху". Ток холостого хода не то же самое, что потребление электроэнергии из сети - это во первых. Ток ХХ зависит от конкретного экземпляра трансформатора. Наличие/отсутствие выпрямителя погоды на холостых не сделают. Для измерения конкретной величины активной энергии, за которую вы платите денежку, нужны не клещи, а вот это  Ну, побаловался клещами, показали ток. И что дальше с ним делать будете ? Без сдвига фаз - ни о чем.
    • А зря. Некоторые "юные дарования" и точечные картинки в формате *.bmp диких размеров по Интернету гонять умудряются.
    • Я имел ввиду "мельничные" мульты, типа про 3 богатырей или Ивана с Серым Волком. По-моему весьма не дурственно
    • А такой не пробовал ?
    • 1) Полтора литра, или от 1 до 5 л? 2) Зачем минимальные размеры платы, если БП по определению будет намного больше? Смысл в минимизации? 3) Место Вашей локализации?
    • Привет, мой друг, почему ты не сказал, что думаешь о схеме, но пришел напасть на меня из-за языка? Я говорю на четырех языках: английском, арабском, курдском и турецком. Спасибо.
    • Хочу попросить совета. У меня С1-65А, он рабочий, но внезапно вылезла такая неисправность. При включении он стал показывать ВЧ меандр. Что могло выйти со строя, что бы постоянно на экране мог появиться высокочастотный сигнал. Схема у меня есть. Хотелось бы получить подсказку "бывалых" опытных товарищей где искать данную "подлянку". Опыта по ремонту осциллографов у меня нет. Ими до настоящего времени только пользовался. Другие аппараты ремонтирую без проблем.  Надеюсь,  что кто то откликнется на мою просьбу, буду признателен за любую помощь. 
  • Similar Content

    • By Константин Галкин
      Начинаю знакомство с STM32 после AVRок. Решил сделать дрыганог через прерывание по таймеру. Плата Nucleo на базе STM32F446re, частота работы до 180МГц, собираю проект в CubeIDE.
      Для опыта решил взять таймер6 (на самом деле мне всё равно какой) и вызывать прерывания по переполнению счётчика. По даташиту, его тактирование идёт от APB1, которая работает на 45МГц, с множителем Х2 (т.е получается 90МГЦ). Прескалер выставил в 89 (т.е счёт должен идти с частотой 1 МГц), каунтер на 1 (т.е по идее я должен получать прерывания с частотой 500КГц).
      static void MX_TIM6_Init(void) { TIM_MasterConfigTypeDef sMasterConfig = {0}; htim6.Instance = TIM6; htim6.Init.Prescaler = 89; htim6.Init.CounterMode = TIM_COUNTERMODE_UP; htim6.Init.Period = 1; htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&htim6) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK) { Error_Handler(); } } В обработчике прерывания вызываю смену состояния светодиода на PA5.
      void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(htim->Instance == TIM6) //check if the interrupt comes from TIM1 { HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); } } Загрузив код и проверив логическим анализатором я получаю частоту 254,5Кгц. Меняя значения прескалера в меньшую сторону увеличения частоты добиться не могу (основной цикл пуст, в программе никаких вычислений кроме этого нет). Почему так происходит?


    • By Fordli
      Какой интерфейс использует STM32? Когда я использую arduino для соединения с моим lcd, интерфейс меняется на TTL, может ли STM32 использовать TTL интерфейс?
    • By Fordli
      Недавно я использовал Arduino для программирования stm32, и мне нужно использовать ШИМ-выход, но кажется, что частота фиксирована на 550 Гц.
      Я хотел бы знать, как изменить частоту ШИМ простым и легким способом.
      Например, я могу использовать analogWriteFreq(3000) для изменения частоты ШИМ на 3 КГц на ESP8266, но эта функция не работает на stm32. есть ли аналогичный метод для stm32?
    • By Kirill_Alehin
      Друзья, привет. Есть код и схема для сборки частотомера на STM32, но нет сейчас возможности проверить работоспособность данного устройства. Если у кого-нибудь есть свободные 5 минут, не могли бы вы хотя бы без запуска, беглым взглядом посмотрев код, подсказать будет ли оно работать или нет и подсказать ошибки. В лучшем случае протестировать работает ли устройство или нет. Если кто поможет, буду чрезвычайно благодарен.


    • By dima040891
      Приветсвую!
      Кто ни будь работал с микросхемой STLED316S?  Это драйвер семисегментонго индикатора.
      Можете привести минимальный кусок кода который выводит любую цифру на дисплей. Из документации не пойму как с ней работать...
      На форумах инфы почти нет. Из того что есть тоже толку мало. Буду рад любой инфе по этой микросхеме.

      Ещё правильно же понимаю биты по SPI передаются младшим вперёд, а такты нужно передавать инверсные?

      В качестве МК применяю STM32.
×
×
  • Create New...