Трекшен контроль

1. изготовлю сам

  1. разработка? скетч длинной в 10 строк - “можно рассчитывать на цену в 3-5 раз дороже серийного изделия”
  2. нет таковых

сравнивать интервал между импульсами от датчиков АБС, усреднять, и зажигать лампочку при расхождении - вот то, что мне надо.

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

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

так что скорее всего здесь я могу получить набросок скетча, не более

но эти 10 строк уж точно не могут стоить 20к

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

Предлагаю вам блок тракшн контроля-курсовой устойчивости от своего моцика Ямаха. Бесплатно.Ставите и рулите .Делов-то. Чуть чуть поткалибровать. В любом мотосервисе подкалибруют. А если есть компьютер - то вы и сами все сделаете. Знания у Вас имеюца.И,замечу, не начального уровня . А на этих всех троллей не обращайте внимания.

добрый вечер. можно подробнее? что за блок, почему снимаете?

1 лайк

Не подошел.

не совсем понятно) это не заводское изделие? где находитесь? ну и бесплатно за такую штуку не очень “правильно”

Заводской. Самовывоз из Таиланда.

2 лайка

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

Но у вас же все есть ! Датчики , питание ,ЕБУ! Или вам всю элетрику с колесами надо?
По-моему Вы нас тут всех троллите.
Ну тогда 10 строк кода и ардуино вам в помощь.

2 лайка

убиваться, так убиваться))
предлагаю код, за 3т.р.
при условии отправки и наличие чека в любой детский дом на территории РФ.
код не полный, без настройки тактирования и таймеров, основной функционал понятен.
рассчитан на популярную плату BluePill.
полный код, после чека.

автор не несет ответственности за применение и последствия кода в личных и противоправных деяниях.
Спойлер
#include "stm32f1xx_hal.h"

// Определения
#define LED_PIN GPIO_PIN_13
#define LED_PORT GPIOC

// Структуры таймеров
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;

// Переменные для хранения счетчиков
volatile uint32_t last_counter1 = 0;
volatile uint32_t last_counter2 = 0;
volatile uint32_t current_counter1 = 0;
volatile uint32_t current_counter2 = 0;

// Функция инициализации
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM2_Init(void);
static void MX_TIM3_Init(void);

int main(void)
{
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_TIM2_Init();
    MX_TIM3_Init();
    
    // Запуск таймеров в режиме счетчика
    HAL_TIM_IC_Start(&htim2, TIM_CHANNEL_1);
    HAL_TIM_IC_Start(&htim3, TIM_CHANNEL_1);
    
    uint32_t last_check_time = HAL_GetTick();
    uint8_t led_state = 0;
    
    while (1)
    {
        // Читаем текущие значения счетчиков каждые 50 мс
        if (HAL_GetTick() - last_check_time >= 50)
        {
            last_check_time = HAL_GetTick();
            
            // Сохраняем предыдущие значения
            last_counter1 = current_counter1;
            last_counter2 = current_counter2;
            
            // Читаем текущие значения из таймеров
            current_counter1 = __HAL_TIM_GET_COUNTER(&htim2);
            current_counter2 = __HAL_TIM_GET_COUNTER(&htim3);
            
            // Вычисляем разницу за последний период
            uint32_t diff1 = (current_counter1 >= last_counter1) ? 
                            (current_counter1 - last_counter1) : 
                            (0xFFFFFFFF - last_counter1 + current_counter1 + 1);
            
            uint32_t diff2 = (current_counter2 >= last_counter2) ? 
                            (current_counter2 - last_counter2) : 
                            (0xFFFFFFFF - last_counter2 + current_counter2 + 1);
            
            // Сравниваем разницу (защита от деления на 0)
            if (diff1 > 0 || diff2 > 0)
            {
                float percentage_diff;
                
                if (diff1 > diff2)
                {
                    percentage_diff = ((float)(diff1 - diff2) / diff1) * 100.0f;
                }
                else if (diff2 > diff1)
                {
                    percentage_diff = ((float)(diff2 - diff1) / diff2) * 100.0f;
                }
                else
                {
                    percentage_diff = 0.0f;
                }
                
                // Если разница больше 10% - включаем светодиод
                if (percentage_diff > 10.0f)
                {
                    HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_RESET); // LED ON для PC13 (активный 0)
                    led_state = 1;
                }
                else
                {
                    HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET); // LED OFF для PC13
                    led_state = 0;
                }
            }
            else
            {
                // Если нет импульсов - гасим светодиод
                HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET);
                led_state = 0;
            }
        }
        
        HAL_Delay(1);
    }
}

// Конфигурация системного тактирования
void SystemClock_Config(void)

Кстати , в 69 строке значение великовато. Да и не учтены диаметры переднего и заднего колеса ТСа!

датчики абс конечно, питание?? вы тоже не в курсе как работает датчик абс)) ебу нету, карбулятор у меня, аж 4шт. так что от вас как и говорил максимум заготовку скетча

это предмет торга)

Да нет , откуда могем знать . Мы тут на форуме бабло с лохов и без знаний стригйом(стрижьем) на рас.
А вы расскажите нам как они работают! Пжлста!

2 лайка

много настригли?

а ардуино не потянет?

Потянет. Ага , Прям в кувейт или кьювет!

  • еще 3 т.р
    так на секундочку, BluePill в какой то мере, тоже полноценный “ардуино”.