PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Для новичков (http://pccar.ru/forumdisplay.php?f=9)
-   -   Управление нагрузкой с помощью Arduino (http://pccar.ru/showthread.php?t=11667)

Except 19.03.2010 10:29

Управление нагрузкой с помощью Arduino
 
Подкажите схему подключения цифрового вывода ардуины, чтобы этот вывод к примеру щелкнул электрозамком?

Что-то ведь дополнительное надо лепить? Я с пиками когда делал, ставил ULN.

МОжет полевой транзистор?

Как правильно и по проще?

Hamster 19.03.2010 14:08

Ноги ардуины сами естесственно замком не щелкнут - слишком большой ток (амперы). Нагрузка же на ногу порядка 30-50мА. Соответственно, либо транзистор, либо реле. Нога ардуины будет управлением.

Except 19.03.2010 14:29

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

Этого хватает?
Ничего не надо дополнительно развязывать?
Какое макс. напр-е держит цифровой вход арудины?

Hamster 19.03.2010 15:18

Цитата:

Сообщение от Except (Сообщение 134742)
Какое макс. напр-е держит цифровой вход арудины?

Цитата:

Каждый из 14 выводов модуля можно использовать как вход или как выход данных. Эти выводы работают с сигналами уровнем 0...5В. Каждый из выводов рассчитан на входной (или выходной) ток до 20 мА и имеет внутренний программно отключаемый подтягивающий резистор сопротивлением 20-50 кОм, который по умолчанию отключен
Т.е. я не понимаю как лампочки 12В напрямую от ардуины питать :) Только через реле/транзисторы.

Except 19.03.2010 15:23

Цитата:

Эти выводы работают с сигналами уровнем 0...5В
хмм...

наоборот, вообщем "как сделать лог. вход активным от 12В (11,5 .. 14)" ?
на пиках я через оптроны развязывал. 12в зажигают оптрон, он 5 в бросает в контроллер. Как с арудиной?

admin 19.03.2010 16:09

Вот так , только еще нужно программно включить подтягивающие резисторы
http://www.compcar.ru/forum/attachme...7&d=1259307513

Hamster 19.03.2010 16:44

А! После картинки Admin'a я понял о чем говорил Except :)
2Except - это все входы, а не выходы. Т.е. ардуина ничем по сути не управляет, только читает, потому мощность ненужна.

Except 19.03.2010 20:31

СПасибо!
Ну я ж сам выбираю будут они входями или выходами.
Интересно было именно такое подрубание 12в -> контроллер. Тупо диод и усе.

genec 19.03.2010 20:32

Цитата:

Сообщение от Hamster (Сообщение 134779)
это все входы, а не выходы. Т.е. ардуина ничем по сути не управляет, только читает, потому мощность ненужна.

Управлять он тоже может. ВОТ http://www.compcar.ru/forum/showthread.php?t=5010

Except 19.03.2010 20:35

Вообщем такая ситуевина. Мне нада 5В. Я могу спаять на LM2576 БП. Будет питать арудину и я получу 5в. Но мне удобнее запитать арудину 12ю вольтами, т.к. в основном будет он работать независимо от ПК в машине.

Я же при запитывании его 12ю вольтами нигде не сниму 5в с него? Все равно надо делать БП?

genec 19.03.2010 20:44

Получается если Ардуино запитать от 12 вольт, то он на выходе выдаст 12 вольт.
А если запитать от 5 вольт, то он на выходе выдаст 5 вольт.
Я правильно понял? или ошибаюсь.

Hamster 19.03.2010 20:50

Цитата:

Сообщение от genec (Сообщение 134824)
Получается если Ардуино запитать от 12 вольт, то он на выходе выдаст 12 вольт.
А если запитать от 5 вольт, то он на выходе выдаст 5 вольт.
Я правильно понял? или ошибаюсь.

Нет. Питать его можно до 30В по-моему - там просто стабилизатор на 5В стоит. Но, на входах/выходах будет все равно 5В.

admin 19.03.2010 21:33

Ножке Arduino Vin можно подключать до +26в

Except 19.03.2010 21:46

Цитата:

Питать его можно до 30В по-моему - там просто стабилизатор на 5В стоит. Но, на входах/выходах будет все равно 5В.
ВОТ! Это 100% инфа? если от борт-сети запитаю то словлю +5 с арудины?

Hamster 19.03.2010 21:55

Цитата:

Сообщение от Except (Сообщение 134834)
ВОТ! Это 100% инфа? если от борт-сети запитаю то словлю +5 с арудины?

Да :) Как и написал Admin - на ногу Vin

