Страница 2 из 4
Re: Нужна помощь с Переменным резистором
Добавлено: 27 фев 2026, 14:27
Gennadij2
я здесь на сайте почитал немного, нашёл, вроде получается.
Re: Нужна помощь с Переменным резистором
Добавлено: 27 фев 2026, 16:02
montirovka
Примерно переделал проект в FLProg 9.6.9.
2026-02-27_15-57-33.png
Значения поставил по центру.
2026-02-27_16-11-18.png
Re: Нужна помощь с Переменным резистором
Добавлено: 28 фев 2026, 00:06
Gennadij2
montirovka писал(а): 27 фев 2026, 16:02
Примерно переделал проект в FLProg 9.6.9.
2026-02-27_15-57-33.png
Значения поставил по центру.
2026-02-27_16-11-18.png
Огромное спасибо!!! сегодня не успею, завтра дальше продолжу.
Re: Нужна помощь с Переменным резистором
Добавлено: 01 мар 2026, 14:34
Gennadij2
Привет,
ещё раз огромное Спасибо.
Разобрался с дисплеем всё сделал но теперь другая проблема, между резистором и червячным валом есть маленький зазор всегда показывает разное показание.
надо что-нибудь другое пробывать.
у меня такой вопрос: можно ли AS5600 настроить так, ни 0-360* а к примеру 10 оборотов и так подсчитать расстояние.
Магнит прикрепить сразу на вал.
Re: Нужна помощь с Переменным резистором
Добавлено: 01 мар 2026, 15:20
montirovka
Gennadij2 писал(а): 01 мар 2026, 14:34
Привет,
ещё раз огромное Спасибо.
Разобрался с дисплеем всё сделал но теперь другая проблема, между резистором и червячным валом есть маленький зазор всегда показывает разное показание.
надо что-нибудь другое пробывать.
у меня такой вопрос: можно ли AS5600 настроить так, ни 0-360* а к примеру 10 оборотов и так подсчитать расстояние.
Магнит прикрепить сразу на вал.
Я думаю с программной корректировкой получится.
А можно другую сторону редуктора увидеть?
Я бы к предыдущей шестерни привязался бы. Или датчик холла, или оптодатчик . К шестерни приклеиваете типа цветочка. Оптодатчик пусть считает лепестки. Единственное что надо будет это направление движения завести в проект.
Re: Нужна помощь с Переменным резистором
Добавлено: 01 мар 2026, 15:52
Gennadij2
Леска 2,5м
Re: Нужна помощь с Переменным резистором
Добавлено: 01 мар 2026, 16:14
montirovka
Что я не понял вашу конструкцию. А кто вращает вал? Стоит пружина обратная ? Что то типа рулетки?
2.5 метра лески намотаны на вал. Явно будет какая то зависимость линейная от того сколько лески осталось на валу.
Свободный ход можно убрать подпружинив вал резистора.
Re: Нужна помощь с Переменным резистором
Добавлено: 01 мар 2026, 17:11
Gennadij2
Да как рулетка. Если получится с магнитом то я переделаю конструкцию леска будет проходить через два калёсика надо ещё подумать.
Re: Нужна помощь с Переменным резистором
Добавлено: 02 мар 2026, 07:49
montirovka
Попросил Алису сделать примерный скетч: -
Алиса, нужен скетч для угла поворота и количества оборотов для Arduino UNO подключенный к датчику AS5600.
По скетче можно понять как сделать взаимодействие с датчиком AS5600.
Показать
Разберу задачу пошагово и предоставлю полный скетч для Arduino UNO с датчиком AS5600.
Подключение компонентов
AS5600 → Arduino UNO:
VDD → 5 V;
GND → GND;
SDA → A4 (или пин 20 на Mega);
SCL → A5 (или пин 21 на Mega).
Требования к магниту:
полярность N/S в горизонтальной плоскости;
воздушный зазор: 0,5–3 мм (зависит от силы магнита).
Необходимые библиотеки
Установите библиотеку AS5600 от RobTillaart через менеджер библиотек Arduino IDE (меню Скетч → Подключить библиотеку → Управлять библиотеками).
Скетч для измерения угла поворота и подсчёта оборотов
cpp
#include <Wire.h>
#include "AS5600.h"
AS5600 as5600;
// Переменные для подсчёта оборотов
int lastRawAngle = 0;
int currentRawAngle = 0;
long totalRotations = 0;
float totalAngleDegrees = 0.0;
void setup() {
Serial.begin(115200);
Wire.begin();
// Инициализация датчика
if (!as5600.begin()) {
Serial.println("Ошибка: не удалось найти датчик AS5600, проверьте подключение!");
while (1); // Зависание при ошибке
}
Serial.println("AS5600 успешно подключён!");
// Настройка направления (по часовой стрелке)
as5600.setDirection(AS5600_CLOCK_WISE);
// Проверка подключения
int connectionStatus = as5600.isConnected();
Serial.print("Статус подключения: ");
Serial.println(connectionStatus);
delay(1000);
// Инициализируем последний угол
lastRawAngle = as5600.rawAngle();
}
void loop() {
// Чтение сырого угла (0–4095, 12-бит)
currentRawAngle = as5600.rawAngle();
// Подсчёт оборотов через анализ переходов через 0/4095
int angleDiff = currentRawAngle - lastRawAngle;
if (angleDiff > 2048) {
// Переход с 4095 на 0 (против часовой стрелки)
totalRotations--;
} else if (angleDiff < -2048) {
// Переход с 0 на 4095 (по часовой стрелке)
totalRotations++;
}
// Обновление последнего угла
lastRawAngle = currentRawAngle;
// Расчёт общего угла в градусах
totalAngleDegrees = totalRotations * 360.0 + (currentRawAngle / 4096.0 * 360.0);
// Вывод данных в монитор порта
Serial.print("Сырой угол: ");
Serial.print(currentRawAngle);
Serial.print(" (");
Serial.print(currentRawAngle * 360.0 / 4096.0, 2);
Serial.print("°), ");
Serial.print("Обороты: ");
Serial.print(totalRotations);
Serial.print(", ");
Serial.print("Общий угол: ");
Serial.print(totalAngleDegrees, 2);
Serial.println("°");
delay(100); // Задержка для читаемости вывода
}
Пояснения к коду
Инициализация:
as5600.begin() — инициализирует датчик;
setDirection() — задаёт направление вращения (по часовой стрелке).
Подсчёт оборотов:
отслеживает переходы через границу 0/4095;
при резком скачке угла (больше 2048 или меньше −2048) фиксирует полный оборот;
учитывает направление вращения.
Расчёты:
сырой угол: 0–4095 (12-бит, 4096 шагов на оборот);
перевод в градусы: угол=сырой угол/4096×360
∘
;
общий угол: обороты×360
∘
+текущий угол.
Вывод данных:
сырой угол (0–4095);
текущий угол в градусах (0–360°);
количество полных оборотов;
общий накопленный угол.
Как использовать
Соберите схему согласно разделу «Подключение компонентов».
Установите библиотеку AS5600 через менеджер библиотек Arduino IDE.
Загрузите скетч в Arduino UNO.
Откройте Монитор порта (Ctrl+Shift+M) со скоростью 115200 бод.
Поворачивайте магнит над датчиком — в мониторе порта будут отображаться:
текущий угол поворота;
количество оборотов;
суммарный угол вращения.
Возможные улучшения
Калибровка: используйте setZPosition() и setMPosition() для точной настройки диапазона.
Фильтрация: добавьте усреднение значений для снижения шума.
Сохранение данных: записывайте значения на SD‑карту или передавайте по Bluetooth/Wi‑Fi.
Графики: визуализируйте данные в Serial Plotter Arduino IDE или Processing.
Re: Нужна помощь с Переменным резистором
Добавлено: 02 мар 2026, 10:06
Gennadij2
Для меня это тёмный лес, как это всё в FlProg занести. я заказал детали сегодня прети должны.
я нашёл ещё <10-Gang Präzisions-Potentiometer 100 - 10k Ohm – Multiturn Feinjustierung Bourns> я так понял он крутится на 10 оборотов, он завтра придёт.
Re: Нужна помощь с Переменным резистором
Добавлено: 02 мар 2026, 12:34
montirovka
Не надо ни куда заносить. Просто принцип. Создаете переменную. Ее значение равно текущему значению. Далее к этому значению прибавляете по единице при изменении значения на градус, если значение увеличивается или отнимаете - если уменьшается значение.
И Алиса расписала некоторые нюансы.
С многооборотным резистором будет гораздо проще сделать вам проект.
Re: Нужна помощь с Переменным резистором
Добавлено: 02 мар 2026, 21:54
Gennadij2
Спасибо за помощь.
Датчик сегодня привезли. Буду ждать резистор обещали завтра.
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 07:29
montirovka
А какой номинал резистора заказали?
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 10:49
Gennadij2
10k Ohm
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 18:19
montirovka
Gennadij2 писал(а): 03 мар 2026, 10:4910k Ohm
С подключением сопротивления проблем не будет. Я имел ввиду что ток, протекающий через сопротивление при подключении к питанию контроллера, не вызовет большого тока и не приведет к нагреву сопротивления выше допустимого значения.
Здесь я сделал простой проект для вашего проекта на AS5600.
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 20:00
Gennadij2
Спасибо большое
Жду когда резистор привезут обещали сегодня но нет.
Буду два варианта пробовать.
Вопрос, можно два варианта в один проект сделать? Нужна точность, погрешность +-1мм не более желательно.
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 20:14
montirovka
Gennadij2 писал(а): 03 мар 2026, 20:00
Спасибо большое
Жду когда резистор привезут обещали сегодня но нет.
Буду два варианта пробовать.
Вопрос, можно два варианта в один проект сделать? Нужна точность, погрешность +-1мм не более желательно.
Если вы сможете закрепить и то и то, то можно. Мне кажется большую погрешность леска будет давать. Наверное стальку ставить надо.
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 20:52
Gennadij2
Думаю с крепежом проблем не будет. Если что новый корпус сделаю. Есть 3д принтер и Soldworks. С программировать проблема.
Re: Нужна помощь с Переменным резистором
Добавлено: 03 мар 2026, 22:46
Gennadij2
Ещё вопрос кокой контролёр лучше взять?
Re: Нужна помощь с Переменным резистором
Добавлено: 04 мар 2026, 07:04
montirovka
Gennadij2 писал(а): 03 мар 2026, 22:46
Ещё вопрос кокой контролёр лучше взять?
Попробуйте на разных, а потом сделайте выводы. Главное не забывать о значении напряжении питания. Там где питание контроллера 3.3 вольта, подавать на сопротивление и плату AS5600 3.3 вольта. При это на дисплей LCD 1602 или подобный, подавать питание 5 вольт.