[image]

Кобра III

 
1 70 71 72 73 74 78
UA Non-conformist #23.09.2013 09:58  @Non-conformist#23.09.2013 09:43
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Всё пропаяно, все цепи звонятся и видятся визуально... ???
Как я понимаю, на выходе _PWMZ должна быть чёткая, вертикально-зеркальная инверсия сигнала PWMZ. Но её нет. Кроме того, PWMZ каждые 35 мс прерывается пятисотмикросекундными паузами... (((
   
UA Non-conformist #23.09.2013 10:04  @Non-conformist#23.09.2013 09:58
+
-
edit
 

Non-conformist

аксакал

Вот текущий вариант ШИМа:


code text
  1. //      PWM                                                     2013.09.20
  2. //------------------------------------------------------------------------
  3.  
  4. char    PWM_Z_Value = -110;
  5. char    PWM_Z_Cnt = 0;
  6.  
  7. void    PWM_Irq(void)           // Вызывается из прерывания таймера 14400 Гц
  8. {
  9. PWM_Z_Cnt += PWM_Z_Value;
  10. if ((PWM_Z_Value & 0x80))
  11.     {
  12.     _PWMZ = 1;
  13.     if (!(PWM_Z_Cnt & 0x80))
  14.         {
  15.         PWM_Z_Cnt |= 0x80;
  16.         PWMZ = 0;
  17.         }
  18.     else
  19.         {
  20.         PWMZ = 1;
  21.         }
  22.     }
  23. else                            // Если шим положительный,
  24.     {
  25.     _PWMZ = 0;                  // то инверсный выход в ноль.
  26.     if ((PWM_Z_Cnt & 0x80))     // Если счётчик перепонился -- больше 127,
  27.         {
  28.         PWM_Z_Cnt &= ~0x80;     // то гасим старший бит
  29.         PWMZ = 1;               // и включаем выход шим,
  30.         }
  31.     else
  32.         {
  33.         PWMZ = 0;               // а если не переполнился, то выключаем.
  34.         }
  35.     }
  36. }
  37. //------------------------------------------------------------------------
   
RU Semenov #23.09.2013 11:30  @Non-conformist#23.09.2013 10:04
+
-
edit
 

Semenov

втянувшийся
Non-conformist> Вот текущий вариант ШИМа:

Обычно расчеты ведутся 50-100 раз в сек, это слишком длинная функция ИМХО чтоб так часто ее считать.

Советую к сообщению с кодом крепить один архив с проектом в CVAVR (или в чем идет разработка) и симуляторе PROTEUS или другом. Помочь будет проще.
   29.0.1547.7629.0.1547.76
UA Non-conformist #23.09.2013 12:08  @Semenov#23.09.2013 11:30
+
-
edit
 

Non-conformist

аксакал

Помочь и сейчас достаточно просто имхо. Если есть чем, конечно. Пишешь свой вариант, я его прошиваю и возвращаю сюда не протеус, а живые осциллограммы устройства (не раз слышал, что разница есть). Не так быстро, зато надёжно. Если есть ДБ, то тогда ещё проще (оперативнее): Dropbox

зы: Это ПИК. Проект пока разрабатывается вручную, старинным компилятором. Переход на современную ИДЕ запланирован, но пока не реализован.
   
KZ Xan #23.09.2013 12:15  @Non-conformist#23.09.2013 09:43
+
-
edit
 

Xan

координатор

Non-conformist> Посмотрел осциллографом Z-систему.
Non-conformist> Выход ШИМ наблюдаю только на PWMZ, вывод 16 микроконтроллера: 86 мкс "0" и 14 мкс "1" (char PWM_Z_Value = -110;) Фронты чёткие, красивые (чисто плата МК, без драйвера).

Там 100 мкс (86 + 14) нигде не должно быть. Это ты, наверное, скорость развёртки подкрутил. А так отношение 86:14 — правильное.
Период таймера должен быть 69.44 мкс.
Возьми значение -96, тогда должно получиться 69 мкс единица и 208 мкс ноль.
Или -64, будет 69 и 69.

Non-conformist> На инверсном выходе _PWMZ (вывод 17) наблюдаются отрицательные импульсы 500 мкс (микросекунд) с периодом следования 35 мс (миллисекунд).

Бред какой-то.
Там должна быть стабильная единица.
Можно подумать, что это WDT сбрасывает.
Надо глянуть в протокол, если там периодически строчка с версией случается, значит перезапускается.
Но это бред, потому что WDT запрещён и в главном цикле стоит его сброс.
   10.010.0
UA Non-conformist #23.09.2013 12:32  @Xan#23.09.2013 12:15
+
-
edit
 

Non-conformist

аксакал

Xan> Там должна быть стабильная единица.
Минуту... Это полномостовой драйвер. Две диагонали ОДИНАКОВЫХ n-полевиков, между ними висит мотор. Это не то, что с комплементарными p/n полевиками или обычными транзисторами!

Здесь имхо должно быть два сигнала на затворы диагоналей - прямой и точно такой же, но инверсный... Дед-тайм делает драйвер. Это имхо не тот драйвер, где направление вращения мотора управляется стационарным "0" или "1"...

зы: Развёртку не крутил, ручка стоит "на щелчке"...
   
UA Non-conformist #23.09.2013 12:50  @Non-conformist#23.09.2013 12:32
+
-
edit
 

Non-conformist

аксакал

Ещё раз перепроверил. На _PWMZ висит единица, каждые 35 мс прерываемая примерно пятисотмикросекундным нулём. Точнее замерить не имею возможности. Ноль чёткий, крутой, до нуля и обратно. Но есть некая ступенька, на одной трети от земли что-то светится. А что конкретно - не могу растянуть, импульс за экран уходит, и вывести его на экран не получается... Возможно, пробита нога...

Напиши так, чтобы ШИМ был на _PWMZ, а стационарная единица - на PWMZ. Если получится, значит железо ни при чём. Если не получится, значит пробитая нога... ???

зы: Развёртка правильная, проверил по внутренней калибровке (есть встроенный генератор). Да там быстрее и нельзя сделать - "щелчок" ручки плавной регулировки расположен на самой быстрой развёртке, на упоре по часовой стрелке.
   
RU Semenov #23.09.2013 12:54  @Non-conformist#23.09.2013 12:50
+
-
edit
 

Semenov

втянувшийся
Non-conformist> Точнее замерить не имею возможности.
В симуляторе точнее :):):)

