Помогите разобраться с COM и АЦП

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Нашёл статью под названием “Работа АЦП с СОМ портом или простая система сбора данных” http://cxem.net/comp/comp86.php . Статья мне приглянулась и я решил попробовать собрать эту схему, всё собрал и решил проверить, но нечего из этого не получилось. Монтаж схемы вроде бы правильный проверял несколько раз.
Как можно промерить эту схему? Что должно быть на выводах? Любым идеям буду рад.
Спасибо за внимание!
И ещё хотелось бы выразить благодарность автору статьи.
Реклама
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

А программу вы установили? У вас установлен компилятор ВизуалБейсика? Можно и прсто на Васике написать, но работать будет только под ДОСом.
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Да Visual Basic 6.0 у меня стоит программу компилирует правильно и без всяких ошибок.
Пока нечего не заработало я решил промерить схему, и вот что у меня получилось.
Общее питание всей схему: +11.58V
После LM7805 на выходе: +5.06V
На выходе R3: + 2.53V
На ЦАПе следующие параметры:
1 ножка: +2.53V
2 ножка: +1.24V
3 ножка: GND (0.00V)
4 ножка: GND (0.00V)
5 ножка: 0.00V
6 ножка: +3.35V
7 ножка: 0.00V
8 ножка: +5.06V
На вход Х1(+) Х2(GND) подаю +2.50V
Вот такие вот измерения получились.
Кто что скажет? Какие есть варианты, идеи, соображения? В каких местах надо промерить и какие должны быть измерения?
Спасибо за внимание!
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Вот исходник:

Код: Выделить всё

Dim b1, b2, b3, b4, b5, b6, b7, b8, sum, Ud As Single
Private Sub Form_Load()

MSComm1.DTREnable = True 
  Timer1.Interval = 100 
    MSComm1.Settings = "1200,N,8,1" 
  MSComm1.CommPort = 2 
  MSComm1.PortOpen = True 
  
End Sub

Private Sub Timer1_Timer()

  MSComm1.DTREnable = False 
  Label2.Caption = "" 

  MSComm1.RTSEnable = True 
    If MSComm1.CDHolding = True Then b1 = 1 Else b1 = 0   MSComm1.RTSEnable = False 


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b2 = 1 Else b2 = 0
  MSComm1.RTSEnable = False


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b3 = 1 Else b3 = 0
  MSComm1.RTSEnable = False


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b4 = 1 Else b4 = 0
  MSComm1.RTSEnable = False


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b5 = 1 Else b5 = 0
  MSComm1.RTSEnable = False


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b6 = 1 Else b6 = 0
  MSComm1.RTSEnable = False


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b7 = 1 Else b7 = 0
  MSComm1.RTSEnable = False


  MSComm1.RTSEnable = True
    If MSComm1.CDHolding = True Then b8 = 1 Else b8 = 0
       MSComm1.DTREnable = True 
          MSComm1.RTSEnable = False 
          
          

sum = (b1 * 2 ^ 7) + (b2 * 2 ^ 6) + (b3 * 2 ^ 5) + (b4 * 2 ^ 4) + (b5 * 2 ^ 3) + (b6 * 2 ^ 2) + (b7 * 2 ^ 1) + (b8 * 2 ^ 0)
Ud = Format(sum * 5.063 / 255, "##0.000")
Label1.Caption = CStr(Ud) & " Вольт" 

End Sub
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

По приведённым напряжениям похоже, что не поступают тактовые импульсы на 7 ногу. Или не активируется СОМ-порт, или недостаточен уровень выходных сигналов с компа.
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

И как с этим надо бороться?
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Вот что он сейчас показывает
5 ножка: -2.06V
6 ножка: -2.48V
7 ножка: -2.48V

Теперь я вообще нечего не понимаю =(
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

проверить с помощью осциллографа уровень сигналов. Питание получается так, как на схеме? Тогда вроде по крайней мере импульс ТХ есть..
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Не могу проверить, осциллографа нету=(

Теперь всё изменилось:
Без подключения ком порта:
5 ножка: +0.28V
6 ножка: 0.00V
7 ножка: 0.00V
С подключенным ком портом:
5 ножка: -2.10V
6 ножка: -2.49V
7 ножка: -2.49V

Теперь я вообще нечего не понимаю =(
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Поскольку питание берётся от сигнала с СОМ-порта, то при его отключении ничего не будет. Можно использовать батарейку КРОНА, отцепив от СОМ-порта вывод 3 и присоединив туда КРОНу.
Вроде есть программы, которые могут устанавливать заданные уровни сигналов на выходах порта.
ОС винХР очень сопротивляется работе с портами.
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

У меня питание берётся от отдельного источника питания
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Понял. Всё-таки проверьте- есть ли на 3-й ноге порта напряжение более чем пять вольт. Если оно менее 5 вольт- порт просто не выдаёт нужные уровни, и почти ничего не сделать. У современных мат.плат уровни могут быть далеки от первоначальных +-12 вольт.
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Да вроде нормально у 3-й ноги : -11.59V
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

сто раз уже писалось, что вешать стабилитроны на ком порт нельзя

автор
поставь туда мах232 или перепиши софт под лпт
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

ОС винХР очень сопротивляется работе с портами.
Ну почему же, через API можно вполне конфортно работать. :))
Я как то писал программатор работающий с EXTRA-PIC для PICов на языке PureBasic.
Там нужно было независимо управлять дополнительными линиями COM порта и что то не заметил чтобы ХРюша сопротивлялась - моя прога без проблем шъёт ПИКи под любой ОСью (Висту не пробовал).
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Sounds писал(а):Да вроде нормально у 3-й ноги : -11.59V
Вообще-то должно быть +11,9 в- это соответствует лог "1" на СОМ-порту. Да, В теме http://www.radiokot.ru/forum/viewtopic. ... highlight= Советуют применить программу Free Serial Port Monitor - она умеет "встрять" между любой программой и СОМ-портом и сниффить весь процесс обмена между ними - какие команды и данные идут из программы и обратно.. Более пока ничего предложить не могу. У меня эта схема работала под ДОСом.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Сэр Мурр писал(а):Вообще-то должно быть +11,9 в- это соответствует лог "1" на СОМ-порту.
нет, логические уровни в RS-232 перевернуты: отрицательно напряжение соответствует логической 1, положительное - логическому 0. т.е. +11,9В - это лог."0"
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

ARV, Вы абсолютно правы. Что-то меня переклинило, хотел то же самое написать, что надо устанавливать логический ноль, а не единицу.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

kalobyte писал(а):сто раз уже писалось, что вешать стабилитроны на ком порт нельзя
это кем писалось? какое объяснение сему утверждению? сильно сомневаюсь в его истинности и обоснованности!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

To kalobyte
Подскажи пожалуйста если убрать стабилитроны что то изменится?
А как заменить АЦП на max232? Где про это можно прочитать?

To PB_EXPERT
А можно как ни будь изменить этот код? Я просто пока плохо знаю Visual Basic 6.0.

To Сэр Мурр
Установил программу она уже что то показывает но я не как не пойму что, пытаюсь разобраться! Спасибо за совет! Если что поможешь с анализом результатов?

To All
Сегодня днём ещё раз перебрал схему и поставил туда все новые компоненты, благо много всего накупил. Но к моему сожалению нечего не изменилось, я думаю тут дело не в схеме. И не в монтаже, монтаж проверял всё спаяно нормально контакт везде есть.
Кто ни будь вообще собирал её под виндой XP?

P.S. Спасибо за помощь!!!
Ответить

Вернуться в «Интеграция с ПК»