avatar_Skrytyi_kachok

Стоп-сигнал на Arduino (+тормозной датчик Холла)

Автор Skrytyi_kachok, 28 Май 2014 в 17:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Skrytyi_kachok

Собрал систему управления стоп-сигналом на Ардуино Нано. В качестве концевика использовал уже установленный датчик холла отвечающий за регенеративный тормоз.
Знаю что подход совсем не является оптимальным, вешать ардуинку на стоп - это кощунство! Зато имеется большой задел для развития данного направления. Ведь ардуино позволяет легко воплотить большинство задумок в жизнь, без наличия особых навыков и усилий. Также возможно интегрировать различные другие световые драйвера, как-то поворотники, драйвер передней фары и тд. Мне кажется эта тема будет весьма полезна. Чтобы не быть голословным представляю первое изделие. Кстати, я человек далекий от электроники.

Не судите строго. Накидал схемы подручными средствами.
Итак, идея такова: сигнал с аналового холла поступает на ардуину, где сравнивается с прописанным опорным напряжением. При отклонении на заданную величину ардуина подает цифровй сигнал на один из своих пинов High (+5В) или Low (0В), соответственно стоп загорается или гаснет. Но напрямую светодиоды стопа к пинам ардуины подключать нельзя! Для этой цели нужно использовать либо реле, либо ключ на полевике (на цифровом фете). Сигнал управляет затвором полевика, на который мы вешаем свою нагрузку из светодиодов.

Сначала нужно подготовить Ардуино по такой схеме. Сигнальная нога холла подключается через резистор 1кОм к аналоговому (А0-А5) входу. Так же не забываем поставить конденсатор на 0.1мкФ (104), во избежании ложных срабатываний. У меня GND Ардуино и холла прозваниваются, на это стоит обратить внимание.


Далее необходимо залить скетч. Спасибо [b-b]telnet[/b-b] :hello:
int holl_in_pin = 7;     // номер порта к которому подключен выход холла
int stop_out_pin=3;  // номер порта для управления стопарем
float u_holl= 1.3;  // напряжение не нажатого холла, в вольтах
float min_u_increment= 0.2; // минимальный прирост напряжение для включения стопов, в вольтах
int val = 0;

void setup()
{
// Serial.begin(9600); // если хочется посмотреть  что выдает
   u_holl= (u_holl+min_u_increment)/0.0049; // вычисляем пороговое значение напряжения  при котором включать стопы  и преобразуем его
   int (u_holl); // преобразуем в целочисленное
   pinMode(stop_out_pin, OUTPUT); // настроим выбраный пин как выход
}

void loop()
{

  val = analogRead(holl_in_pin); // читаем значение  напряжение на холле  в диапазоне 0-5В ( результат 0-1023)
  // Serial.println(val); пишем в порт
 
  if (val > u_holl) // сравниваем  полученное значение  с холла с пороговым
  { // если  с холла больше -
  digitalWrite(13, HIGH);  //  зажигаем встроенный светодиод
  digitalWrite(stop_out_pin, HIGH); // выставляем  1 (+5) на  порту для управления стопарем
  }
  else  // если с холла меньше
  {
  digitalWrite(13, LOW);  //выключаем встроенный светодиод
  digitalWrite(stop_out_pin, LOW); //  выставляем 0 на  порту для управления стопарем
  }
 

  delay(100);  // задержка 100 миллисекунд
}

Думаю здесь не должно возникнуть никаких вопросов, но если возникнут напишите мне в ЛС ;-)

Далее ключ на полевике я собирал по этой схеме

Нашел ее в нете. Красным это мои поправки. У меня в сети 51 вольт и отсутствует дисишка, поэтому я пока выкрутился гашением избытка напряжение на резисторах. Т.е у меня отсутствует токоограничивающий резистор (см схему), взамен сразу на плюсовом проводе батареи висит сопротивление в 600 Ом (2шт по 1.2кОм в параллели). Которое ограничивает ток на уровне 0.05А, при падении напряжения в 35 вольт. По факту на схему ключа поступает всего 16 вольт. Поэтому используются детали, рассчитанные на низкое напряжение.

Дополнение
Чтобы несколько раз не постить одно и тоже, по кросс-ссылке можно увидеть практическую реализацию.
Rocky Mountain Flatline 2012. Надеюсь скоро начну новый проект на этой раме.

Проект из двухподвеса "Rocky Mountain" проект закрыт, элекроника пошла по барахолке.
Мой проект не связанный с ЭТ: Custom-case из алюминия "Dark Defender" закрыт (родился мертвым).

atlet

 :hello:
подскажите ,какого цвета провод идет от датчика холла отвечающий за регенеративный тормоз
или как обозначена точка подключения на плате контролера?

Skrytyi_kachok

[user]atlet[/user], на каждом контроллере свои точки подключения датчиков холла. Я использую Max-E. В любом случае, если у вас уже настроен регенеративный тормоз, нет ничего проще как отвести от уже установленного датчика, 1 проводок от сигнальной ноги холла, и подключить его к ардуино по схеме выше.
Rocky Mountain Flatline 2012. Надеюсь скоро начну новый проект на этой раме.

Проект из двухподвеса "Rocky Mountain" проект закрыт, элекроника пошла по барахолке.
Мой проект не связанный с ЭТ: Custom-case из алюминия "Dark Defender" закрыт (родился мертвым).

Grawer

Ясно, это просто тот же датчик был использован, а я уж подумал, что с контроллера сигнал взяли. :(
Было бы интересно если бы контроллер управлял светом. Ну фару и стоп и отдельно сделал, драйверы с ДХ использовал. У меня на стоп стоят отдеььные герконы, которые шунтируют токозадающее сопротивление. А на тормоз холлы стоят.
Меня идея света на задний ход занимает. Что бы когда включаешь задний ход, сзади загорался белый светик. Я понимаю насколько это глупо и бесполезно, но блин как это круто. Мало того что задний ход есть, так еще и лампочка загорается. )))))
Может кто знает как это можно воплотить, как взять сигнал с макс контроллера?