Где посмотреть схему и что надо напрограммить?
   29.0.1547.7629.0.1547.76
KZ Xan #23.09.2013 12:58  @Non-conformist#23.09.2013 12:50
+
-
edit
 

Xan

координатор

Non-conformist> Напиши так, чтобы ШИМ был на _PWMZ, а стационарная единица - на PWMZ. Если получится, значит железо ни при чём.

Это надо в двух строчках
code text
  1. #define         PWMZ            RB6             // PWMZ (out)
  2. #define         _PWMZ           RB7             // inversion (out)

подчёркивание переставить. И ноги поменяются.
А потом обратно вернуть не забыть.
   10.010.0
KZ Xan #23.09.2013 13:06  @Non-conformist#23.09.2013 12:32
+
-
edit
 

Xan

координатор

Xan>> Там должна быть стабильная единица.
Non-conformist> Минуту... Это полномостовой драйвер. Две диагонали ОДИНАКОВЫХ n-полевиков, между ними висит мотор. Это не то, что с комплементарными p/n полевиками или обычными транзисторами!

Необязательно.
Можно одну ногу держать константой, в зависимости от знака, а другую ногу шимить.
Так даже выгоднее, меньше переключений, ток меняется более плавно.

Но проблема не в этом, а в том, что нуля на инверсном не должно быть. Обязано не быть.

Я вставил импульс на светодиоде LEDY в начала работы.
Если осцилла покажет, что он постоянно выскакивает, значит МК перезапускается.
И надо искать причину.
   10.010.0

Xan

координатор

Non-conformist>> Вот текущий вариант ШИМа:
Semenov> Обычно расчеты ведутся 50-100 раз в сек, это слишком длинная функция ИМХО чтоб так часто ее считать.

Откуда ж она длинная?
Полутора десятка тактов не будет.
   10.010.0
UA Non-conformist #23.09.2013 13:15  @Xan#23.09.2013 12:58
+
-
edit
 

Non-conformist

аксакал

Ха, у меня компилятор на работе не установлен. Только инсталляцию вижу... А я думал, что всё готово...
   
