Проверьте схему выдавливания флюса из шприца.

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43813
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Прошу проверить правильность схемы.

Сообщение АлександрЛ »

flimp писал(а):просмотрев платы с которых и снял эти моторы обнаружил там презабавный контроллер: lb1656

Только это не КОНТРОЛЛЕР, а ДРАЙВЕР- в общем- то Н-мост..

flimp писал(а):но я запнулся на выводе POWER SAVE (PS), это что вообще такое к чему его подключать и как использовать?

На третьей странице- PS- "low" - драйвер работает, "Hight" - не работает (и, кажется ещё переводит выходы в "режим удержания"- вместо 12 вольт подаёт на выходы 5 вольт, если я правильно понял.)
Судя по описанию для управления этой микросхемой достаточно двух сигналов- D1 и D2, в зависимости от того, какой приходит раньше- меняется направление вращения двигателя. Но сигналы должны друг друга "перекрывать"
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

Только это не КОНТРОЛЛЕР, а ДРАЙВЕР- в общем- то Н-мост..
да да да именно это я и имел в виду, прощу прощения, я тут пока еще как сапожник, но учусь.
На третьей странице- PS- "low" - драйвер работает, "Hight" - не работает
вот вот я так же подумал, судя по графику-гистограмме с seeking и holding, где гистограммой показывается лишь два положения:
seeking (ищущий), holding (удерживающий), но я не совсем понимаю, как использовать эту линию, ведь если подключать ее к выводу atmega8, то ее придется как то задавать в коде. да и если подключать, то как, через что? требуется ли ей резистор какой или кондер на землю для выпрямления?
или ее вообще можно исключить?

а двумя сигналами D1 и D2 все, как я думаю, очень просто. их напрямую без чего бы то ни было подключаем к свободным выводом atmega8.
в коде прописываем сигнал на один, и по середине цикла включаем второй, потом на середине второго цикла выключаем первый.
короче запускаем колебания, и на середине первого колебания запускам колебания по второй линии.
а дальше тайм генератор, чем чаще пики, тем быстрее вращение.
и если поменять их местами, то будет реверс.
правильно я понимаю?

p.s. и как в kicad мне его нарисовать?
а то там нет соответствующей библиотеки ,и как и сам драйвер, так и его посадочное место придется вырисовывать.
Последний раз редактировалось flimp Вт фев 02, 2016 20:44:21, всего редактировалось 1 раз.
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43813
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Прошу проверить правильность схемы.

Сообщение АлександрЛ »

flimp писал(а):судя по графику-гистограмме с seeking и holding, где гистограммой показывается лишь два положения:
seeking (ищущий), holding (удерживающий), но я не совсем понимаю, как использовать эту линию, ведь если подключать ее к выводу atmega8, то ее придется как то задавать в коде. да и если подключать, то как, через что? требуется ли ей резистор какой или кондер на землю для выпрямления?
или ее вообще можно исключить?
Если исключить- то при стоящем и работающем ШД через него будет течь ток "фазы" - по цепи 12 вольт, а вот если использовать этот сигнал- то в логику работы МК можно добавить - когда ШД работает- то сигнал PS низкого уровня - и на ШД подаётся 12 вольт, когда ШД стоит- то уровень PS - "высокий" - тогда на обмотки ШД будет подаваться только 5 вольт, и, соответственно, ток будет меньше. :dont_know:

На сколько я понимаю, то сигналы D1, D2 и PS можно подавать напрямую с МК - там ТТЛ- уровни, которые при напряжении питания логики 5 вольт условно считаются совместимыми с КМОП.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

to АлександрЛ,
вот смотрите.
на первой странице datasheet есть следующая надпись:
seeking supple voltage ~ 12v
holding supple voltage ~ 5v
т.е. для работы надо использовать транзисторный ключ, т.е с МК подавать на транзистор сигнал, который и будет открывать питание с шины 12 вольт на этот вывод, что бы включить драйвер?

и тогда получается, что перед тем как подавать импульсы на D1 и D2 я должен сначала подать постоянный сигнал на транзистор, что бы включить ключ и запитать драйвер, а потом на D1 и D2 две смещенные на Pi/2 синусоиды с иксом по модулю, так?