Except 19.03.2010 21:57

Спасибо! Это отлично. Одним БП меньше) Я уже 2 их в машину ставлю

genec 20.03.2010 18:33

Цитата:

Сообщение от Except (Сообщение 134836)
Я уже 2 их в машину ставлю

Какую роль в машине они у тебя выполняют?

Except 20.03.2010 18:56

один питает УСБ хаб. Один питает модуль подъема/опускания монитора/вкл/выкл/компа + питает девайс - эмулятор CD-чейнджера пионерки(связывает комп с мафоном)

Except 24.03.2010 08:53

День добрый!

Вчера подрубил шаговый двиг и энкодер к ардуине. Двиг работает без нареканий. Через драйвер. Добится нужно в идеале - одна ступенька энкодера : один шаг ШД. Поигрался с задержками, но как хотел так и не получается.

С энкодером маюсь. Вообщем, если его быстро крутить, то он пропускает шаги. Если случайно или при медленном вращении, ручку энкодера остановить между фиксированными положениями (ступеньками) - врубается обратный шаг.

Т.е. крутим направо - шаговый шагает направо, если случайно между ступеньками остановим - шаговый влево, потом вправо. Итог - шаговик вращается рвано.

Управление энкодером сделал по образу: http://www.compcar.ru/forum/showthre...EA%EE%E4%E5%F0

т.е. без кондеров, как в этом посте: http://www.compcar.ru/forum/showthre...EA%EE%E4%E5%F0
может это как то влиять?


****

Еще вопросец. Когда ничего не происходит(т.е. ШД не вертится), то его даже рукой очень трудно вращать. Ротор стоит намертво . Как я понимаю это из-за того, что он шагнул к текущей обмотке и она его там удерживает. Вообщем при этом двиг нормально так греется. Надо убрать питание с обмоток? Если да, то для этого достаточно подать на драйвер все LOW (не успел вчера проверить)?

Цитата:

int encoder_left = 3;
int enc_pos = 0;
byte pos[4];

void setup()
{
pos[0] = HIGH;
pos[1] = LOW;
pos[2] = LOW;
pos[3] = LOW;
enc_pos = 0;
...
}

void loop_forward(int time, int pause)
{
for (int i = 0; i<=time; i++)
{
pos[enc_pos] = LOW;
enc_pos++;
if (enc_pos>3) enc_pos = 0;
if (enc_pos<0) enc_pos = 3;
pos[enc_pos] = HIGH;

digitalWrite(motorPin1, pos[0]);
digitalWrite(motorPin2, pos[1]);
digitalWrite(motorPin3, pos[2]);
digitalWrite(motorPin4, pos[3]);

delay(pause);
}
}

void loop()
{
...
//Encoder rotate left
if(digitalRead(encoder_left) == LOW)
{
delay(4);
if(digitalRead(encoder_left) == LOW)
{
loop_forward(2,22);
}
}
...
}
Спасибо.

admin 24.03.2010 10:08

[QUOTE]т.е. без кондеров, как в этом посте: http://www.compcar.ru/forum/showthre...EA%EE%E4%E5%F0
может это как то влиять?/QUOTE]
Без кондеров у меня тоже ложные срабатывания были, поставил кондеры по 0,1мкф и забыл.

Except 24.03.2010 12:06

СПасибо! Седня впаяю. А на счет шаговика что подскажите?

Except 24.03.2010 14:27

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

Pinin 24.03.2010 23:27

Видеосигнал - не питание, его через тумблер/релюху и т.п. подавать нельзя (хотя если нельзя, но очень хочется...).

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

etaon 23.08.2011 18:15

Цитата:

Сообщение от Pinin (Сообщение 135637)
Видеосигнал - не питание, его через тумблер/релюху и т.п. подавать нельзя (хотя если нельзя, но очень хочется...).

Что-то не пойму. Было у меня подключено 2 аналоговые видеокамеры.
Переключались между ними тумблером 6-ти контактным. 3 контакта подача (+) и 3 контакта съем сигнала.


Часовой пояс GMT +4, время: 01:25.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot