©2004 Валентин Володин
Сайт Валентина Володина
Главная Статьи Книги и журналы Справочник Программы Ссылки
О себе RytmArc Схемы и описания Резервный форум Разное valvolodin.narod.ru
Калькуляторы Файловый архив Архив форума Форум ГОСТы Измерительные приборы
turbobit mega.co.nz fex.net files.dp.ua ... imageup ... ... ... ...

Power Electronics

Посвящается различным источникам электропитания
Текущее время: 08-05, 23:40

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 320 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 22  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 15:16 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05-10, 23:25
Сообщения: 614
MasterCat писал(а):
т.е. по компаратоу рубится выход шима, а в этом регистре лежит огрызок до которого досчитал?

Нет :). По компаратору шим, конечно рубится, но я имел ввиду ацп- он аппаратно может запускаться при сработке компаратора (или привязан к такту шима или к каждому, или к кратному, допустим 2(3,4,8)). У каждого канала ацп свой регистр, куда и ложится результат преобразования адика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 15:41 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
monos писал(а):
Собственно привлек его шим http://flyfolder.ru/16186565

http://www.atmel.com/dyn/resources/prod ... oc7710.pdf
посмотри раздел PSC со стр 132. и особенно INPUT mode


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 15:58 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
monos писал(а):
имел ввиду ацп- он аппаратно может запускаться при сработке компаратора

я обчно раз 100 считываю и потом беру среднее. отстроиться от помех надобно ведь. поэтому АЦП сам по себе. и использую предыдущее значение. впрямую никогда


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 18:46 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05-10, 23:25
Сообщения: 614
MasterCat писал(а):
я обчно раз 100 считываю и потом беру среднее

100- не много ли? Может есть пример на си...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 19:06 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05-10, 23:25
Сообщения: 614
MasterCat писал(а):
посмотри раздел PSC со стр 132.
Посмотрел. Для восьмибитника хорош, и по входу ацп есть пара операционников. Однако, на фоне 30 и 33 пиков слабоват...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 19:51 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
monos писал(а):
Может есть пример на си...