UA Non-conformist #23.09.2013 13:28  @Non-conformist#23.09.2013 13:15
+
-
edit
 

Non-conformist

аксакал

Александер!

Напрочь забыл, что там и где в Проводнике надо на хвью натаскивать-натравливать... Пытаюсь пролечить твой компилятор по прилагаемой текстовочке. Экзешник уже инсталлировал, а дальше не помню, как действовать...
   
UA Non-conformist #23.09.2013 13:32  @Xan#23.09.2013 13:06
+
-
edit
 

Non-conformist

аксакал

Xan> Я вставил импульс на светодиоде LEDY в начала работы.
Странно, не вижу всплывающих уведомлений об изменениях файлов... А где можно посмотреть эту строчку - появилась ли?
   
RU Semenov #23.09.2013 14:16  @Non-conformist#23.09.2013 12:08
+
-
edit
 

Semenov

втянувшийся
Non-conformist> Помочь и сейчас достаточно просто имхо. Если есть чем, конечно. Пишешь свой вариант, я его прошиваю и возвращаю сюда не протеус, а живые осциллограммы устройства

Хорошо. Но нужен архив со схемами и текстовое описание - тех задание на текущий момент что должно делать ПО.

Наверно разумно вести проект на платформе типа GitHub · Build software better, together. которая создана специально для групповой разработки. Любой (или имеющий разрешение владельца) может зати и увидеть текущее состояние и задачи. Подробнее о ресурсе - Изучить Github за 15 минут / Хабрахабр
   29.0.1547.7629.0.1547.76
Это сообщение редактировалось 23.09.2013 в 14:23
UA Non-conformist #23.09.2013 14:31  @Semenov#23.09.2013 14:16
+
-
edit
 

Non-conformist

аксакал

Большое спасибо за готовность помочь и интересные предложения по организации работ!

Но сейчас я должен прояснить ситуацию с железом, исходя из уже имеющихся наработок. Возникли некоторые разногласия между тем что должно быть, и тем что получилось... Из текста выше это видно.

Как только разберёмся с железом и приведём всё в норму, обязательно посмотрю ГетХаб. Ещё раз большое спасибо!
   
UA Non-conformist #23.09.2013 14:35  @Non-conformist#23.09.2013 13:28
+
-
edit
 

Non-conformist

аксакал

Non-conformist> Александер!
Non-conformist> Напрочь забыл, что там и где в Проводнике надо на хвью натаскивать-натравливать... Пытаюсь пролечить твой компилятор по прилагаемой текстовочке. Экзешник уже инсталлировал, а дальше не помню, как действовать...
Вспомнил, восстановил, разобрался... Перетащил, заменил байт. Потом активировал с реквизитами, указанными в "ридми". Написало, что "активейшн комплете".

Нажимаю батник в папке "тест", а оно пишет, что компилятор установлен неправильно... При этом из виндовых "Программ" интерфейс HT-PIC открывается нормально, без каких-либо напоминаний о необходимости регистрации и деморежимов...

В чём тут может быть секрет?
   
RU Semenov #23.09.2013 14:41  @Non-conformist#23.09.2013 14:35
+
-
edit
 

Semenov

втянувшийся
Non-conformist> В чём тут может быть секрет?

Фиг его знает, но качать нсоветую mplab x IDE с офсайта микрочипа MPLABX | Microchip Technology Inc.
и с ним вы получите на 45 дней ПОЛНУЮ версию копилятора HT-PIC без всякого гимора и новейшую. Он же симулятор - там легко увидет что проискодит в пике при обнаруженой вами паузе и понять откуда ноги ее растут :) microchip.com
   29.0.1547.7629.0.1547.76
UA Non-conformist #23.09.2013 14:43  @Semenov#23.09.2013 14:16
+
-
edit
 

Non-conformist

аксакал

Semenov> ... нужен архив со схемами и текстовое описание - тех задание на текущий момент что должно делать ПО.
Текущая схема в аттаче. Сейчас отлаживается U1 (плата МК) + U4 (канал крена). Находимся в самом начале пути - просто пытаемся подать ШИМ некоего фиксированного заполнения от МК на электромотор через драйвер. Коэффициент заполнения просто указываем в строчке программы. Это текущая задача, первый шаг.
Прикреплённые файлы:
 
   
Это сообщение редактировалось 23.09.2013 в 14:48
UA Non-conformist #23.09.2013 14:47  @Semenov#23.09.2013 14:41
+
-
edit
 

