L297 может и поддерживает, в связки L298 нет что сделать и зачем? я его не изобретаю, эт вы тут непойми что развели.
И что, вместо четырех Дарлингтонов, четыре полумоста из L298 использовать религия не позволяет ? При таком включении работают только нижние плечи полумостов. А с верхних и питание можно отключить при желании, там отдельный вывод.
Я приборы с шаговиками по работе обслуживал и ремонтировал. Униполярники и биполярники одинаковыми схемами управлялись - спарка L297+L298.
Сходил на радиорынок купил новый L298n все пересобрал, перепаял...Перепроверил, сами модуля, выход управляющих сигналов с ардуинки - все в исправном состоянии - все работатет. Итог... при включении первого ШД - он крутится, второй - крутится, но не понятно как с дерганьем...Третий (уже биболярник) - сначала крутился потом встал и повторно начал дымится его модуль управления L298n, привключении четвертого, вообще не происходит, кроме мигания лампочек на всех модулях включая блок питания... -может уже не хватает мощей... (т.к. по коду и библиотеки Stepper двигатели всегда остаются включенными (в тормозном режиме) после отработки я так понимаю.. Я просто незнаю, что я не так сделал???? Код (C++): #include <Stepper.h> Stepper motor1(200, 2,4,6,8); // объект motor, 48 шагов на оборот Stepper motor2(200, 3,5,7,9); // объект motor, 48 шагов на оборот Stepper motor3(200, 10,12,14,16); // объект motor, 48 шагов на оборот Stepper motor4(200, 11,13,15,17); // объект motor, 48 шагов на оборот void setup() { motor1.setSpeed(10); // скорость 60 об. в мин. motor2.setSpeed(10); // скорость 60 об. в мин motor3.setSpeed(10); // скорость 60 об. в мин motor4.setSpeed(10); // скорость 60 об. в мин } void loop() { motor1.step(200); // 5 оборотов (240 шагов) по часовой стрелке delay(1000); motor1.step(-200); // 5 оборотов (240 шагов) против часовой стрелке delay(1000); motor2.step(50); // 5 оборотов (240 шагов) по часовой стрелке delay(1000); motor2.step(-50); // 5 оборотов (240 шагов) против часовой стрелке delay(1000); motor3.step(200); // 5 оборотов (240 шагов) по часовой стрелке delay(1000); motor3.step(-200); // 5 оборотов (240 шагов) против часовой стрелке delay(1000); motor4.step(200); // 5 оборотов (240 шагов) по часовой стрелке delay(1000); motor4.step(-200); // 5 оборотов (240 шагов) против часовой стрелке delay(1000); //Обороты, скоростя изменены... }
Драйвер за током не следит... Обмотки? Прозванивал мультиметом - пока прозваниваются...))))) Чего делать то??? У меня есть БП от зарядника АКБ, я его применял успешно в предыдущих проектах, так вот там есть регулировка тока - я им подстраивал,так...шоб не грелось Попробывать его? Вообще чем больше обмоток, включено тем ток должен быть меньше, правильно? Или Это БП все время поддерживает 5 А???
Схему собирать нормальную. С контролем тока. У L298 есть для этого специальные выходы, но нужны низкоомные мощные сопротивления. Использовать другие драйверы ШД, а не L298N. L298 -- это не самый лучший выбор. Может тянуть не более 2A на канал, но при этом обязателен радиатор. Без радиатора не более 0.5A. При чём в любом случае нужен контроль тока. Иначе замучаетесь бегать в магазин за новыми драйверами.
Движки, поди, пожег уже все. Ставить нормальный драйвер для ШД с ограничением по току. межвиткового достаточно, чтобы движок отнести на помойку.
Модуля все с радиатороами... Я не просто звонил...Я мерил сопротивление.. - оно равно)))) Пока равно.... Мне нужен драйвер, который управляет не степ дир, а фазным управлением. Это обязательный пункт в моем проекте.. КАКОЙ ДРАЙВЕР С САМОРЕГУЛИРОВКОЙ ТОКА ПОДОЙДЕТ? Ну если в цепи с источником питания 12в и 5А включить 2 обмотки и включить 4 обмотки сразу - ток в цепи изменится? Или его поддержит мой БП? И спалит все нафиг... Повторюсь у меня есть контроллер на 4 ШД на тв-6560, его можно приспособить? для фазного управления УНИПОЛЯРНОГО ШД (не stp/dir). через библиотеку Stepper вот такой У него есть регулировка тока...вроде.. http://www.duxe.ru/load/red TB6560HQT 4V3.pdf
Устройство для зарядки аккумуляторов - это источник тока, то есть он будет "пытаться впендюрить" тебе заданный ток. А не "захочешь" - будет задирать напряжение питания. При зарядке аккумулятора он задирает напряжение почти до 20 вольт. А это чревато повреждением полупроводников. А если вы слишком много "кушаете" - он будет понижать напряжение, вплоть до нуля. Даже не пытайтесь это использовать. Вам в идеале нужен стабилизатор напряжения с регулируемым ограничителем тока. ПС. Насчет виткового замыкания - это катастрофа для движка (и реле) переменного тока, но совсем не обязательно, проблема для реле постоянного тока, например. К какой категории ближе шаговые движки - я даже и не знаю.
А к чемута такая упертость та? Я эта, значица, посмотрела даташита. И тама та есть, значица, та, картинка. И в картинке этой указана та схема. На схема та стоит, значит, ШУНТ, йопта. И если, значица, с этого та шунта с конденсатора да через резистар та значит ца, снять напряжение. Да подать та его та на АЦПей, то, значит, эта та, и ШИМам та порегулировать та токата. Вот такта.
Примем за основу предыдущий пост от паровоза. Работаем в полно-шаговом режиме. Резистором и АЦП меряем средний ток. Попробуем считать: У ТС (выше) - индуктивность движка - 4,1мГн. Возьмем - 4мГн. По определению - индуктивность L = U / (di/dt) ==> di/dt = U / L . При U=12v di/dt = 3000 а/сек. То есть ток до 3 ампер растет за 1мСек. Будем считать, что и спадает он (сам) за те же 1мСек. Получается, что за 2мСек средний ток - 1,5А. А номинальный ток движка возьмем 0,5А. Получается период цикла - 6мСек, скважность 1/6. То есть нужен ШИМ с частотой F = 1 / 6мСек = 166Гц и с скважностью 1/6 (1вкл + 5выкл). Можно ли так задать аппаратный ШИМ Ардуиной - не знаю, не делал. Это мои "теории", прошу не пинать, а высказываться. По-нормальному - все делается аппаратно в микросхемах на основе токоизмерительных резисторов и компараторов и не "грузит" процессор.
Если вы меня спрашиваете - не знаю, я не экстрасенс. Мультиметр, в режиме измерения сопротивлений, служит для таких ответов.
Можно еще вопрос... Раскурочил я значится библиотеку Stepper и вижу что для 4 пинов - полу шаг , про дварианта с двумя пинами - тоже все ясно, а вот что значит для 5 пинов? Код (C++): * L293 H-bridge connects to only 2 microcontroler pins, inverts the signals * received, and delivers the 4 (2 plus 2 inverted ones) output signals * required for driving a stepper motor. Similarly the Arduino motor shields * 2 direction pins may be used. * * The sequence of control signals for 5 phase, 5 control wires is as follows: * * Step C0 C1 C2 C3 C4 * 1 0 1 1 0 1 * 2 0 1 0 0 1 * 3 0 1 0 1 1 * 4 0 1 0 1 0 * 5 1 1 0 1 0 * 6 1 0 0 1 0 * 7 1 0 1 1 0 * 8 1 0 1 0 0 * 9 1 0 1 0 1 * 10 0 0 1 0 1 * * The sequence of control signals for 4 control wires is as follows: * * Step C0 C1 C2 C3 * 1 1 0 1 0 * 2 0 1 1 0 * 3 0 1 0 1 * 4 1 0 0 1 * * The sequence of controls signals for 2 control wires is as follows * (columns C1 and C2 from above): * * Step C0 C1 * 1 0 1 * 2 1 1 * 3 1 0 * 4 0 0 * * The circuits can be found at * * http://www.arduino.cc/en/Reference/Stepper */ // ensure this library description is only included once #ifndef Stepper_h #define Stepper_h // library interface description class Stepper { public: // constructors: Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2); Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4); Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4, int motor_pin_5); // speed setter method: void setSpeed(long whatSpeed); // mover method: void step(int number_of_steps); int version(void); private: void stepMotor(int this_step); int direction; // Direction of rotation unsigned long step_delay; // delay between steps, in ms, based on speed int number_of_steps; // total number of steps this motor can take int pin_count; // how many pins are in use. int step_number; // which step the motor is on // motor pin numbers: int motor_pin_1; int motor_pin_2; int motor_pin_3; int motor_pin_4; int motor_pin_5; // Only 5 phase motor unsigned long last_step_time; // time stamp in us of when the last step was taken }; #endif