Страница 2 из 2

Re: показометр U/I в Bascom-AVR

Добавлено: Вс окт 18, 2015 18:56:10
SolderC
если я буду использовать константы с плавающей точкой, будет ни есть гуд, у меня точка на индикаторах фиксированная, ведь не ЖК использую, приходится работать с целыми или весь исходник переписывать.
Может завтра ещё пересмотрю исходник, сегодня уже нет времени

Re: показометр U/I в Bascom-AVR

Добавлено: Вс окт 18, 2015 19:11:24
Мурик
Зачем переписывать весь код? :shock:
Достаточно изменить код чтения из АЦП.
Результат можно получить целочисленным. :)

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

Const Aref = 2.56                                 ' Напряжение ИОН.
Config Adc = Single , Prescaler = 128 , Reference = Internal ' Внутренний ИОН.
Dim x As Word
Dim y As Single

x = Getadc(0)                                   ' Опрос канала 0 АЦП.
y = Aref * x
y = y / 1024
y = y * 1000                                    ' Результат в милливольтах на входе АЦП.

x = y ' В переменной 'x' целочисленный результат в милливольтах.

Re: показометр U/I в Bascom-AVR

Добавлено: Пн окт 19, 2015 21:57:52
SolderC
Достаточно изменить код чтения из АЦП.
Попробовал Ваш код, точно такие же значения получаются как и у меня.
Просто попробуйте закоментировать этот кусок
Volt_1 = Aref * Volt
Volt_1 = Volt_1 / 1024
Volt_1 = Volt_1 * 1000
Volt_1 = Volt
результат одинаков, что с ним что без него, и чтобы выйти на реальные значения в вольтах adc1, надо разделить на 2, как у меня и было изначально.
Пробовал в протеусе, но в железе результат преобразования я уверен будет тот же, просто сейчас работа, некогда на макетке попробовать, работаю два через два с восьми до восьми. :(

Re: показометр U/I в Bascom-AVR

Добавлено: Пн окт 19, 2015 23:00:13
pcb
У ТС всё хорошо. Пожелаем ему успехов.

Re: показометр U/I в Bascom-AVR

Добавлено: Пн окт 19, 2015 23:15:30
SolderC
пользуйтесь диф включением каналов
А ето чаво :dont_know: такое
что бы ни делали, у аврки как было 1024 отсчета так и останется, 20 В/1024 = ~20 мВ в идеальном случае, а в действительности будет 8-9 бит, что эквивалентно 40мВ.
А у меня 3 вольта в диапазоне 10-50вольт, не хило правда?
И по поводу температуры измерительные цепи не геются у меня да и контроллер тоже

Re: показометр U/I в Bascom-AVR

Добавлено: Вт окт 20, 2015 08:48:01
pcb
SolderC писал(а): А у меня 3 вольта в диапазоне 10-50вольт, не хило правда?
Я не знаю про какие 3 В идёт речь.
SolderC писал(а): И по поводу температуры измерительные цепи не геются у меня да и контроллер тоже
Из этого следует, что моя помощь вам не нужна. :idea:

Re: показометр U/I в Bascom-AVR

Добавлено: Вт окт 20, 2015 10:34:43
Мурик
SolderC писал(а):результат одинаков, что с ним что без него
Не удивительно с учетом ошибки в коде.
SolderC писал(а):Volt_1 = Aref * Volt
Volt_1 = Volt_1 / 1024
Volt_1 = Volt_1 * 1000
Volt_1 = Volt
В последней строке должно быть.

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

Volt = Volt_1

Re: показометр U/I в Bascom-AVR

Добавлено: Вт окт 20, 2015 21:22:49
SolderC
Во бла :oops:
ща попробуем

Не работает, подаю напряжение 0-8В на индикаторах 0В, как только превышает 8,9В - сразу 9,99А 50,0В

Скажите, а смещение нуля АЦП может быть причиной нелинейности?

Re: показометр U/I в Bascom-AVR

Добавлено: Вт окт 20, 2015 22:16:23
Мурик
SolderC писал(а):Не работает, подаю напряжение 0-8В на индикаторах 0В, как только превышает 8,9В - сразу 9,99А 50,0В
В коде объявление переменной.

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

Dim Volt_1 As Integer
а должно быть Single.

Re: показометр U/I в Bascom-AVR

Добавлено: Вт окт 20, 2015 22:35:27
SolderC
Мурик писал(а):
SolderC писал(а):Не работает, подаю напряжение 0-8В на индикаторах 0В, как только превышает 8,9В - сразу 9,99А 50,0В
В коде объявление переменной.

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

Dim Volt_1 As Integer
а должно быть Single.
Спасибо, что разжёвываете и извините за невнимательность, в протеусе работает, завтра опробую в железе.

Re: показометр U/I в Bascom-AVR

Добавлено: Ср окт 21, 2015 23:45:08
SolderC
Спасибо за внимание, устранено, дело было в бракованной mega8
Код изначально был верным.
End