Non-conformist

аксакал

Non-conformist>> В чём тут может быть секрет?
Semenov> Фиг его знает, но качать нсоветую mplab x IDE с офсайта микрочипа MPLABX | Microchip Technology Inc.
Мой куратор Xan в настоящее время как раз разбирается с МПЛАБХ. Он долгое время работал со старой версией, а новую надо осваивать - слишком многое там ИНАЧЕ. Решили пока, на первый случай, поработать со старым, хорошо им освоенным компилятором. Дома он у меня встал, а здесь что-то пока не хочет...
   
RU Semenov #23.09.2013 14:51  @Non-conformist#23.09.2013 14:47
+
-
edit
 

Semenov

втянувшийся
Спасибо за схему. Изучу. Если найдете текстовое описание типа ТЗ на ПО для PIC - выложите пожалуйста.

Если проект фимвары в mplab не секретный то выложите пожалуйста в .zip - с нуля то зачем писать.

Non-conformist> поработать со старым
Там же и все версии старых сред mplab ide свободно лежат и в них тоже включен полный на 45 дней компилер. MPLABX | Microchip Technology Inc.
   29.0.1547.7629.0.1547.76
Это сообщение редактировалось 23.09.2013 в 14:57
KZ Xan #23.09.2013 16:09  @Non-conformist#23.09.2013 13:28
+
-
edit
 

Xan

координатор

Non-conformist> Александер!
Non-conformist> Напрочь забыл, что там и где в Проводнике надо на хвью натаскивать-натравливать... Пытаюсь пролечить твой компилятор по прилагаемой текстовочке. Экзешник уже инсталлировал, а дальше не помню, как действовать...

Надо эгзешник перетащить мышкой на хвью.

Или в каком-нибудь Нортоне написать hiew.exe picc.exe
   10.010.0
UA Non-conformist #23.09.2013 16:11  @Semenov#23.09.2013 14:51
+
-
edit
 

Non-conformist

аксакал

Насчёт секретности софта - это вообще-то не ко мне, но с МОЕЙ стороны проект полностью открытый, поскольку мне очень интересно возможное повторение моих опытов любым заинтересованным энтузиастом. Насколько я понимаю, Xan исповедует примерно ту же идеологию (свободного и бесплатного обучения всех желающих "в пределах программы средней++ школы")... ))

"ТЗ на ПО" проекта не существует в природе. Предполагается, что оно будет вырабатываться и уточняться по результатам натурных экспериментов. Общее ТЗ есть в этой ветке; в двух словах - вертикальный подъём на высоту 50 м за десять секунд с последующим спасением конструкции на парашюте. Проект грубо прикинут в простейшем флайт-симуляторе ezalt.xls Рассчитаны массы, конструкция, испытан и отработан РДТТ. Про всё это было уже писано не раз, поэтому не вижу смысла повторять персонально - при некоем минимальном желании всё это легко ищется в ветке...
   
UA Non-conformist #23.09.2013 16:16  @Xan#23.09.2013 16:09
+
-
edit
 

Non-conformist

аксакал

Xan> Надо эгзешник перетащить мышкой на хвью.
Да, уже сделал: перетащил, заменил байты, потом активировал. Написало что "всё комплете".

Батник не работает. Пишет, что компилятор неправильно установлен... Попробую снести, почистить реестр, и установить ещё раз. Как написано в русском "ридми".
   
RU Semenov #23.09.2013 16:25  @Non-conformist#23.09.2013 16:11
+
-
edit
 

Semenov

втянувшийся
Xan, выложите пожалуйста архив с проектом фирмвары в mplab.

Non-conformist> Про всё это было уже писано не раз, поэтому не вижу смысла повторять

Хорошо бы иметь один файл (так ведь обычно и делают) который лежал бы в папке проекта где код разрабатывается и описывал бы что делает разрабатываемое ПО.
Уверен это и вам самим помогло бы. На память не найдейся :p как советовал Serge77 - ведите лабораторный журнал!
   29.0.1547.7629.0.1547.76
1 70 71 72 73 74 78

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru