Activity

Графический планшет

Знатоки в этом деле, подскажите.
Задача такая - нужно писать текст + писать математич.формулы + рисовать наглядные графики. (т.е. пишешь на планшете - программа распознает и превращает в печатный вид, как на обычном кпк). Графический планшет для такого подойдет?
Мысль появилась как увидел на win7 программу Панель математического ввода (mip.exe). аналогов пока не нашел. Мне нужно чтобы работала на 32х битной winXP. Может в комплекте с планшетом программы какие есть?

И снова L297-L298

Тему не хочу новую заводить, спрошу в этой.
В качестве датчика перемещения использую оптопару из мыши с кодирующим колесом. Соответственно снимаю очередность импульсов.
Хочу их считать одной микросхемой счетчиком.
Требования: ТТЛ логика, 8 разрядный выход, счет декад (сигнал окончания счета), счет на уменьшение и на увеличение, чтение выхода по стробу (открытый коллектор) возможно необходимо наличие памяти.
Что-то поиском кроме ИЕ7 ничего путного не нашел.
Неужели придется реализовывать на МК?

И снова L297-L298

Andrew1978

Проверить работу ШИМ можно простейшим осцилографом на базе звуковой карты ПК

Это по писку что-ли? Надо попробовать.
Если не сложно можете ссылку кинуть, что-то с первого захода ничего полезного не нашел.

И снова L297-L298

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

Да кстати. а на сколько важны в этой схеме быстрые диоды:
у меня стоят кд275г (время вост.0,25мкс)
народ советует типа FR304 (время вост.0,15мкс)
я думаю это влияет лишь когда скорость нужна запредельная, а у меня всего-то 100гц частота.

И снова L297-L298

Здравствуйте уважаемые!
Помогите разобраться со схемкой драйвера l297-l298.

Помогите решить проблему, может подскажите где грабли.

Собрал схему L297 + L298 на один канал. Движок биполярный (китаец) сопротивление 24ом ток 0.5А. Сопротивление Rизм=0,5Ом. Соответственно Vref ~0,22. Частота около сотни герц от 555 таймера. Питание 12В, 5В через кренку.
Управляю через комп использую dir и enable.
Проблема такая: без нагрузки движок работает как часы, только при совсем низкой частоте 10-100гц вибрации и греется (причем достаточно сильно).
Dir тоже работает.
Ставлю нагрузку (энкодер напрямую через муфту на вал) сразу падает мощность (момент). Не может прокрутить. Спасает только переключение в полушаг, крутит и то пальцем можно остановить. По паспорту движок с крутящим моментом 30Н (вроде не мало). т.е. около 3кг на плечо 1см, я так понимаю.
Осциллографом проверил степы, все нормально вроде на выходе 297 есть, на выходе 298 есть (правда с дребезгом). вроде чередуются. Частота с 555 стабильная.
В чем может быть проблема столь сильной потери мощности и перегрева.
Ток через движок во время работы не могу оценить, у меня цифровой тестер. Его подключаю движок встает.
На полшаге греется значительно, даже без нагрузки.
При работе от моей схемы и 100гр не поднимет.
Измерил осциллографом фазы с l298 out1 out2 out3 и out4.
Например на out1 (нога 2) такая кривулина на осциллографе:

рисовал сам сфотать не получилось. На остальных тоже самое.
Это один шаг с амплитудой питания подающийся на движок.
Плато такое кривое - это вроде я разобрался - дребезг питания 12в. Исправлю новым блоком питания. А вот что за подъем со спуском такой страшный я не знаю. Причем выходы A B С D чистые. Такая страсть сразу на выходе l298.
Может проблема в ШИМ? Может не правильно Vref рассчитал. Пробовал подстроечником менять Vref существенных изменений не увидел.

Ps. Пропоял схему проверил разводку поменял l297 - ничего не изменилось.
Вопрос в итоге один: если все работает, и шаги и направление и полушаг, а нет тяги - проблема может быть в драйвере? или проблема с движком?

Помогите идентифицировать

