Список форумов JAWAold.su JAWAold.su
Форyм клуба JAWAold
 
 FAQFAQ   ПОИСКПОИСК   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Клуб Техника Гараж Книги Галерея Путешествия Ссылки

Спидометр и тахометр на шаговом двигателе

На страницу Пред.  1, 2, 3, 4, 5, 6
Начать новую тему   Ответить на тему    Список форумов JAWAold.su -> Электрика
Предыдущая тема :: Следующая тема  
Автор Сообщение
andrew-6676

Пионер


Регистрация: 05.03.2015
Сообщения: 3
Темы: 0
Откуда: Витебск
Мото: Jawa-638 86г., Yamaha TDM-850-2


СообщениеДобавлено: 05 Мар 2015 11:58    Заголовок сообщения: Ответить с цитатой

почти собрал похожий прибор: спидометр+тахометр+мини-бортовик. Одна беда - сильно жужжит при вращении редуктор шагового двигателя (он новый - X27.589 X25.589 ). Он должен жужжать? Или масла в него влить какого? просто не держал в руках подобных моторов...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AGR

Мастер


Регистрация: 09.03.2004
Сообщения: 1858
Темы: 84
Откуда: Полоцк, Беларусь
Мото: пока нет :(


СообщениеДобавлено: 05 Мар 2015 12:09    Заголовок сообщения: Ответить с цитатой

Сильно жужжит - понятие относительное. Должен издовать небольшой звук, но что-бы сильно ... Любой шаговик от принтера и прочего гораздо больше шума издаёт. Может алгоритм управления какой корявый ?
У меня в полношаговом режиме даже во время инициализации, когда стрелка в ограничитель упирается не сказать что сильно шумит.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andrew-6676

Пионер


Регистрация: 05.03.2015
Сообщения: 3
Темы: 0
Откуда: Витебск
Мото: Jawa-638 86г., Yamaha TDM-850-2


СообщениеДобавлено: 05 Мар 2015 12:37    Заголовок сообщения: Ответить с цитатой

С алгоритмом поколдую. Попробую полушаг - в таком режиме должно быть плавнее, тише, но медленнее? А как быстро Ваша стрелка от 0 до максимума двигается (сколько времени прмерно). Моя от 0 до максимума (градусов 250, шагов 500 примерно) секунду где-то ползёт - вот думаю это нормально или медленно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AGR

Мастер


Регистрация: 09.03.2004
Сообщения: 1858
Темы: 84
Откуда: Полоцк, Беларусь
Мото: пока нет :(


СообщениеДобавлено: 05 Мар 2015 19:05    Заголовок сообщения: Ответить с цитатой

andrew-6676 писал(а):
С алгоритмом поколдую. Попробую полушаг - в таком режиме должно быть плавнее, тише,


Полушаг для этого мотора невозможен - статор с нечётным количеством полюсов, только полный шаг, либо микрошаг.

andrew-6676 писал(а):

но медленнее? А как быстро Ваша стрелка от 0 до максимума двигается (сколько времени прмерно).


по даташиту 600 шагов в секунду максимальная скорость.

andrew-6676 писал(а):


Моя от 0 до максимума (градусов 250, шагов 500 примерно) секунду где-то ползёт - вот думаю это нормально или медленно?


что-то не то, 0.3 градуса шаг для этого мотора, что-бы стрелку повернуть на 250 градусов надо сделать 750 шагов, а никак
не 500.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andrew-6676

Пионер


Регистрация: 05.03.2015
Сообщения: 3
Темы: 0
Откуда: Витебск
Мото: Jawa-638 86г., Yamaha TDM-850-2


СообщениеДобавлено: 05 Мар 2015 20:49    Заголовок сообщения: Ответить с цитатой

В общем всё нормально работает. Громко жужжит при частой смене направлений и при частых стартах/остановках, а при непрерывном движении очень даже тихо. Вот оно: http://youtu.be/UiKPXbwircI
на видео мотор делает по 500 шагов в одну и другую строну - почти три четветри круга! Скорость - 500 шагов в секунду ( по 2 миллисекунды на шаг).

И как кто решает такой вопрос: внезапное отключение зажигания, например, на полном газу - как стрелку в 0 возвращать? Я хочу попробовать питать контроллер от ионистора ) пары секунд должно хватить на возвращения всего в 0 и записи данных в память.[/url]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tuvotka

Пионер


Регистрация: 16.03.2015
Сообщения: 2
Темы: 0
Откуда: Хата
Мото: Минск


СообщениеДобавлено: 16 Мар 2015 01:31    Заголовок сообщения: Ответить с цитатой

Уважаемые форумчане. Очень интересная тема здесь поднята. Может кто-то может поделиться кусочком кода на Си, как, шаговый двигатель движется вперед-назад в зависимости от входных импульсов. Мне просто как-то трудно представить, как будет успевать шаговый двигатель по показателям, так и обратной связи нет. И во время написанння этого вопроса у меня возникло еще один: Получается что шаговый двигатель или скорее крутится вперед или назад когда сравнив, что входное значение меньше предыдущего? И вот еще что: Я так понимаю, что лучше не считать количество импульсов на входе в единицу времени, а считать количество циклов внутреннего таймера за определенное количество импульсов. Поправьте меня если я ошибаюсь в чем-то.
Перекладено Google'ом.

Добавлено спустя 4 минуты 19 секунд:

andrew-6676 писал(а):
В общем всё нормально работает. Громко жужжит при частой смене направлений и при частых стартах/остановках, а при непрерывном движении очень даже тихо. Вот оно: http://youtu.be/UiKPXbwircI
на видео мотор делает по 500 шагов в одну и другую строну - почти три четветри круга! Скорость - 500 шагов в секунду ( по 2 миллисекунды на шаг).

И как кто решает такой вопрос: внезапное отключение зажигания, например, на полном газу - как стрелку в 0 возвращать? Я хочу попробовать питать контроллер от ионистора ) пары секунд должно хватить на возвращения всего в 0 и записи данных в память.[/url]


