roboforum.ru

Технический форум по робототехнике.

Сервопривод, универсальный и достаточно мощный

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 09 фев 2010, 17:52

именно аллегры уже и закуплены для опытов.. не совсем понял про нарастание?
не проще ли взять драйвер с дедтаймами

с одной стороы - мб и да, но с другой - нет... возможны разные законы коммутации

Ну у вас же каждый конкретный период ШИМ управляется только программно и больше никак.
То есть включить/выключить транзистор моста вы сможете только по времени, а не по условию
например превышения током порога или перехода тока через ноль и т.д...
Поэтому и законы коммутации у вас ограничены и некоторые "фичи" не получатся.
(ну можно, конечно, теоретически формировать сигналы не встроенным ШИМом, а программно,
опрашивая датчики, но это будет знатный геморрой).

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

Но тут трудно советовать - у вас взгляд на проблему может быть совсем иной...

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 09 фев 2010, 20:14

ну есть почитать мануал Хмега А, то вроде бы получается что мона отключать AWEX на некоторых пинах и рулить ими как хочется.. к примеру держать 1 нижний ключ всегда открытым.. а вторую диагональ ШИМить, включая то верх, то низ, таким образом замыкаю обмотку ДПТ..

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 09 фев 2010, 20:33

вроде бы получается что мона отключать AWEX на некоторых пинах и рулить ими как хочется..

Можно. У меня так работает. (делал под униполярные шаговики, а потом прикрутил к пару диси-моторчиков с реверсом на релюшках).

Но факт в том, что чистый ШИМ, управляемый током так получить не удастся.
Придется или целиться "на глаз" или просто выбрать только такие режимы,
которые доступны в данной схеме.

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 09 фев 2010, 20:36

чистый ШИМ управляемый током - имеется ввиду стабилизация тока? тогда по идее мона сделать через компаратор и систему событий, и дергать пины ) так, если подумать )

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 09 фев 2010, 20:45

Код: Выделить всёРазвернуть
//#define F_CPU   (32000000ul)

#include <avr/io.h>
#include <util/delay.h>

#define LED_BLUE()   { PORTC.OUTCLR = 4; PORTC.OUTSET = 1; }
#define LED_RED()   { PORTC.OUTCLR = 1; PORTC.OUTSET = 4; }
#define LED_OFF()   { PORTC.OUTCLR = 5; }

// Motors

#define L_FORW()    { PORTC.OUTCLR = 0x02; }
#define L_BACK()    { PORTC.OUTSET = 0x02; }
#define R_FORW()    { PORTC.OUTCLR = 0x20; }
#define R_BACK()    { PORTC.OUTSET = 0x20; }

#define L_SPEED(a)    { TCC0.CCBL = 255-a; }
#define R_SPEED(a)    { TCC0.CCDL = 255-a; }

#define LIGHT_ON()   { PORTB.OUTSET = 0x02; }
#define LIGHT_OFF()   { PORTB.OUTCLR = 0x02; }

#include <blue.c>

signed int ADC(void)
{
   ADCA.REFCTRL    = 0x10;         // REF = 2V
   ADCA.PRESCALER  = 0x01;         // Prescaler=8
   ADCA.CTRLB      = 0x10;         // signed mode
   ADCA.CH0.CTRL = 0x02;         // inputmode = diff, gain = 1
   ADCA.CH0.MUXCTRL = 0x01;      // positive input pin = A0, negative = A1
   ADCA.CTRLA = 0x01;            // ADC enable
   ADCA.CTRLA = 0x05;            // Channel0 start
   while ((ADCA.INTFLAGS&0x01)==0);
   return ADCA.CH0.RES;
}

void main(void)
{
//========================================= INIT
               
// OSCILLATOR
   
   while ( ((OSC.STATUS)&0x01)==0 );
   OSC.CTRL |= 0x02;
   while ( ((OSC.STATUS)&0x02)==0 );
   CCP = 0xD8;
   CLK.CTRL = 0x01;

// PORTC (Motors, Relays, Led)

   PORTC.DIR = 0xAF;   // Motors & Relays (+LED = 0x05)
   PORTB.DIR = 0x02;   // Light

   AWEXC.CTRL = 0x0F;   // Enable DTI on all four channels
   AWEXC.OUTOVEN = 0x88;   // Channels B & D override pins
   
   TCC0.CTRLE = 0x01;    // Byte mode
   TCC0.PERL = 255;
   
   TCC0.CCBL = 255;
   TCC0.CCDL = 255;

   TCC0.CTRLB = 0xA3;   // B & D channels single-slope PWM
   TCC0.CTRLA = 0x05;   // Prescaler = 64  (32M/64/256 = 2kHz)


Добавлено спустя 4 минуты 19 секунд:
Duhas писал(а):чистый ШИМ управляемый током - имеется ввиду стабилизация тока? тогда по идее мона сделать через компаратор и систему событий, и дергать пины ) так, если подумать )