Спасибо за ответы!
leprud
Такие у меня есть. Диаметр кнопки 3,5 мм. Надо 1мм - надфиль думаю не справиться. А когда их 10 шт, думаю руки отвалятся.
dollop
Эти на вид тоже здороваты.

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

abalex
Как раз под рукой оказался дисковод. Разобрал:

Концевики не такие, но ОЧЕНЬ похожие, думаю пойдут. Спасибо за помощь!

Помогите идентифицировать

Уважаемые знатоки электронных компонентов!
Помогите определить что это за спаренный концевой выключатель. (на фото)

размер 5мм*12мм*4мм

Скрутил я его вроде как с принтера HP. Но это было достаточно давно, и какой принтер был конкретно я не помню. Так вот, нужно закупить несколько таких концевиков, вот хотя бы найти аналогичные, можно одинарные, а именно небольшая штыреобразная кнопка 1мм в диаметре, выступает от корпуса на 6-7мм. интернет поиск мне не помог.

Масло и эмульсия для станка ЧПУ

Здравствуйте уважаемые!
Подскажите, есть станок ЧПУ китайский Syil X4 CNC. Какое масло для автоматической смазки (имеется система с маленным бачком), а также какая эмульсия для охлаждения (имеется автоматическая система охлаждения) подойдет для станка? В инструкции ничего кроме иероглифов нет. Предстовители в Москве толком не могут сказать. Подскажите?

Подключение абсолютных энкодеров к общей шине данных

сигнал с энкодера желательно пропустить через тригера шмита, так сказать оцифровать

не понимаю зачем это нужно если:

На вход триггера Шмидта подается аналоговый сигнал, а с выхода уже снимается логический уровень.

У меня на выходе энкодеров уже цифра!

Подключение абсолютных энкодеров к общей шине данных

To mura:
Спасибо за схему с adm232. В дальнейшем воспользуюсь.
Одноко процессоры 89S51 или mega8515 как я понял работают с аналоговыми сигналами с энкодеров. У меня у энкодеров цифровой выход.

Однако вроде как вопрос решился!
Все же после долгих дискуссий с начальством решили использовать камак.
Также решен вопрос о посылке и получении данных. Все через контроллер камака.
Т.е. адрес каждого энкодера шифруется в 3битный код, посылается через контроллер на микросхему К155ИДХХ (дешифратор), та в свое время открывает нужный COM у нужного энкодера, данные по шине (в цифровом виде!) передаются обратно на контроллер камака. Далее по своей связи на комп. Все)

PS.
Так на всякий случай .COM - это не компорт. Это ножка на энкодере Common.

Подключение абсолютных энкодеров к общей шине данных

ATLab
 Спасибо за оперативный ответ. Ну знания конечно мало майские в электронике есть все же… Передумывать однако поздно так как уже взялся. см. пост rcopen.com/forum/f21/topic116384

Микроконтроллер отпадает, так как за место него принято решение использовать блок контроллера камак. МК оставим на светлое будущее.

Теперь для чего это все это нужно: шкифы энкодеров жестко связаны подвижным элементом (пластины), данные о положении каждой из пластин передаются на компьютер, где БУДУТ считываться неким софтом для визуального отображения положения элементов (софта еще нет). Т.е. для связи комп-устройство все есть - комп с платой ввода-вывода+контроллер камака (16 каналов I/O). Нужно своять схему опроса.

Вот пример микросхемы, точнее что она должна делать. Код с камака на входе, Ножки подключенные к COM ножкам экодерам для опроса.

Подключение абсолютных энкодеров к общей шине данных

Здравствуйте уважаемые форумчане!
Вопрос такой:
Есть в наличии восемь абсолютных энкодеров фирмы Bourns. 8 ножек, вывод код грея.

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

Вроде как для опроса потребуется микруха типа дешифратор (на входе некий код с компьютера определяющий конкретный энкодер, на выходе сигнал на соответствующей ножке подключенный к нужному COM на энкодере).
А также микруха для считывания 8битных данных кода грея. Далее по RS или через LPT (возможно даже камак) на комп.
Так вот вопрос. какие конкретно микросхемы взять, и верно ли я мыслю? Может есть уже готовая схема

60 шаговых двигателей, как управлять оджновременно?
CrazyElk:

Цикл работы микроконтроллера.(вариант)

  1. ожидание начала поступления данных о новом положении стержней

  2. Получение данных о желаемой конфигурации стрежней и по его окончанию сброс флага/сигнала готовности к работе (если таковой требуется для работы связанных блоков). Для общения с Host компютером забудьте о USB ориентируйтесь на RS232. В случае необходимости FTDI 232 обеспечит вам трансляцию Com порта по USB с минимальными затратами с вашей стороны. Нативный usb драйвер вам под свое оборудование нафиг пока писать не надо. Так что на логическо программном уровне com com и еще раз com IMHO.

  3. Опрос всех энкодеров для получения текущего положения.

  4. Формирование вектора невязок/сравнения (два бита на шаговик значения 0 стоять , -1 назад, 1 вперед ) и выставление его на выводы управления направлением движения. Если есть достаточно IO ног на контроллере то сразу на них нет делать внешний тригер защеку с мультиплекированием данных адресной шиной и сбрасывать порциями.

  5. если вектор невязок сравнения не нулевой формирование строба шага по которому все шаговики разом шагают в указанном для каждого из них на шаге 3 направлении и на пятый шаг. Если вектор сравнений нулевой на шаг 6

  6. возвращается на шаг 2 (если требуется повышенная защищенность для повторного опроса энкодеров) или получаем новое положение стержней из исходного и движений сделаных на шаге 4 после чего на шаг 3 (скоростной вариант). Тут можно комбинировать скажем до предпологаемого 0-го вектора идем быстро не опрашивая реальное положение в конце потом еще раз проверяем положение на всякий случай. Для оптимизации все вектора невязок по шагам к можно рассчитать сразу если достаточно памяти или пересчитывать каждый раз по месту если ее нет.

  7. выставление флага/сигнала готовности к работе для внешних блоков и переход на шаг 0.

Вот как то так.

WBR CrazyElk

p.s. обратите внимание в алгоритме нигде нет сколько именно стрежней обслуживает контроллер. хоть 1 хоть все 60 и в реализации сразу делайте это параметром. не хватит скорости ног али чего еще экстенсивным будет проще развивать добавляя блоки и объединяя сигнал готовности по and.

Вот как раз про это я и спрашивал.
Насчет RS232 верное замечание, я думал что без преобразователя USB/RS не обойтись.
Пока не понял что значит “…делать внешний тригер защеку с мультиплекированием данных адресной шиной и сбрасывать порциями…”.
Остальное внимательно читаю. Отпишусь позже.

PS. реально запрограммировать так микроконтроллер своими силами, или необходимо иметь IQ 200?

60 шаговых двигателей, как управлять оджновременно?

Не, ну без датчиков никак не получится.
Недавно у нас на пучке тестировали болгарский коллиматор, прототип из 6ти пластин. Из недостатков помимо криво сделанных пластин и блока управления на 3 движка размером с дом, было сделано замечание по поводу отсутствия датчиков положения отслеживающих непосредственное перемещение пластин (т.е. датчик механически должен быть связан лишь пластиной, не допускается связывать их с движком, а уж отсутствие вообще не приемлемо). Координату отслеживать лишь по количеству шагов двигателя нельзя, так как всегда накапливается статическая ошибка + необходимо всегда калибровать пластину перед каждым запуском (гнать на концевик), которых при стандартной работе устройства за 1 час около 15-20 пусков.
Именно наличие независимых датчиков делает устройство самодостаточным, вроде как уникальным. Дает уверенность в правильном расположении каждой из пластин.
Насчет потенциометров (переменных резисторов) тоже проблема, так как достаточно миниатюрных не нашел, а если и были то по заоблачным ценам. Энкодеры оказались более дешевые (уже закуплено 8 штук по цене где-то 13$ за каждый, не самые лучшие конечно, но достаточно маленькие, на первое время пойдет). Это по поводу датчиков.

