Пятница, 19.04.2024, 17:40
Приветствую Вас Гость | RSS

   
Главная | Каталог статей | Регистрация | Вход
ORION
   
Форма входа
Меню сайта

Категории раздела
Разное [4]
Управление [12]
RX, TX [13]
Металлоискатели [4]
Усилители [18]
Усилители НЧ
Программаторы [4]
Справочники [20]
Электрошокеры [7]
Администрация НЕ несет ответственности за содержащуюся информацию на сайте! Администрация НЕ несет ответственности за последствия использования материалов сайта.
Всё о LPT [3]
Измерительные приборы [7]
Блоки питания [2]
Электроника на рыбалке [7]
ШИМ [2]
Цифровое аудио [7]
Видео с интернета [5]

ADSENSE

...

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0



...
Каталог сайтов

Каталог качественных сайтов

Простой и удобный каталог сайтов


...
  • atmaudiovn
  • ut4ucg
  • tolikman888
  • Тэни
  • fizika37
  • lenyavalis74
  • sergej-sibirjak
  • miz2022
  • cexetil
  • vladimirelfimov1952
  • valisleonid18
  • nitro-oc
  • audionosvalvular
  • svvova68
  • qahromonb
  • abbasaliev1971
  • esusloff
  • sargismkrtchyan1962
  • biblicalstudiesru
  • cecfjgpartwilade
  • fiediaxurestand
  • fsem
  • polina2016
  • Teach
  • Пирамидон
  • ridik
  • АлександрСамол
  • osy18108431
  • retron
  • osy1810
  • Milenov
  • Zjama
  • ilfat-imamutdinov
  • urakol
  • Orion_vn6927
  • Alex9673
  • amateur
  • Emon
  • sa1967
  • ananev009
  • niko
  • Akilam
  • Blak_S
  • evg339
  • Любимый
  • rod
  • Supokil
  • DarkAssassian
  • bizmarke
  • n109
  • piligrim59
  • snover
  • Alex
  • Serzh
  • max1111
  • Admin
  • Генадзь
  • myha
  • тамплиер
  • serg
  • aleksm
  • kvpetr53
  • hekoo
  • radist
  • Мой
  • majkl
  • Вадим42
  • Prostoi
  • Гусь
  • Serega15
  • valkor
  • ivan4o47
  • osh73
  • haykaz
  • suh
  • silantiy
  • LadaZ94
  • YES
  • Dgeison
  • el
  • vovka
  • PREVED
  • trifon
  • azer
  • acetilka
  • SergeyNik
  • atl
  • marik4
  • sergey1955
  • stikson0099
  • Sodeystvie
  • viknik
  • supzim
  • 666
  • lawyer
  • ___DMK___
  • Vova1954
  • anton234ff
  • kr580ik80
  • Orion_vn6088
  • ALFA
  • Vano
  • Orion_vn

  • Наша кнопка
    Orion – электроника для любителей и профессионалов

    Главная » Статьи » Управление

    Управление радиомоделью при помощи компьютера

    Управление моделями самолётов, вертолётов, машин с помощью компьютера

    Управление радиомоделью при помощи компьютера


    Наверное, сколько бы ни было человеку лет, ему все равно будет интересно поиграть игрушкой на радиоуправлении. К примеру возьмер машинку на радиоуправлении. Нету? Купи! Понмаю, дорого в магазине. Но на рынке, где я купил этого монстра себе зимой 2004 года, это обошлось в 270 рублей(без батареек). Батарейки использовать не рекомендую - лучше аккумуляторы. Себе я поставил никель-кадмиевые на 800млАЧ. У меня тачка поддерживает рулевое управление - влево/вправо и вперед/назад. То есть никаких неудобств и ограничений. На ковре не буксует. Преодолевает без проблем пороги и плинтусы до 2.5 см. Скорость - чуть быстрее шага. Прочность отличнейшая. Странно, но сборка китайская. За 270 рублей, я считаю ее просто находкой.

    Так вот, просто ей управлять нет никакого драйва. Мой лозунг - "коннектим все к компу". И радиомашинка, кстати не исключение. И не надо думать что это будет сложно. Чтобы заставить комп управлять машиной нужно как-нибудь подключить пульт управления радиомодели к нему через что-нить. Проще всего через LPT, но это не по-продвинутому. Возьмем COM. Понимаю, вам хотелось USB, но это обойдется в копеечку, тк микруха переходник стоит 150 рублей. А если вы ее еще и спалите в процессе сборки, то суецида не избежать. Итак, COM - порт последовательный, поэтому с передачей сигналов на четыре ветви по двум проводам придется похитрить.

    Распиновка COM-порта:



    Дело в том что мы же можем нажимать на рычаги пульта в различых комбинациях (тк Вперед&Лево ...) С компа же подается только питание +12вольт, один управляющий сигнал(в нашем случае), провод "земля" и провод обратной связи. Я решил эту проблему так. Поставил двоичный счетчик К561ИЕ10. Взгляните на схему.


    Работа происходит следующим образом: компьютер посылает по одному проводу счетчику сигнал на прибавление единицы. На выходе счетчика (выводы 3.4.5.6) получаем комбинацию высокого/низкого уровня напряжения, которые идут на транзисторы, которые припаяны своим эмитером и колектором к пластинкам, либо контактам замыкаемым рычежками пульта. Стоит появиться на базе транзистора высокому уровню напряжения, он немедленно откроется "соединив" в пульте "что надо". Я не знаю насколько моя схема(в смысле пульт) частна. Не думаю, что пульты сильно отличаются. Скорее все они вообще делаются на одном заводе :). В данном случае рычажок замыекает минус батарейки пульта на определенную ножку микросхемы пульта. То есть надо использовать n-p-n транзисторы(обратная проводимость). Если же надо замыкать плюс на микруху(что маловероятно), то надо испорльзовать(p-n-p) транзистор например(кт361). Диод перед микросхемой любой выпрямительный малогабаритный. Не забудьте про DCD провод, который припаивается к выводу №6 микрухи. Это обратная связь. Без нее комп не сможет обеспечить правильную работу счетчика, а следовательно и машинки. Ниже приведены исходные процедуры по управлению за тачкой. Но это не голимый делфи - здесь используестся компонент которого у вас наверняка нет. Называется он ComDrv32. Это для последовательного порта. Можете просто вникнуть в суть таботы драйвера. А для управления моделью можете скачать прогу SashRRC[200 kb WinRAR3] (это конечно альфа версия но со своей основной обязанностью справляется на ура во всех ОС). Стоит только правильно подключить танзисторы в пульте с микросхемой(не спутайте ножки) а то когда нажмете вперед машина поедет назад. Программаа rrc написана  только под эту схему:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    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;






    Скачать программу




    Источник: http://cxem.net/uprav/uprav14.php
    Категория: Управление | Добавил: Orion_vn (15.04.2011)
    Просмотров: 3590 | Теги: радиомодель, com-порт, компьютер, радиоуправление, com | Рейтинг: 5.0/2
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    <
    Яндекс цитирования
    radionet
      Яндекс.Метрика
    CY-PR.com
    Copyright by Orion © 2024-2013