p.s. прошу прощения, что немножко туплю, но я очень хочу разобраться.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

вот примерно, что вышло:
от свободных выводов Atmega8 PC1 и PC2 ведем D1 (data1) и D2 (data2) напрямую к LB1656, далее через транзисторный ключ по сигналу с Atmega8 вывода PC3 в режиме покоя питаем PS +5в, при нажатии кнопки, в данном случае не важно back это или forward, Atmega8 выключает PC3 и подает питание на PC4, что соответственно включает другой транзисторный ключ и переключает вывод PS уже с шины +12В.
ну и естественно после перезапитки PS с 5 на 12 вольт подаются сигналы на D1 и D2 согласно прорамме.

я нигде ничего не напутал?
СпойлерИзображение
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43813
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Прошу проверить правильность схемы.

Сообщение АлександрЛ »

Вы куда- то в дебри лезете.
С микросхемой LB1656 по- моему, всё гораздо проще- на неё надо просто подать 5 и 12 вольт от источников напряжения, способных потянуть нужный ток, при поступлении сигнала PS микросхема сама разберётся- на какую обмотку подать "удерживающее" напряжение- ничего там "ключевать" не надо- она сама и ключи, и H- мост.
Просто от МК должно поступать три сигнала- PS - если ШД должен стоять- то высокий уровень, если ШД должен крутиться- то низкий уровень, а сигналы D1 и D2 - перебираются МК для обеспечения вращения в нужном направлении.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

кажется понял, схема предельно простая и будет выглядеть вот так вот:
СпойлерИзображение

а код программы: (в CodeVisionAVR)
Спойлер#include <delay.h>
#include <mega8.h>

void main(void)
{
/*** Настройка портов ***/
DDRC = 0x00; // Порт SW_rotate: PС0-SPEED. SW_push: PС1-FORWARD, PС2-BACK
PORTC |= (1 << PORTC1); // Подключаем нагрузочный резистор к PC1
PORTC |= (1 << PORTC2); // Подключаем нагрузочный резистор к PC2
DDRD = 0x00; // Порт выхода
PORTD = 0xFF; // Устанавливаем "0" на выходе

/*** Настройка АЦП ***/
ADCSRA |= (1 << ADEN) // Включение АЦП
|(1 << ADPS1)|(1 << ADPS0); // Предделитель преобразователя на 8
ADMUX |= (0 << REFS1)|(0 << REFS0) // Внешний ИОН
|(0 << MUX0)|(0 << MUX1)|(0 << MUX2)|(0 << MUX3); // Вход PC0

while (1)
{
unsigned int u;
unsigned int t;
ADCSRA |= (1 << ADSC); // Начинаем преобразование
while ((ADCSRA&(1 << ADIF))== 0); // Ждем флага окончания преобразования
u = (ADCL|ADCH << 8); // Считываем ADC
if (u > 128) // 0.625V
PORTD = 0b00000001;
else
t = 800;
if (u > 256) // 1.25V
t = 700;
if (u > 384) // 1.875V
t = 600;
if (u > 512) // 2.5V
t = 500;
if (u > 640) // 3.125V
t = 400;
if (u > 768) // 3.75V
t = 300;
if (u > 896) // 4.375V
t = 200;
if (u > 1020) // 5V
t = 100;

delay_ms(50);

while(2)
{
if(PINC&(1 << PINC1)) // Проверяем нажатие кнопки FORWARD
{
PORTD &= ~(1 << PIND0); // Выключаем ШИМ PD0
PORTD &= ~(1 << PIND1); // Выключаем ШИМ PD1
PORTD &= ~(1 << PIND2); // Низкий уровень Power Safe
}
else
{
PORTD &= ~(1 << PIND0); // Выключаем ШИМ PD0
delay_ms(t); // Задержка потенциометра мс
PORTD |= (1 << PIND0); // Включаем ШИМ PD0
delay_ms(t); // Задержка потенциометра мс
PORTD &= ~(1 << PIND1); // Выключаем ШИМ PD1
delay_ms(t+50); // Задержка потенциометра мс
PORTD |= (1 << PIND1); // Включаем ШИМ PD1
delay_ms(t+50); // Задержка потенциометра мс
PORTD |= (1 << PIND2); // Высокий уровень Power Safe
}
}
while(3)
{
if(PINC&(1 << PINC2)) // Проверяем нажатие кнопки BACK
{
PORTD &= ~(1 << PIND0); // Выключаем ШИМ PD0
PORTD &= ~(1 << PIND1); // Выключаем ШИМ PD1
PORTD &= ~(1 << PIND2); // Низкий уровень Power Safe
}
else
{
PORTD &= ~(1 << PIND0); // Выключаем ШИМ PD0
delay_ms(t-50); // Задержка потенциометра мс
PORTD |= (1 << PIND0); // Включаем ШИМ PD0
delay_ms(t-50); // Задержка потенциометра мс
PORTD &= ~(1 << PIND1); // Выключаем ШИМ PD1
delay_ms(t); // Задержка потенциометра мс
PORTD |= (1 << PIND1); // Включаем ШИМ PD1
delay_ms(t); // Задержка потенциометра мс
PORTD |= (1 << PIND2); // Высокий уровень Power Safe
}
}
}
}
Последний раз редактировалось flimp Ср фев 03, 2016 21:50:45, всего редактировалось 1 раз.
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43813
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Прошу проверить правильность схемы.

