Форум
Приветствую Вас, Гость · RSS Пятница, 26.04.2024, 13:02

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Форум по статьям сайта » Все темы » Универсальная схема для построения измерительных устройств (Применение, практика...)
Универсальная схема для построения измерительных устройств
Iron_GansДата: Среда, 18.09.2013, 22:50 | Сообщение # 801
Группа: Front-rank users
Сообщений: 37
MACTEPok, спасибо, завтра попробую.
А вот скажите пожалуйста, в прошлый раз Вы выложили исходники прошивки. Файл Темп_темп_DS18B20.bas я смог открыть в текстовом редакторе (встроенный в Тотал Коммандер). Я так понимаю это и есть файл прошивки в котором задаются команды для контроллера (те же миллисекунды между опросами, к примеру). Вот ежели я сам там чегонибудь изменю, то каким программным продуктом потом конвертировать мой файл скажем *.txt в пригодный для прошивки *.hex?
 
MACTEPokДата: Четверг, 19.09.2013, 07:40 | Сообщение # 802
Группа: Управляет МК
Сообщений: 351
Код написан в среде Bascom. Самому редактировать этот исходник не советую. Оптимальное время опроса датчиков уже подобрано. Меньше не вижу смысла.
 
Iron_GansДата: Пятница, 20.09.2013, 09:50 | Сообщение # 803
Группа: Front-rank users
Сообщений: 37
Да это я так, для самообразования так сказать.... надо же над собой расти...  :)

Добавлено (20.09.2013, 09:50)
---------------------------------------------
Отчитываюсь по работе последней прошивки для двух DS18B20: в целом все замечательно biggrin
Была пара зависаний - после нескольких часов работы датчик, что показывает отрицательную температуру (сунул его в морозилку), стал показывать 0 градусов. Открыв морозилку и погрев датчик пальцами показания нормализовались. Не могу сказать что виновата прошивка, скорее всего сам датчик подглючивает.

С вольтметром тоже более менее все приземлил - поигрался номиналами резисторов в делителе + повесил кондер по входу измеряемого напряжения. Показания стоят почти ровно, скачут на одну десятую туда-сюда, но это же не лабораторный вольтметр, так что терпимо. Немного смущает что делитель все равно не правильный получается, если ставить те номиналы что по изначальной схеме положены - не работает. У меня получается 1кОм к измеряемому напряжению (+11...15В) и 47кОм на землю, на входе АЦП при этом 1,1-1,5В

 
MACTEPokДата: Пятница, 20.09.2013, 16:41 | Сообщение # 804
Группа: Управляет МК
Сообщений: 351
Делитель напряжения вольтметра нужно настраивать на месте по показаниям эталонного вольтметра(мультиметра)
Мелькание последнего разряда индикатора зависит от стабильности питающего МК напряжения, тк оно есть опорное для АЦП.
 
Iron_GansДата: Пятница, 20.09.2013, 18:59 | Сообщение # 805
Группа: Front-rank users
Сообщений: 37
не ну я в итоге настроил, просто смущает что плечи делителя совсем другие

Прикрепления: 8843528.gif (2.1 Kb) · 9443861.jpg (155.0 Kb)


Сообщение отредактировал Iron_Gans - Пятница, 20.09.2013, 19:03
 
MACTEPokДата: Пятница, 20.09.2013, 19:51 | Сообщение # 806
Группа: Управляет МК
Сообщений: 351
пропорция есть пропорция. Формулу расчета делителя посмотрите в инете, абсолютные значения резисторов могут быть любыми. Но сильно завышать значения не советую, тк суммарный ток через делитель будет снижаться --> показания будут нестабильными.

I=U/R = 12/52000 = 0,23 mA 
P=UI = 12* 0,00023 = 0,0028 Вт

Сопротивление резисторов смд: 0.125-0.25 Вт
Ток можно поднять раз в 10


Сообщение отредактировал MACTEPok - Пятница, 20.09.2013, 19:58
 
Iron_GansДата: Пятница, 20.09.2013, 20:45 | Сообщение # 807
Группа: Front-rank users
Сообщений: 37
Да вот в том то и прикол, что при моем делителе напряжение на входе АЦП должно быть порядка 9-11В, однакож работает, зараза... И напряжение на PC4 нормальное в пределах 1-1,5В в зависимости от того что на входе. Ну да Бог с ним.
Вы мне лучше помогите настроить канал давления. Сегодня пол дня монстрячил конструкцию чтобы подать на датчик реальное давление в пределах 0-5 кг/см2 Сделал, подключил. Получается что схема в целом занижает на порядка 02,-0,3 атмосферы. Подстроечником R4 подтягиваю показания до соответствия механическому манометру и в итоге при сбросе давления нет нуля - так и остается показывать 0,2. Колупался где то с часа два, пока дети из школы не пришли, потом отложил. Чешу репу. Возможно конечно что мех.манометр врет, но мало вероятно. Завтра возьму другой с ним попробую... На всякий пожарный прикладываю схему канала давления, она у меня такая же как и рекомендовано, в этот раз без изысков:


Да, чуть не забыл: операционник питается от стабилизированных 9 вольт - через КРЕНку

Добавлено (20.09.2013, 20:45)
---------------------------------------------
УПС, пока набирал текст не заметил что вы откорректировали свой пост. Просто я специально старался ток через делитель задать как можно меньше. Видимо поэтому так и получилось ибо иначе тока бы совсем не хватало для нормальной работы. Завтра переиграю делитель этот...

Прикрепления: 4247917.gif (3.9 Kb)


Сообщение отредактировал Iron_Gans - Пятница, 20.09.2013, 20:42
 
sgДата: Суббота, 21.09.2013, 18:36 | Сообщение # 808
Группа: Пользователи
Сообщений: 3
Девайс конечно очень полезный, за что большое спасибо автору!!! Не сочтите за наглость, но хотелось-бы сделать приборчик контроля и управления микроклимотом в помещении- температура (DS18B20), влажность (H25K или SYH-1)
Было-бы не плохо и контролировать уровень СО с последующим открыванием - закрыванием форточки (вентиляции)
Как вариант индикации 2-3 строчный LCD или, что ещё лучше монохромные дисплеи от старых мобилок Nokia - они очень дешовые.
Буду очень благодарен, да и не только я.
 
Iron_GansДата: Воскресенье, 22.09.2013, 09:31 | Сообщение # 809
Группа: Front-rank users
Сообщений: 37
sg, вот, посмотрите варианты схем, там есть и с датчиком влажности:
http://c2.at.ua/3m/S_V_A/s_VA_akV.gif

А на 5ой странице форума, в сообщении № 164, есть схема подключения DS18B20
Делаете один канал для влажности (PC5), второй для DSки (PC4) и говорите автору где у вас чего и что собственно нужно от прошивки.

Уважаемый MACTEPok, в Вашей статье ( http://c2.at.ua/load....-1-0-72 ) есть таблица с прошивками, у меня такой вопрос: там у температурных прошивок какой датчик используется? Аналоговый? Прошивок под DSки в той таблице нет? Да и собственно в картинке с вариантами входных схем DSок тоже нет... Это я к чему: может дополните когда время найдете?


Сообщение отредактировал Iron_Gans - Воскресенье, 22.09.2013, 09:36
 
MACTEPokДата: Воскресенье, 22.09.2013, 14:01 | Сообщение # 810
Группа: Управляет МК
Сообщений: 351
Статью оформляю не я, а модератор. Добавлять в таблицу прошивки уже бесполезно. Их накопилось очень много, пользователи постоянно придумывают новые алгоритмы под себя. Поэтому лучше оставить их на форуме с описанием.
 
C@atДата: Воскресенье, 22.09.2013, 14:52 | Сообщение # 811
Группа: Hegemoniс
Сообщений: 12345714
Да, у этой разработки вариантов реализации уже прямо немыслимо , вот в этом форуме http://c2.at.ua/forum/2-53-1 было начало сбора исходников на базе этой измерительной схемы, но это-ж надо чтобы кто-то фиксировал и описывал конечный вариант.
Но не только тут, а во всем интернете так , если проблемы пишем, а как побороли проблемы, так и черкнуть пару строк становится некогда, не то что упорядочнить файлы и описать что к чему, поэтому и найти нужное не так просто. Я например сейчас, не вникаю на каком этапе готовности находится та или иная программа, а нужно чтобы все финальные варианты попадали сюда http://c2.at.ua/forum/2-53-1 .
Iron_Gans, вы достигли нужного результата? Если да, запостите его сюда http://c2.at.ua/forum/2-53-1, и может, еще что там нужное вам попалось, я не против.
Учтите, что придя на этот форум в очередной раз, среди тысячи сообщений этой ветки вы может и посты свои не найдете, а в той ветке более просторно пока.


Всемирное признание пУТИН ХУЙЛО http://uk.wikipedia.org/wiki/
Россия, при нынешнем президенте, источник войны и терроризма. ПРЕЗИРАЮ.
 
Iron_GansДата: Воскресенье, 22.09.2013, 19:35 | Сообщение # 812
Группа: Front-rank users
Сообщений: 37
Цитата (C@at)
Iron_Gans, вы достигли нужного результата?

Пока не достиг т.к. выходные провел с семьей, а не с паяльником no
Единственное что сделал вечером в пятницу так это собрал новую схему опрессовки датчика с двумя мех. манометрами и выяснил что у двух имеющихся у меня в наличии датчиков давления ММ393А разное сопротивление при 0кгсм2. У одного 300 Ом ровно, а у другого 320. Возможно у второго датчика будет немного другая характеристика зависимости R от P и это позволит мне выставить нормальный 0 и достигнуть точности показаний не хуже чем 0,1кс/см2


Сообщение отредактировал Iron_Gans - Воскресенье, 22.09.2013, 19:36
 
Iron_GansДата: Понедельник, 23.09.2013, 13:29 | Сообщение # 813
Группа: Front-rank users
Сообщений: 37
Поковырялся сейчас с устройством, для удобства настройки немного видоизменил схему поставив второй переменник в ОС (временно):


Получилась такая зависимость:
Давление                 Показания                 Сопротивление
                                 устройства                   датчика
0                                0-0,1(скачут)                   309
0,5                                  0,4                              278 (289) тут поясню: была разбежка в показаниях мех. манометров замерил 2 сопротивления когда один показывал 0,5 и потом когда второй показал 0,5
1,0                                  0,9                              250
1,5                                  1,4                              218
2,0                                  2,0                              187
2,5                                  2,5                              159
3,0                                  2,9                              143
3,5                                  3,3                              132
4,0                                  3,6                              116
4,5                                  3,9                              105
5,0                                  4,1                              95

В принципе, мне все равно как будет врать схема при измерении давлений больше чем 3кг/см2 т.к. все что больше этого значения явно достаточно для работы двигателя
При нулевом давлении напряжение на ноге PC5 контоллера составляет 4,78В, а для устойчивых показаний нуля нужно 4,85В. Если я переменниками выставляю 0 (4,85В на РС5), то вся схема начинает врать в минус на 0,2...0,3кг/см2 и вот это победить ну никак не удается - либо точность измерений, либо нулевые показания при нулевом давлении. Что делать не знаю уже...  sad

Добавлено (23.09.2013, 13:29)
---------------------------------------------
Уважаемый MACTEPok, а можно прошивкой это дело поправить? Чтобы нулем было 4,75В на входе АЦП, а дальше все так же как обычно?

Прикрепления: 3508973.gif (5.3 Kb)


Сообщение отредактировал Iron_Gans - Понедельник, 23.09.2013, 12:40
 
Iron_GansДата: Понедельник, 23.09.2013, 17:33 | Сообщение # 814
Группа: Front-rank users
Сообщений: 37
Да, забыл! Прошивка вот эта у меня:
Прикрепления: 6991799.rar (30.1 Kb)
 
MACTEPokДата: Понедельник, 23.09.2013, 19:43 | Сообщение # 815
Группа: Управляет МК
Сообщений: 351
да, только программно и лечится
 
MACTEPokДата: Понедельник, 23.09.2013, 20:04 | Сообщение # 816
Группа: Управляет МК
Сообщений: 351
Iron_Gans,  В исходнике найдешь место, где изменения сделал.
Прикрепления: 9590526.rar (44.6 Kb)
 
Iron_GansДата: Вторник, 24.09.2013, 09:25 | Сообщение # 817
Группа: Front-rank users
Сообщений: 37
Цитата (MACTEPok)
Iron_Gans,  В исходнике найдешь место, где изменения сделал.
Ага, спасибо, нашел

Сегодня прошьюсь и по результатам отпишусь

Добавлено (24.09.2013, 09:25)
---------------------------------------------
Прошился. Не помогло. 0 настроился на 4,72В но все остальные измерения так же линейно подвинулись вниз и соответственно накачав 3 атмосферы пришлось потенциометром ОС подкорректировать показания. При сбросе давления на устройстве вместо нуля было 0,2.

Что сделал:
Взял изначальную (первичную) прошивку...
Chvar_1 = Ch1
Chvar_2 = Ch2
Start Timer0 : Start Timer1
Any_var = Chvar_1 / 2000                              ' 2000 - можно задавать изгиб линии
Any_var = Negativ * Any_var                            ' Если закоментировать, изменим направление изгиба экспоненты
Any_var = Exp(any_var)
Chvar_1 = 1023 - Chvar_1
Chvar_1 = Chvar_1 / 12.786
                           'пересчет тут любая формула для требуемого диапазона или необходимой характеристики ==============
Any_var = Chvar_1 * Any_var
Chvar_1 = Any_var

...и подправил значения на такие:

Chvar_1 = Ch1
Chvar_2 = Ch2
Start Timer0 : Start Timer1
Any_var = Chvar_1 / 2000                              ' 2000 - можно задавать изгиб линии
Any_var = Negativ * Any_var                           ' Если закоментировать, изменим направление изгиба экспоненты
Any_var = Exp(any_var)
Chvar_1 = 999 - Chvar_1                                 ' на шару поставил 999, для пробы - посмотреть что изменится
Chvar_1 = Chvar_1 / 12                                'пересчет тут любая формула для требуемого диапазона или необходимой характеристики ==============
Any_var = Chvar_1 * Any_var
Chvar_1 = Any_var

В итоге получилась зависимость:
Давление на манометрах                              Показания Устройства
0,0                                                                         0,0
0,5                                                                         не проверял т.к. 2 манометра по разному показывают и какой из них врет не понятно
1,0                                                                         0,9
1,5                                                                         1,4
2,0                                                                         2,0
2,5                                                                         2,5
3,0                                                                         3,0
3,5                                                                         3,3
4,0                                                                         3,6

дальше не проверял.
В общем, считаю работу удовлетворительной т.к. в диапазоне 0...3кг/см2 удалось добиться показаний не хуже чем +/-0,1 а все что выше 3х не грозит мотору масляным голоданием


Сообщение отредактировал Iron_Gans - Вторник, 24.09.2013, 09:26
 
MACTEPokДата: Вторник, 24.09.2013, 09:40 | Сообщение # 818
Группа: Управляет МК
Сообщений: 351
Дополните табличку зависимостью напряжения на входе АЦП от давления в обе стороны (понижение, повышение давления). Все указывает на то, что точность самого датчика плюс/минус лапоть. Что и не удивительно, при его конструкции.
 
Iron_GansДата: Вторник, 24.09.2013, 10:56 | Сообщение # 819
Группа: Front-rank users
Сообщений: 37
Цитата (Iron_Gans)
Дополните табличку зависимостью напряжения на входе АЦП от давления в обе стороны (понижение, повышение давления). Все указывает на то, что точность самого датчика плюс/минус лапоть. Что и не удивительно, при его конструкции.
На повышение мне сложно т.к. нету способа дозировки давления. Я сначала компрессором давлю сколько получится (в районе 4 атм) а потом потихоньку стравливаю через резьбу...
А датчик да, по конструкции так себе.
Попозже дополню таблицу + хочу убрать переменник из конструкции - для машины и вибрации считаю их применение не очень подходящим.
 
Iron_GansДата: Вторник, 24.09.2013, 15:40 | Сообщение # 820
Группа: Front-rank users
Сообщений: 37
Доделал измерительную часть до конца (надеюсь), выбросил переменник, подобрал постоянные резисторы. По схеме получилось так:



Что по показаниям:
Давление по манометру       Показания устройства       Напряжение на входе РС5
0                                                         0                                        4,74
1,0                                                      0,9                                      3,95
1,5                                                      1,5                                      3,51
2,0                                                      2,1                                      3,11
2,5                                                      2,6                                      2,75
3,0                                                      3,0                                      2,50
3,5                                                      3,5 - 3,4                              2,32
4,0                                                      3,6                                      2,16

Замеры делал снижая давление с 4 атмосфер до нуля.
Прикрепления: 0591792.gif (5.3 Kb)
 
uuu000Дата: Вторник, 24.09.2013, 20:15 | Сообщение # 821
Группа: Пользователи
Сообщений: 2
Как сделать 2 вольтметра 0-5 вольт каждый?Какая прошивка в этом случае?
 
Iron_GansДата: Вторник, 24.09.2013, 21:58 | Сообщение # 822
Группа: Front-rank users
Сообщений: 37
Цитата (uuu000)
Как сделать 2 вольтметра 0-5 вольт каждый?Какая прошивка в этом случае?
Посмотрите в изначальной статье, там есть прошивки вольты-вольты:
http://c2.at.ua/load....-1-0-72

А у меня такой вопрос: как сделать чтобы вольтметр НЕ зажигал светодиод нагрузки в диапазоне 13,8 - 14,6В, а при всех остальных значениях (ниже 13,8 и выше 14,6) зажигал? Инверсией уставок?
И еще момент. Ставлю я уставку включения по давлению на 0, а выключение на 0,8. Когда давление поднимается выше 0,8 светодиод гаснет, а когда давление опускается, то светодиод не зажигается пока значение не упадет до нуля. С одной стороны логика происходящего понятна, но это не то что хотелось бы видеть: хочется чтобы от 0 до 0,8 светодиод горел, но и при снижении ниже 0,8 опять зажигался, как этого достичь?

Сейчас по запарке полярность включения перепутал - минус 2 КРЕНки (на 5 и на 9 вольт), но МК не пострадал.... Видимо пора спать...


Сообщение отредактировал Iron_Gans - Вторник, 24.09.2013, 22:01
 
MACTEPokДата: Среда, 25.09.2013, 07:05 | Сообщение # 823
Группа: Управляет МК
Сообщений: 351

Цитата
А у меня такой вопрос: как сделать чтобы вольтметр НЕ зажигал светодиод нагрузки в диапазоне 13,8 - 14,6В, а при всех остальных значениях (ниже 13,8 и выше 14,6) зажигал? Инверсией уставок?
 Инвертировать в коде условие для срабатывания канала нагрузки Load1 или Load2.


Цитата
хочется чтобы от 0 до 0,8 светодиод горел, но и при снижении ниже 0,8 опять зажигался, как этого достичь?
 Это называется уставка без гистерезиса. В вашем случае условие одно: Д < 0.8 .  а этой схеме, значит, устанавливаете минимальный гистерезис, On = 0.7 Off = 0.8
 
Iron_GansДата: Среда, 25.09.2013, 10:39 | Сообщение # 824
Группа: Front-rank users
Сообщений: 37
Цитата (MACTEPok)
Инвертировать в коде условие для срабатывания канала нагрузки Load1 или Load2.


Я правильно понимаю, что мне нужно сделать на канале напряжения (в моем случае Load 2) вот так:

Цитата (MACTEPok)
В строках
Код
If Sostoyanie = 1 Then Set Load1 Else Reset Load1
и
If Sostoyanie_2 = 1 Then Set Load2 Else Reset Load2

Заменить Set на Reset и наоборот.
 
MACTEPokДата: Среда, 25.09.2013, 13:13 | Сообщение # 825
Группа: Управляет МК
Сообщений: 351
Да, для строки с Load2
 
Iron_GansДата: Четверг, 26.09.2013, 13:26 | Сообщение # 826
Группа: Front-rank users
Сообщений: 37
Изменил.
Сделал вот так:

  If Sostoyanie_2 = 1 Then Reset Load2 Else Set Load2      'управление 2м каналом нагрузки

но чтото не получается.
ON2=13.8 OFF2=14.5
В итоге светодиод загорается при U>14.5 и гаснет при U<13.8 как будто я ON и OFF местами поменял, только и всего
А мне фактически надо задать те же уставки ON2=13.8 OFF2=14.5 но инвертировать логический уровень на выходе МК. Если я вот тут 0 и 1 местами поменяю, будет толк?

   If On2 < Off2 Then                                       'если уставка ON2 < OFF2 то режим нагревателя
      If Channel_2 <= On2 Then Sostoyanie_2 = 1             'если давление ниже уставки ON2, то включаем нагрузку  №2
      If Channel_2 >= Off2 Then Sostoyanie_2 = 0            'если давление выше уставки OFF2, то выключаем нагрузку  №2
 
MACTEPokДата: Четверг, 26.09.2013, 13:41 | Сообщение # 827
Группа: Управляет МК
Сообщений: 351
Пробуй, логика в принципе простая. и комменты есть. Под себя легко можно адаптировать
 
Iron_GansДата: Четверг, 26.09.2013, 14:48 | Сообщение # 828
Группа: Front-rank users
Сообщений: 37
Да чтото гляжу я в душу этому всему и понимаю что ничего у меня не выйдет:
 If On2 < Off2 Then                                       'если уставка ON2 < OFF2 то режим нагревателя
      If Channel_2 <= On2 Then Sostoyanie_2 = 1             'если давление ниже уставки ON2, то включаем нагрузку  №2
      If Channel_2 >= Off2 Then Sostoyanie_2 = 0            'если давление выше уставки OFF2, то выключаем нагрузку  №2
   Else                                                     'если уставка ON2 > OFF2 то режим охладителя
      If Channel_2 >= On2 Then Sostoyanie_2 = 1             'если давление выше уставки ON2, то включаем нагрузку  №2
      If Channel_2 <= Off2 Then Sostoyanie_2 = 0            'если давление ниже уставки OFF2, то выключаем нагрузку  №2
   End If

Мне же хочется чего:

Если значение ниже уставки ON2, то включаем нагрузку, если значение выше уставки ON2, то выключаем нагрузку;
Если значение выше уставки OFF2, то включаем нагрузку, если значение ниже уставки OFF2, то выключаем нагрузку.

Таким образом, получается что фактически я хочу аж целых 4 уставки с малым гистерезисом на второй канал, а этого данная прошивка и не обещала даже. А с тем что имеется я могу зажигать светодиод либо при аварийном снижении напряжения, либо при аварийном превышении, но никак не в обоих этих случаях, т.е. либо сигнализация о снижении U ниже 13,8В (а при 13,9 уже отключение сигнала), либо сигнализация о превышении U выше 14,5В, (а при снижении ниже 14,4 отключение сигнала).
 
MACTEPokДата: Четверг, 26.09.2013, 15:04 | Сообщение # 829
Группа: Управляет МК
Сообщений: 351
If Channel_2 >= On2 AND Channel_2 <= Off2 Then Sostoyanie_2 = 0 ELSE Sostoyanie_2 = 1
 
Iron_GansДата: Четверг, 26.09.2013, 15:19 | Сообщение # 830
Группа: Front-rank users
Сообщений: 37
Цитата (MACTEPok)
If Channel_2 >= On2 AND Channel_2 <= Off2 Then Sostoyanie_2 = 0 ELSE Sostoyanie_2 = 1
Просто добавить в управление уставками или этим надо заменить кусок кода?
 
MACTEPokДата: Четверг, 26.09.2013, 15:23 | Сообщение # 831
Группа: Управляет МК
Сообщений: 351
вместо того, что писали выше
 
Iron_GansДата: Четверг, 26.09.2013, 15:44 | Сообщение # 832
Группа: Front-rank users
Сообщений: 37
Дадада, я уже понял  smile  Более того, прошил и проверил, все работает на ура! 
Большое спасибо!
Сейчас сеть развиснет, выложу этот кусок кода (у меня Bascom удаленно стоит)

Добавлено (26.09.2013, 15:44)
---------------------------------------------
Вот так:

   If On1 < Off1 Then                                       'если уставка ON1 < OFF1 то режим нагревателя
      If Channel_1 <= On1 Then Sostoyanie = 1               'если значение первого канала АЦП ниже уставки ON1, то включаем нагрузку №1
      If Channel_1 >= Off1 Then Sostoyanie = 0              'если значение первого канала АЦП выше уставки OFF1, то выключаем нагрузку  №1
   Else                                                     'если уставка ON1 > OFF1 то режим охладителя
      If Channel_1 >= On1 Then Sostoyanie = 1               'если значение первого канала АЦП выше уставки ON1, то включаем нагрузку №1
      If Channel_1 <= Off1 Then Sostoyanie = 0              'если значение первого канала АЦП ниже уставки OFF1, то выключаем нагрузку  №1
   End If

   If Sostoyanie = 1 Then Set Load1 Else Reset Load1        'управление 1м каналом нагрузки

  If On2 < Off2 Then                                       'если уставка ON2 < OFF2 то режим нагревателя
      If Channel_2 >= On2 And Channel_2 <= Off2 Then Sostoyanie_2 = 0 Else Sostoyanie_2 = 1
   End If

   If Sostoyanie_2 = 1 Then Set Load2 Else Reset Load2      'управление 2м каналом нагрузки

Loop

То что красным курсивом забыл удалить....
В остальном все работает прекрасно, большое спасибо!

 
Iron_GansДата: Четверг, 26.09.2013, 19:37 | Сообщение # 833
Группа: Front-rank users
Сообщений: 37
Все, я похоже закончил свою эпопею с устройством, MACTEPok, огромное вам спасибо! Раз 5-7 прогнал блоком питания диапазон от 12 до 15Вольт (и вверх и вниз), уставки срабатывают ровно так как мне того и хотелось, осталось только внедрить это все в автомобиль.  biggrin

Выкладываю текст куска прошивки, отвечающего за сигнализацию (позволил себе внедрить туда свой коммент):

If On1 < Off1 Then                                       'если уставка ON1 < OFF1 то режим нагревателя
If Channel_1 <= On1 Then Sostoyanie = 1               'если значение первого канала АЦП ниже уставки ON1, то включаем нагрузку №1
If Channel_1 >= Off1 Then Sostoyanie = 0              'если значение первого канала АЦП выше уставки OFF1, то выключаем нагрузку  №1
Else                                                     'если уставка ON1 > OFF1 то режим охладителя
If Channel_1 >= On1 Then Sostoyanie = 1               'если значение первого канала АЦП выше уставки ON1, то включаем нагрузку №1
If Channel_1 <= Off1 Then Sostoyanie = 0              'если значение первого канала АЦП ниже уставки OFF1, то выключаем нагрузку  №1
End If

If Sostoyanie = 1 Then Set Load1 Else Reset Load1        'управление 1м каналом нагрузки

If Channel_2 >= On2 And Channel_2 <= Off2 Then Sostoyanie_2 = 0 Else Sostoyanie_2 = 1       'если параметр ниже значения ON2 или выше значения OFF2, то включаем нагрузку

If Sostoyanie_2 = 1 Then Set Load2 Else Reset Load2      'управление 2м каналом нагрузки

Loop


Ну и до кучи прикрепляю архив с исходниками и hex, может кому сгодится:
Прикрепления: Davl_Volt______.rar (28.7 Kb)


Сообщение отредактировал Iron_Gans - Четверг, 26.09.2013, 19:38
 
LeotonДата: Пятница, 27.09.2013, 15:15 | Сообщение # 834
Группа: Пользователи
Сообщений: 15
Добрый день! Нашел эту статью замечательную, за что вам и спасибо, MACTEPok, и решил соорудить указатель температ-давления на основе DS18B20. Всё получилось с первого раза! Всё работало при подключении от блока питания, но как только я подключил схему к машине, она поработала секунд 10 потом всё замигало и начали гореть все сегменты! Я не сильно в программировании разбираюсь, подскажите что это может быть? МК "ласты пришли" или другое что-то?
 
Iron_GansДата: Пятница, 27.09.2013, 17:28 | Сообщение # 835
Группа: Front-rank users
Сообщений: 37
Leoton, а что у вас с питанием? Стабилизатор жив?
 
LeotonДата: Пятница, 27.09.2013, 18:02 | Сообщение # 836
Группа: Пользователи
Сообщений: 15
Да стабилизатор жив. На МК подается 5в.
 
Iron_GansДата: Пятница, 27.09.2013, 19:27 | Сообщение # 837
Группа: Front-rank users
Сообщений: 37
Цитата (Leoton)
Да стабилизатор жив. На МК подается 5в.
Возможно при включении зажали нечаянно кнопочку выбора и МК сменил тип индикатора (как вариант)
После инцидента в машине дома не включали от БП? При работе от блока питания все нормализовалось или по прежнему кракозябры??
 
LeotonДата: Пятница, 27.09.2013, 20:00 | Сообщение # 838
Группа: Пользователи
Сообщений: 15
Цитата (Iron_Gans)
Возможно при включении зажали нечаянно кнопочку выбора и МК сменил тип индикатора (как вариант)
 Пробовал. Ничего не влияет.
Цитата (Iron_Gans)
После инцидента в машине дома не включали от БП? При работе от блока питания все нормализовалось или по прежнему кракозябры??
Включал от блока, всеравно светятся все сегменты. Думаю может МК нечаянно дотронулся до ВВ провода свечи. Я под капотом подключал, чтобы проверить, ну и близко провод оказался. Может он "вырубил" МК, когда там импульс проходит? МК статики боятся? Если да, то как можно проверить работоспособность контроллера?
 
Iron_GansДата: Пятница, 27.09.2013, 23:27 | Сообщение # 839
Группа: Front-rank users
Сообщений: 37
Цитата (Leoton)
Если да, то как можно проверить работоспособность контроллера?
Суньте в программатор, попробуйте по новой прошить. Если не получится то все, алес.
 
LeotonДата: Суббота, 28.09.2013, 11:13 | Сообщение # 840
Группа: Пользователи
Сообщений: 15
попробую, но это только на работе.
 
Форум » Форум по статьям сайта » Все темы » Универсальная схема для построения измерительных устройств (Применение, практика...)
Поиск:

Конструктор сайтов - uCoz
Copyright MyCorp © 2024