[image]

Кобра III

 
1 72 73 74 75 76 77 78
KZ Xan #25.09.2013 18:20  @Non-conformist#25.09.2013 16:21
+
-
edit
 

Xan

координатор

Non-conformist> Ну и я тут нашёл вариант программного ШИМа. Посмотрел, насколько смог - вроде отличается от печного:
Non-conformist> Вот ещё вариант ПШИМ, уже ПИКовский:

Ночью они собрали части машины, она заработала, из неё выбежала мышь и стала бегать по столу. Из мыши сыпался порошок и сложились слова "Всё-таки вы нам не верите"!

Оба приведённых примера — игрушечные, однозадачные.
А мой рабочий — способен в многозадачности работать.
Ну и у моего более равномерное размазывание импульсов, чем в примерах.

Попробуй при отключенной силе включить тестер между прямым и инверсным выходом МК и покрутить значение.
Я всячески смотрел на текст, но ошибок не увидел.
Возможно, с подключенной силой что-то глючит.
   10.010.0

Semenov

втянувшийся
Xan, добавь пожалуйста в свой проект:
1) Проверенные тобой библиотеки работы с i2c (желательно чтоб они соответствовали коду на стр 74 для гиро)

2) Отдельно прошу сделать папку дубль проекта в котором идет только вывод по 10 сек на ноги SCL SDA нескольких частот такта для проверки осцилом как сигналы проходят через преобразователь уровней на bss138 чтоб быть уверенным в надежной работе i2c по скорости передачи.

3) шим удалять не надо, можно просто обесточить пока мощный драйвер или вообще отключить.

4) Мой мыл для инвайта дроп-бокса на моем сайте и он таков mkpochtoi а после "лайги кавки" добавить narod.ru моя страничка mkpochtoi.narod.ru/price.htm

5) На схеме хорошо бы добавить на микрухи i2c их адреса и прописать в проекте.

6) Прошу в файле main.c прописать дефайнами основные параметры проекта - это ведь правильно! Частота кварца, сразу дефайн бодрейта uart четноcть и затем дефайн считающий занчения для обеспечения этого бодрейта. Указать адреса и тип микрух i2c. Указать где и какой создается ШИМ и как им управлять.

Т.е. сделать нормальную ШАПКУ как обычно делают в main.c - чтоб неконформист или любой другой открывший прожект понял что и как.

Обязательно указать что прожект mplab x и версию picc - т.е. инструментарий и добвать ссылку на стр 75 или рядом этого топика.

Спасибо. Жду!!! Сегодян ночью всеж решил поспать так как только что с тренировки пришел. :)
   29.0.1547.7629.0.1547.76
UA Non-conformist #26.09.2013 11:59  @Semenov#25.09.2013 23:51
+
-
edit
 

Non-conformist

аксакал

Пробовали вчера разные варианты ШИМа, и жёстким удержанием (50% заполнения) подпалили мотор. Почистил-подшаманил сегодня - работает. И думаю, что он ещё хорошо поработает, если не перегружать.

Кстати, "реверсивность" и "нереверсивность" коллекторных ПТ моторчиков с металлическими пружинными щётками - имхо миф мифический. Потому что разобрал я сегодня два моторчика (другого форм-фактора), чисто посмотреть устройство. Оба с простых, классических автомагнитол, т.е. якобы "нереверсивные".

Так вот, в одном щётки стоят как в моём - с РАЗНЫХ сторон, т.е. типа коллектор при "правильном направлении вращения" их "отталкивает" ОБЕ. А в другом, точно таком же на вид, ТОЧНО такие же щётки расположены с ОДНОЙ стороны ротора - т.е. при ЛЮБОМ направлении вращения получается так, что ОДНУ щётку коллектор "отталкивает", а другую - "подминает". И при этом видно, что оба мотора вполне себе хорошо поработали...

Т.е. если бы там что-то ДЕЙСТВИТЕЛЬНО отталкивало или подминало, без кавычек, то... Фигня всё это, короче.
   
KZ Xan #26.09.2013 13:07  @Non-conformist#26.09.2013 11:59
+
-
edit
 

Xan

координатор

Non-conformist> ... щётки расположены с ОДНОЙ стороны ротора - т.е. при ЛЮБОМ направлении вращения получается так, что ОДНУ щётку коллектор "отталкивает", а другую - "подминает".

