24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Регулятор оборотов двигателя постоянного тока.
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Добрый день. Спасибо за Вашу отзывчивость. Хочу уточнить задачу. Ощутимого изменения в регулировке не наблюдается не в диапазоне от 4 до 10, а приблизительно от 7 до 10 (с положения переменного резистора от 3/4 и до конца, а не от 1/4 и до конца). Вы пишете, что не сильны в языке С, тогда уж что говорить обо мне. Буду вникать в представленную информацию. Транзисторы ставил BUZ102, два в параллель с развязкой резисторами по затвору. Насчет замены транзисторов была мысль, думал, что начального старта при минимальных положениях резистора не происходит именно из-за них, пробовал IRFZ3205, почему-то один вышибло при первом же включении. По току IRFZ3205 не меньше BUZ102, по напряжению управления тоже разницы нет, больше экспериментировать не стал и оставил BUZ102. Ток моторчик потребляет солидный, радиатор порядком греется, да и не зря он стоит под улиткой, работает по принципу: сам регулирую, сам себя и охлаждаю.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Регулятор оборотов двигателя постоянного тока.
а резистор линейный? А то может лучше с напряжениями играться? У Вас же на выходе блока управления напряжения от 0 до 5 вольт...vasilievich wrote:с положения переменного резистора от 3/4 и до конца, а не от 1/4 и до конца
тогда уж надо управлять затворами не просто выходом МК, а каким-нибудь драйвером, хотябы двумя биполярными транзисторами.vasilievich wrote:Транзисторы ставил BUZ102, два в параллель с развязкой резисторами по затвору.
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Пробовал драйвер, собранный на ВС548 и ВС558 - мало что менялось, насчет зависимости резистора - откровенно говоря смотрел только на номинал сопротивления, на букву не обращал внимания, но пробовал не один, а несколько и все они ведут себя одинаково. Сегодня посмотрю на букву, будет очень смешно, если все они окажутся с экспоненциальной зависимостью. Вариант устройства я уже собрал и он полностью готов к установке на автомобиль, посмотрим как он будет себя вести при управлении от блока климы. Но все равно чего-то, но не хватает, хочется довести устройство до конца.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Регулятор оборотов двигателя постоянного тока.
транзистор должен меньше греться - меньше переходной процесс.vasilievich wrote:мало что менялось
Запишите напряжения с климата при разных положениях, потом снимайте двигло и пробуйте на столе запускать его от резистора, замеряя напругу на входе. И смотрите результат. А потом в программе можно будет подкорректировать.vasilievich wrote:Но все равно чего-то, но не хватает, хочется довести устройство до конца.
Скажу только что зависимость мощности двигла от "процентов" ШИМ очень нелинейная. Поэтому подбирать придётся и не один раз. С резистором всё проще - надо чуть добавил/убавил, с климатом сложнее - там всего 10 дискретов.
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Понял, уже разработал печатку под управление полевиками с помощью драйвера. Резисторы оказались с линейной зависимостью. На автомобиле работает как я описывал выше: в начальных положениях регулировка происходит, в конце - максимальные обороты двигателя. Все бы устроило и в таком варианте, но при включении зажигания и соответственно подаче питания на регулятор (в положение min оборотов) двигатель хочет запуститься, но ему не хватает силы, а это напрягает слух. Вопрос отключения ШИМ при минимальном управляющем напряжении пока остается открытым. По поводу ступенчатой регулировки: я думаю не стоит править программу, ведь с блока климы и так подается ступенчатое напряжение, а контроллеру по барабану чем оно изначально регулируется, какой-то схемой или обычным переменным резистором.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Регулятор оборотов двигателя постоянного тока.
нда... все мои слова в пустоту.vasilievich wrote:а контроллеру по барабану чем оно изначально регулируется, какой-то схемой или обычным переменным резистором.
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
Вот это я и насчитал
Спасть хотел
Пересчитаю сейчас...
В связи с тем, что 3/4 оборота реостата - это положении 7, то верхний предел X будет 228 [((255-165)/10) *7+165], думаю формула объяснит ход мыслей, почему я решил, что будет 228
Меняем шаг перестройки
228-165=63
63/10=6.3 грубо 6 (можно попробовать поэкспериментировать - подставить 7 )
в итоге получаем значения Х для каждого положения:
0=0
1=165+6=171
2=177
...
9=219
и 10=255
Далее считаем дискретность для АЦП:
т.к. OCR0A равен 8 битам(255), то
255/10=25,5 грубо 25
теперь листинг
после строчки
// Place your code here
вставить
x=0
далее нужно вместо
pwm = pwm + 165 ;
if (pwm > 255) pwm = 255;
записать для всех положений регуляторя значения Х
if (pwm < 5) x= 0; // положение 0
if (pwm = 25) x = 171; //положение 1
if (pwm = 50) x = 177; //положение 2
...
if (pwm = 225) x = 228;//положение 9
if (pwm > 250) x = 255;//положение 10
pwm = x ;
Извеняюсь
ЗЫ У меня стояли транзисторы с логическим управлением irLz34n, т.е. при пяти вольтах сопротивление минимально( отсюда и меньше греются, т.к. при различном сопротивлении перехода выделяется разная мощность на радиатор- соответственно и разная температура), при 12 вольтах- ещё интересней ...
Когда стоял один BUZ, то он не выдержал той мощности, что к нему была подведена и перегорел, ведь MOSFET открывался на половину(сопротивление сток-исток D-S было больше).
Сопротивление перехода Rds сток-исток от напряжения на затворе Vgs можно подсмотреть в даташите на транзисторы .
Про мощность можно почитать, если перейти по этой ссылке http://ftoe.ru/elec4/Labs/lab5.htm, для наглядности можно передставить, что переменное сопротивление- это сопротивление перехода сток-исток у MOSFET при разном напряжении на затворе).
Спасть хотел
Пересчитаю сейчас...
В связи с тем, что 3/4 оборота реостата - это положении 7, то верхний предел X будет 228 [((255-165)/10) *7+165], думаю формула объяснит ход мыслей, почему я решил, что будет 228
Меняем шаг перестройки
228-165=63
63/10=6.3 грубо 6 (можно попробовать поэкспериментировать - подставить 7 )
в итоге получаем значения Х для каждого положения:
0=0
1=165+6=171
2=177
...
9=219
и 10=255
Далее считаем дискретность для АЦП:
т.к. OCR0A равен 8 битам(255), то
255/10=25,5 грубо 25
теперь листинг
после строчки
// Place your code here
вставить
x=0
далее нужно вместо
pwm = pwm + 165 ;
if (pwm > 255) pwm = 255;
записать для всех положений регуляторя значения Х
if (pwm < 5) x= 0; // положение 0
if (pwm = 25) x = 171; //положение 1
if (pwm = 50) x = 177; //положение 2
...
if (pwm = 225) x = 228;//положение 9
if (pwm > 250) x = 255;//положение 10
pwm = x ;
Извеняюсь
ЗЫ У меня стояли транзисторы с логическим управлением irLz34n, т.е. при пяти вольтах сопротивление минимально( отсюда и меньше греются, т.к. при различном сопротивлении перехода выделяется разная мощность на радиатор- соответственно и разная температура), при 12 вольтах- ещё интересней ...
Когда стоял один BUZ, то он не выдержал той мощности, что к нему была подведена и перегорел, ведь MOSFET открывался на половину(сопротивление сток-исток D-S было больше).
Сопротивление перехода Rds сток-исток от напряжения на затворе Vgs можно подсмотреть в даташите на транзисторы .
Про мощность можно почитать, если перейти по этой ссылке http://ftoe.ru/elec4/Labs/lab5.htm, для наглядности можно передставить, что переменное сопротивление- это сопротивление перехода сток-исток у MOSFET при разном напряжении на затворе).
Last edited by kredovit on 01 Jul 2011 16:33, edited 1 time in total.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Регулятор оборотов двигателя постоянного тока.
низя равно, т.к. фиг попадёшь. нужно диапазоны от и до...kredovit wrote:if (pwm = 25)
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
if (pwm > 20; pwm < 30) x = 171 ;
так правильней будет?
Если да, то:
if (pwm < 5) x= 0; // положение 0
if (pwm > 20; pwm < 30) x = 171; //положение 1
if (pwm > 45; pwm <55) x = 177; //положение 2
...
if (pwm >220; pwm < 230) x = 228;//положение 9
if (pwm > 250) x = 255;//положение 10
pwm = x ;
так правильней будет?
Если да, то:
if (pwm < 5) x= 0; // положение 0
if (pwm > 20; pwm < 30) x = 171; //положение 1
if (pwm > 45; pwm <55) x = 177; //положение 2
...
if (pwm >220; pwm < 230) x = 228;//положение 9
if (pwm > 250) x = 255;//положение 10
pwm = x ;
Last edited by kredovit on 01 Jul 2011 16:41, edited 1 time in total.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Регулятор оборотов двигателя постоянного тока.
kredovit wrote:if (pwm > 20; pwm < 30) x = 169 ; так правильней будет?
Code: Select all
if ((pwm>20) & (pwm < 30)) x = 169;
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
неисключено, но работает
просто я не любитель замеров- всё оставляю контроллеру- работаю совместно с EPROM , константы туда записываю с предварительной настройки онреал...
просто я не любитель замеров- всё оставляю контроллеру- работаю совместно с EPROM , константы туда записываю с предварительной настройки онреал...
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Что-то я в конец запутался, на выходных буду пробовать воплощать Ваши идеи в жизнь.
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
vasilievich,как успехи?
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Да практически никак. По крайней рекомендации изменил указанные Вами строки в исходнике программы, единственно, что пересчитал - это значение Х, так как у меня при более внимательном изучении оказалось не десять положений (от 0 до 9), а восемь (от 0 до 7). В итоге при компиляции CVAVR выдает кучу матерных выражений начиная от строки, где Х присваивается значение 0 и до конца (pwm=x). Так, что пока без результатов.
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
Code: Select all
В итоге при компиляции CVAVR выдает кучу матерных выражений начиная от строки, где Х присваивается значение 0 и до конца (pwm=x).
после #include <tiny13.h>
вставить unsigned int x;
после строчки // Place your code here
вставить x=0;
; нужно не забывать ставить в конце каждой строки, в предидущих сообщениях забыл
значения Х для всех положений регулятора
Code: Select all
if (pwm < 5) x = 0; // положение 0
if ((pwm > 27) & (pwm < 37)) x = 174; // положение 1
if ((pwm > 59) & (pwm < 69)) x = 183; // положение 2
if ((pwm > 91) & (pwm < 101)) x = 192; // положение 3
if ((pwm > 123) & (pwm < 133)) x = 201; // положение 4
if ((pwm > 155) & (pwm < 165)) x = 210; // положение 5
if ((pwm > 187) & (pwm < 197)) x = 219; // положение 6
if (pwm > 219) x = 255; // положение 7
pwm=x ;
codewision не ругается
вложил все файлы одним архивом.
- Attachments
-
- regulator oborotov 12v.rar
- (24.96 KiB) Downloaded 734 times
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Большое спасибо, буду пробовать.
- hardlock
- Администратор
- Posts: 4014
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Регулятор оборотов двигателя постоянного тока.
kredovit, думаю в тиньке не хватит памяти. И что будет с устройством при pwm=39, например?
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
Code: Select all
в тиньке не хватит памяти
Code: Select all
что будет с устройством при pwm=39
При очередном запуске печки, в положениe ручки регулятора(резистора) соответствующем pwm=39 мотор работать не будет, т.к. было условие x=0 изначально. Для исправления этой ситуации надо будет выбрать любое положение от 1 до 7.
ЗЫ Программа рассчитана на дискретность.
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Программа расчитана на дискретность - это толково, но при проверке оказалось, что при значениях pwm = от 38 до 58 и так далее двигатель работает как бы с рывками, т.е. по мере увеличения управляющего напряжения с помощью резистора двигатель начинает вращаться с одной скоростью, далее его скорость уменьшается, затем скачкообразно снова увеличивается, затем снова уменьшается и так до положения 7. При этом скорость оборотов двигателя в "неактивной" зоне регулирования, назовем ее так, - это (я так думаю pwm = от 38 до 58, от 70 до 90 и т.д.) постоянна , т.е. увеличение оборотов происходит в пределах 27-37, 59-69 и т.д. Использовал для регулировки резистор, так как первый вариант регулятора стоит у знакомого на авто. Конечно с резистором ни о какой дискретной регулировке не может быть и речи, но hardlock был прав, что для такого варианта программы необходимо знать точно величину управляющего напряжения с блока климы и только после этого привязывать его к программе. Конкретно на авто этот вариант регулятора не пробовал, использовал другой маленький движок (от сюда и вращение в моем случае при pwm=39), времени для всего совершенно не хватает. На следующей неделе попробую приобрести транзисторы, управляемые логическим уровнем. Спасибо за сотрудничество.
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
Code: Select all
скорость оборотов двигателя в "неактивной" зоне регулирования, назовем ее так, - это (я так думаю pwm = от 38 до 58, от 70 до 90 и т.д.) постоянна , т.е. увеличение оборотов происходит в пределах 27-37, 59-69 и т.д.
Code: Select all
при проверке оказалось, что при значениях pwm = от 38 до 58 и так далее двигатель работает как бы с рывками, т.е. по мере увеличения управляющего напряжения с помощью резистора двигатель начинает вращаться с одной скоростью, далее его скорость уменьшается, затем скачкообразно снова увеличивается, затем снова уменьшается и так до положения 7
косячёк , виноват.
Попробовать её переместить в начало программы, где присваиваются значения константам.
Я в кодевизион(С++) не силён, поэтому извините
Если я не ошибаюсь, то X=0; надо поставить после объявления переменной unsigned int x;
Тогда X=0; не будет заставлять двигатель дёргаться в промежутках между положениями(в pwm = от 38 до 58 и т.п.)
-
- Пробегал мимо
- Posts: 16
- Joined: 09 Jun 2011 16:46
- Location: Беларусь
Re: Регулятор оборотов двигателя постоянного тока.
Наверное я Вас достал своими задачами, спасибо огромное, вечером обязательно попробую.
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
Всё нормально
я тоже просил помощи у ребят, которые преодолели трудности в стопорных для меня ситуациях
я тоже просил помощи у ребят, которые преодолели трудности в стопорных для меня ситуациях
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
vasilievich,как успехи?
-
- Пробегал мимо
- Posts: 18
- Joined: 24 Jun 2011 21:54
- Location: Алматы, Казахстан
Re: Регулятор оборотов двигателя постоянного тока.
Видимо всё получилось, раз не отвечают
-
- Частенько бываю
- Posts: 36
- Joined: 01 Dec 2010 23:19
Re: Регулятор оборотов двигателя постоянного тока.
А так не проще было?kredovit wrote: if (pwm < 5) x = 0; // положение 0
if ((pwm > 27) & (pwm < 37)) x = 174; // положение 1
if ((pwm > 59) & (pwm < 69)) x = 183; // положение 2
if ((pwm > 91) & (pwm < 101)) x = 192; // положение 3
if ((pwm > 123) & (pwm < 133)) x = 201; // положение 4
if ((pwm > 155) & (pwm < 165)) x = 210; // положение 5
if ((pwm > 187) & (pwm < 197)) x = 219; // положение 6
if (pwm > 219) x = 255; // положение 7
pwm=x ;
x = pwm / 36.5;
x = x * 9 + 165;
if (pwm < 19) x = 0; // положение 0
if (pwm > 235) x = 255; // положение 7
pwm = x;
При условии что х - целая переменная