Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Регулятор оборотов двигателя постоянного тока.

Здесь только проекты на ATtiny

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение kredovit » 03 авг 2011 16:36

проще :-)
kredovit
Пробегал мимо
 
Сообщения: 18
Зарегистрирован: 24 июн 2011 21:54
Откуда: Алматы, Казахстан

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение Casper_pro » 03 авг 2011 17:45

Вот если так все выражения сокращать то в микрик мона и по 2 функции запихивать))))
Casper_pro
Частенько бываю
 
Сообщения: 36
Зарегистрирован: 02 дек 2010 00:19

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение tiptop_a » 18 авг 2011 17:13

Здравствуйте,
тема заинтересовала так, что захотелось самому попробовать .
Я начинающий, поэтому, всё что смог это промоделировать схему в протэусе :oops:
Заметил, одну особенность, когда кнопка "старт" не замкнута, проц всё равно посылает короткие импульсы большой скважности на транзистор.
Подозреваю, что исправить это не сложно, где-то прописать sleep? но сам пока разобраться :dontknow: я не могу...
спасиб
tiptop_a
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 18 авг 2011 16:59
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 18 авг 2011 17:14

tiptop_a, в реале этого нету.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение tiptop_a » 19 авг 2011 22:58

Может, это потому, что выход нагружаю на светодиод, а в реале ёмкость полевика...
Не подскажешь алгоритм, как организовать плавный старт? :sorry:
tiptop_a
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 18 авг 2011 16:59
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 19 авг 2011 23:00

tiptop_a, включаем на минимум, а потом по таймеру добавляем до установленного значения.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение valmaks » 03 дек 2011 22:35

Всем привет.Собрал я этот регулятор,работает нормально. hardlock болшое спасибо.
Такой вопрос.Максимальное напряжение на моем моторчике 6v.
Что изменить,добавить,что-бы регулировка была до 6v.
Спасибо.
valmaks
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 13 июн 2011 14:00

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 03 дек 2011 22:44

valmaks писал(а):Что изменить,добавить,что-бы регулировка была до 6v.

ничего - просто питайте мотор не от 12-ти, а от 6-ти вольт, но тогда надо отдельно организовать питание тиньки, т.к. 7805 не сможет работать при входном напряжении 6 вольт.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 08 фев 2012 17:55

hardlock, очень нужна твоя помощь, что нужно дописать в прошивке чтобы был плавный пуск? Помоги, очень надо!
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 08 фев 2012 17:57

yura-gn,
стартовать с минимального значения и через промежутки времени добавлять значение ШИМа. Постараюсь найти исходник.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 08 фев 2012 18:01

hardlock писал(а):yura-gn,
стартовать с минимального значения и через промежутки времени добавлять значение ШИМа. Постараюсь найти исходник.

Я еще в етом совсем ничего не понимаю. Очень, Очень прошу, постарайтесь найти исходник!
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 10 фев 2012 20:56

hardlock писал(а):yura-gn,
стартовать с минимального значения и через промежутки времени добавлять значение ШИМа. Постараюсь найти исходник.

hardlock, как там дела с поиском исходника, нашли?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 10 фев 2012 21:03

yura-gn писал(а): нашли?

ещё не добрался до того компьютера.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 11 фев 2012 11:12

hardlock, подскажи что делать, когда я меняю код:
Код: Выделить всё
вместо
pwm = 110 + read_adc(2) / 7;

эти строчки
pwm = read_adc(2);
pwm = pwm >> 2 ;

регулировка получается от 0, но регулируется только до половины положения потенциометра, а дальше скорость не меняется.
Как это исправить?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 11 фев 2012 14:45

yura-gn, так у вас получается если АДЦ больше "00111111" (63), то уже ничего не поменяется, т.к. "pwm = pwm >> 2" убивает два старших разряда.

ЗЫ: Не, не правильно... Что-то с утра голова не варит... но думаю проблема где-то тут. И зачем от нуля? Всё равно двигатель от нуля работать не будет.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 11 фев 2012 15:19

hardlock, я методом тыка зделал вот так:
Код: Выделить всё
pwm = 0 + read_adc(2) / 6;

стало работать нормально, но не знаю почему двигатель работает только процентов на 95.
Можете обьяснить как спецыалист что я этими изминениями сделал, и можно сделать чтоб работало на 100%?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 11 фев 2012 20:45

yura-gn писал(а):Я методом тыка зделал вот так:

надо не тыкать, а разбираться. АЦП 10-ти битный (1023 максимум), ШИМ - 8-ми битный (255 максимум).

Отсюда получаем:
Код: Выделить всё
pwm = read_adc(2) / 4;

Хотя эта конструкция тоже должна была работать:
Код: Выделить всё
pwm = read_adc(2);
pwm = pwm >> 2 ;

может опробовать прямо так:
Код: Выделить всё
pwm = read_adc(2) >> 2 ;


Что-то я сам запутался.
Для проверки, что двигатель работает на 100% поставьте pwm = 255 и прошейте МК. Двигатель должен работать в полную мощь. Лучше всего проверить осциллографом, что творится на выходе МК.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 11 фев 2012 21:15

hardlock, только что побробовал и выяснилось следующие:
что так
Код: Выделить всё
pwm = read_adc(2);
pwm = pwm >> 2 ;

что так
Код: Выделить всё
pwm = read_adc(2) >> 2 ;

работает отлично, но когда повышаю частоту
Код: Выделить всё
TCCR0A=0x83;
TCCR0B=0x01;

плавная регулировка исчезает.
Что теперь посоветуете?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 11 фев 2012 21:47

yura-gn писал(а):TCCR0A=0x83;
TCCR0B=0x01;

соответствует работе таймера на частоте самого камня, т.е. 9,6Мгц. Зачем такая частота? - это раз. МК может не успевать всё обработать, да и не успевает, т.к. каждый такт возникает новое прерывание - это два.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 11 фев 2012 22:27

hardlock писал(а):
fantom писал(а):Блин мне надо чтобы маторчик крутился на малых оборотах без писка как это сделать.

Блин, а мне надо машину отремонтировать!
Разберитесь немного в коде - там ничего нет сложного... Подсказка - копать в эту сторону:
Код: Выделить всё
TCCR0A=0x83;
TCCR0B=0x02;


Сделать так:
Код: Выделить всё
TCCR0A=0x83;
TCCR0B=0x01;

Только это уже не подсказка, а решение... Будет вместо 18,75 кГц - 37,5кГц


hardlock, скажите пожалуйста, можно выбрать что-нибудь среднее между 18,75 кГц и 37,5кГц, так как 18,75 кГц мало, а 37,5кГц много?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 12 фев 2012 21:29

yura-gn писал(а):скажите пожалуйста, можно выбрать что-нибудь среднее между 18,75 кГц и 37,5кГц, так как 18,75 кГц мало, а 37,5кГц много?

надо поднимать частоту генератора, не меняя настроек (что невозможно), или опускать, меняя (TCCR0B), что тоже невозможно, т.к. ноги для кварца заняты.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 12 фев 2012 21:52

hardlock писал(а):
yura-gn писал(а):скажите пожалуйста, можно выбрать что-нибудь среднее между 18,75 кГц и 37,5кГц, так как 18,75 кГц мало, а 37,5кГц много?

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


Понятно. Ну а что там с поиском исходника плавного пуска, еще не искали?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 12 фев 2012 21:53

yura-gn писал(а):а что там с поиском исходника плавного пуска, еще не искали?

может быть завтра на работе посмотрю.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение yura-gn » 15 фев 2012 09:28

hardlock, ну как там дела с поиском?
yura-gn
Пробегал мимо
 
Сообщения: 12
Зарегистрирован: 08 фев 2012 13:54
Откуда: Украина

Re: Регулятор оборотов двигателя постоянного тока.

Сообщение hardlock » 15 фев 2012 10:20

yura-gn писал(а):hardlock, ну как там дела с поиском?

Исхоник не нашёл. Поэтому попробуем так. Заменить процедуру таймера:
Код: Выделить всё
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
  // Place your code here
  if (++c > 500)
  {
    c = 0;
    pwm = 110 + read_adc(2) / 7;
    if (pwm > 255) pwm = 255;
 
    if (!PINB.3)
    {
      switch (Working)
      {
        case 0:  //старт на минимальных оборотах
          OCR0A = 110;
          Working = 1;
        break;   
        case 1: //плавно наращиваем до установленного значения
          if (OCR0A < (pwm - 20))
          {
            OCR0A += 20;
          }
          else
          {
            OCR0A = pwm;
            Working = 2;       
          }
        break;
        case 2:  //работаем на установленном значении
          OCR0A = pwm;
        break;
      };
    }
    else
    {
      OCR0A = 0;     
      Working = 0;
    }
  } 
}


В самом верху описываем переменную:
Код: Выделить всё
unsigned char Working;

и перед #asm("sei") вставляем:
Код: Выделить всё
Working = 0;
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Пред.След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5