Возможно, разработчиков этого мотора Сталин просто не успел расстрелять! :)
Мне тут про немецких фирменных дизайнеров рассказали такое, что волосья дыбом.
Так что не показатель.
   10.010.0

Semenov

втянувшийся
Xan, спасибо за инвайт на ДБ я зарегился.

Посмотри пожалуйса, вот такой пример оформления main.c надо взять за основу и придерживаться его. Чтобы любой кто захочет помочь с развитием кода или проекта открыв этот файл сразу мог прочитать основные параметры программы что она делает какие инструменты использовать.

code text
  1. /*
  2.  * Project name:
  3.      PWM (PWM library Demonstration)    URL .....
  4.  
  5.  * Description:
  6.      This is a simple demonstration of PWM library, which is being used for
  7.      control of the PIC's CCP module. The module is initialized and started,
  8.      after which the PWM1 ans PWM2 Duty Ratios can be adjusted by means of 4 buttons
  9.      connected to pins RA0, RA1, RA2 and RA3. The changes can be monitored on the CCP
  10.      output pins (RC1 and RC2).
  11.  * Test configuration:
  12.      MCU:             PIC16F887
  13.                       ww1.microchip.com/downloads/en/DeviceDoc/41291F.pdf
  14.      Dev.Board:       EasyPIC7    mikroe.com/easypic/
  15.      Oscillator:      HS, 08.0000 MHz
  16.      Ext. Modules:    -
  17.      SW:              mikroC PRO for PIC    mikroe.com/mikroc/pic/
  18.  * NOTES:
  19.      - Pull-down PORTA and connect button jumper (J17) to Vcc.
  20.      - Turn on LEDs on PORTC SW9.3 (board specific)
  21. */
  22.  
  23. unsigned short current_duty, old_duty, current_duty1, old_duty1;
  24.  
  25. void InitMain() {
  26.   ANSEL  = 0;                         // Configure AN pins as digital
  27.   ANSELH = 0;
  28.   C1ON_bit = 0;                       // Disable comparators
  29.   C2ON_bit = 0;
  30.  
  31.   PORTA = 255;
  32.   TRISA = 255;                        // configure PORTA pins as input
  33.   PORTB = 0;                          // set PORTB to 0
  34.   TRISB = 0;                          // designate PORTB pins as output
  35.   PORTC = 0;                          // set PORTC to 0
  36.   TRISC = 0;                          // designate PORTC pins as output
  37.   PWM1_Init(5000);                    // Initialize PWM1 module at 5KHz
  38.   PWM2_Init(5000);                    // Initialize PWM2 module at 5KHz
  39. }  


И четкие комментарии по ходу кода программы.
   29.0.1547.7629.0.1547.76
Semenov> Xan, спасибо за инвайт на ДБ я зарегился.
Я тебе отправил приглашение в общую папку.
Semenov> Посмотри пожалуйса, вот такой пример оформления main.c надо взять за основу и придерживаться его.
Semenov> PORTB = 0; // set PORTB to 0
Ужас какой. Если человек не понимает, что PORTB=0 это "set PORTB to 0" нафига он вообще исходник открыл. Терпеть не могу, когда даже самые очевидные вещи комментируют.
   23.023.0

Semenov

втянувшийся
Semenov>> Xan, спасибо за инвайт на ДБ я зарегился.
GOGI> Я тебе отправил приглашение в общую папку.
Спасибо. Осваиваюсь в ДБ. Это папка проекта Кобра? Пока еще не освоился...

GOGI> Ужас какой. Если человек не понимает, что PORTB=0 это "set PORTB to 0" нафига он вообще исходник открыл. Терпеть не могу, когда даже самые очевидные вещи комментируют.

Это пример к компилятору MikroC PIC - я думаю авторы хотели подсказать НОВИЧКАМ что если вам нужны нули в порте то это надо явну указать при инициал. железа а не надеятся на то что они там как бы по умолчанию после старта МК.

Я не призываю комментировать каждую строку. Разумная достаточность рулит.
   29.0.1547.7629.0.1547.76
Semenov> Спасибо. Осваиваюсь в ДБ. Это папка проекта Кобра?
Да, все что ты меняешь в этой папке, автоматически обновляется у Non-Conformist'a и Xan'a
   23.023.0

Semenov

втянувшийся
GOGI> Да, все что ты меняешь в этой папке, автоматически обновляется у Non-Conformist'a и Xan'a
Спасибо. Дров не наломать бы!


На сайте Mikroe есть хороший поиск и собрание библиотек исходников.
mikroe.com/search/libstock/ например нам может понадобится

Библиотека PID для PIC и других процев с симуляцией в Proteus - libstock.com/projects/view/161/pid-library
   29.0.1547.7629.0.1547.76

Xan

координатор

GOGI> Ужас какой. Если человек не понимает, что PORTB=0 это "set PORTB to 0" нафига он вообще исходник открыл. Терпеть не могу, когда даже самые очевидные вещи комментируют.

Ну, это учебный пример, чем больше комментариев, тем лучше.
Но вот это:
PORTA=255;
вот это — ужас-ужас!

Лично для себя, не для других даже, пишу вот так:
code text
  1. PORTA = 0b00000010;
  2. TRISA = 0b00001100;                                     // OK
  3. //           \\\\\\__x          pin 19
  4. //            \\\\\__D_IN       pin 20
  5. //             \\\\__D_4        pin 21
  6. //              \\\__RDY_4      pin 22
  7. //               \\__x          pin 23
  8. //                \__x          pin 24

а не какой-то, непонятно откуда взявшийся
TRISA=12;

Ну и правило вежливости — после знака препинания должен быть пробел. Обязательно.
   10.010.0
Это сообщение редактировалось 26.09.2013 в 16:41

Semenov

втянувшийся
Xan, как дела с добавкой i2c в проект? В свете сказанного выше и на прошлой страничке.

Для работы с COM UART рекомендую удобную программу - compt.ru/ru/download.php - на 30 дней, а на Кащусе есть с лекарством - в ней можно макросы писать на Си подобном наречии, чтобы автоматизировать работу со стороны ПК. По ссылке есть примеры макросов.
   29.0.1547.7629.0.1547.76
Это сообщение редактировалось 26.09.2013 в 15:58

Xan

координатор

Semenov> Xan, как дела с добавкой i2c в проект? В свете сказанного выше и на прошлой страничке.

Не так быстро!!! :)
Первым делом — я с iic живьём дела не имел.
Но я работаю над этим.
Что касается общения с нужными микрухами, там теоретически разобрался, осталось написать и проверить.

Semenov> Для работы с COM UART рекомендую удобную программу - compt.ru/ru/download.php - на 30 дней,

У меня своя есть, абсолютно free:

Делалась именно под задачи отладки всякого микроконтроллерного.
Под обмен текстовыми строчками.

***
Пик, который у меня в планах = PIC24FV16KA304.
Или PIC24F16KA304.
   10.010.0
UA Non-conformist #26.09.2013 16:43  @Semenov#26.09.2013 15:49
+
-
edit
 

Non-conformist

аксакал

Земля драйвера (силы) не была соединена с землёй МК +5 В. Издержки радиальной разводки земли гыгы... Забыл. Но ещё не проверял, насколько это влияет на форму силовых импульсов. Думаю, что влияет...
   
UA Non-conformist #26.09.2013 17:50  @Non-conformist#26.09.2013 16:43
+
-
edit
 

Non-conformist

аксакал

Xan, посмотрел наконец (под конец рабочего дня) вчерашний вариант ШИМа. Смотрел на выходах МК. Тоже изменяется частота, и присутствуют импульсы одинаковой полярности, но разной длительности. Например (то, что вижу на экране): два импульса по одному кубику, и третий - полтора. Кликаешь следующий плюс - картина изменяется (другое сочетание). Напоминает штрих-код. И частота увеличивается с увеличением значения (с плюсованием).

В этой связи имею предложение запустить АППАРАТНЫЙ ШИМ, который имеется на 877а аж в двух экземплярах, подключить к нему драйвер, посмотреть всё осциллографом, и попытаться подключить мотор. ??? Да, и земли не забыть соединить на минусе силы...
   
RU Semenov #26.09.2013 17:51  @Non-conformist#26.09.2013 16:43
+
-
edit
 

Semenov

втянувшийся
Non-conformist> Земля драйвера (силы) не была соединена с землёй МК +5 В.
Красота! ;)

А еще PROTEUS и симуляторы ругаете. В реале глюков не меньше бывает, но в симуляторе их легче вычислить так как там все протоколируется и видно что в каждом регистре мк и все сигналы на всех проводниках. Причем на каждом такте МК! :)
   29.0.1547.7629.0.1547.76
UA Non-conformist #26.09.2013 17:54  @Non-conformist#26.09.2013 17:50
+
-
edit
 

