Easyelectronics.ru

Электроника для всех
Текущее время: 12 ноя 2018, 23:47

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 13:54 
Только пришел

Зарегистрирован: 09 июн 2018, 13:44
Сообщения: 5
Всем привет.
Я тут медленно , но уверенно осваиваю STM8. Научился мигать светодиодами, отсчитывать время и умудрился, даже, сделать игрушку для кота, которая мигает и вибрирует. А вот с вольтметром уперся в тупик.
Задача до безобразия проста: нужно чтобы контроллер (STM8L151G4U6) измерял напряжение (не источника питания) и при достижении определенного порога менял значение на одной из ног (вкл/выкл транзистор).
В сети нашел пару готовых проектов вольтметров на STM8, но или это не то, или я тупой.
Возможно, кто-то подскажет кусок кода для IAR?
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 14:12 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2931
Откуда: КЧР, поселок Нижний Архыз
Элементарно там все делается.
Я для нескольких китайских вольтметров писал код. Правда, там STM8S003.
В случае с L-серией стоит помнить, что вся периферия по умолчанию отключена, поэтому не забыть на АЦП подать тактирование перед его конфигурацией.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 14:26 
Только пришел

Зарегистрирован: 09 июн 2018, 13:44
Сообщения: 5
Спасибо, Eddy_Em.
Буду изучать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 16:34 
Только пришел

Зарегистрирован: 09 июн 2018, 13:44
Сообщения: 5
Нет. Что-то это слишком для меня сложно. Видимо я еще не дошел до нужного уровня понимания. Я думал, что достаточно будет нескольких строк. В конце-концов, мне не нужно никуда выводить значение вольтажа, а просто измерить его и записать в переменную.
Возможно направите, с чего по-проще начать, чтобы в итоге понять работу вольтметра? Что-то посредине между вольтметром и просто мигающим светодиодом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 16:38 
Только пришел

Зарегистрирован: 09 июн 2018, 13:44
Сообщения: 5
И еще один основополагающий вопросик.
Как вообще происходит измерение вольтажа? Я не понимаю саму логику процесса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 17:15 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2931
Откуда: КЧР, поселок Нижний Архыз
В простейшем случае элементарно ставим делитель напряжения (на резисторах) и встроенным АЦП измеряем. Сделав измерения для нескольких эталонных напряжений, можно построить кривую (в простейшем случае — прямую) преобразования ADU АЦП в Вольты.
Читайте специальную литературу: Хоровиц & Хилл, а также очень рекомендую купить эту книжку.
Вот здесь у меня совсем простенький примерчик (на основе китайского "вольтметра"), который на LED-индикаторе отображает последовательно цифры, а десятичную точку ставит в позицию, зависящую от уровня напряжения на входе АЦП.

P.S. Если напряжение нужно мерить более точно, то не обойтись без внешнего АЦП, возможно, еще понадобится предусилитель, разные компараторы для отключения внешней цепи и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 09 июн 2018, 21:45 
Только пришел

Зарегистрирован: 09 июн 2018, 13:44
Сообщения: 5
Спасибо за советы.
Ушел учиться...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 11 июн 2018, 12:23 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2014, 18:09
Сообщения: 595
Откуда: Киев
В общих словах всё просто:
- Определить вывод измерения как аналоговый вход
- Соединить его со входом АЦП (в STM8S просто выбрать вход, в STM8L соединить его через внутренний коммутатор)
- определить частоту преобрахования
- определить формат результата.
- запустить цикл преобразования
- дождаться окончания и считать результат

Последние два пункта можно делать с помощью прерываний, таймеров или DMA, но после того, как всё заработало вручную.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программа с использованием вольтметра.
СообщениеДобавлено: 11 июн 2018, 17:45 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2931
Откуда: КЧР, поселок Нижний Архыз
Добавлю, что для улучшения результата нужно еще измерять другим каналом АЦП напряжение на Vcap. Единожды измеряем вольтметром, сколько там. Допустим, 1.81В. Пусть Um - измеряемое напряжение в ADU, а Uv - напряжение на Vcap. В этом случае преобразовать в Вольты с точностью до 10мВ очень легко: U = (181 * Um) / Uv. Если есть перед входом резистивный делитель, добавляем еще коэффициент пропорциональности, равный (R1+R2)/R2 (где R2 - сопротивление нижнего плеча делителя). На одном из китайских вольтметров, которые я реверсил, была именно такая схема подключения. И итоговый коэффициент получился очень "ровным": U=(1800*Um)/Uv.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB