Ви не увійшли.
нюанс-либа рахує x4-10 P/R → 40 імпульсів/оберт
Ну так на то і енкодер.
Взагалі для вимірювання швидкості та ліба (разом з енкодером) - це мікроскоп для забивання шурупів
Можна взяти timer-counter і просто рахувати імпульси.
![]()
Тобто варто взяти 32 розрядний проц - і можна за атомарність не паритись? ![]()
Тут 2 речі незрозуміло.. Чому 9600 а не 115200. І чому не взяти готову лібу, навіщо вайбкодити те що вже зроблено і бездоганно працює? Чи це челлендж такий? ![]()
Ну, так собі рішення. Але в архіві є сцилка на статтю на хабрі де все досить добре розжоване. До речі на високих обертах доведеться застосовувати тактоложество, а 2000 обертів у автора atmega не потягнула.
Хм ![]()
Користуюся готовими бібліотеками. + gpt + cloud + gemini + copilot
Ну, допустим ок
Швидкість обертання вала 30–300 об/хв
Ок.
Отримані сигнали використовую для обчислення швидкості обертання вала.
Ок.
То в чому питання? Ви ж не вважаєте що якісь анонімуси телепатичним способом вгадають що там чатік вам накодив?
У тих хто використовує богопротивний Fritzing в пеклі буде окремий котел, з bredboard ом ![]()
Бібліотек для енкодера в інтернеті значно більше ніж 1. Ви взяли готову чи пиляєте щось своє?
https://github.com/markus-seidl/component-tester/blob/master/cap.c#L1077
Рекомендую подивитись як це зроблено в тестері Маркуса. Тут люди все таки упоролись щоб отримати якісь результати.
Якщо вже упарюватись, то треба брати готову матрицю з RGB світлодіодів на кожну цифру. Там вони напаяні щільніше ніж на стрічці. Буде красиво. Або паяти свою матрицю, буде теж красиво. А flprog - не впевнений що взагалі варто розглядати.
Ніхто крім вас не знає що в тому блоці. Можливо остаточний заряд в конденсаторах. Можливо щось нагрівається і міняє опір.
Замкніть контакти релюшкою. Розімкніть в момент вимірювання. Заодно це врятує вашу схему якщо підключите електроліт з остаточним зарядом.
Тактоложество - гріх. Але іноді доводиться ![]()
Якщо в самому HAL так інтерфейс до I2C реалізовано
Схоже на те. Жодного ifdef я не побачив.
Походу тут дилема. Або крос-платформне Arduino - більш-менш однаково працює будь де. І лібу знайти можна під що завгодно. Зручно. Але жирне. Або закопуватись в stm32-специфічні фреймворки. Як мінімум для дисплея з i2c ліба під cmsis існує ![]()
Концепція rtos сподобалась, вирішив спробувати на чомусь простому
Зручніше ніж ардуїнівський суперцикл - окремі ізольовані таски. Управління симістором по Брезенхейму окремо, регулятор окремо, дисплей окремо. Але розмір не радує.
Так то без float все помістилось. Правда цілочисленний PID регулятор може спрацювати не так як хочеться, спаяю, подивлюсь.
Що у вас за конфігурація platformio?
Які саме ліби використовуєте?
[env:bluepill_f103c6]
platform = ststm32
board = bluepill_f103c6
framework = arduino
lib_deps =
stm32duino/STM32duino FreeRTOS@^10.3.3
locple/LiquidCrystal I2C Multilingual@^2.0.2Максимально безхитрістно.
Так це мабуть ардуінівська Wire. Вона дурна.
Походу так. І походу притягнув її дисплей з i2c.
Оце заходився зробити нагрівач з текрмостабілізацією. Нічого складного: термопара з датчиком MAX6675, LCD дисплей 1602, енкодер, симистор. Замість контроллера взяв stm32f103 - китайську blue pill. Всередину - freertos (красиво ж
). Готові ардуїнівські ліби зручно.. Х%%к-х%%к і в production
І воно все разом - упсь, не влізло
Штош, взяв тулзовину puncover, дивлюсь куди ділось 32к флешки. 
Я так розумію, дуже багато місця зайняла float математика, яку притягнула з собою ліба термометра (_adddf3, __aeabi_dmul і тому подібне). Але абсолютний рекордсмен - HAL (HAL_I2C_EV_IRQHandler, HAL_RCC_OscConfig,HAL_UART_IRQHandler). Без HAL мабуть буде незручно. freertos - помітно. Страшні ардуїнівські функції десь в кінці.
Можна, звичайно, трохи побайто%%битись, переписати лібу без float. Або без freertos обійтись. Чи взяти інший фреймворк спробувати. Що порадите?
Для мого проекту мені потрібно, щоб сервопривід провертався руками у відключеному стані
А.. якщо саме так, то треба або іншу серву, або фрикційну муфту якусь. Або змінити побажання
наприклад, додати пару кнопок, чи джойстик, чи енкодер, щоб можна було крутити руками, але з другого боку.

