Jump to content
Sign in to follow this  
admin

Энергоэффективность Arduino vs STM32

Recommended Posts

В видео поговорим об энергоэффективности микроконтроллеров. Сравним потребление в режима сна arduino, blue pill с STM32F103 и представителя новой линейки энергоэффективных микроконтроллеров от st — STM32L552.

Подробную информацию об линейке L5 можно найти тут: https://www.compel.ru/lib/143383

Пи тест часть 1: https://youtu.be/ozu1IUjH1_Q
Пи тест часть 2: https://youtu.be/uLOWYE-JJpA

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  

  • Сообщения

    • Всем привет! Помогите пожалуйста перевести код написанный на С в С++. Для понимания контекста, я приведу бОльший кусочек кода, задача его в том чтобы приняв строку по USART запустить определенную функцию, причем часть имени функции будет присутствовать в принимаемой строке. Этот код прекрасно компилируется и работает в Atmel Studio 7, но возникла необходимость скомпилировать его в среде Arduino IDE. Однако компилироваться он не хочет, вылетая с ошибкой (как я понял) что часть когда написана в синтаксисе С, а не C++. А вываливается, конкретно вот на этом участке кода с комментарием: comp:106:1: error: C99 designator 'cmd' outside aggregate initializer.
    • По плате и схеме, вроде бы да. Но как на самом тр(дроселе). Попробуй выпаять LM-ки и запустить без них.
    • Детектив прямо.  Сценарий для сериала. Злоумышленник  под неизвестным погонялом  и т. д. ... Как всё запущено. Не понятно только, у него  душевные переживания, или тупо тролит? Хотя разницы нет. 
    • Добрый день! Протеус по разному симулирует ВИртуальное реле и Реле из библиотеки. Из библиотеки - не срабатывает Виртуальное - срабатывает Почему так может быть? На что обратить внимание?  Заранее благодарю!
    • Верно, ставь все ёмкости на выходе по 100 мкф и если не заведётся - накидывай ёмкость к ТЛке, не хочет - заставим)     
    • ответит только стенд для тестирования. Китайцы научились подделывать очень хорошо.
    • Я имел ввиду по звучанию. Все везде меняют, решил тоже попробовать, а как , с чего начать, пока не совсем понимаю.
  • Similar Content

    • By Михаил Дементьев
      Всем добрый день!
      Столкнулся с такой проблемой. Собрал самодельный igbt, и все хорошо работает, пока подаю на затвор напряжение с источника. Далее через ЦАП подключил stm32f100 к затвору и попытался управлять выходным током биполярника. В итоге вот что получилось: тестирую stm32 без igbt, ЦАП стабильно выдаёт то, чем я прошил микроконтроллер, но как только stm32 подключаю к затвору igbt, то stm32 перестаёт работать, в чем может быть проблема?
    • Guest Тот самый чайник
      By Guest Тот самый чайник
      Добрых времени суток, недавно начал изучать микроконтроллер STM32. Уже собрал контроллер в виде схемы, но не могу понять пару моментов а именно с подключением к нему датчиков. (буду благодарен если картинками кинете ещё).

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

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

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

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

      Пока что так.

       
    • By Dj_Grander Z Play
      У меня есть ESP32Cam которая берет кадры (240*176пкс. QQVGA) и пересылает их серверу по UDP. С этой частью проекта проблем нет всё работает всё ОК. Но хочу прикрутить получение данных по UDP от того же сервера причем с достаточно приличной частотой. Кто пробовал работать с такими модулями, не подскажете не будет и помехой работа с камерой, работе с сервером по UDP-протоколу. У меня есть сомнения по поводу того не будет ли эспешка в момент взятия кадра зацикливаеся на этом и в этот момент не сможет принять сообщения от сервера и управлять периферией. Подскажите пожалуйста кто может т.к. работаю с этими камнями впервые. Заранее спасибо.
    • By Nikolay_R
      Добрый день! В данный момент прохожу производственную преддипломную практику (сам учусь в УРТК). Стоит задача соединить Lego EV3 и Raspberry PI по I2C интерфейсу. До этого, при работе с другими устройствами, у меня никогда не было проблем с I2C интерфейсом, но в данной связке "EV3-RPI" - начались ошибки. Перед описанием ошибок, уточню, что EV3 - Master, а Raspberry - Slave, т.к. EV3 умеет работать только в режиме Master.
      Первое, что бросается в глаза, это практически постоянная передача в эфир SLA пакета (адреса Slave-устройства). По-факту, именно с этого и должна начинаться передача, но в данном случае, её попросту не происходит. А, если быть точнее, то происходит она только каждый шестой раз.
      Следующая проблема заключается в том, что обмен данными не всегда происходит до конца. Даже если EV3 отправляет свой пакет (два байта), то ответ от Raspberry (он тоже два байта) приходит через-раз, а то и ещё реже.
      я также пробовал соединять EV3 с Arduino, Arduino с Raspberry, что бы найти причину, но там всё отлично работало и ошибок было ноль. Стабильный обмен двумя байтами, как и нужно.

      Очень нужна помощь в устранении данных ошибок!


      P.S: У EV3 используется нестандартный уровень лог. единицы (там он 4.3в) и обычные конверторы уровней уже не работают с ним. Поэтому, мне пришлось перепаивать его под другие номиналы подтягивающих резисторов, что бы всё заработало. В его работе нареканий нет.

      Ниже показаны осциллограммы работы I2C между различными устройствами, которые были задействованы.


    • By Стальной
      Доброго времени суток!
      Неделю не могу запустить DCMI на STM32F407VET6. 
      Работаю через HAL, инициализация кубом. К МК подключена камера OV7670. Камера дает картинку 640х480, и такое изображение мне негде хранить. Поэтому через фичу CROP хочу вырезать картинку 160х128 из центра под имеющийся экран.
      Ниже примерный код, без настройки камеры. Камера тактируется от 16 МГц MCO. Сигналы поступают на выводы МК, посмотрел осциллографом. У камеры есть некоторые настройки, которые тут в коде не показал, так как они влияют только на представление данных, но не на алгоритм захвата данных.
      /* USER CODE BEGIN PV */ uint16_t DCMI_data[20480] = {0}; //128*160=20480 words uint32_t ptr; /* USER CODE END PV */ //тут еще код куба, пропущу его int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_DCMI_Init(); /* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //снять ресет с матрицы ptr = (uint32_t)(&DCMI_data[0]); HAL_Delay( 500 ); //начать резать с 512 клока строки (256 пиксель), начать резать с 160 строки //захватить 256 клоков (128 пикселей), захватить 160 строк HAL_DCMI_ConfigCrop(&hdcmi, 512, 160, 256, 160); HAL_DCMI_EnableCrop(&hdcmi); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, ptr, 10240); //однократный захват, 10240 тетрад, 20480 слов, 160*128=40960 пикселей HAL_Delay(1500); } /* USER CODE END 3 */ } В результате в буфере ничего не появляется, DMA туда ничего не кладёт, проверил. Если не вызывать функцию EnableCrop, но какие-то данные появляются, но на экран их корректно отобразить не получается. Также пытался в камере обрезку включить, а не в МК - снова нет данных. Пробовал разные частоты тактирования матрицы давать - без разницы. Отладчиком увидел, что бит EN в регистре конфигурации потока  DMA не снимается, как будто DMA не получал запросов на транзакции. Помогите, пожалуйста, разобраться.
      Проект на яндексДиске
×
×
  • Create New...