Jump to content

Kostyanskiy

Members
  • Content Count

    48
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Kostyanskiy

  • Rank
    Новенький

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    Микроконтроллеры, цифровая радиоэлектроника, аналоговая радиоэлектроника
  • Оборудование
    Паяльная станция T12, осциллограф C1-94, мультиметр Unit и т.д

Recent Profile Visitors

261 profile views
  1. Есть ли способ подобрать их менее трудозатратно ?
  2. Я знаю, что мой подход в некоторых моментах не допустим, но в данном случае это прокатило: по расчетам, у меня должен стоять резистор 47,7 Ом, ближайший аналог 51 Ом, но у меня было только 120 Ом когда буду собирать окончательную версию схемы, поставлю тот который рассчитал Да и прям с МК, такой сигнал... А под нагрузкой вот: Беда... ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Итак, вернемся к нашим баранам, я как не настраиваю PID регулятор ему до лампочки, он живет своей жизнью: то он очень точно подстраивает напряжение и работает отлично, стабилизирует выходное напряжение не в зависимости от выходного сопротивления, а через неопределенное время начинает сбоить, то сразу после прошивки МК, ведет себя не предсказуемо. Что делать?
  3. Да учитывается, МК считает напряжение по формуле обычного делителя напряжения Uвх = Uвых * (R1+R2)/R2 Uвых = ADC(Входное преобразованое напряжение) * Aref(5вольт)/1024(разрядность АЦП) Потом это впихивается в PID регулятор и вывод в ШИМ
  4. Возможно я слепой или чего-то не понимаю, но осциллограф показывает только напряжение Uбэ -0.5 Вольта Uкэ Не понял: И я не понял как определить поведение тока осциллографом(если это возможно) Но тогда почему на резисторе R14 есть ШИМ модуляция(вместо полевика там npn биполярник С945)
  5. Кстати, этот момент мне тоже интересен. В следствии колебание напряжения как ведет себя ток?
  6. Куда мне до них, я пока им и в подметки не гожусь, но я учусь, и буду идти к своей цели, чего бы мне этого не стояло. У меня закончились logic level транзисторы, но даже этот транзистор открылся и смог "раскачать" биполярник, в последующем я заменил его на биполярный С945, и все работает нормально. Тогда почему в горячей части БП не используют полевики, он же из линейного режима не вылезут? Мультиметр показывает выходное напряжение на нагрузке преобразователя Вот на выходе МК: Вот на коллекторе Q1: Вот на нагрузке: Вопрос 1: Почему на нагрузке нету пульсаций, от слова совсем никаких? Вопрос 2: На базе просто постоянный сигнал, а на коллекторе ШИМ, это связано с направлением тока?
  7. Скважность 0 до 255, выходное напряжение преобразователя от 0.592 до 12.09 вольт Готов ответить Здесь я с вами не согласен уважаемый, граничная частота КТ818ГМ составляет 3МГц. Греется при больших токах на 8 - 9 ампер, но и частота низкая, всего-то 31 кГц Напряжение питания всего 24 вольта, не особо понял что вы имеете ввиду Спасибо учту CEF2N6A
  8. Не обращайте внимания, установлен простой дроссель из компьютерного блока питания, 20-40 микрогенри
  9. Пока 12 вольт, могу 24 подать Да, меняется, при не прерывном сигнале максимальное напряжение питание, при разной скважности или частоте(я и то, и то пробовал тыкать) напряжение меняется, так что я все по силовой схеме сделал правильно, а вот по программной не уверен Я тоже так подумал, схему сделал, но пока в железе не проверял, это не линейная схема, и я не думаю что это нужно 31 кГц, этого мало, но что есть, то есть
  10. Здравствуйте, столкнулся с перерегулировкой выходного сигнала. Применен PID регулятор. На входе АЦП МК мега8, стоит делитель напряжения который измеряет выходное напряжение(Обратная связь), МК рулит полевым транзистором, а он уже управляет биполярным. В настройке регулятора я задаю напряжение, к примеру, 3 вольта. В итоге, все 8, но не смотря на это, изменение сопротивления выходной нагрузки не сильно изменяет напряжение на ней. Подскажите, как калибровать этот регулятор и что нужно сделать, чтобы избежать перерегулирование сигнала? Алгоритм PID регулятора не мой, а позаимствован у Alex Gyver #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) #define R1 99.8 //KOm, сопротивление последовательного резистора, вольтметр #define R2 9.85 //KOm, сопротивление последовательного резистора, вольтметр #define K (R1+R2)/R2 int PID(float input, float setpoint, float kp, float ki, float kd, float dt, int minOut, int maxOut) { float err = setpoint - input; static float integral = 0, prevErr = 0; integral = constrain(integral + (float)err * dt * ki, minOut, maxOut); float D = (err - prevErr) / dt; prevErr = err; return constrain(err * kp + integral + D * kd, minOut, maxOut); } uint16_t AdcReadValue(const int pin) { //PC0 ADCSRA |= (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); ADMUX = (0<<REFS1)|(1<<REFS0); ADMUX &=~ (1<<MUX3)|(1<<MUX2)|(1<<MUX1)|(1<<MUX0); ADCSRA |= (1<<ADSC); //Начинаем преобразование while((ADCSRA & (1<<ADSC))); //проверим закончилось ли аналого-цифровое преобразование return (uint16_t) ADC; } int main(void) { cli(); DDRB |= (1<<3); TCCR2 |= (1<<WGM20)|(1<<WGM21)|(1<<COM21)|(1<<CS20); OCR2 = 0; sei(); float Voltage = 0; float Vset = 3.00; while (1) { Voltage = ((AdcReadValue(0)* 5.0) / 1024.0) * K; OCR2 = PID(Voltage, Vset, 1.0, 0.5, 2, 0.001, 0, 255); } }
  11. Вопросы уже отпали, спасибо Благодарю, попробую на досуге))
  12. Я просто хочу разобраться во внутренней логике работы значений TOP, BOTTOM, Immediate, и как с ним работать
×
×
  • Create New...