В заводских тахометр выставляется на ноль (шаговый двигатель упирается в исходное положение) в начале включения прибора. Так, что я считаю проще при включении выставлять на ноль, чем во время выключения.
Перекладено Google'ом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AGR

Мастер


Регистрация: 09.03.2004
Сообщения: 1858
Темы: 84
Откуда: Полоцк, Беларусь
Мото: пока нет :(


СообщениеДобавлено: 16 Мар 2015 17:54    Заголовок сообщения: Ответить с цитатой

Я сделал некоторое количество приборов (спидометры и тахометры) на pic12f675 - было некоторое количество в запасе. Алгоритм следующий :
конфигурим tmr1 без делилителя (сам контроллер тактируется от внутреннего RC генератора частотой 4 мгц, инкримент tmr1 через 1us.
Для тахометра. считаем сколько натикал tmr1 за время между импульсами с датчика зажигания, если бсз однокнальная, то каждый импульс будет
через каждые пол оборота коленвала, если двуканальная, то через каждый полный оборот. За минуту таймер натикает 60 000 000 , если это значение поделить на тики таймера между импульсами с датчика зажигания в результате получим значение оборотов в минуту. (для одноканальной системы зажигания делимое 30 000 000)
Но нам нужно не значение оборотов в минуту, а количество шагов мотора для поворота стрелки на необходимый угол в соответствии со шкалой. Допустим у нас линейная шкала от 0 до 10 000 оборотов в минуту. Полный разворот шкалы 270 градусов. Шаговый мотор SWITEC,
которые я использовал в своих самоделках за 3 шага поворачивает стрелку на один градус.
270 * 3 = 810 (270 - полный разворот шкалы, 3 - шагов мотора на один градус) 810 шагов надо сделать мотору для того что-бы передвинуть стрелку от 0 до 10 000 оборотов на шкале.

60 000 000 / (10 000 / 810) = 4 860 000 константа для 1 импульс зажигания на 1 оборот коленвала (двуканальная система зажигания)
30 000 000 (10 000 / 810) = 2 430 000 константа для 2 импульса зажигания на 1 оборот коленвала (одноканальная система зажигания)

дак вот, если эти константы делить на тики tmr1 между импульсами зажигания, то в результате получаем количество шагов необходимое для того что=бы стрелка показала результат на нашей шкале.

теперь управление шаговиком. настраиваю прерывания по переполнению tmr0, делитель настроен на необходимую скорость
мотора для спидометра помедлений, для тахометра побыстрей. При каждой обработки прерывания сравниваю результат расчёта шагов на который нужно повернуть стрелку и переменну в которую занесено текущее положение стрелки, по результату даю команду шаг вперёд или шаг назат или стоять на месте.

инициализация. при подачи питания на прибор гоню стрелку влево на сотни две шагов, что=бы она гарантировано указала на 0, там она тупо опирается в ограничитель и никуда не шагает, кстати стрелка чуть леве чем ноль на шкале, потом даю команду вправо на несколько шагов (промежуток от ограничителя до 0 на шкале) и обнуляю переменную расчётное положение стрелки. (считается что стрелка указывает на 0 шкалы)
ну обычно она и указывает Улыбка готовы к измерениям. При отключении питания контроллер запитан от ёмкости в 4700 - его заряда хватает что-бы вернуть стрелку на 0 при обесточивании устройства. Ну и всякие мелочи типа переполнение tmr1 при остановке двигателя.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Tuvotka

Пионер


Регистрация: 16.03.2015
Сообщения: 2
Темы: 0
Откуда: Хата
Мото: Минск


СообщениеДобавлено: 19 Мар 2015 22:52    Заголовок сообщения: Ответить с цитатой

Спасибо, AGR. Буду пробовать восстановить мертвый тахометр. Перекладено Google'ом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Valter71

Профи


Регистрация: 02.09.2007
Сообщения: 311
Темы: 2
Откуда: Украина Луганск
Мото: ЯВА 350-638


СообщениеДобавлено: 01 Май 2015 20:20    Заголовок сообщения: Ответить с цитатой

AGR писал(а):
Я сделал некоторое количество приборов (спидометры и тахометры) на pic12f675 - было некоторое количество в запасе.

Инфой (схемой, прошивкой) поделитесь? Или проект закрытый? Я понимаю рынок и всё такое потому без обид.

_________________
головой не только кушают
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AGR

Мастер


Регистрация: 09.03.2004
Сообщения: 1858
Темы: 84
Откуда: Полоцк, Беларусь
Мото: пока нет :(


СообщениеДобавлено: 02 Май 2015 09:53    Заголовок сообщения: Ответить с цитатой

Да не закрытый... надо просто оформит всё боле менее ...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Valter71

Профи


Регистрация: 02.09.2007
Сообщения: 311
Темы: 2
Откуда: Украина Луганск
Мото: ЯВА 350-638


СообщениеДобавлено: 12 Май 2015 20:23    Заголовок сообщения: Ответить с цитатой

AGR писал(а):
Да не закрытый... надо просто оформит всё боле менее ...

Готов помочь в оформлении схемы в сплане и гифе, могу развести печать в спринтлэе. Какие проблемы? Вам останется хекс приложить.
Или уже не ждать?
И да, если шаговики (кстати какие?) не особо доставабельны то затея провальна.

_________________
головой не только кушают
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AGR

Мастер


Регистрация: 09.03.2004
Сообщения: 1858
Темы: 84
Откуда: Полоцк, Беларусь
Мото: пока нет :(


СообщениеДобавлено: 12 Май 2015 21:19    Заголовок сообщения: Ответить с цитатой

Шаговики SWITEC я писал про них в этой ветке. Сможете их достать ?
Хотя в продаже есть куча подобных движков, как тока будет моторчик у кого либо на руках, пишете, начнём ...

даташит на моторчик http://agr.ucoz.lv/dashstep/switecxc5.pdf
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
brat4791

On-Line


Регистрация: 10.12.2022
Сообщения: 1
Темы: 0
Откуда: Братск
Мото: нет


СообщениеДобавлено: 10 Дек 2022 20:17    Заголовок сообщения: Ответить с цитатой

НЕ ССУДИТЕ СТРОГО В ЭТОМ НОВИЧЕК
пытаюсь написать скетч для тахометр спидометр через библиотеку // 1 July 2022 Rev.1 adds include of Wire.h -jkl
// Adds support for a4988 driver for VID2905 stepper motor. Provides Tachometer reading.
// 12 November 2022 by jkl
////////////////////////////////////////////////////////////////////////////////////////////
// Скетч для работы на Ардуино Mega2560 PRO mini
// Либо отдельным пином сигнала OBD get OBD data(OBD_RPM) изучаю код написания
// Либо отдельным пином сигнала OBD get OBD data(OBD_SPD). изучаю код написания
// Считывается информация с кода данных OBD1 getOBDdata подключение считывания с
tachStepper.moveTo((long)(map(getOBDdata(OBD_RPM), 0, MAX_RPM_RANGE, 1, STEPS_PER_REVOLUTION * uSteps * 2)));
(OBD_SPD)
// При запуске скетча задействовать режим тест стрелок с последующем вкл в рабочий режим

// Установка выводов
const int dirPin = 28;
const int stepPin = 26;
const int en = 30; // задействовать .
const int stepsperevolution = 300;
const int dirPin1 = 50;
const int stepPin1 = 48;
const int en1 = 47; // задействовать .
const int stepsperevolution1 = 300;
// подключаем библиотеку
#include <AccelStepper.h>

// модифицирован для шагового двигателя и контроллера тахометра
AccelStepper tachStepper(AccelStepper::DRIVER, stepPin, dirPin); // works for a4988 (Bipolar, constant current, step/direction driver)
const long STEPS_PER_REVOLUTION = 315; // for the VID2905 stepper
// Set this value based on a4988 configuration.
// 1 = full step, 2 = 1/2 step, 4 = 1/4 step, 8 = 1/8 step
const int uSteps = 2; // micro step rate
const int MAX_RPM_RANGE = 7000; // Maximum RPM range to display for your car

// модифицирован для шагового двигателя и контроллера спидометр
AccelStepper spdStepper(AccelStepper::DRIVER, stepPin, dirPin); // works for a4988 (Bipolar, constant current, step/direction driver)
const long STEPS_PER_REVOLUTION1 = 315; // for the VID2905 stepper
// Set this value based on a4988 configuration.
// 1 = full step, 2 = 1/2 step, 4 = 1/4 step, 8 = 1/8 step
const int uSteps1 = 2; // micro step rate
const int MAX_RPM_RANGE1 = 7000; // Maximum RPM range to display for your car

void setup() {

tachStepper.setMaxSpeed(250 * uSteps); // these valuses seem to work for VID2905
tachStepper.setAcceleration(250 * uSteps);
tachStepper.runToNewPosition(-300 * uSteps); // move to zero position
tachStepper.runToNewPosition(10 * uSteps); // now move needle almost to zero -- tach is ready to use.
delay(1000);

spdStepper.setMaxSpeed(250 * uSteps); // these valuses seem to work for VID2905
spdStepper.setAcceleration(250 * uSteps);
spdStepper.runToNewPosition(-300 * uSteps); // move to zero position
spdStepper.setCurrentPosition(0); // set as 0 rpm reference
spdStepper.runToNewPosition(10 * uSteps); // now move needle almost to zero -- tach is ready to use.
delay(1000);
} // END VOID SETUP.

void loop(void) {

// код для tachStepper
// код для spdStepper

}
tachStepper.run();
spdStepper.run();
}
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение AIM Address
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов JAWAold.su -> Электрика Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5, 6
Страница 6 из 6

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group