Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Ответ
Опции темы

Проблема с питанием ATmega168 + 5кВт ДПТ

Непрочитано 24.04.2012, 23:00   #11
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от r0st Посмотреть сообщение
Похоже на то, что контроллер сбрасывается от помех.
Ну, так это можно отловить програмно. А помеха есть всегда или только при подключенной нагрузке?
Реклама:
kittec вне форума   Ответить с цитированием
Непрочитано 24.04.2012, 23:19   #12
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,510 раз(а) в 2,391 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

1. По поводу супервизора (Sinthez) - он есть в самой mega168.
2. По поводу программы - без комментариев ничего не понятно, особенно с названиями переменных на немецком. И программа, вроде, не целиком. Не понимаю, например, откуда данные для регулирования берутся. В таком случае - лучше-бы не исходник, а алгоритм.
3. А вот откуда может браться перезапуск программы - вроде понятно. В обработчике компаратора устанавливается "err" и программа стартует снова c "begin:".
ForcePoint вне форума   Ответить с цитированием
Непрочитано 24.04.2012, 23:21   #13
r0st
Временная регистрация
 
Аватар для r0st
 
Регистрация: 24.11.2011
Адрес: Magdeburg
Сообщений: 81
Сказал спасибо: 10
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
r0st на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от kittec Посмотреть сообщение
А помеха есть всегда или только при подключенной нагрузке?
Только когда преобразователь под нагрузкой. Если напряжение отключено, то проблем нет никаких.

Электромагнитные воздействия довольно сильные, поскольку если поднести щуп осциллографа на расстояние около 5см к коробке, но ничего не касаться, на экране появляется ШИМ с амплитудой около двух вольт.
r0st вне форума   Ответить с цитированием
Непрочитано 24.04.2012, 23:38   #14
XoDoK11
Гражданин KAZUS.RUN
 
Аватар для XoDoK11
 
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
XoDoK11 на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Нужно написать тестовую программу вывода любого счетчика в USART. Преобразователь под нагрузкой. Половина вопросов отпадет.
По поводу логики работы вообще не понятно. Например

Код:
while(err);
goto begin;
Сообщение от ForcePoint Посмотреть сообщение
устанавливается "err" и программа стартует снова c "begin:".
Правильно заметили
Повторить обработку и все.

Последний раз редактировалось XoDoK11; 24.04.2012 в 23:41.
XoDoK11 вне форума   Ответить с цитированием
Непрочитано 24.04.2012, 23:46   #15
r0st
Временная регистрация
 
Аватар для r0st
 
Регистрация: 24.11.2011
Адрес: Magdeburg
Сообщений: 81
Сказал спасибо: 10
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
r0st на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от ForcePoint Посмотреть сообщение
А вот откуда может браться перезапуск программы - вроде понятно. В обработчике компаратора устанавливается "err" и программа стартует снова c "begin:".
err устанавливается в единицу только при срабатывании аналогового компаратора, но он отключен (ISR(ANALOG_COMP_vect) закомментирован). Сам по себе контроллер к работе вернуться не может. Для этого необходимо подать специальную команду через терминал, чтобы сбросить err, или нажать на ресет.
Сообщение от ForcePoint Посмотреть сообщение
По поводу программы - без комментариев ничего не понятно, особенно с названиями переменных на немецком. И программа, вроде, не целиком. Не понимаю, например, откуда данные для регулирования берутся. В таком случае - лучше-бы не исходник, а алгоритм.
Сейчас попробую описать.
чтобы получить частоту 20 кГц, таймер1 считает до 124, но шим не должен быть заполнен на все 100, поэтому в главном цикле стоит ограничение:
if ( pwm ‹ 117) PWM_Set_Timer1('A',pwm);
else PWM_Set_Timer1('A',117);
Так как ток через двигатель имеет пилообразную форму, а при переключениях возникают помехи, то чтобы избежать ошибок из-за этого необходимо измерять средний ток в середине импульса, если он ›=50% или же во время отключения, если pwm‹50%. Для отсчета точки измерения и служит таймер0, который запускается раз в каждое определенное число импульсов, отсчитываемое при помощи прерывания по переполнению таймера ШИМ: ISR(TIMER1_OVF_vect). А число тактов, которое он должен отсчитать задается:
if (pwm › 62) OCR0A = pwm/2+110+adcDelay;
else OCR0A = pwm/2+172+adcDelay;
где pwm - ширина ШИМ, вычисляемая на основе измеренного значения sollwert с ADC, adcDelay - переменная для ручной регулировки смещения через командный терминал.

if (test ›= 1){...} служит для целей замера реакции тока движка на скачок задающего сигнала (30%) и передачи данных раз в 1мс через RS232, управление потенциометром при этом блокируется.

в прерывании таймера стоит сигнальное вкл-выкл для выхода С4:
Set('C',4);
...
Clear('C',4);
Таким образом я вижу, что в моменты, когда контроллер не реагирует на потенциометр, прерывание таймера0 не срабатывает. В этом сейчас и состоит проблема.
r0st вне форума   Ответить с цитированием
Непрочитано 25.04.2012, 00:20   #16
XoDoK11
Гражданин KAZUS.RUN
 
Аватар для XoDoK11
 
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
XoDoK11 на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Понятно,
Цитата:
Сообщение от r0st
Похоже на то, что контроллер сбрасывается от помех.
уже забыли. Теперь
Сообщение от r0st Посмотреть сообщение
Таким образом я вижу, что в моменты, когда контроллер не реагирует на потенциометр, прерывание таймера0 не срабатывает. В этом сейчас и состоит проблема.
Алгоритм надо продумывать.

Последний раз редактировалось XoDoK11; 25.04.2012 в 00:29.
XoDoK11 вне форума   Ответить с цитированием
Непрочитано 25.04.2012, 00:29   #17
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,457
Сказал спасибо: 3,225
Сказали Спасибо 3,510 раз(а) в 2,391 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от r0st Посмотреть сообщение
... чтобы получить частоту 20 кГц, таймер1 считает до 124. ...
Для отсчета точки измерения и служит таймер0, который запускается раз в каждое определенное число импульсов, ...
1. А по-подробнее, чем занимается "PWM_Init_Timer1('A',8,FAST_PWM,124);"?
2. Я-бы сделал 10 битный Fast PWM без предделения частоты генератора (наплевав на небольшое отступление от 20 кГц) и вычисление момента запуска АЦП по каналу сравнения Б (что-то вроде OCR1B = PWM››1). Потому, что
Сообщение от r0st Посмотреть сообщение
... где pwm - ширина ШИМ, вычисляемая на основе измеренного значения sollwert с ADC, ...
Таким образом я вижу, что в моменты, когда контроллер не реагирует на потенциометр, прерывание таймера0 не срабатывает. В этом сейчас и состоит проблема.
Это жёсткий моветон совать и запуск преобразования АЦП и ожидание его результата в прерывание таймера0. АЦП можно поставить автозапуском как раз по вышеупомянутому сравнению в таймере 1.
Кстати, во фрагменте
Сообщение от r0st Посмотреть сообщение
Код:
		ADC_Channel(SINGLE, 0, 0);
		ADC_Start(SINGLE);
		ADC_Finished();
		sollwert = ADC_Get_Value();
съехало форматирование. По-этому я и не понял откуда-же данные.
ForcePoint вне форума   Ответить с цитированием
Непрочитано 25.04.2012, 03:01   #18
r0st
Временная регистрация
 
Аватар для r0st
 
Регистрация: 24.11.2011
Адрес: Magdeburg
Сообщений: 81
Сказал спасибо: 10
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
r0st на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от ForcePoint Посмотреть сообщение
А по-подробнее, чем занимается "PWM_Init_Timer1('A',8,FAST_PWM,124)"
PWM_Init_Timer1(char channel, int prescaler, char modus, char max)
PWM_Init_Timer1(выбор канала выхода, делитель, режим, установка ограничения счета (ICR1))

Сообщение от ForcePoint Посмотреть сообщение
Это жёсткий моветон совать и запуск преобразования АЦП и ожидание его результата в прерывание таймера0.
Если не ожидать там его результата, а получать его в основном цикле, то, насколько я понимаю при срабатывании прерывания и переключении канала АЦП для замера тока, значение с потенциометра в итоге может быть не снято?
Преобразование то ведь занимает достаточно много времени.

Последний раз редактировалось r0st; 25.04.2012 в 03:05.
r0st вне форума   Ответить с цитированием
Непрочитано 25.04.2012, 10:56   #19
V_andre
Вид на жительство
 
Аватар для V_andre
 
Регистрация: 09.10.2010
Сообщений: 397
Сказал спасибо: 51
Сказали Спасибо 91 раз(а) в 73 сообщении(ях)
V_andre на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от r0st Посмотреть сообщение
осциллографа на расстояние около 5см к коробке
Тогда это скорее конструктивная проблема, а не программная. И надо думать как укоротить провода, правильно развести платы и заэкранировать.
V_andre вне форума   Ответить с цитированием
Непрочитано 25.04.2012, 11:46   #20
OlegNZH
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Проблема с питанием ATmega168 + 5кВт ДПТ

Сообщение от ForcePoint Посмотреть сообщение
1. По поводу супервизора (Sinthez) - он есть в самой mega168./.

Для начала- не мешало-бы разобраться, как топикстартер использует BOD.И вообще,использует-ли... Конфигурацию Fuse-ов смотреть нужно.(У 168 три уровня 1.8V,2.7V,4.3V)...(понизить BODLEVEL,поиграться).Если там всё нормально,наоборот выключить внутренний Brown-out Detector , и использовать "грубый" Reset, электролит под 10 мкФ+100кОм, и смотреть,есть изменения ,или нет.
OlegNZH вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с питанием схемы Zemlyanov Микроконтроллеры, АЦП, память и т.д 15 10.10.2011 10:59
Проблема с питанием серверной tourent Источники питания и свет 21 12.05.2010 03:50
Atmega168 (Arduino) и терминал siemens mc35i. Проблема связи по COM порту. Dkff Микроконтроллеры, АЦП, память и т.д 2 25.02.2010 20:47
Проблема с питанием у в\м Samsung VK350 _aLexsandr_ Видеотехника 2 28.10.2006 20:53
[Решено] в/м SAMSUNG VK350 проблема с тюнером и с питанием ROOT Видеотехника 2 23.05.2005 06:47


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.