03.12.2012, 14:27
|
|
Частый гость
Регистрация: 21.11.2012
Сообщений: 36
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
Сообщение от Halex07
|
Источник стабильного тока в данном случае применяется только для того, чтобы исключить саморазогрев термодатчика (в Вашем случае - никелевого термосопротивления) и подводящих проводов, что приведет к дополнительному искажению показаний. На линеаризацию характеристики он никаким боком не влияет.
|
Питание стабильным током необходимо в первую очередь для того, чтобы получить линейную зависимость напряжения на резистивном датчике от его сопротивления. Только с источником стабильного тока можно получить правильный омметр. Линейность U(t) - да, не получим. Но U(R) при питании стабильным током будет линейным. После чего пересчитать R в t уже не составляет труда. При наличии МК, конечно.
Сообщение от Halex07
|
Есть масса готовых датчиков с линеаризованной функцией U(t), в том числе и с моделями в самом Протеусе. Реализовать термо-показометр на базе 7107 с их помощью - два пальца об'асфальт. KTY81 (NXP 23-25руб в ЧИП-НН)
|
KTYxx - это как раз нелинейые термодатчики. А так да, существует масса недорогих полупроводниковых линейных термодатчиков с фиксированной величиной Uвых/град. Если нет особых требований к точности и к верхнему пределу измерения, да еще и мерялка 7107, а не МК, то и нет никакого смысла заморачиваться с резистивными.
|
|
|
|
03.12.2012, 21:29
|
|
Прохожий
Регистрация: 09.05.2007
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
Сообщение от Halex07
|
Говорю - нет и НИКОГДА не будет! Такой вариант ответа устраивает?
|
Да, абсолютно полностью, спасибо.
Сообщение от Halex07
|
Есть модель 16С72A, есть модель 16С73B. Что Вас в этих моделях не устраивает для полной совместимости с 16F72/73?
|
Не устраивает Это в фото, из этого кода
Сообщение от DmitriyVDN
|
Kachalov а чем модель PIC16f873 не устраивает.... тот же 72 только памяти и юарт добавлен...
|
Спасибо за наводку - буду пробовать
|
|
|
|
03.12.2012, 22:08
|
|
Прохожий
Регистрация: 09.05.2007
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
На 873 ссылка на 0х0009, которого нету в F72
смотреть.
Мне нужна цифра безо всяких прерываний и АДЦ...
Последний раз редактировалось Kachalov; 03.12.2012 в 22:46.
|
|
|
|
04.12.2012, 00:16
|
|
Гражданин KAZUS.RU
Регистрация: 10.06.2010
Сообщений: 556
Сказал спасибо: 216
Сказали Спасибо 222 раз(а) в 145 сообщении(ях)
|
Re: Proteus модели
Сообщение от Kachalov
|
Мне нужна цифра безо всяких прерываний и АДЦ...
|
ну если цифра нужна, зачем АЦП включаете?
Код:
|
void main() {
trisa=255;
trisb=0;
trisc=0;
porta=0;
portb=0;
portc=0;
option_reg=0;
adcon0=7; - вот это зачем????
adcon1=7; |
|
|
|
Сказали "Спасибо" DmitriyVDN
|
|
|
04.12.2012, 01:44
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,507 раз(а) в 956 сообщении(ях)
|
Re: Proteus модели
Сообщение от Zabrodov
|
Линейность U(t) - да, не получим. Но U(R) при питании стабильным током будет линейным.
|
Именно так, закон Ома никто не отменял. Но клиенту хочется именно линейный U(t), а это без лишних телодвижений он не получит. А это нелинейное усиление на ОУ и пр. требуха, с которой натрахается от души. А про KTYxx, признаю, это я случайно до кучи замешал, лежал он у меня в подборке аналоговых термодатчиков, а так да, он нелинейный.
--------------------------------------------------------------------------------
Сообщение от Kachalov
|
Не устраивает. Это в фото[/URL], из этого кода
|
Сообщение от Kachalov
|
Мне нужна цифра безо всяких прерываний и АДЦ...
|
Ну, так Вам еще "парламент перетрахивать и перетрахивать". Картинка то знакомая, еще из далекого прошлого. ADC не судьба отключить принудительно в начале кода? Вы такие "горчичники" будете получать с любой моделью PIC, имеющей АЦП на борту. Читаем посты #1268 #1269 полуторагодичной давности. Было и раньше, но лень искать. Вкратце - АЦП у PIC-ов по умолчанию в Протеусе всегда считается включенным и "шлет горячие приветы", если в начале кода его не вырубить "хуком слева". Ест-нно, если Вы пожелаете его задействовать, то вырубать не надо, надо настроить, а пока у Вас в коде иниициализация выглядит очень красиво, а главное и содержательно: void init(){}. Но вроде это было в прошлых версиях Протеуса, и компилируете код в чем?
Последний раз редактировалось Halex07; 04.12.2012 в 02:02.
|
|
|
Сказали "Спасибо" Halex07
|
|
|
04.12.2012, 06:42
|
|
Прохожий
Регистрация: 17.11.2012
Адрес: Россия, г. Уфа
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
Сообщение от Halex07
|
Именно так, закон Ома никто не отменял. Но клиенту хочется именно линейный U(t), а это без лишних телодвижений он не получит. А это нелинейное усиление на ОУ и пр. требуха, с которой натрахается от души. А про KTYxx, признаю, это я случайно до кучи замешал, лежал он у меня в подборке аналоговых термодатчиков, а так да, он нелинейный.
|
В общем решил проблему с линеаризацией вот таким способом (проект ниже):
|
|
|
|
04.12.2012, 21:47
|
|
Прохожий
Регистрация: 09.05.2007
Сообщений: 7
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
Сообщение от DmitriyVDN
|
ну если цифра нужна, зачем АЦП включаете?
Код:
|
adcon0=7; - вот это зачем???? |
|
Спасибо, более внимательно изучил ДШ (почему именно так ? ) - но ADCON0=4 спасло всё...
Код:
|
void init(){
option_reg=0;
intcon=0;adcon0=4;adcon1=7;
trisa=255;trisb=0;trisc=0;
porta=0;portb=0;portc=0;}
//----
void main() {
init();
while (1) {
portb=(porta+0b11000000);//добавили 6 и 7 бит
}
} |
Пока эмулируется на 16С72А, аналогично на 16F873
Сообщение от Halex07
|
пока у Вас в коде иниициализация выглядит очень красиво, а главное и содержательно: void init(){}.
|
Я не выделяю отдельно инициализацию, т.к. она всё равно один раз происходит перед while(1), поэтому чтобы не вызывать функцией - ставлю в тело main...Выше указанный код именно с телом инициализации...
Сообщение от Halex07
|
и компилируете код в чем?
|
Компилирую в некомпиляторе MicroC.
Продолжаю работу, главное, чтобы не возникло попутных вопросов, спасибо.
|
|
|
|
04.12.2012, 21:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,473
Сказал спасибо: 693
Сказали Спасибо 4,261 раз(а) в 1,955 сообщении(ях)
|
Re: Proteus модели
Правильнее MikroC
|
|
|
|
08.12.2012, 11:55
|
|
Частый гость
Регистрация: 27.12.2008
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Proteus модели
А у меня есть термометр на DS12B20 сгородил на PIC16F84 и ЖК дисплее. датчики подключаются в паралель (при 1 варианте 2 датчика точность до десятых,и таймер), в другом 3 датчика в паралель с выходом и установкой порогов. подключение по 1-Wire-net на шине microLan
сначало надо прписать в память ID каждого датчика, а потом соединять оба
|
|
|
|
22.12.2012, 10:41
|
|
Гражданин KAZUS.RU
Регистрация: 26.06.2010
Сообщений: 698
Сказал спасибо: 78
Сказали Спасибо 255 раз(а) в 92 сообщении(ях)
|
Re: Proteus модели
Мелтовский дисплей MT-10S1 (10х1) в протеусе
Копая один проект столкнулся с косяком вывода на дисплей. Хекс сделан под вывод на мелтовсий дисплей MT-10S1 (10х1), при использовании базового компонента LM020L (16x1) выводилось только 8 символов, остальные пропадали. При использовании базового компонента LM016L символы, после восьмого, выводятся в вторую строку. Проблема в адресации знакомест в мелтовском дисплее MT-10S1. А также базовые модели не выводят кириллицу.Проблему решил через "Отредактировать свойства как текст" для LM020L (16x1)
Стандартно было так
------------------------
{MODDLL=LCDALPHA}
{PRIMITIVE=DIGITAL,LCD}
{NUMCOLS=16}
{NUMROWS=1}
{CLOCK=250kHz}
{ROW1=80-8F}
{PACKAGE=CONN-DIL14}
{TRACE=1}
--------------------------
Отредактировал так
----------------------
{MODDLL=LCDALPHARUS}
{PRIMITIVE=DIGITAL,LCD}
{NUMCOLS=10}
{NUMROWS=1}
{CLOCK=250kHz}
{ROW1=80-87 C0-C1}
{PACKAGE=CONN-DIL14}
{TRACE=1}
----------------------
У меня получился дисплей 10х1 с выводом кириллицы и адресацией знакомест принятой в MT-10S1, библиотеку LCDALPHARUS.dll просто положил в папку с проектом, где протеус ее успешно находит.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:30.
|
|