Non-conformist

аксакал

Xan, СДАВАЙСЯ! Разобрал лотошный моторчик, который "по любому реверсивный". Конструкция щёток - ну НИЧЕМ не отличается от "нереверсивных": с двух сторон цилиндрического коллектора два плоских пружинных "веничка"...
   
UA Non-conformist #26.09.2013 17:56  @Semenov#26.09.2013 17:51
+
-
edit
 

Non-conformist

аксакал

Semenov> Красота! ;)
Грешно смеяться над больными людьми! (С)
   
+
-
edit
 

Semenov

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

Для этого надо просто подать на верх "1" и подключиь нагрузку мотор от этого верха на землю. Если мотор будет длительно работать и микра не нагреется и не вырубится - то подкачка верха чествная. питание мотора можно снизить чтоб он не перегревался или заменить его лампой или резистором мощным.
   29.0.1547.7629.0.1547.76
UA Non-conformist #26.09.2013 17:59  @Semenov#26.09.2013 17:56
+
-
edit
 

Non-conformist

аксакал

А там разве есть отдельные входы хайсайда? Там всего два входа собранной внутри схемы управления Н-мостом.
   
KZ Xan #26.09.2013 18:16  @Non-conformist#26.09.2013 17:54
+
-
edit
 

Xan

координатор

Non-conformist> Xan, СДАВАЙСЯ! Разобрал лотошный моторчик, который "по любому реверсивный". Конструкция щёток - ну НИЧЕМ не отличается от "нереверсивных": с двух сторон цилиндрического коллектора два плоских пружинных "веничка"...

Хмм...
Вроде ж, разговор начинался с графитовых щёток, поджатых к коллектору.
Например, как в пылесосе.
   10.010.0
UA Non-conformist #26.09.2013 19:37  @Xan#26.09.2013 18:16
+
-
edit
 

Non-conformist

аксакал

***
Кстати, если кто ещё не в курсе: в Skipe довольно удобная "аська", с архивом и поиском. Плюс быстрый перекидон довольно увесистых файлов, простым перетягиванием в окошко сообщения. Мой адрес под бородой.
   
UA Non-conformist #26.09.2013 21:34  @Non-conformist#26.09.2013 19:37
+
-
edit
 

Non-conformist

аксакал

Xan, посмотри, пожалуйста, когда будет свободное время:

Это ДШ железного ШИМ-модулятора, на котором я когда-то собирался делать управление актуатором. Прилагаю картинку, куда конкретно смотреть. Речь идёт о трёх режимах ШИМ: без ДТ, с некоторым ДТ, и, наконец, с ДедПолосой (dead band). Режим ДП, как мне кажется, в случае маховика выглядит особенно привлекательным:

Case C Increased Deadtime and Deadband Mode... With the reduction of stiffness and position accuracy, the power input into the motor around the null point of the
servo loop can be reduced or eliminated by widening the window of the comparator circuit to a degree of acceptance. Where position accuracy and mechanical stiffness
is unimportant, deadband operation can be used. This is shown in Figure 3C.
Прикреплённые файлы:
pwm_modes.PNG (скачать) [860x391, 28 кБ]
 
 
   
UA Non-conformist #26.09.2013 21:43  @Non-conformist#26.09.2013 21:34
+
-
edit
 

Non-conformist

аксакал

Мне кажется, что тот ДТ, который подмешивает в сигнал мой 33486-ой, слишком мал для того, чтобы его мог "оценить" мотор. В том смысле, чтобы снизить потери на нагрев.

Драйверский ДТ имхо предназначен прежде всего от сквозняка через смежные плечи Н-моста, а это совсем другая песня имхо, там нано-микросекундные порядки. А моторчику надо бы единицы МИЛЛИсекунд. А лучше бы вообще имхо "Сase 3" забебецать - тогда и получим твой печной вариант, только с классическим ШИМом...
   
UA Non-conformist #26.09.2013 23:03  @Non-conformist#26.09.2013 21:43
+
-
edit
 
AD Реклама Google — средство выживания форумов :)
RU Semenov #27.09.2013 03:30  @Non-conformist#26.09.2013 23:03
+
-
edit
 

Semenov

втянувшийся
Serge77 трижды прав - сущности плодятся и плодятся... :)
Вариант С подходит.
   29.0.1547.7629.0.1547.76
1 72 73 74 75 76 77 78

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