Commit d2480059 authored by Oleg Nikulin's avatar Oleg Nikulin

Добавлен readme с описанием работы платы и скрипта

parent a18376e6
У платы есть 3 группы по 2 вентилятора. Тремя группами можно управлять независимо друг от друга, но нельзя отдельно управлять вентиляторами в одной группе. Скорость вращения всех 6 вентиляторов измеряется независимо.
Скорость вентиляторов контролируется скважностью ШИМ сигнала. Связь с пк осуществляется по serial порту. При потере связи, вентиляторы включаются на максимум. Также на плате предусмотрен вход для собственного датчика температуры, что позволяет сделать автономную работу без связи.
## Что сделано на данный момент
Плата периодически шлет запросы к пк. В этом же запросе отправляются обороты вентиляторов (об/мин) и debug (текущие значения скважности ШИМ, от 0 до 255). В ответ на запрос, пк отправляет от 1 до 3 чисел, которые интерпретируются платой в зависимости от прошивки.
При потере связи с пк, вентиляторы включаются на максимум.
#### 3 варианта прошивки платы:
- Поддержание температуры (**hddtmepserial**, в будущем основная прошивка): плата считает что числа, принимаемые от пк - это текущая температура диска(ов). В прошивке заданы температуры, которые нужно поддерживать. Плата стремится привести текущую температуру к заданному значению, при помощи PID регулятора меняя скорость вращения вентиляторов.
- Поддержание скорости вращения (**hddtmepserial_rpm**, тестовая прошивка): плата считает что числа, принимаемые от пк - это требуемая скорость вращения первого вентилятора в каждой из 3 групп. Плата стремится поддерживать заданные обороты при помощи PID регулятора.
- Установка скважности ШИМ (**hddtmepserial_dutyCycle**, тестовая прошивка): плата считает что числа, принимаемые от пк - это требуемая скважность ШИМ для каждой из групп вентиляторов. Скважность (от 0 до 255) напрямую устанавливается для каждой группы.
## Использование скрипта
Запустить hddtemp в фоновом режиме (нужно чтобы скрипт узнавал температуру диска):\
`#hddtemp -d`
Запустить скрипт:\
`$python3 hddtempserial.py [-h] [-m] [SERIAL] [SPEED]`
В обычном режиме скрипт шлет в плату температуру диска, полученную от hddtemp.\
Запуск скрипта в обычном режиме:\
`$python3 hddtempserial.py /dev/ttyUSBx 19200`
В ручном режиме можно вводить от 1 до 3 чисел через запятую. Эти числа отправляются в плату.\
Запуск скрипта в ручном режиме:\
`$python3 hddtempserial.py -m /dev/ttyUSBx 19200`
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment