датчик положения дроссельной заслонки

Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

датчик положения дроссельной заслонки

Сообщение ЗАВ »

Всем здравствуйте. появилась необходимость измерять длину фала. (веревки , которая держит якорь- 30 метров). предполагаю это сделать на основе датчика холла, как сделано в датчике положения дроссельной заслонки ВАЗ или газ. мысль такая - через редуктор от вала лебедки смонтировать подобие датчика положения дроссельной заслонки и через ардуино на индикатор вывести длину. однако покупать датчик положения дроссельной заслонки не имеет смысла , ибо корпус придется делать свой. поэтому имеет смысл купить датчик холла и собрать все в кучу. вопрос - марка датчика холла , который меняет сопротивление , при приближении магнита.
или может кто подобное собирал , поделиться опытом , как можно измерить длину веревки - 30 метров другим способом ?
самое сложно - сделать просто
Реклама
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43888
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: датчик положения дроссельной заслонки

Сообщение АлександрЛ »

А не проще считать обороты вала лебёдки? Или обороты ролика, через который пропущен трос?
Реверсивный счётчик можно и на дураинке сделать, и на МК, даже на обычных реверсивных счётчиках, они и в ТТЛ и в КМОП логике есть. .. Да и публикаций достаточно, типа "счётчик витков для намоточного станка"
Реклама
Аватара пользователя
valentinovich
Электрический кот
Сообщения: 1004
Зарегистрирован: Ср окт 04, 2017 20:47:40

Re: датчик положения дроссельной заслонки

Сообщение valentinovich »

Магнитик, геркон (для реверсивности счёта два геркона) и далее, что выше уже сказал АлександрЛ.
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5742
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Re: датчик положения дроссельной заслонки

Сообщение >TEHb< »

Там редко датчик холла, чаще просто резистор.
"Привет!" - соврал он.
Реклама
Эиком - электронные компоненты и радиодетали
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: датчик положения дроссельной заслонки

Сообщение akl »

Энкодер инкрементальный
https://radiokot.ru/articles/27
Реклама
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

отличная идея - счетчик оборотов (как я сам не догадался ?). Всем спасибо большое !!!!
самое сложно - сделать просто
Реклама
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

ввиду того , что намотка фала происходит навалом , я подозреваю, возможно накопление погрешности. хорошо бы сделать обнуление как то ... на ардуино нано есть только 3 пина свободных. 1-ый - намотка + ,2-ой- намотка - . 3-ий(аналог)- 3в- считать +, 5 в- считать -. можно намотку тоже считать с разным потенциалом (3/5в) - тогда 1 пин высвободиться. вопрос как обнулять ?
наверно самый простой вариант - программно. при значении 3 и меньше , без изменения более 30 секунд- обнулять. как идея? есть проще альтернатива?
самое сложно - сделать просто
Rapra
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: датчик положения дроссельной заслонки

Сообщение Rapra »

Если при намотке троса изменяется диаметр намотки (увеличивается число слоев), то никакими сбросами счетчика вы эту погрешность не устраните. Простая школьная геометрия - длина окружности равна "пи" умножить на диаметр окружности. L = 3.1415 * D.
Хотите убрать эту погрешность - проработайте систему намотки, чтобы трос намытывался аккуратно, виток к витку, слой за слоем, как это сделано на крановых лебедках. Тогда через каждые N оборотов, когда трос полностью укладывается в ширину барабана и переходит на следующий слой, можно вводить коррекцию диаметра намотки на толщину троса.

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

Автомобильный датчик дросс.заслонки тут вообще не подходит. Поскольку он не поворачивается на полный оборот, это ему не нужно. Дросс.заслонка поворачивается только на 90° - поперек потока или вдоль потока.
Ищите инкрементальные или абсолютные энкодеры на вал.

Ежели че, можно даже сколхозить самостоятельно, закрепив на барабане по периметру штук 10-15 магнитов, а на раме поставить один датчик холла. Если нужно определить направление вращения, тогда рядом по вращению два датчика.

Или же вообще другой вариант. Направляющий ролик, через который идет трос. Вот его обороты и считать. Погрешность измерения будет равна длине окружности ручья (канавки) ролика, деленной на число магнитов по кругу ролика. И не будет зависеть от слоев намотки на барабан.
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

спасибо за развернутый ответ- все очень толково. только я не озвучил точность измерения. достаточно +- 1 метр. 3 оборота вала лебедки на него придется примерно . здесь важно начать с нуля отсчет при сбросе якоря. так что Ваши предложения для точного отсчета, а здесь все гораздо проще. укладка троса идея хорошая , но довольно гемморойно городить ее с нуля. (может есть готовый проекты , или примеры - буду рад поучиться -посмотреть-оценит необходимость/возможность ) думаю достаточно будет одного геркона и магнита. реверсировать отсчет планирую сделать подачей на пин +. т.е. 1 пин+ размотка считаем плюс,2 пин + намотка считаем в минус. про датчик холла забыли.энкодер это дорого, точно и боится воды. а лебедка постоянно в брызгах воды . просто и сурово - геркон. вопрос быстродействия. при сбросе якоря размотка идет с визгом. думаю проблемы нужно решать по мере их поступления - если будут пропуски - заменю на датчик холла дискретный .
Последний раз редактировалось ЗАВ Сб май 23, 2026 11:20:43, всего редактировалось 1 раз.
самое сложно - сделать просто
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43888
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: датчик положения дроссельной заслонки

Сообщение АлександрЛ »

ЗАВ писал(а): Сб май 23, 2026 11:11:48 я не озвучил точность измерения. достаточно +- 1 метр. 3 оборота вала лебедки на него придется примерно . здесь важно начать с нуля отсчет при сбросе якоря.
(имхо) тогда проще считать, сколько осталось до конца троса- распустив трос на всю, обнуляете счётчик, а потом он считает, сколько на него намотано. С точностью "плюс-минус лапоть" вы вполне сможете контролировать длину троса.
Предложение на счёт ролика, считающего, сколько через него прошло троса- я уже озвучивал.
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

мне важно поймать ноль при поднятии. потому что в воде якорь не видать , вылетает он при поднятии быстро и преодолевает видимый участок до поднятия на роульз за 1-2 сек (кронштейн на носу катера предназначенный для размещения якоря. он на нем лежит и с него сбрасывается в воду) . по счетчику я буду понимать когда ловить остановку лебедки.
самое сложно - сделать просто
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43888
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: датчик положения дроссельной заслонки

Сообщение АлександрЛ »

ЗАВ писал(а): Сб май 23, 2026 11:26:44 мне важно поймать ноль при поднятии. потому что в воде якорь не видать , вылетает он при поднятии быстро
А не проще и ловить этот "конец троса"?
Например:
На трос устанавливается хомут в виде шарика, и кольцо (или вилка), как только хомут потащил это кольцо, срабатывает команда "стоп лебёдка", и всё. :dont_know:
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

думаю это усложнит конструкцию и доставит больше проблем, чем удовольствия.
1- любая деталь на фале (веревки) при движении по роликам в нагрузкой будет перетирать его и в итоге разрушит
2- якоря к сожалению теряются (зацеп на дне) а при замене имеют разную длину. а на роульз он должен лечь с натягом . т.е. лебедка должна , после укладки якоря, его прижать натяжкой фала, не до перегрузки (защита по току не должна срабатывать). иначе на волне при движении якорь разобьет и лебедку и роульз. проще самому отключить подъем.
самое сложно - сделать просто
Rapra
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: датчик положения дроссельной заслонки

Сообщение Rapra »

А, ну если плюс-минус метр, тогда изменение диаметра намотки в целом то пофик. Хотя, зависит от начального и конечного диаметра намотки.
Лучше всего поставить на барабане по кругу несколько магнитов (3 - 5 штук) и на раме закрепить два геркона по ходу движения магнитов на расстоянии пары-тройки сантиметров. При вращении барабана в одну сторону порядок срабатывания герконов 1 - 2, при вращении в обратную сторону порядок срабатывания 2 - 1. И вот эти два сигнала и заводить на микроконтроллер.
Частота срабатывания герконов достаточно высокая. На память не помню, но её можно найти в документации геркона.

Касательно укладки троса - это должен быть барабан со спиральной канавкой и направляющим роликом, закрепленным по центру ширины барабана на некотором расстоянии от него.
Я, когда делал небольшую лебедку, на 3Дпринтере напечатал такой пластиковый барабан с канавками и ролик.
ЗАВ писал(а): Сб май 23, 2026 11:26:44 вылетает он при поднятии быстро и
На заключительном этапе скорость вращения лебедки можно снизить. Это полезно для уменьшения ударных нагрузок. А чтобы поточнее поймать ноль, нужно ставить всё-таки побольше магнитов на барабан. Не знаю, какой там у вас диаметр барабана, но наверно примерно 30-40 см, это чуть больше метра длины за оборот. Поставив штук 5-6 магнитов по периметру окружности, получим дискретность измерения порядка 10 см. И тут главное - при намотке отсчитать столько же импульсов, сколько и при размотке. То есть, при размотке считаем на увеличение, а при намотке обратно считаем на уменьшение. Когда до конца будет оставаться штук 20-30 импульсов, скорость лебедки начать снижать и плавно подвести счетчик импульсов к 0. Где-то около 0 импульсов должен определиться упор якоря и момент начала возрастания тока электромотора. Это и будет сигналом остановки лебедки с натянутым тросом.
Кароч говоря, подводом на малой скорости вы исключите удары и обрыв вашего поднимаемого якоря.
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

технических решений много . я остановился на следующем варианте :
Для измерения длины фала предполагаю установить один геркон (т.к. имеется один проложенный свободный провод) и два магнита на вал лебедки . считать обороты примерно 100-150 *2 и конвертировать их в длину на индикаторе 30 метров. При этом на 1-ый управляющий пин подавать + (от кнопки сброса) считать в + , на 2-ой управляющий пин подавать + (от кнопки подъема) считать в - . (идея в двумя герконами отличная , вопрос как на один провод посадить 2 сигнала ? разделить их по напряжению - один 5в , второй через делитель 2в, насколько это усложнит скетч?- это на усмотрение программиста и является приоритетом) так как намотка идет в навал , для исключения накопления погрешности , необходимо обнулять счетчик после намотки фала . для этого нужна функция обнуления счетчика . это можно сделать при значении 3 и меньше , отсутствии изменения сигнала измерения в течении 5 секунд. На борту имеется ардуино нано с двумя индикаторами (индикация трим и давления в системе охлаждения. имеется 3 свободных пина). Индикацию длины фала выводить на второй индикатор (давление). активировать/переход в режим измерения длины фала производить при поступлении сигнала управления от геркона . возврат в режим индикации давления произвести при отсутствии сигнала управления более 30 секунд.
имеется ли возможность доработки скетча ?.
весной этого года Novice user дописал скетч трим мотора до давления в моторе. Огромное ему за это спасибо. Прошу помощи в дописке скетча заранее спасибо . в личку ему не уходят письма почему то...
Вложения
006_ard_01_two_channels (1).hex
загруженный скетч
(5.89 КБ) 12 скачиваний
самое сложно - сделать просто
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

помощи нет... хотелось бы знать причину ее отсутствия. сложная задача?
самое сложно - сделать просто
Zapolyarny
Открыл глаза
Сообщения: 46
Зарегистрирован: Чт май 07, 2026 00:30:38

Re: датчик положения дроссельной заслонки

Сообщение Zapolyarny »

ЗАВ писал(а): Ср май 27, 2026 20:16:33 сложная задача?
Вы приложили результат компиляции программы, а не её исходный код. Т.е. "прошивки" а не "скетча". Чтобы внести изменения, нужно либо проделать обратный процесс, либо написать программу заново. У Вас точно больше ничего нет, кроме этого файла?
ЗАВ
Встал на лапы
Сообщения: 133
Зарегистрирован: Вт июн 01, 2021 22:09:42

Re: датчик положения дроссельной заслонки

Сообщение ЗАВ »

Спойлер
$regfile = "m328pdef.dat"
'$Regfile="m8adef.dat"
$Crystal=16000000
$hwstack=40
$swstack=16
$framesize=32
Config Adc = SINGLE , Prescaler = 32 , Reference =avcc'INTERNAL_1.1
dim channels as byte
Const arduino=1
'-------------------------------------------------------------------------------
#if arduino=0
Seg_a Alias Portd.5 ' Порт МК, к которому подключен сегмент "А" LED индикатора
Seg_b Alias Portb.1 ' Порт МК, к которому подключен сегмент "B" LED индикатора
Seg_c Alias Portc.2 ' Порт МК, к которому подключен сегмент "C" LED индикатора
Seg_d Alias Portc.4 ' Порт МК, к которому подключен сегмент "D" LED индикатора
Seg_e Alias Portc.5 ' Порт МК, к которому подключен сегмент "E" LED индикатора
Seg_f Alias Portd.6 ' Порт МК, к которому подключен сегмент "F" LED индикатора
Seg_g Alias Portc.1 ' Порт МК, к которому подключен сегмент "G" LED индикатора
Seg_h Alias Portc.3 ' Порт МК, к которому подключен сегмент "H" LED индикатора
dig1 alias portd.4 ' : config portc.3 = output ТЫСЯЧИ
dig2 alias portd.7 ' : config portc.2 = output СОТНИ
dig3 alias portb.0 ' : config portc.1 = output ДЕСЯТКИ
dig4 alias portc.0 ' : config portc.0 = output ЕДИНИЦЫ
channels=7