Да, я это имел в виду. То же самое можно отнести и к переходу тока через ноль или к "естественному"
управлению БЛДС (хоть с холлами, хоть бессенсорно)
События можно, но поскольку придется по разному реагировать в зависимости от фазы, то чистыми эвентами
не обойдешься, нужно еще и прерывания дергать... Ну в общем можно подумать, но сложновато имхо.

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 09 фев 2010, 20:49

да как сказать ), я в идеале то и хочу получить плату для всего сразу... сейчас задача сделать железку, чтобы потом можно было кодить... я все-таки наверное пойду в сторону А3..

прок код приведенный - чтот я не понял к чему он) ето же кусок только? да и от СИ я так отвык )

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 09 фев 2010, 20:55

Это пример инициализации awex на двух отдельных ногах, а остальные ноги - просто ноги...
собственно, не такой уж тут си - команды вполне "ассемблерообразные" :)

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 09 фев 2010, 20:57

да не, инициализация то понятна ), я просто думал ето код чего-то конкретного )

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 09 фев 2010, 21:01

Ну... я просто подумал, вдруг пригодится... да и разбираться проще, когда пример перед глазами :oops:
Хотя ничего особо сложного на Xmege не делал пока - датчиков тока у меня на этой платке нет,
поуправлял шаговиками и ДПТ без обратных связей...

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 09 фев 2010, 21:26

ну вот я хочу найти себе полигон для проб )

ладно мне тут мысли все выбили из колеи.. вернусь завтра...

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 10 фев 2010, 08:42

мне вот интресно, такой регулятор реально дает 100А на фазу, или кушать может до 100А ну и тд ) или ето тупой маркетинг as usual...

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 10 фев 2010, 11:14

Насчет этого регулятора - не скажу, а вообще в таком объеме делают.
Главное решить две проблемы - отвод тепла и подвод тока
(по плате сто ампер тоже не очень-то просто прогнать)...

А сами транзюки сейчас трамбуют очень плотно:
irf7769, например - фитюлька 7x9 мм - сто ампер (но только с принудительным охлаждением)
или какой-нибудь irf1324 - 0.0008 Ом открытый канал - токи просто безумные (а корпус всего лишь D2PAK)

Другое дело, что обычно такие финты экономически ни разу не выгодны...
Это только со всяких автомоутив приложений да вояк можно денюшку срубить...
Да еще и с хоббиистов - эти вообще отмороженные :)

Добавлено спустя 7 минут 26 секунд:
Реально, я думаю, что на сопротивлении источника, проводах
тоже мощность выделяется неслабая при таких токах.
Да и вряд ли все это расчитано на продолжительную работу.
Последний раз редактировалось Michael_K 10 фев 2010, 11:15, всего редактировалось 1 раз.

Re: Сервопривод, универсальный и достаточно мощный

=DeaD= » 10 фев 2010, 11:15

По плате 100А гонять думаю достаточно просто - не делаешь маску на дороге и напаиваешь хоть 3мм припоя сверху :)

Добавлено спустя 28 секунд:
Вот только между сторонами платы надо через штыри переводить :) тут никакая металлизация отверстий не спасет :)

Re: Сервопривод, универсальный и достаточно мощный

Duhas » 10 фев 2010, 11:19

ну а как бы с кого еще нам рубить то ? роботостроителям ?
да и я не сказал бы что на хоббистах сильно рубят денег.. ну стоит он 60 баксов.. если там нормаьная система. то почему бы нет )

хотя какая там система.. начальный разнон и потом на безсенсорном управлении тупо полюбому пропорциональное управление...

Добавлено спустя 2 минуты 49 секунд:
пригляделся к А4... там только 2 компаратора.. мимо кассы....

Re: Сервопривод, универсальный и достаточно мощный

Michael_K » 10 фев 2010, 11:23

напаиваешь хоть 3мм припоя сверху

Так тоже делают, хотя медь все-равно раз в десять лучше проводит, чем припой
...и плавится при бОльших температурах :wink:

Добавлено спустя 2 минуты 22 секунды:
там только 2 компаратора.. мимо кассы....

А там же вроде можно ацп запустить со сравнением - или не спасет?


Rambler\'s Top100 Mail.ru counter