Проблема с питанием ардуино от одного источника с измеряемым.

voronov-m
Offline
Зарегистрирован: 15.06.2015

Делаю отсечку зажигания на мотоцикл. Все работает пока питается ардуинка от батарейки. 

Измеряю напряжение на стрелки тахометра(подключаюсь напрямую к приводу стрелки, там напряжение от 0 до 4 вольт примерно, зависит от оборотов) минус на GND плюс на аналоговый вход. При попытке запитать ардуино от аккомулятора мотоцикла, даже при подключении только минуса стрелка тахометра "взлетает", а если подключить только плюс ардуинка включается. От отдельного источника все работает отлично.

Focus
Offline
Зарегистрирован: 05.04.2015

Значит вариант "...подключаюсь напрямую к приводу стрелки..." Вам скорее всего не подходит. И скорее всего к "приводу стрелки" подведён на прямую +, а на "минусе" напряжение меняется от 0 до 4в относительно "плюса".

Я думаю что сперва нужно запитать контроллер от бортовой системы и потом думать откуда снимать данные. Если всётаки и вести "напрямую к стрелке" то только один провод, предварительно замерив мультиметром ОТНОСИТЕЛЬНО МАССЫ напряжение на "стрелке" и убедиться что оно НЕ ПРЕВЫШАЕТ 5 В. Скорее всего понадобится делитель напряжения, со стабилитроном для верности, особенно если бортовое напряжение 12в.

В любом случае информации недостаточно, чтобы посоветовать что то конкретное. но сигнал нужно искать именно относительно массы.

Всё вышесказанное верно при условии что масса это - (минус) :D

voronov-m
Offline
Зарегистрирован: 15.06.2015

5 вольт не превышает (1 вольт примерно 3000об/мин), отсечку собираюсь делать на 9000. Т.е я правильно понимаю на аналоговый вход вести один плюсовой провод от стрелки тахометра?

Focus
Offline
Зарегистрирован: 05.04.2015

voronov-m пишет:

...Т.е я правильно понимаю на аналоговый вход вести один плюсовой провод от стрелки тахометра?...

Скорее всего наоборот, минусовой от "стрелки", и через резистор килоомный на А0. И скорее всего показания будут "наоборот" - больше оборотов - меньше вольт. Незная схемы тахометра точнее сказать не могу, но это легко проверяется опытным путём :)

Подключите мультиметр к - акб (кстати на раме -? ну так, на всякий случай) и к - "стрелки" и смотрите чего там идёт. подозреваю что будет больше 5в на "холостых" и скорее всего в зависимости от оборотов будет меняться от 12 до 8в. В таком случае нужен будет делитель на 2х резисторах, ну ещё стабилитрон для верности.

Если напряжение не меняется, то к + "стрелки" (другой конец мультиметра по прежнему и всегда к - акб (массе?)) и смотреть что там.

Можно конечно взять с сигнального (скорее всего там импульсы с датчика холла), через делитель и в цифровой ардуины и считать импульсы по прерыванию например. Но тут код сложнее будет и с какой частотой они там идут неизвестно.

voronov-m
Offline
Зарегистрирован: 15.06.2015

Скорей всего этот спопособ мне действительно не подходит, если только от батарейки питаться. Замерил я напряжение между массой и плюсом и минусом стрелки, разници нет, 12 вольт.

В идеале даже лучше подключаться к сигнальному проводу тахометра (проще чем разбирать тахометр и паять там провода).Если честно я пытался считывать импульс от туда, но у меня проблемы с подключением к нему (правельным).

Вот рабочий скетч частотометра

#include <util/delay.h>

volatile unsigned int tachBuf;   
unsigned long tachValue;   
ISR(TIMER1_CAPT_vect)   
{    
    TCNT1 = 0;     
    tachBuf = ICR1+2;   
}   
//********************************************************************   
void setup()       
{ 

 
  // pinMode(led, OUTPUT);   
   pinMode(8, INPUT);  //Вход для импульсов спидометр 
  // TCCR0B = TCCR0B & 0b11111000 | 1;//частота ШИМ    
     
   digitalWrite(8, HIGH); // включить подтяжку входа   
   Serial.begin(115200);   
   TIM_Init();//инициализация таймера   
  _delay_ms(400);   
}     
//********************************************************************   
void loop()       
{   
  cli();     
  tachValue =250000/tachBuf;  
   
  Serial.print("Hz - ");   
  Serial.println(tachValue,DEC);   
  tachBuf=1;   
  sei(); 
  tone(13,150);// на 13 пине указанная Частота 2.5 вольта
  _delay_ms(200);   
}      
//********************************************************************   




void TIM_Init(void)   
{   
   TIMSK1=(1<<ICIE1);    
   TCCR1A=(0<<COM1A1)|(0<<COM1A0)|(0<<WGM11)|(0<<WGM10);     
   TCCR1B=(1<<ICNC1)|(1<<ICES1)|(0<<WGM13)|(0<<WGM12)|(0<<CS12)|(1<<CS11)|(1<<CS10);   
   TCNT1 = 0;                                              
}  

здесь на 13 пине генерирую частоту 150 герц, измеряет четко. 

А КАК ПРАВИЛЬНО ПОДКЛЮЧИТЬСЯ К ТАХОМЕТРУ? непойму

Я склоняюсь к оптрону. Можете набросать СХЕМКУ ПОДКЛЮЧЕНИЯ ОПТРОНА по данному скетчу. Мультиметром мерил напряжение между черным (массой) и синем(сигнальным) проводом на входе в тахометр, равно 10 вольт, частоту тоже мерил, но у меня дешевый китайский мультиметр(показания прыгали), но увеличивались при увеличении оборотов.

Focus
Offline
Зарегистрирован: 05.04.2015

Я схему подключения не набросаю. Оптрон наверно правильно, но я их в руках ниразу не держал :) принцип работы понимаю, но надобности небыло. Поэтому я бы так сунул провод, ну через делитель естественно ) Правда убедился бы сперва что этот провод идёт именно с датчика холла, а не откуда нибудь с бобины :D

voronov-m
Offline
Зарегистрирован: 15.06.2015

Этот провод идет от мозгов мотоцикла он же коммутатор, а к мозгам подклочаются 4 датчика холла. Принцип я тоже понимаю а, как правильно подключить его чтобы не спалить, ну там резисторы подобрать да и вообще я насайт чип и дипа зашел там выбора этих оптронов море, какой лучше использовать непойму.