|
Виж темите без отговор | Виж активните теми
Дата и час: Пет Авг 21, 2026 6:41 pm
|
Страница 1 от 1
|
[ 9 мнения ] |
|
измерване на съпротивление с RC верига
| Автор |
Съобщение |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
 измерване на съпротивление с RC верига
Така.. искам да измервам съпротивление с помоща на микроконтролер.Схемата ми трябва да е максимално проста(т.е без много елементи). Чета сега за преходните процеси в RC верига.Дали измерването може да стане по следния начин(на смнимката)
И по познатата формулка :
тау=(Rx+R1)*C да намерим Rx при известни C и R1 и примерно с кепчъра да засечем времето. Как може това да стане(ако изобщо може) и хардуерно и софтуерно? Ако така не става ако можете предложете ми по-добра идея. Благодаря много на който се отзове и простете невежеството ми 
|
| Вто Апр 28, 2009 2:08 pm |
|
 |
|
sv_shady
Ранг: Популярен
Регистриран на: Сря Окт 11, 2006 8:19 pm Мнения: 373 Местоположение: София/Edinburgh, UK
|
Ами ето ти една доста по-проста и надеждна идея. Имаш един делител на напрежение, като единия резистор знаеш с каква стойност е, а другия ти е променливото съпротивление. След това с аналогово-цифровия преобразователен модул на контролера мериш напрежението в средата на делителя и веднага можеш да сметнеш стойността на неизвестното съпротивление.
|
| Вто Апр 28, 2009 2:14 pm |
|
 |
|
rumen
Ранг: Почетен член
Регистриран на: Чет Ное 25, 2004 3:42 pm Мнения: 913
|
sukhoi това дето го искаш го има като команда в компилатора ми.
Предполагам и не само в моя.
Syntax
Variable = POT Pin, Scale
Overview
Read a potentiometer, thermistor, photocell, or other variable resistance.
Operators
Variable is a user defined variable of type bit, byte, byte array, word, word array, dword or float.
Pin is a Port.Pin constant that specifies the I/O pin to use.
Scale is a constant, variable, or expression, used to scale the instruction's internal 16-bit result. The 16- bit reading is multiplied by (scale/ 256), so a scale value of 128 would reduce the range by approximately 50%, a scale of 64 would reduce to 25%, and so on.
Example
DIM VAR1 as BYTE
Loop:
VAR1 = POT PORTB.0 , 100 ' Read potentiometer on pin 0 of PORTB.
PRINT @VAR1 , " " ' Display the potentiometer reading
GOTO Loop ' Repeat the process.
Notes
Internally, the Pot instruction calculates a 16-bit value, which is scaled down to an 8-bit value. The amount by which the internal value must be scaled varies with the size of the resistor being used. The pin specified by Pot must be connected to one side of a resistor, whose other side is connected through a capacitor to ground. A resistance measurement is taken by timing how long it takes to discharge the capacitor through the resistor. The value of scale must be determined by experimentation, however, this is easily accomplished as follows: -
Set the device under measure, the pot in this instance, to maximum resistance and read it with scale set to 255. The value returned in VAR1 can now be used as scale: -
VAR1 = POT PORTB.0 , 255
|
| Вто Апр 28, 2009 2:55 pm |
|
 |