Код:
while(1){

          temp_V_os_PWR = Get_V_os_PWR();
            if(count_V_os > 0){
                  count_V_os--;
                   summ_V_os_PWR += temp_V_os_PWR;
            }
            else {
                     summ_V_os_PWR = summ_V_os_PWR / 20;
                      temp_V_os_PWR = (U8) ((U16) summ_V_os_PWR);
                       count_V_os = 20;
                   }
//это в main

//в прерывании:
#pragma vector = ADC_vect
__interrupt void ADC_interrupt(void);

__interrupt void ADC_interrupt(void){
unsigned char  temp_adc_result = 0;
        temp_adc_result = ((unsigned char)(ADCH));
 
        if( temp_adc_result >0xf0) temp_adc_result =0xfc;

switch (gv_adc_state) {
       gv_Vcc_tst = (unsigned char) ( ( (unsigned int)((unsigned char)(temp_adc_result) + (unsigned char)( gv_Vcc_tst)) ) >> 1 );//среднее с предыдущим
             gv_adc_state = V_os_PWR_CONV;
         Start_conv_channel(V_os_PWR_CHANNEL);
      break;

      case V_os_PWR_CONV :

         gv_V_os_PWR = (unsigned char) ( ( (unsigned int)((unsigned char )(temp_adc_result) + (unsigned char)(gv_V_os_PWR)) ) >> 1 );

          gv_adc_state = middleCurrent1_CONV ;
        Start_conv_channel(V_middleCurrent1_CHANNEL);
        break;


примерно так.
дальше заряжаем DAC скоммутированный внутри на вход компаратора и он с этой опрой живет до следующего раза/
! текст выдернут фрагментарно, для примера

вот прерывание для получения фактической ширины импулься, которы йполучился от внешнего воздействия ОС по току.
#pragma vector = PSC0_CAPT_vect
__interrupt void PSC0_capture_event_interrupt(void);

__interrupt void PSC0_capture_event_interrupt(void){
Disable_psc0_external_event_a_interrupt() ;
InputCaptureRegister_LO_0 =PICR0L;


}


Последний раз редактировалось MasterCat 31-01, 20:02, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 19:54 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
monos писал(а):
Для восьмибитника хорош

monos писал(а):
Однако, на фоне 30 и 33 пиков слабоват

так на спарку косяков его вполне хватает. а вот тройник уже слабоват . это да. ну так под рукой si8050


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 19:59 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
monos писал(а):
и по входу ацп есть пара операционников

главное, что он аппаратно реализует своими модами мыслимые базовые режимы управления. 9-я мода так просто стадарнтый а-ля 8535 или 494й, ну или любымый всеми 8343.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 21:27 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05-10, 23:25
Сообщения: 614
MasterCat писал(а):
примерно так.

Спасибо. Программер я слабый, если сказать помягче, чевой- то не увидел там дублей или лонгов...
MasterCat писал(а):
вот прерывание для получения фактической ширины импулься, которы йполучился от внешнего воздействия ОС по току.
Если правильно понял- это поцикловка?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 21:33 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
monos писал(а):
или лонгов...

откуда им там взяться то?
monos писал(а):
Если правильно понял- это поцикловка
поцикловка- это обработка в каждом цикле что ли? тогда нет. тут всё среднее . процессы медленные же. и если пару-тройку тактов пропустим на анализ -пофиг.
вот же. Disable_psc0_external_event_a_interrupt() ;
запрет прерывания, как только в него ввалились. обработаем, поймём где реально находимся, тогда вновь разрешим. это сделано за тем, чтобы знать на сколько укоротиля импульс. страсть, как не люблю короче 1,5 мкс. в итоге если до предела доехали, то увеличиваем паузу на сколько посчитаем нужным. всё просто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 21:38 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
да ещё момент. сигналы с датчиков тока собъеденены по или и в принципе тут можно смотреть какой канал доехал до предела. вечно один из них 'сачёк'. приходится лентяю пинка налаживать регулярно. это кагда трансы и дроссели сильно уж разные разные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 21:46 
Не в сети
Магистр
Аватара пользователя

Зарегистрирован: 31-12, 20:51
Сообщения: 5886
Откуда: Ростовская обл.
MasterCat писал(а):
поцикловка- это обработка в каждом цикле что ли? тогда нет. тут всё среднее . процессы медленные же. и если пару-тройку тактов пропустим на анализ -пофиг.
да-да, каждый цикл. Вот чот про медленные процессы не совсем понял :live-14: Эт где они медленные? ИМХО, ежли чо и уберегает девайс от могилы при усреднении так это Z питающей сети (хотя тож проблематично, т.к. исть ёмкостной накопитель), самого девайса, выходного дросселя и др. Мож не так понял :) :live-14:

_________________
Есть только миг между прошлым и будущим, именно он называется ЖИЗНЬ ©


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 21:56 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
Maikl писал(а):
Эт где они медленные

в петле регулированиия. ос по току аппаратная же. а состальным некуда спешить. если даже ADC за 30 мкс лениво справляется. можно и быстрее , но ни к чему. остальное шустрее шевелится.
за какое время ток короткого замыкания достигнет ужасающих размеров? неужели быстрее чем 100мкс? а за это время успеваем не только репу почесать , но и... :blush:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 22:01 
Не в сети
Магистр

Зарегистрирован: 25-12, 20:10
Сообщения: 2568
меня сейчас заботит другой очень простой вопрос. мож ну ее нафиг полную обработку всех напруг включая и сеть. мож достаточно мощу стабилизить... тексту сразу меньше. чего с сэконмленными байтами делать непонятно конечно. ну это др. вопроц. можно таблички характеристик скоростей нарастания там или исчё чего на сэкономленном то сырье замутить.
это на малых токах должно поджиг сильно улучшить. типа, как-бы, "МУ" сэмулировать. :crazy:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31-01, 22:07 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05-10, 23:25
Сообщения: 614
MasterCat писал(а):
откуда им там взяться то?

Это ж код для восьмибитника? регистр у адика ведь 10-разрядный, а нада сумма измерений- для сотни надо 16 разрядов, так вроде?
MasterCat писал(а):
поцикловка- это обработка в каждом цикле что ли?
Нет это импульс режется компаратором в каждом такте по сигналу от тт- карент лимит. У тебя захватывается сигнал с тт и таймер считает, сколько он длится- правильно?


Последний раз редактировалось monos 31-01, 22:11, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 320 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 22  След.

Часовой пояс: UTC + 4 часа


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

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


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

Перейти:  
Powered by Forumenko © 2006–2014
Русская поддержка phpBB
turbobit mega.co.nz fex.net files.dp.ua ... imageup ... ... ... ...
Рейтинг@Mail.ru