Оглавление:
- Шаг 1. Требования к оборудованию
- Шаг 2: микроконтроллер CloudX M633
- Шаг 3: штыревые соединения
- Шаг 4: Принципиальная схема
- Шаг 5: Принцип работы
- Шаг 6: Программное обеспечение
Видео: Цифровой вольтметр с CloudX: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Батареи обеспечивают более чистую форму постоянного тока (постоянного тока) при использовании в электрических цепях. Благодаря низкому уровню шума они всегда идеально подходят для некоторых очень чувствительных схем. Однако иногда, когда их уровень напряжения опускается ниже определенной пороговой точки, схемы (которые они предназначены для питания) могут начать неустойчивое поведение; особенно когда они не приспособлены для этого.
Следовательно, возникает необходимость регулярно контролировать уровень заряда батареи, чтобы правильно определять, когда она должна быть полностью заменена или заряжена - в случае перезаряжаемой батареи. Поэтому в этом DIY (Сделай сам) мы должны разработать простой измеритель напряжения батареи, используя CloudX - используя 7Segment в качестве нашего дисплея.
Шаг 1. Требования к оборудованию
Модуль микроконтроллера CloudX
CloudX USB
SoftCard
7-сегментный дисплей
Резисторы
Блок питания
Макетная плата
Перемычки (соединительные) провода
Шаг 2: микроконтроллер CloudX M633
Модуль микроконтроллера CloudX
Модуль CloudX - это аппаратный инструмент для проектирования электроники, который позволяет очень удобно и легко взаимодействовать с физическим миром через простую плату микроконтроллера. Вся платформа основана на физических вычислениях с открытым исходным кодом. Простота IDE (интегрированной среды разработки) действительно делает ее идеальной для новичков, но при этом сохраняет достаточную функциональность, чтобы позволить продвинутым конечным пользователям ориентироваться в них. Вкратце, CloudX обеспечивает значительно упрощенный процесс работы с микроконтроллером - абстрагируясь от обычных сложных деталей, связанных с ним; в то же время предлагая платформу с очень богатым пользовательским интерфейсом. Он находит широкое применение по всему миру: в школах, как отличный образовательный инструмент; промышленные и коммерческие продукты; и как отличный вспомогательный инструмент в руках любителя.
Шаг 3: штыревые соединения
7-сегментные выводы: A, B, C, D, E, F, G, 1, 2 и 3 подключены к выводам 1, 2, 3, 4, 5, 6, 7, 8, 9, CloudX-MCU, pin10 и pin11 соответственно.
Шаг 4: Принципиальная схема
Модуль микроконтроллера, занимающий центральное место здесь, может быть включен:
либо через точки Vin и Gnd (т. е. подключив их к клеммам + ve и –ve вашего внешнего блока питания соответственно) на плате;
или через модуль Softcard USB CloudX
. Более того, как можно легко увидеть из принципиальной схемы выше, входное напряжение аккумуляторной батареи сопрягается с модулем MCU (микроконтроллера) таким образом, что точка –точка цепи делителя напряжения (образованная и) подключена к A0 вывода MCU..
и выбираются таким образом, чтобы:
ограничить количество тока, протекающего по сети;
предел в безопасном диапазоне (0 - 5) В для MCU.
Используя формулу: VOUT = (R2 / (R1 + R2)) * VIN; и легко поддается оценке.
Voutmax = 5 В
и для этого проекта выбираем: Vinmax = 50V;
5 = (R2 / (R1 + R2)) * 50 R1 = 45/5 * R2 Возьмем, например, R2 = 10 кОм; R1 = 45/5 * 10 = 90 кОм
Шаг 5: Принцип работы
Когда измеренное входное напряжение считывается через точку VOUT сети делителя напряжения, данные дополнительно обрабатываются в MCU для оценки окончательного фактического значения, которое отображается на сегментном блоке. Он (конструкция системы) является автоматическим распределителем десятичной точки, поскольку он (десятичная точка) фактически сдвигает положение на самом дисплейном блоке в соответствии с тем, что значение с плавающей запятой диктует в любой данный момент времени. Затем весь аппаратный 7-сегментный дисплей подключается в мультиплексном режиме. Это особая конструкция, при которой одна и та же шина данных (8 контактов для данных) от MCU питает три активных 7-сегментных блока дисплея. Отправка шаблона данных в каждую из составных частей достигается процессом, называемым сканированием. Сканирование - это метод, включающий отправку данных в каждый из семи сегментов компонента; и включение (т.е. включение) их в быстрой последовательности по мере поступления соответствующих данных. Скорость обращения к каждому из них подбирается так, что удается обмануть человеческое зрение, заставив поверить, что все они (составные части) задействованы (адресованы) одновременно. Это (сканирование) просто, по сути, использует явление, известное как постоянство зрения.
Шаг 6: Программное обеспечение
#включают
#включают
#включают
#define segment1 pin9
#define segment2 pin10
#define segment3 pin11
float batt_voltage;
int decimalPoint, batt;
/ * массивы, которые хранят сегментный образец для каждой данной цифры * /
char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
int disp0, disp1, disp2;
отображать() {
беззнаковый символ i;
if (decimalPoint <10) {
disp0 = (int) batt_voltage / 100; // извлекает MSD (наиболее значимую цифру)
// самый высокий вес
/ * выбирает следующую взвешенную цифру; и так далее */
disp1 = ((int) batt_voltage% 100) / 10;
disp2 = ((int) batt_voltage% 10);
}
еще {
disp0 = (int) batt_voltage / 1000;
disp1 = ((int) batt_voltage% 1000) / 100;
disp2 = ((int) batt_voltage% 100) / 10;
}
/ * Паттерны выгружаются для отображения; и символ 0x80 с добавлением десятичной точки
если соответствующее условие выполняется * /
for (i = 0; i <50; i ++) {
pin9 = pin10 = pin11 = ВЫСОКИЙ;
если (десятичная точка <10)
portWrite (1, CCathodeDisp [disp0] | 0x80);
иначе portWrite (1, CCathodeDisp [disp0]);
сегмент1 = НИЗКИЙ;
сегмент2 = ВЫСОКИЙ;
сегмент 3 = ВЫСОКИЙ;
delayMs (5);
pin9 = pin10 = pin11 = ВЫСОКИЙ;
если ((десятичная точка> = 10) && (десятичная точка <100))
portWrite (1, CCathodeDisp [disp1] | 0x80);
иначе portWrite (1, CCathodeDisp [disp1]);
сегмент1 = ВЫСОКИЙ;
сегмент2 = НИЗКИЙ;
сегмент 3 = ВЫСОКИЙ;
delayMs (5);
pin9 = pin10 = pin11 = ВЫСОКИЙ;
если (десятичная точка> = 100)
portWrite (1, CCathodeDisp [disp2] | 0x80);
иначе portWrite (1, CCathodeDisp [disp2]);
сегмент1 = ВЫСОКИЙ;
сегмент2 = ВЫСОКИЙ;
сегмент 3 = НИЗКИЙ;
delayMs (5);
}
}
setup () {// настраиваем здесь
analogSetting (); // аналоговый порт инициализирован
portMode (1, ВЫХОД); // Контакты с 1 по 8 настроены как выходные контакты
/ * сканирование контактов, сконфигурированных как выходные контакты * /
pin9Mode = ВЫХОД;
pin10Mode = ВЫХОД;
pin11Mode = ВЫХОД;
portWrite (1, LOW);
pin9 = pin10 = pin11 = ВЫСОКИЙ; // сканировать пины (активные - низкий)
// отключены в начале
loop () {// Программируем здесь
batt_voltage = аналоговое чтение (A0); // принимает измеренное значение
batt_voltage = ((напряжение аккумулятора * 5000) / 1024); // коэффициент преобразования для 5Vin
напряжение батареи = (напряжение батареи * 50) / 5000; // коэффициент преобразования для 50Vin
decimalPoint = напряжение батареи; // отмечает место десятичной точки в
// исходное значение до обработки данных
отображать();
}
}
Рекомендуемые:
Цифровой секундомер Simple CloudX M633: 4 шага
Простой цифровой секундомер CloudX M633: в этом проекте мы собираемся создать версию цифровых часов, которые могут вести учет часов, минут и секунд, как секундомер на вашем мобильном телефоне! Мы собираемся использовать ЖК-дисплей для отображения времени
Как снести цифровой штангенциркуль и как работает цифровой штангенциркуль: 4 шага
Как снести цифровой штангенциркуль и как работает цифровой штангенциркуль: многие люди знают, как использовать штангенциркуль для измерения. Из этого туториала Вы узнаете, как разобрать цифровой штангенциркуль, и объясните, как работает цифровой штангенциркуль
Цифровой вольтметр Arduino: 3 шага
Цифровой вольтметр Arduino: вольтметр или измеритель напряжения - это измерительный прибор, который используется для измерения напряжения
Перезаряжаемый цифровой вольтметр с использованием АЦП ICL7107: 7 шагов (с изображениями)
Перезаряжаемый цифровой вольтметр с использованием АЦП ICL7107: в этом уроке я покажу вам, как сделать супер простой цифровой вольтметр, который может измерять напряжения от 20 мВ до 200 В. В этом проекте не будет использоваться микроконтроллер, подобный Arduino. Вместо этого будет использоваться АЦП, то есть ICL7107 с некоторыми пасс
Цифровой вольтметр: 5 шагов
Цифровой вольтметр: это простой в использовании и дешевый самодельный вольтметр. Общая стоимость создания этого проекта составляет менее 200 индийских рупий или всего 2,5 доллара США