Skip to content

ATtiny85-based RPM and operating time counter for simplest spindles.

License

Notifications You must be signed in to change notification settings

kfmut/oboroty_narabotka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OborotyNarabotka

Функции

Считает обороты в минуту вращающегося вала мотора с помощью диска с прорезями/сверлениями и оптического датчика. Также выполняет подсчёт наработки мотора.

Код прошивки

Исходник под фреймворк Arduino

Проект EasyEDA

https://oshwlab.com/kfmutrus/k-1-03_oboroty_narabotka

Схема

Схема устройства в PDF-формате

Плата

Бордвью

Спецификация(BOM)

Полная спецификация с артикулами по "Чип-и-Дип"

Сокращённый вариант:

Designator Name Quantity Manufacturer Manufacturer Part
C1 0u1 / 50V 1 Murata GRM319R71H104KA01J
C2 10u / 10V 1 NoName SMD-A
C3,C4 22p / 50V 2 Murata GRM3165C1H220JD01D
C5 1u / 50V 1 Murata GRM31MR71H105KA88L
C6 10n / 50V 1 Murata GRM319R71H103KA01D
CON_I2C MW-4M 1 Connfly DS1066-4MVW6X
CON_PWR CWF-2MR 1 Connfly DS1069-2MRW6SA
D1 MBR0520L 1 ON Semiconductor MBR0520L
F1 MF-MSMF014 / 140mA 1 Bourns MF-MSMF014
LED_PW LED-3216 1 NoName LED-3216
R1,R2 4k7 2 NoName 1206
R3 6k2 1 NoName 1206
R4 180 1 NoName 1206
R5 2k2 1 NoName 1206
SW_DBG PLS-2 1 Connfly DS1021-1*2SF11-B
U1 ATtiny85-20PU 1 Atmel ATtiny85-20PU
U2 LP2985 1 Texas Instruments LP2985AIM5X-5.0/NOPB
U3 TCST1103 1 Vishay TCST1103
X1 16MHz 1 NoName HC-49S

Расчёт числа секторов на диске

На ATTtny85 программа выдаёт около 80k отсчётов в секунду. Для уверенного измерения оборотов необходимо 3-4 отсчёта на каждое состояние(прорезь/диск), поэтому максимальное число состояний в секунду 20k-27k. Для 24k оборотов вала мотора, 400 оборотов в секунду, имеем максимум в 34( (27000/400)/2 ) прорези на диске.

Для получения минимального количества прорезей нужно определиться с приемлемой погрешностью на минимальных измеряемых оборотах в заданном периоде сэмплирования(SMPLNG_PRD). Допустим, минимальные обороты в минуту 1k5, период сэмплирования 0.3с и погрешность измерения 0.5%. Оборотов в секунду - 25, оборотов за период сэмплирования - 7.5, погрешность - 0.0375 оборота. Погрешность соответствует одному(двум?) состояниям за период сэмплирования, соответственно:

0.0375 * 2 * <число_прорезей> = 1
<число_прорезей> = 1 / 0.075 = 13.(3)
DISK_HLS = 14

Если берём период сэмплирования 1с, погрешность - 0,125 оборота:

0.125 * 2 * <число_прорезей> = 1
<число_прорезей> = 1 / 0.25 = 4
DISK_HLS = 4

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

Учёт наработки

Наработка считается, если обороты мотора превышают заданное значение RPM_LIMIT. Посчитанная наработка сбрасывается, если длительность останова превысила заданное значение ZERO_BRK.

Отображение результатов работы

Результаты отображаются на ЖКД-дисплеи типоразмера 1602 подключенного по протоколу I2C. Длительность выведения результатов на ATtiny85 около 1/3 секунды.

Отображение отладочной информации

Если на ATtiny85 отключить функцию сброса МК(НЕ рекомендуется!!!) на пине PB5, то вместо наработки, при замыкании(?) этого пина на землю будет отображаться отладочная информация: учтённая длительность сэмплирования, количество полных смен состояния, общее количество отсчётов за период сэмплирования.

Автор

kfmut, 2021г

Лицензия

Creative Commons Zero v1.0 Universal

About

ATtiny85-based RPM and operating time counter for simplest spindles.

Resources

License

Stars

Watchers

Forks

Languages