Сообщение АлександрЛ »

Вот с кодом программы- это не ко мне.. :dont_know:
Я могу написать "задание для "чёрного ящика" - то есть, что должно быть на входе, и что при этом должно быть на выходе.. А при использвании мной МК мне приходится кого- то просить написать программу.. :(
Аватара пользователя
Gaff
Потрогал лапой паяльник
Сообщения: 382
Зарегистрирован: Ср янв 27, 2016 10:19:41
Контактная информация:

Re: Прошу проверить правильность схемы.

Сообщение Gaff »

flimp писал(а):я нигде ничего не напутал?
СпойлерИзображение
А с каких это пор АТмега больше 12В выдавать начали? :shock:
Не стесняйтесь благодарить тех кто вам помогает.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

А с каких это пор АТмега больше 12И выдавать начали?
atmega не выдает 12 вольт, она выдает управляющий сигнал для включения транзисторного ключа.

но эта схема ошибочна.
есть следующий вариант схемы.

to АлександрЛ,
а схема правильна?
логику работы я верно понял?
т.е. ШИМ по D1 и сдвинутый на половину по D2, и обычный сигнал на PS, когда хотим что бы вращался подаем, когда ждем нет.
так?

p.s. кто нибудь может проверить программу?
Аватара пользователя
Gaff
Потрогал лапой паяльник
Сообщения: 382
Зарегистрирован: Ср янв 27, 2016 10:19:41
Контактная информация:

Re: Прошу проверить правильность схемы.

Сообщение Gaff »

Понимаю что была ошибка и данный вопрос неактуален. Но вы вначале темы написали что хотите сами во всём разобратся. А потому вам на будущее. Если хотите комутировать сигналами с микроконтроллера более высокими напряжениями чем его питание, используйте такую схему.
СпойлерИзображение
Key.png
(12.47 КБ) 416 скачиваний
А ещё лучше заменить биполярные транзисторы полевыми соответсвено нижний n-p-n N-канальным и верхний p-n-p P-канальным. Благо их асортимент цена и более выгодные электро технические параметры располагают к этому.
Не стесняйтесь благодарить тех кто вам помогает.
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43813
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Прошу проверить правильность схемы.

Сообщение АлександрЛ »

flimp писал(а):, и обычный сигнал на PS, когда хотим что бы вращался подаем, когда ждем нет. так?

Что у вас имеется ввиду под словом "подаём"?
В даташите написано (нарисовано), что для работы уровень сигнала PS должен быть НИЗКИМ (нулём), а для режима удержания- ВЫСОКИМ (лог 1)
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