|
rumen
Ранг: Почетен член
Регистриран на: Чет Ное 25, 2004 3:42 pm Мнения: 913
|
Или може би това :
Syntax
Variable = RCIN Pin , State
Overview
Count time while pin remains in state, usually used to measure the charge/ discharge time of resistor/capacitor (RC) circuit.
Operators
Pin - a Port.Pin constant that specifies the I/O pin to use. This pin will be placed into input mode and left in that state when the instruction finishes.
State - a variable or constant (1 or 0) that will end the Rcin period. Text, HIGH or LOW may also be used instead of 1 or 0.
Variable - a variable in which the time measurement will be stored.
Example
DIM Result as WORD ' Word variable to hold result.
HIGH PORTB.0 ' Discharge the cap
DELAYMS 1 ' Wait for 1 ms.
Result = RCIN PORTB.0 , High ' Measure RC charge time.
PRINT @Result , " " ' Display the value on an LCD.
Notes
The resolution of RCIn is dependent upon the oscillator frequency. If a 4MHz oscillator is used, the time in state is returned in 10us increments. If a 20MHz oscillator is used, the time in state will have a 2us resolution. Declaring an XTAL value has no effect on RCIn. The resolution always changes with the actual oscillator speed. If the pin never changes state 0 is returned.
RCIn can be used to measure the charge or discharge time of a resistor/capacitor circuit. This allows measurement of resistance or capacitance, use R or C sensors such as thermistors or capacitive humidity sensors or respond to user input through a potentiometer. In a broader sense, RCIn can also serve as a fast, precise stopwatch for events of very short duration.
When RCIn executes, it starts a counter. The counter stops as soon as the specified pin is no longer in State (0 or 1). If pin is not in State when the instruction executes, RCIn will return 1 in Variable, since the instruction requires one timing cycle to discover this fact. If pin remains in State longer than 65535 timing cycles RCIn returns 0.
|
| Вто Апр 28, 2009 2:59 pm |
|
 |
|
sukhoi
Ранг: Напреднал
Регистриран на: Чет Авг 21, 2008 2:52 pm Мнения: 476 Местоположение: Пловдив
|
Да мерси и на двамата.
http://www.cq.cx/interface.pl#9
това може да послужи за начинаещи като мен, които не знаят как да приравнят тез пусти 5V към
заобикалящия свят.
|
| Вто Апр 28, 2009 3:20 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Румене не си ли разбрал че малоумниците като теб са малко в този форум. И ще ви гоня до дупка
sukhoi Тези трикове с RC вече са по скоро в историята. Някога ADC е било лукс. Сега имаш 10 битово ADC в почти всеки контролер. Начина на измерване зависи от диапазона на съпротивлението което ще мериш и прецизноста която гониш. Нещата с ADC са пределно прости. Обикновенно ти трябва само закона на Ом. Ако не можеш да се ориентираш как да си реализираш нещата пообясни по подробно задачката за да можем да ти дадем конкретни насоки.
|
| Вто Апр 28, 2009 3:27 pm |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3715 Местоположение: Високо в планината
|
Тази схема има яко недостатъци- неточност- не можеш да си сигурен при колко волта точно ще се задейства кепчъра.
После- след всяко измерване ще трябва да чакаш кондензатора да се саморазреди  или да осигуриш верига за разреждане.
Трето: напрежението на кондензатора расте по експоненциален закон- трабва ти сравнително сложна програма за изчисляване на стойностите от измерените времена...
с АЦП е най-удобно. А ако изкаш да мериш кондензатори- по мостова схема с променливо напрежение май е най-добре.
А иначе аз съм фен на нестандартните решения- поне емоционално 
|
| Сря Апр 29, 2009 1:54 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
едно време на appleII входа от джойстика (меренето на потенциометъра) беше на същия принцип - мериш времето за заряд на кондензатор 
|
| Сря Апр 29, 2009 3:41 pm |
|
 |
|
bongo_x2
Ранг: Форумен бог
Регистриран на: Вто Яну 20, 2009 11:54 pm Мнения: 11338 Местоположение: "Занзибар"
|
едно време на appleII входа от джойстика (меренето на потенциометъра) беше на същия принцип - мериш времето за заряд на кондензатор  [/quote]
Да, ама с таймер тип 555 а не директно на някой вход/изход. Всъщност, ако кондензаторът е към маса а резисторът към някой изход би се получило нещо. Докато не се опука пина от свръхнапрежения, де. Имам предвид изхода когато не е инициализиран и се човъркат жиците.
|
| Чет Апр 30, 2009 6:48 pm |
|
|
|
Страница 1 от 1
|
[ 9 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 82 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|