|
ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Управление радиомоделью при помощи компьютера. Энциклопедия радиоэлектроники и электротехники
Энциклопедия радиоэлектроники и электротехники / Аппаратура радиоуправления Наверное, сколько бы ни было человеку лет, ему все равно будет интересно поиграть игрушкой на радиоуправлении. К примеру возьмем машинку на радиоуправлении. Нету? Купи! Понимаю, дорого в магазине. Но на рынке, где я купил этого монстра себе зимой 2004 года, это обошлось в 270 рублей(без батареек). Батарейки использовать не рекомендую - лучше аккумуляторы. Себе я поставил никель-кадмиевые на 800млАЧ. У меня тачка поддерживает рулевое управление - влево/вправо и вперед/назад. То есть никаких неудобств и ограничений. На ковре не буксует. Преодолевает без проблем пороги и плинтусы до 2.5 см. Скорость - чуть быстрее шага. Прочность отличнейшая. Странно, но сборка китайская. За 270 рублей, я считаю ее просто находкой. Так вот, просто ей управлять нет никакого драйва. Мой лозунг - "коннектим все к компу". И радиомашинка, кстати не исключение. И не надо думать что это будет сложно. Чтобы заставить комп управлять машиной нужно как-нибудь подключить пульт управления радиомодели к нему через что-нить. Проще всего через LPT, но это не по-продвинутому. Возьмем COM. Понимаю, вам хотелось USB, но это обойдется в копеечку, т.к. микруха переходник стоит 150 рублей. А если вы ее еще и спалите в процессе сборки, то суецида не избежать. Итак, COM - порт последовательный, поэтому с передачей сигналов на четыре ветви по двум проводам придется похитрить. Микруха к561ие10 стоит 8 рублей. Распиновка COM-порта:
Дело в том что мы же можем нажимать на рычаги пульта в различых комбинациях (тк Вперед&Лево ...) С компа же подается только питание +12вольт, один управляющий сигнал(в нашем случае), провод "земля" и провод обратной связи. Я решил эту проблему так. Поставил двоичный счетчик К561ИЕ10. Взгляните на схему. Работа происходит следующим образом: компьютер посылает по одному проводу счетчику сигнал на прибавление единицы. На выходе счетчика (выводы 3.4.5.6) получаем комбинацию высокого/низкого уровня напряжения, которые идут на транзисторы, которые припаяны своим эмитером и коллектором к пластинкам, либо контактам замыкаемым рычажками пульта. Стоит появиться на базе транзистора высокому уровню напряжения, он немедленно откроется "соединив" в пульте "что надо". Я не знаю насколько моя схема (в смысле пульт) частна. Не думаю, что пульты сильно отличаются. Скорее все они вообще делаются на одном заводе :). В данном случае рычажок замыкает минус батарейки пульта на определенную ножку микросхемы пульта. То есть надо использовать n-p-n транзисторы(обратная проводимость). Если же надо замыкать плюс на микруху (что маловероятно), то надо испорльзовать(p-n-p) транзистор например(кт361). Диод перед микросхемой любой выпрямительный малогабаритный. Не забудьте про DCD провод, который припаивается к выводу №6 микрухи. Это обратная связь. Без нее комп не сможет обеспечить правильную работу счетчика, а следовательно и машинки. Ниже приведены исходные процедуры по управлению за тачкой. Но это не голимый делфи - здесь используется компонент которого у вас наверняка нет. Называется он ComDrv32. Это для последовательного порта. Можете просто вникнуть в суть работы драйвера. А для управления моделью можете скачать прогу SashRRC (это конечно альфа версия но со своей основной обязанностью справляется на ура во всех ОС). Стоит только правильно подключить транзисторы в пульте с микросхемой(не спутайте ножки) а то когда нажмете вперед машина поедет назад. Программа rrc написана мною только под эту схему: procedure ResetCar; //полностью останавливает машину var CycleCount:Integer; begin if(rrcwindow.Com.Connected=false)then exit; if(lsCD in rrcwindow.Com.GetLineStatus=True)then begin CycleCount:=0; while(lsCD in rrcwindow.Com.GetLineStatus=True)do begin rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(True); //Такт на счетчик rrcwindow.Com.ToggleRTS(True); //Такт на счетчик CycleCount:=CycleCount+1; if(CycleCount>MaxCycleCount)then begin exit;end; end end else begin CycleCount:=0; while(lsCD in rrcwindow.Com.GetLineStatus=False)do begin rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(True); //Такт на счетчик rrcwindow.Com.ToggleRTS(True); //Такт на счетчик CycleCount:=CycleCount+1; if(CycleCount>MaxCycleCount)then begin exit;end; end; CycleCount:=0; while(lsCD in rrcwindow.Com.GetLineStatus=True)do begin rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(True); //Такт на счетчик rrcwindow.Com.ToggleRTS(True); //Такт на счетчик CycleCount:=CycleCount+1; if(CycleCount>MaxCycleCount)then begin exit;end; end; end; end; procedure SendCommandToCar(chUp:boolean;chDown:boolean;chLeft:boolean;chRight:boolean); // задаем нужную команду тачке var Checksuma:Integer; x:Integer; begin Checksuma:=0; ResetCAR; if(rrcwindow.Com.Connected=false)then exit; {добавь сист защиты от непр действий} if (chUp = True) then Checksuma:=Checksuma+2; if (chDown = True) then Checksuma:=Checksuma+1; if (chLeft = True) then Checksuma:=Checksuma+8; if (chRight = True) then Checksuma:=Checksuma+4; for x:=1 to Checksuma do //накрутим до нужного значения begin rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(False); // rrcwindow.Com.ToggleRTS(True); //Такт на счетчик rrcwindow.Com.ToggleRTS(True); //Такт на счетчик end; end; Будут вопросы - пиши на sash_g87 {собака} mail.ru Публикация: cxem.net
Оптимальная продолжительность сна
12.11.2025 Дефицит кислорода усиливает выброс закиси азота
12.11.2025 Омега-3 помогают молодым кораллам выживать
11.11.2025
▪ Intel Optane DC - первая оперативная память с микросхемами 3D XPoint ▪ Оптимальна форма бокала для сохранения пива холодным ▪ Оптимистам инфаркт не страшен
▪ раздел сайта Бытовая электроника. Подборка статей ▪ статья Аварии на транспорте. Основы безопасной жизнедеятельности ▪ статья Какие народные приметы связаны с погодой? Подробный ответ ▪ статья Чеснок посевной. Легенды, выращивание, способы применения
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |