| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Философия программирования > Программирование моторчика от машинки |
| Автор: Sergio 26.2.2007, 21:55 |
| Здрастуйте. У меня есть детская машинка на батарейках. можно ли запрограммировать её чтобы она ехала? Например через LPT порт или ещё как-то. Возможно ли это в домашних условиях? |
| Автор: 12345c 27.2.2007, 12:59 |
| Глубокий философский вопрос. Гносеологические предпосылки секвентивного развития представлений рассматриваемой модели позволяют сделать предположение о существовании положительного решения данного вопроса. Добавлено: вот этого будет достаточно (схема). Питание лучше брать от USB, если потребление не превышает 0.5 А. Но USB не имеет легко выделяемого сигнала, поэтоому придётся сигнал брать от LPT или от RS-232. Последнее лучше - контактов меньше, а драйверы для Делфи-Бейсика-Си легче найти. И управлять не через последовательный порт (TXD), а через 1 из 3 сигналов - RTS, и как их там, другие. Они, правда, имеют напряжение +- 9-12 Вольт, инверсные, это надо учесть, чтобы не испортить транзистор. Который лучше брать мощный, для той же цели. Выпаять откуда-то из старого монитора. А вот регулировать скорость вращения - несколько сложнее. Или устроить разные токи управления (подбором резисторов, не очень надёжно) от комбинации сигналов - будет 3-7 скоростей, или ставить ЦАП, что вряд ли оправданно для игрушки. |
| Автор: _Y_ 27.2.2007, 16:29 |
| А что, кроме моторчика, имеется в машинке? И еще: предполагается ли, что она ездит сама по себе или тащит за собой кабель от компа или кабель не тащит, но связана с компом каким-нибудь беспроводным способом? |
| Автор: Sergio 27.2.2007, 23:11 | ||||||
Есть моторчик который "питается" от одной батарейки типа Крона.(12 вольт)
Есть моторчик,батарейка типа Крона,кнопка которая включает моторчик.
Пока-что через шнур. А далее посмотрим. Я хочу чтоби при нажатии на Button1(приложение состоит из одной кнопки Button1) через шнур моторчику передался сигнал чтобы он включился. Вот и всё. |
| Автор: 12345c 28.2.2007, 12:18 | ||
| Комбинации сигналов дадут разные скорости вращения. Конкретный вывод порта я не указал; если посмотреть на разводку порта, то нужно выбрать биты данных с параллельной шины. Например, ( http://rtfm.vtt.net/pinouts/data/ParallelPC.shtml.htm ), Data Bit 0 - Пин 2; Data Bit 1 - Пин 3. Номиналы резисторов подбираются, чтобы токи для разных битов были разные и различались вдвое. Это зависит от конкретного транзистора. Чтобы не заниматься подбором, лучше сделать более качественную схему с 2 транзисторами, включёнными параллельно. Но в изначальной задаче этого не требовалось, это я нарисовал как опцию.
Способ беспроводного управления - сейчас несложно купить модуль Bluetooth для многобитового управления (в Москве и столицах; надо позаботиться о драйвере на РС). Неплохо и несколько дешевле будет IrDa, но без приёмника потока битов управление будет однобитовым (есть сигнал - нет). Или поставить какой-то генератор с детектором из схем радиоуправления. Добавлено @ 12:24 Да, и насколько я знаю, данные на параллельном порте не "висят" постоянно. Чтобы не усложнять схему регистром с защёлкой, пользоваться лучше всё же последовательным портом и сигналом RTS. На них данные "висят", пока порт открыт. ( http://www.levsha.net.ru/connectors-com/ru/com_rs232.php - распиновка) Добавлено @ 12:27 http://rtfm.vtt.net/pinouts/data/Serial9_pinout.shtml.htm |
| Автор: cardinal 28.2.2007, 16:42 | ||
Почем? |
| Автор: 12345c 1.3.2007, 12:02 |
| Смотря насколько интегрированы микропроцессоры и функциональность. От 15 до 200$. http://www.terraelectronica.ru/catalog.php?ID=787 , к примеру. 50$, в Чипе-и-Дипе 1600 р. Этот может напрямую заменить принтерный или USB-кабель, а значит, несложно подать команду на порт драйвера принтера в компьютере (если использовать пару) и получить сигнал на ответной части. (понятно, что не всё просто, там ещё настройка адаптера должна как-то идти через порты. Но пишут, что просто настраивается (на сайте компании) ). Интереснее, конечно, научиться ползоваться любым Bt-источником с компьютера и иметь ответный низкоуровневый модуль с выводами, прямо выдающими сигналы, поступающие через виртуальный порт компьютера. Но, скорее всего, в этом случае придётся закапываться в программирование контроллера. Большинство модулей, смотрю, имеют UART-интерфейс и аналог AT-команд модема для простоты управления. Т.е. предполагают работу с микропроцессором или компьютером, а он уже должен давать сигналы на мотор и прочее. Поэтому приведённая ссылка с модулем BT-0260 (фирма СС&C Tech.) - наверное, самое простое решение. На той же terraelectronica.ru можно найти модули приёмопередатчиков на частоте 300-500 МГц , стоят 300-600 руб. Имеют просто вход и выход для последовательной передачи данных. Например, TR3100. ( www.rfm.com ) - http://www.rfm.com/products/data/tr3100.pdf (100 K) |
| Автор: cardinal 1.3.2007, 21:41 |
| 12345c, прикольно. Спасибо! |
| Автор: pupkinv12 21.7.2007, 20:43 |
| Я тоже пытаюсь сделать нечто подобное: есть игрушечная машинка очень похожа на джип паджеро Задача: выкинуть штатный радиотриемник и заменить его ну например на кпк с СОМ портом и Wi-fi или блутусом, что менее предпочтительно Проблема: нужен некий девайс-контроллер, который бы позволял включать релюшки по команде с последовательного порта. хотелось бы иметь больше 2 исполнительных механизмов. С програмной частью проблем не возникает никаких, это задача вполне решаемая. и такого рода контроллеры мне кажется должны существовать, просто я их не встречал. хотелось бы довести идею до ума и убедиться, что задача вполне реализуема. Возможно у кого-то есть идея по этому поводу? буду рад услышать |
| Автор: WTF4XZ 21.7.2007, 21:15 |
| Было бы интерестней, если бы спаял схемку с логическим элэементом (скажем чип) и запрограмировать его. Это очень интерестно но и довольно сложно, основная проблема это достать прогроматор для чипа и иметь хорошие навыки по схемо технике (хороший програмист их имеет, если он конечно не сисадмин Вообщем получится жесть Сорри за оффтоп, просто захотел высказаться |
| Автор: Alexandr87 22.7.2007, 05:37 |
| Я вот тоже хочу "поиграться" со своими старыми, сломанными в детстве, игрушками. Была у меня БМП, сломалось там че-то, вот щас собираюсь посмотреть, тока найти сначала надо. А затем хочу присабачить туда радио-управление (раньше, просто в пульте были батареи, при нажатии на кнопки контакты замыкались и на моторы внутри бмп подавалось напряжение). Собственно хотел спросить, какуе-ндь вменяемую книжку (для малопросвященных, но способных). Как подобное реализовать, желательно с картинками. Игрушка была просто класс, проходимость ваще жесть. |
| Автор: pupkinv12 22.7.2007, 09:31 |
| Я начинал с идеи контроллера типа Microchip, но потом отказался от этой идеи по нескольким причинам ( отсутствие сетевых интерфейсов со стеками протоколов в моделях за приемлемие деньги, програмирование на асме, программатор ). Идея переродилась именно в наличие бортового компьютера в максимальной комплектации На данном же этапе для меня, как человека, которому ближе программирование нежели схемотехника, видится одно препятствие - необходимость управлять исполнительными механизмами через rs-232 и получение сигналов от датчиков через тот же порт. вот так вот. |
| Автор: cardinal 22.7.2007, 16:05 |
| У меня сейчас в планах сборка платки с atmega8 на 16MHz, которая позволит работать разнообразныи устройствами (в том числе и сенсорами разного типа). Также на ней предусмотрено управление мотором довольно больщой мощности (10-20W), для этого уже предусмотрены микросхемы. Коммуникация с компом будет или по RS232 или по USB. Скорее всего можно будет переключать способ коммуникации. Примерно 2 восьмибитных порта можно будет использовать по собственному усмотрению. Также на плате будут стоять 10 светодиодов. Все характеристики микроконтроллера можно прочитать http://www.atmel.com/dyn/resources/prod_documents/2486S.pdf. Предположительная стоимость будет колебаться в районе 40-50 € (при оптовых заказах будет намного ниже). Что вы думаете о такой цене? |
| Автор: pupkinv12 22.7.2007, 17:42 |
| на эти деньги приблизительно http://www.cirrus.com/en/pubs/proBulletin/EP9312_PB.pdf - целый компьютер |
| Автор: cardinal 22.7.2007, 19:08 |
| Во первых EP9312 чип стоит в районе 30 € (но у меня есть возможность его достать в течении недель, а у Вас). Во вторых для того чтобы он у вас заработал надо сделать под него плату, то есть провести достаточно много времени (сложно сказать сколько - зависит от Вашего опыта). А в третьих Вы паяльник хоть раз в руках держали? Просто если посмотреть повнимательней в Datasheet этого чудо устройства, то Вы увидите, что паяльник Вам не поможет, так как он в PBGA корпусе. То есть если Вы сейчас решите взять и что-то сделать, то увы с этим "компьютером" у Вас ничего не выйдет... Нет, Вы конечно можете заказать платку и этим чипом, но http://www.armkits.com/Product/NK9315.asp это уже другой ценодиапазон! |
| Автор: Alexandr87 23.7.2007, 04:31 |
| Ну так что, даст кто-ндь сцылко на хорошую книгу для новичков по электронике и радиоэлектронике. |
| Автор: cardinal 23.7.2007, 05:31 |
| Ну я вот на такое наталкивался http://avr123.nm.ru/ Бардак там тот еще, но и полезной информации я думаю тоже достаточно. А главное - все в картинках! |
| Автор: pupkinv12 23.7.2007, 08:48 | ||||||
держал, хотя повторюсь, что я программист и иработать с паяльником мне приходится не так часто.
так для этого спец паяльные станции есть
выйдет |
| Автор: Alexandr87 23.7.2007, 11:16 |
чаго-то там сцылки битые. |
| Автор: pupkinv12 23.7.2007, 12:59 |
| как я понимаю, для решения моей задачи на данном этапе должно хватить какого-нибудь преобразователя из последовательного кода в параллельный, чтобы иметь возможность управлять хотя бы 8-ю исполнительными механизмами, так как готового параллельного порта в чистом виде у меня нет. вопрос возникнет при необходимости получения сигналов от датчиков. возможно конвертор может быть двунаправленным. |
| Автор: cardinal 23.7.2007, 14:47 | ||||||
Преобразователь чего? Во что? Еще раз объясните поточнее, что подразумевается под испольнительными механизмами. Сигналы от датчиков как выглядят? Их стоимость? Да и навыки определенные нужны для их использования...
Выйдет, когда все готовенькое, а если взять чип, то результат будет не раньше чем через месяц!
А причем тогда этот чип и вопрос, который я задавал выше? |
| Автор: pupkinv12 23.7.2007, 16:22 | ||||||
т.е. rs-232 -> LPT - чтобы поиметь LPT порт на кпк"шке. Под исполнительными механизмами подразумеваются релюхи, включающие моторчики, лампочки, и т.д.
ну вопрос был про девайс и мнение о его цене. я просто показал девайс, который на 10-20€ меньше, но нужно разработать плату, зато насколько больше потенциал. на массовом производстве разработка платы отобьется. вот и все. |
| Автор: cardinal 23.7.2007, 18:13 | ||
http://emfl.nm.ru/menu/lpt.html Можно купить готовый конвертер http://postman.ru/~makarov/pclink/converter.htm за 20 бачинских.
Девайс, который стоит на моей плате стоит в 10 раз дешевле того, который упоминули Вы. Просто все остальное это разработка, в которую также входит моя работа (один из самых дорогих факторов кстати в любой разработке). |
| Автор: pupkinv12 23.7.2007, 22:13 |
| ну вот о чем-то подобном я и говорил. мне кажется вполне реальным подключить по моторчику на пин LPT или по моторчику на 2 пина ( 2 скорости ). в принципе должно получиться, как считаете? |
| Автор: cardinal 23.7.2007, 23:33 |
| К сожалению с LPT не работал и хреново представляю, что там как. Вопрос а почему обязательно LPT, чтобы именно через КПК все работало? А COM'a там нет случайно? А вообще считаю, что и COM и LPT не для управления, а для коммуникации служат. То есть ты посылаешь команду мк и он уже занимается управлением. Так что лучше научись для начала коммуницировать (полюбому) с твоим мк. |
| Автор: pupkinv12 24.7.2007, 09:33 | ||
| прелесть LPT заключается в том, что я могу на его 12 ножках подавать и снимать напряжение. т.е это простой способ избежать применения спец контроллера. COM же является последовательным интерфейсом и даже если задействовать его управляющие сигналы я аналогичным образом получу макс. 3 контакта. А на счет того, что и COM и LPT не для управления, а для коммуникации, то я бы так не стал категорично утверждать. с их помощью делается множество вещей не связанных чисто с управлением.
в том то и дело, что только он и есть. посему я четко вижу либо адаптер COM->LPT ( к ножкам лпт привязываем исполнительные механизмы), либо COM в какой-нибудь контроллер типа PIC, у которого есть опять же LPT (а возможно и не один) и реализация протокола на асме: команда приходит по сом"у и перенаправляется в лпт. тут есть одна прелесть, заключающаяся в том, что можно реализовать обратную связь(посмотреть, что выставлено на входе порта) |
| Автор: cardinal 24.7.2007, 20:41 |
| Нет, ну если вопрос стоит только в том, как включить/выключить несколько устройств, то конечно можно и по простому (через LPT), но ведь тебя наверняка интересует кол-во оборотов, да и вообще информация об управляемой системе? Ну а в использовании спец. контроллера (то есть мк) для работы по COM нет ничего страшного (см. http://www.captain.at/electronic-atmega-eeprom.php) А на прямую ты включить/выключить моторчик (более менее солидный |
| Автор: Alexandr87 25.7.2007, 05:48 | ||
Э, не въехал. Я думал питание будет на машинке. |
| Автор: pupkinv12 25.7.2007, 10:10 | ||
так это понятно. это будет как минимум ключ транзисторный и реле штатное, которое изначально было. понятно, что с использованием мк функциональность системы значительно расширяется, но на первом этапе достаточно и простого вкл/выкл. помимо этого есть еще ряд вопросов, которые нужно решить. усложнять со старта систему не охота.я считаю если с простым включением все будет нормально, тогда можно и про мк думать |
| Автор: cardinal 25.7.2007, 16:05 | ||
Если сделать простое подключение мк, то тогда можно будет и этого изходить и работать дальше, а с данным вкл/выкл вариантом дальше не шагнешь... А зачем реле, когда есть полевики? |
| Автор: pupkinv12 26.7.2007, 09:08 | ||
потому что штатные реле 10А стоят. на машинке попроще были мощные транзисторы - так они сгорели за месяц, заменили их 3х амперными реле, так они залипают! шагать дальше можно будет и так. сначала нужно подготовить кпк (выковырять rs 232 из нее) написать софт в первом приближении, выкинуть все лишнее из машинки. после этого можно и мк подбирать |
| Автор: Praetori 26.7.2007, 13:57 |
| Ставите машинку под СД-ДВД привод и в моем компьютере в контекстном меню жмете "Eject" (рус. Извлечь) Вуаля! |
| Автор: cardinal 26.7.2007, 13:59 |
| Ну тогда действуй! |