Насчет сервомашинок интересно очень, не думал что можно обычным коллекторным двигателем добиться таких хороших точностей. Но габариты здесь основополагающий фактор. Даже если использовать «нано» машинку (высота 30мм, длина 20мм) то разместить их на площади 50см^2 невозможно, тем более если учитывать что машинка должна располагаться под 90гр к линии перемещения пластины если использовать реечную передачу и находиться все машинки будут сбоку от пластин.


На рисунке хорошо видно как можно использовать мои двигатели, это более практично по компоновке.

А идея как раз то, что я и хотел (для Constantine). Есть микроконтроллер задача которого, получив координату с компа для каждой платины, сравнить с имеющимися, определить какую куда двигать, послать сигнал на соответствующую ножку.
Я не знаю, можно используя лишь один канал микроконтроллера управлять шаговым двигателем, задавать ему скорость и направление. Если да, то отлично. Берем микроконтроллер с 60 выводами и вешаем на него 60 драйверов с движками все.

А обратно информацию передавать необходимо, ежесекундно на мониторе оператора (врача терапевта) должна высвечиваться картинка о текущем положении пластин. Как на картинках
.

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

60 шаговых двигателей, как управлять оджновременно?

Вообще сразу скажу что сейчас изготавливается экспериментальный образец (прототип), на 4 пары пластин с такими же габаритами (8 двигателей и 8 датчиков). Проработка тех.задания привела к выводу что удобно использовать только ШД, пневмоцилиндры не пойдут. Причем ШД актуаторы (неподвижная внутренняя гайка, подвижный выдвигающийся шкиф). Скорость пластин –около 0,3-0,5 см/с. Если учесть что за один шаг шкиф актуатора выдвигается на 0,04мм, то чтобы обеспечит нужную скорость нужно около 7-10 шагов в секунду.
С радиацией не проблема: в рабочей зоне, где мощность порядка 100рад/мин (1Гр/мин) конечно ничего кроме пластин находиться не будет (рабочая частица протон). Проблема лишь с наведенной активностью (гамма и нейтроны в основном). Шаговики никак не реагируют, а электронику необходимо помещать на расстоянии хотя бы 50см в бок от рабочей зоны + защита – свинцовый кожух от гамма и парафиновая прослойка от нейтронов.

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

Для boldive :

Спасибо за ответ! Я конечно не специалист в АСУ, но идея отличная на мой взгляд (я знаю КАМАК только 😁 ).


что то подобное, да?

Т.е. как я понял заключается она в том, чтобы не париться, а навесить несколько модулей из Bechkoff. Написать программу в TwinCat и возможностей оборудования хватит на обслуживание столь большого количества двигателей и датчиков. Только можно ли поподробней, что конкретно надо использовать, какие модули? Нужна ли панель, или можно на ноут вывести? Ну и 20тыс баксов это конечно много (я наверно лучше машину себе куплю).
Можно ли обойтись малой кровью?

Для Constantine :

Спасибо за ответы! Я не понял, что значит USB МИКРОконтроллеры – это стандартные контроллеры USB в компьютере? Серводвигатели никак не пойдут, так как конструктивно лишь подошли актуаторы (внешний диаметр 20мм, выдвижной шкиф с ходом 100мм! и диаметр 2,5мм!). Идея мне тоже понравилась, т.е. подразумевается использовать возможности собственно компа. Но загвоздка на мой взгляд в том что, комп должен находиться на расстоянии около 20метров от самого коллиматора. Удобнее конечно это расстояние покрыть небольшим кабелем до блока управления а потом уже ветвить, чем заложить огромным пуком (16*4 или еще больше).
И для меня вот это слишком сложно, я не спец:

…… с каждого можно будет получить до 16 каналов (возможно где-то больше).
это 16 байтов с инфой о положении (256 положений) и счетчиком времени меняющим состояние соответствующих выходных пинов в соответствии с числом в ячейке.
каждый следущий цикл запускает все состояния в единицу и в временном цикле проверяет все 16 регистров по простой программе ветвления, формируя новое “слово” отправляемое на выходные порты.
в конце цикла - проверка данных на юсб модуле……