to Gaff, спасибо вам большое, в будущем только так и буду делать.
to АлександрЛ,
такс, значит надо поменять местами две строки между собой. жирным выделил две строчки, которые поменял.
было - в сообщении выше, станет вот так вот:
Спойлерwhile(3)
{
if(PINC&(1 << PINC2)) // Проверяем нажатие кнопки BACK
{
PORTD &= ~(1 << PIND0); // Выключаем ШИМ PD0
PORTD &= ~(1 << PIND1); // Выключаем ШИМ PD1
PORTD |= (1 << PIND2); // Высокий уровень Power Safe
}
else
{
PORTD &= ~(1 << PIND0); // Выключаем ШИМ PD0
delay_ms(t-50); // Задержка потенциометра мс
PORTD |= (1 << PIND0); // Включаем ШИМ PD0
delay_ms(t-50); // Задержка потенциометра мс
PORTD &= ~(1 << PIND1); // Выключаем ШИМ PD1
delay_ms(t); // Задержка потенциометра мс
PORTD |= (1 << PIND1); // Включаем ШИМ PD1
delay_ms(t); // Задержка потенциометра мс
PORTD &= ~(1 << PIND2); // Низкий уровень Power Safe
}
}


вот так тогда правильно? кто разбирается в коде...
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43813
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Прошу проверить правильность схемы.

Сообщение АлександрЛ »

flimp писал(а): вот так тогда правильно? кто разбирается в коде...

Ну, вы возьмите тот же протеус, там есть Мега8, залейте прошивку, на вход подключите кнопки, потенциометр, а на выход- светодиоды, или осциллограф- и всё увидите.
Могу я смоделировать- что там у вас куда подключено?
Аватара пользователя
Gaff
Потрогал лапой паяльник
Сообщения: 382
Зарегистрирован: Ср янв 27, 2016 10:19:41
Контактная информация:

Re: Прошу проверить правильность схемы.

Сообщение Gaff »

flimp писал(а):to Gaff, спасибо вам большое, в будущем только так и буду делать.
На полевиках можно посмотреть тут. viewtopic.php?p=2636315#p2636315 Только если подключать к микроконтроллеру ,R1 из схемы исключить.
Не стесняйтесь благодарить тех кто вам помогает.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

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

как думаете, что поправить?

p.s. и пока не придумал, как вынести кнопку.
возможность выточить подобную конструкцию есть, однако форму старался делать попроще.
Последний раз редактировалось flimp Вс фев 21, 2016 23:43:08, всего редактировалось 1 раз.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

а вот новая картинка, с разнесеными видами.
шприц с поршнем, крепление шприца и одновременно крышка, в которую вставляется сам корпус центруемый передней втулкой.
во втулке корпуса вырезаны пазы, по которым будет ходить шток ведомый шаговиком.
сам шаговик от старого дисковода, с отрезанным винтом, т.к. он короткий, на которой через муфту крепится длинный винт.
вся соосность схемы соблюдается исключительно соединением трех деталей - передней крышки, корпуса и задней крышки через соединение вал-отверстие по скользящей посадке.
СпойлерИзображение
Аватара пользователя
Gaff
Потрогал лапой паяльник
Сообщения: 382
Зарегистрирован: Ср янв 27, 2016 10:19:41
Контактная информация:

Re: Прошу проверить правильность схемы.

Сообщение Gaff »

Штука бытьможет и полезная. Но я бы неделал управление с кнопки а сделал бы чуствительный носик . Пока прижимаеш к плате пока и флюс давиться.
Не стесняйтесь благодарить тех кто вам помогает.
flimp
Прорезались зубы
Сообщения: 242
Зарегистрирован: Вс май 24, 2015 19:10:41

Re: Прошу проверить правильность схемы.

Сообщение flimp »

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

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

пока у меня есть идея на 3d принтере из пластика напечатать что то типа вот такого механизма:
СпойлерИзображение

как в варианте "В", однако одна проблема - у меня нет этого самого 3D принтера по пластику, на работе лишь 5-ти осевой ЧПУ по металлу, это самый шик.
правда меня к нему не подпускают, типа как кесарю кесарево, а инженеру за компом сидеть и на прочность считать, а не лезть в дело рабочих токарей, фрезеровщиков, операторов ЧПУ и.т.д.
но ведь можно попросить...

так вот, как такая идея?
Аватара пользователя
keepersan
Открыл глаза
Сообщения: 53
Зарегистрирован: Пт янв 29, 2010 16:24:52
Откуда: Тихорецк

Re: Прошу проверить правильность схемы.

Сообщение keepersan »

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

Симулировал схему в программе Crocodile Technology, там схема работала. Что я мог упустить, что заменить, что добавить, что убрать?
Ответить

Вернуться в «Теория»