#endif
#if arduino=1
Seg_a Alias Portd.2 ' Порт МК, к которому подключен сегмент "А" LED индикатора
Seg_b Alias Portd.3 ' Порт МК, к которому подключен сегмент "B" LED индикатора
Seg_c Alias Portd.4 ' Порт МК, к которому подключен сегмент "C" LED индикатора
Seg_d Alias Portd.5 ' Порт МК, к которому подключен сегмент "D" LED индикатора
Seg_e Alias Portd.6 ' Порт МК, к которому подключен сегмент "E" LED индикатора
Seg_f Alias Portd.7 ' Порт МК, к которому подключен сегмент "F" LED индикатора
Seg_g Alias Portb.0 ' Порт МК, к которому подключен сегмент "G" LED индикатора
Seg_h Alias Portb.1 ' Порт МК, к которому подключен сегмент "H" LED индикатора
dig1 alias portb.2 ' : config portc.3 = output ТЫСЯЧИ
dig2 alias portb.3 ' : config portc.2 = output СОТНИ
dig3 alias portb.4 ' : config portc.1 = output ДЕСЯТКИ
dig4 alias portb.5 ' : config portc.0 = output ЕДИНИЦЫ
channels=7

#endif
Config Seg_a=output:Config Seg_b=output:Config Seg_c=output:Config Seg_d=output
Config Seg_e=output:Config Seg_f=output:Config Seg_g=output:Config Seg_h=output
Config dig1=output:Config dig2=output:Config dig3=output:Config dig4=output
'Ddrb = &B11111111
'Ddrc = &B11111111
'Ddrd = &B11111111
'Ddrc.channels=0
' таймеры
Config Timer0 = Timer , Prescale = 64 : On Timer0 Pulse : Enable Timer0 '4000000/64/256=244 гц>>> 4msec
dim t0_start as Byte
t0_start = 0
Timer0 = t0_start
dim segmentj as byte
dim digit as byte ' номер цифры,1=сотни мгц,2=десятки мгц и т д
dim m(4) as word,n as word,i as byte ' отображаемый символ
dim a as word ' переменная для символа,не трогать
dim seg_on as byte : dim seg_off as byte
seg_on = 1
seg_off = 0
Enable Interrupts
START timer0
'Config Adc = SINGLE , Prescaler = 32 , Reference = Avcc'Internal'
Start ADC
'n = GetADC(6)

n=0
do
n=0
for i=0 to 63
n =n+GetADC(channels)
next i
n=n/65'65'1024*64/65=1008
if n>95 then n=n-95 else n=0
gosub text
waitms 50'00

loop
Pulse:

incr digit
if digit > 3 then digit = 0
dig1 = seg_off : dig2 = seg_off : dig3 = seg_off : dig4 = seg_off
segmentj = 0
if seg_on = 1 then toggle segmentj
gosub set_segment
if digit = 0 then
a = m(1)
'dig4 = 1
dig1 = seg_on
end if
if digit = 1 then
a = m(2)
'dig1 = 1
dig2 = seg_on
end if
if digit = 2 then
a = m(3)
'dig2 = 1
dig3 = seg_on
end if
if digit = 3 then
a = m(4)
'dig3 = 1
dig4 = seg_on
end if
segmentj = Lookup(a , Dta) ' segmentj
if seg_on = 1 then toggle segmentj
if digit = 2 then segmentj.0 = seg_off
gosub set_segment
Timer0 = t0_start
Return
text:
m(1) = n / 1000
if m(1) = 0 then m(1) = 10
m(2) = n / 100
m(2) = m(2) mod 10
m(3) = n / 10
m(3) = m(3) mod 10
m(4) = n mod 10
return
set_segment:
Seg_a = segmentj.7
Seg_b = segmentj.6
Seg_c = segmentj.5
Seg_d = segmentj.4
Seg_e = segmentj.3
Seg_f = segmentj.2
Seg_g = segmentj.1
Seg_h = segmentj.0

return

Dta:
' ABCDEFGH
Data &B11111100 '0
Data &B01100000 '1
Data &B11011010 '2
Data &B11110010 '3
Data &B01100110 '4
Data &B10110110 '5
Data &B10111110 '6
Data &B11100000 '7
Data &B11111110 '8
Data &B11110110 '9
Data &b00000000 '10=пробел
Data &b10011100 '11=C
Data &b01101110 '12=H
Data &b10001100 '13=Г
Data &b11001110 '14=Р
data &b01110110 '15=У
Data &b01100110 '16=Ч
Data &b11101110 '17=A
Data &b00101010 '18=n 11101100
Data &b00011110 '19=t
Data &b00000010 '20=-
Data &b10001110 '21=F
Data &b00111010 '22=o
Data &b10011110 '21=E
Data &b00011100 '22=L
самое сложно - сделать просто
Zapolyarny
Открыл глаза
Сообщения: 46
Зарегистрирован: Чт май 07, 2026 00:30:38

Re: датчик положения дроссельной заслонки

Сообщение Zapolyarny »

Если я правильно понял, это BASCOM. Увы, нужен тот, кто его знает. Если никто не найдётся, тогда перепишу на Си...
Ответить

Вернуться в «АвтоМотоВело»