Подразумевается 16 независимых каналов с каждого контроллера USB? Далее сигналы подаются параллельно/последовательно? Что будет принимать данные с датчиков?

Мне интересно моя первоначальная идея верна? Можно ли работать по такой схеме (далее ее усовершенствовать и так далее). Или следует создавать что-то новое? Например может легче взять микроконтроллер на левый блок для подачи управляющих сигналов на 30 пластин + микроконтроллер специально для обработки данных с датчиков и также повторить на правый блок. Поставить блок памяти для массового сбора данных с датчиков и посыла их на комп. Или все это не верно?

60 шаговых двигателей, как управлять оджновременно?

Устройство называется многолепестковый коллиматор - используется в лучевой терапии для формирования пучков. На фото пример такого коллиматора (маде ин Канада) с использованием пневмоприводов.

Устройство состоит из двух блоков расположенных друг напротив друга с набором подвижных пластин по 30шт в каждом. Высота пластины порядка 3мм.

На второй картинке примерная схема управления. Данные о положении каждой пластины из компа через USB интерфейс (возможно потребуется использовать преобразователь интерфейса в какой-нибудь RS-ХХХ) загружаются в ROM микроконтроллера, далее контроллер проверяет положение каждой пластины (считывает с датчиков положения) и определяет какую и куда нужно переместить. Затем генерит на соответствующих выводах некую частоту (задающую скорость перемещения), которая в конце преобразуется в фазы. Наверно также следует не забыть о дополнительном выводе для каждого шаговика определяющего направление вращения. С какой-то периодичностью проходит опрос энкодеров для проверки положения. Если значение достигнуто, частота на выводе пропадает. Думаю режим микрошага не потребуется. В качестве преобразователя фаз и драйвера наверно можно использовать стандартный комплект L297-L298N.

В качестве датчиков используются энкодеры, связанные с платиной через реечную передачу. Энкодеры изготовлены по принципу открытого коллектора. Т.е. их можно запараллелить, и опрос вести по адресу. Адрес создается 8битной командой, далее некая схемка у каждого энкодера должна посылать единичку на открытый коллектор при совпадении его адреса с посланным. Сигнал с энкодеров поступает также 8битным словом в коде Грея.

Это все что я могу из себя выжать по поводу реализации, которая мне представляется. Не уверен сможет ли с приемлемой скоростью (опрос 60ти датчиков, постоянная проверка положения пластин, генерация частот на 60ти выводах, вывод данных на компьютер) микроконтроллер обрабатывать все данные, и есть ли такие у которых 80-100 программируемых ножек ввода/вывода. Будет ли слишком нагружен один МК или надо использовать 2. Затем как рассчитать какая должна быть скорость обмена информацией по USB (при возможной 1,5Мбита в сек), хватит ли? Возможно нужна будет некая плата сбора данных с датчиков (плата ввода/вывода).

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

60 шаговых двигателей, как управлять оджновременно?

Здравствуйте уважаемые форумчане! Перекопал форум но ответа на свой животрепещущий вопрос не нашел.

Задача такая: Есть некое механическое устройство с 60тью подвижными элементами (пластины). Необходимо обеспечить с помощью шаговиков (актуаторы, биполярные) их одновременное(!), независимое перемещение. Предварительная схема управления следующая: Комп - плата сопряжения (может LPT или USB пойдет если скорости хватит - блок микроконтроллера(-ов) - платы преобразования сигналов - драйвера ШД. Есть еще и обратная связь с датчиков (энкодеров) от каждой пластины. Должен происходить регулярный опрос каждого датчика, сбор данных, и передача их на комп.
Вопрос такой: Есть ли какие-нибудь стандартные способы решения таких задач с большим количеством шаговиков, или может просто организовать принцип как на обычных станках с ЧПУ только умноженное 20 (temport.by.ru/CNC.htm). Какие схематические решения можете предложить?
Вообщем от чего плясать чтобы решить эту не легкую задачку?

PS. Образование у меня мед.физик, в инженера-конструкторы попал по воле случая, разбираться приходится с нуля.