Сорян, мав на увазі від зворотнього струму ![]()
Якщо замість R1 акумулятор, то при відключенні Vin через паразитний діод в ключі конвертор отримає живлення і щось буде намагатись з цим робити. Якщо послідовно з Q1 включити ще один діод - такого не буде. Грітиметься він так само як і D1. А падіння на ньому скомпенсує стабілізатор (на схемі не показано).
Хоча як на мене дивне побажання. Для зарядки краще вміти стабілізувати струм, а напругу вимірювати. І готових контроллерів зарядки трохи є. А робити all-in-1..
Хіба в специфікації цих сервоприводів вказаний максимальний detent torque (back-driven torque)? Якщо ні, то вони й не розраховані на ручне обертання.
Шукайте такі моделі, у яких явно вказаний цей параметр, і якщо не відповідає заявленому - предʼявіть претензії виробнику.Див. також:
https://www.reddit.com/r/Motors/comment … _when_the/
https://forum.pololu.com/t/how-to-calcu … ervo/11701.
Хе-хе
лінк на reddit - там саме цей автор з саме цим питанням ![]()
https://www.aliexpress.com/item/1005005883553113.html - можливо з подібного набору вдасться щось підібрати
і ще мабуть варто розглянути варіант з 24 В інвертором і послідовним з"єднанням акумуляторів. Менший струм, тонші проводи. Чи 2 акумулятори, 2 інвертори, 2 групи споживачів, для надійності. Якщо 1 інвертор в ремонті - без світла не залишитесь.
Ага, ще один мінус гелевих акумуляторів - повільна зарядка. При зарядці від генератора - неефективно.
Якщо таки вирішите брати акумулятори з швидким зарядом (Li, LiFe) - впевніться що генератор їх витягне.
Літієві акумулятори великої ємності краще заряджати десь за межами дому. Окрему акумуляторну будку побудувати, з теплоізоляцією і підігрівом. Бо горять вони дуже небезпечно.
А для контролю наявності мережі є готове рішення
https://forum.arduino.ua/viewtopic.php?id=3444
треба уважно слідкувати де фаза, і не плутати ![]()
Мені треба тільки факт наявності напруги. Навіть 2 напруг на різних входах. Трансформатор, або блок живлення від старого телефона, теж нормально було б. Але це якось із пушки по горобцям.
Можна взагалі неонку і фоторезистор в чорну термоусадку
3 деталі, мінімальний струм, і розв"язка ![]()
Ну я розраховував на 10мА струму через оптрон. Якщо йому нормально вистачає 3 - ок ![]()
3мА * 220 В = 0.6 Вт. За рік - 5.7 кВт. Диністор коштує дешевше ![]()
Задача: визначити, є світло чи нема. Розв"язка обов"язкова.

Придумав таке рішення. Релаксаційний генератор на диністорі. Вхідний струм обмежений резистором на 1МОм (можна і більше). На виході - короткі імпульси. LED D4 - контрольний (можливо і не потрібен - ще не спаяв). Атомний реактор мікроконтроллер на схемі умовно не показаний ![]()
Ну якщо планується з"єднання пайкою, то можна просто не з"єднувати 3.3В піни. Якщо це те що повинно з"єднуватись як бутерброд, тоді ой. Вони там зовсім не тестують свої креативи? До того ж на 5В є якась схема с ключами і компараторами, а на 3.3В - як повезе.
Довго думав навіщо 2 ldo паралельно. Причому одинакові, але в різних корпусах. А потім врюхав що на платі 2 посадочних місця, а паяють те що знайшли в коробці ![]()

LM6206 віддає до 250 мА, навантажувати його не варто.
Щодо синтезу звуків - знайшов цікавий сайт, з теорією і прикладами
хттпс://cmtext.com/
Пищалка - не так просто як здавалось ![]()