www.open-tager.ru

открытый лазертаг форум
Текущее время: 20 апр 2024, 16:43

Часовой пояс: UTC + 3 часа [ Летнее время ]


Реклама

Правила форума


В разделе запрещены - обсуждение оборудования не поддерживающего открытых протоколов, реклама и ссылки на готовые продукты лазертага, обсуждение политики производителей и самих производителей. Виден всем.



Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 21 мар 2018, 00:25 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
Розрабатываю устройство для измерения емкости 32 литиевых акалуляторов одновремено )))Будет тумблер зарядка/розрядка ,который будет переключать акум на платку зарядки или на рез 2вт/10 ом.Розряать буду до 3.6в ,как только акум достиг этого значения ,тумблером переключаю его в режим зарядка)))Чтобы контролировать напряжение ,будет собрана схемка бегущие огни которая бует переключать вольтметр по банкам акамулятора )))Вопрос как сделать этот переклчатель вольтметра на транзисторах а не на релюшках????
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 мар 2018, 00:27 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
У кого какие идеи есть ,как то автоматизировать этот процес???


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 мар 2018, 02:16 
Не в сети
Местный
Аватар пользователя

Зарегистрирован: 06 фев 2012, 01:30
Сообщений: 420
Откуда: Мордор
maksim писал(а):
У кого какие идеи есть ,как то автоматизировать этот процес???

У меня вообще есть идея сделать беспроводную зарядку по такой схеме. Не надо не разъемов не проводов. Повесил повязки на спец вешалку зарядку и расставил тагеры в пирамиде с зарядкой. https://youtu.be/cdPR_oibNGo?t=20


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 мар 2018, 11:37 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
maksim писал(а):
Вопрос как сделать этот переклчатель вольтметра на транзисторах а не на релюшках????

смотрите на аналоговые мультиплексоры. Например https://arduino.ua/prod1307-analogovii-kommytator-16h1-na-cd74hc4067

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 мар 2018, 14:23 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
Запустил на ардуинке пример подключения мюльтиплексор)))Работает все)))
https://www.youtube.com/watch?v=TTdOkhqLSr4
Изображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 мар 2018, 14:23 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
#define EN 3
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define SIG A0


void setup(){
Serial.begin(9600);

pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);

digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);

pinMode(EN, OUTPUT);
digitalWrite(EN, LOW);


}


void loop(){

//Loop through and read all 16 values
//Reports back Value at channel 6 is: 346
for(int i = 0; i < 16; i ++){
// Serial.print("Value at channel ");
// Serial.print(i);
// Serial.print(": ");
Serial.print(readMux(i));
Serial.print(". ");

}
Serial.println();
delay(1000);
}


int readMux(int channel){
int controlPin[] = {S0, S1, S2, S3};

int muxChannel[16][4]={
{0,0,0,0}, //channel 0
{1,0,0,0}, //channel 1
{0,1,0,0}, //channel 2
{1,1,0,0}, //channel 3
{0,0,1,0}, //channel 4
{1,0,1,0}, //channel 5
{0,1,1,0}, //channel 6
{1,1,1,0}, //channel 7
{0,0,0,1}, //channel 8
{1,0,0,1}, //channel 9
{0,1,0,1}, //channel 10
{1,1,0,1}, //channel 11
{0,0,1,1}, //channel 12
{1,0,1,1}, //channel 13
{0,1,1,1}, //channel 14
{1,1,1,1} //channel 15
};

//loop through the 4 sig
for(int i = 0; i < 4; i ++){
digitalWrite(controlPin[i], muxChannel[channel][i]);
}

//read the value at the SIG pin
int val = analogRead(SIG);

//return the value
return val;
}


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 мар 2018, 14:28 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
Помогите подправить код ))
1) Как преобразовать числа в вольты??
2)Как добавить еще один мультиплексор и сделать 32 вх ??
3)Сделать сигнализацию ,чтобы как только на одном из входов напряжение упало до 3.6 в ,заорелся светодиодик ....??


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 мар 2018, 15:01 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
1) Числа в вольты преобразуются просто:
V = Х * Vref / ADCmax
где Vref - опорное напряжение для АЦП. ADCmax - максимальное значение АЦП. На примере: допустим вы используете в качестве положительного опорного напряжения АЦП напряжение питания +5В, при этом АЦП имеет 10 разрядов, то есть максимальное его значение 1023. Тогда формула будет V = X * 5 / 1023.

2) Используйте выводы ЕN для разрешения работы конкретного мультиплексора. Но почитайте в даташите отключают ли они выходной канал когда микросхема не активна. Или заведите с каждого мультиплексора выход на отдельный канал АЦП. Получится простой опрос - задали адрес - измерили сначала от одного мультиплексора значение, потом от другого.

3) Надо не только светодиодик, но и нагрузку отключать.

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 мар 2018, 15:39 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
Заменил int val = analogRead(SIG); на int val = analogRead(SIG)* 5 / 1024; Преобразовало в вольты но не показывает после запятой значения )))Что нужно подправить чтобы показало напряжение в формате 3.75.....???


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 мар 2018, 16:50 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 00:22
Сообщений: 1569
Откуда: Україна
maksim писал(а):
Заменил int val = analogRead(SIG); на int val = analogRead(SIG)* 5 / 1024; Преобразовало в вольты но не показывает после запятой значения )))Что нужно подправить чтобы показало напряжение в формате 3.75.....???

Умножить не на 5 а на 5000 - получите значение в милливольтах :) Только смотрите какого размера int в вашей ардуине.
А где ставить точку при выводе на экран - это уже сами придумайте :)

_________________
Нет предела совершенству, но ресурсы заканчиваются быстро.


Последний раз редактировалось Pacifist 22 мар 2018, 17:44, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

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


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB