Форум по Роботика

Контролери => Ардуино (Arduino) => Темата е започната от: stunito0o0 в Януари 30, 2013, 12:59:08 pm

Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Януари 30, 2013, 12:59:08 pm
Здравейте искам да направя волтметър с ардуино мега адк . Намерих няколко статии и горе-долу разбрах как става.Ето една статия (http://www.clarenceho.net:8123/blog/articles/2009/05/17/arduino-test-voltmeter)  където  е обяснено, но за жалост не пише как се изчисляват резисторите  .Целта ми е да меря напрежението на отделните клетки на LiPo батерия  с три клетки. Изведени са на отделни кабелчета , така че трябва само да  се навържат към резистори .

Благодаря за отделеното време.Очаквам вашите отговори.  :)
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Януари 30, 2013, 05:54:21 pm
http://www.raltron.com/cust/tools/voltage_divider.asp
http://www.random-science-tools.com/electronics/divider.htm
Големината на резисторите се съобразява с това колко искаш да е разрядния ток и с входното съпротивление на микроконтролера.
Дай точната схема на свързване на клетките и напрежението на всяка от тях и ще ти дам конкретното свързване, ако не можеш да се справиш.
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Януари 31, 2013, 02:26:06 pm
Благодаря за отговора.
Ето страницата на контролера (http://arduino.cc/en/Main/ArduinoBoardADK)
и страницата на батерията (http://www.hobbyking.com/hobbyking/store/__16225__ZIPPY_Flightmax_8000mAh_3S1P_30C.html)
Схемата ще е като на страницата която постнах в предишния пост,ето тази (http://www.clarenceho.net:8123/blog/articles/2009/05/17/arduino-test-voltmeter) ,а относно напрежението максималното ще е около 4,1 V а мин около 2~2,3 V.Относно резисторите днес прочетох още малко в интернет и мисля да са R1=100 к. ома и R2=200 ома.Правилно ли съм ги пресметнал? :)
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Януари 31, 2013, 06:35:53 pm
Батерията е от три клетки последователно!
Схемата на всеки аналогов вход ще ти дава горе долу едно и също напрежение, ако клетките са с еднакво напрежение.
Ain_1, Ain_2 и Ain_3 са произволни аналогови входове на ардуиното.
http://s17.postimage.org/fldc0odyn/cell_volt.png
Ти си определяш кои точно аналогови входове ще ползваш и съответно да си коригираш кода на програмата.
Референтното напрежение за АЦП-тата трябва да е 5 волта! Ако искаш да ползваш някое от вътрешните на 1,1 и на 2,56 волта - кажи, за да ти коригирам схемата!
Изтегли си програмката LTSpice IV от тук:
http://www.linear.com/designtools/software/
Страшно много ще ти помогне за елементарни симулацийки!
Иначе по-горе ти дадох линкове с калкулатори за резисторни делители, потърси си и други, ако нещо не ти харесват, просто бяха в първите резултати, когато ги търсих.
А най-добре почети основи на електрониката, ако не си учил :)
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Февруари 01, 2013, 12:25:42 pm
Благодаря ти за схемата. :) Може ли само да ми поясниш ,защо съпротивленията намалят след всяка клетка и защо на последната клетка резисторният делител  има само едно съпротивление.
Благодаря за отделеното време. :)
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Февруари 01, 2013, 01:32:49 pm
АЦП-тата могат да мерят от 0 до 5 волта, когато ползваш 5 волта за референтно напрежение.
Всяка клетка ти е под 5 волта в напълно заредено състояние и над 2 волта в разредено(точните стойности ще трябва да си ги провериш за съответния тип батерия).
Точността на измерване на АЦП-тата е  най-висока в последната една трета от обхвата, т.е. над 2/3 от референтното напрежение.
Най-долното АЦП получава директно напрежението на първата клетка, което не надвишава 5 волта, за това е вързано само през резистор за защита за всеки случай..
За втората и третата клетка напреженията са вече два или три пъти по-високи спрямо първата клетка(сумират се) и за това се налага чрез резисторни делители да се намаля напрежението, за да не надвишава 5 волта на всеки АЦП вход. Иначе ще изгориш микроконтролера!
За това ти казах - седни прочети малко основи на електротехниката - закона на Ом, основни неща като паралелно и последователно свързване на резистори, кондензатори и индуктивности, основи на импулсната схемотехника за преходните процеси при RC звената(най-често срещаните неща при микроконтролерите и имбедид системите).
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Февруари 01, 2013, 02:14:57 pm
Аха сега вече  ми стана ясно. Тази  събота или неделя ще трябва седна да прочета малко. :) Но имам още един въпрос.Съпротивлението на първата клетка ,което е за всеки случай  няма ли да разрежда батерията прекалено бързо .Понеже  бях чел някъде ,че колкото по-голямо е съпротивлението ,толкова  по-малък е тока и толкова по-бавно  се разрежда  батерията.

ПС.В горните постове забравих да спомена ,че  измерването на напрежението ще е постоянно тоест от както се свърже батерията към някакъв консуматор ,докато контролера неотчете, че е разредена.
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Февруари 01, 2013, 02:45:21 pm
За първата клетка с най-малкото съпротивление реално ще ти харчи най-малко ток, защото еквивалентното съпротивление се явява цялото входно на АЦП-то.
Сумарната консумация на конкретната схема при напълно заредена батерия ще е около 1мА(един мили ампер), което мисля е нищожно, спрямо другите консуматори от батерията...
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Февруари 01, 2013, 03:16:09 pm
Благодаря  много  за  отделеното  време. Тези  дни  ще  сглобя  схемата  и ще  пробвам. Ще  пиша  когато  има  развитие. :):)
Титла: Arduino mega adk волтметър
Публикувано от: krasimir в Февруари 03, 2013, 03:25:41 pm
Аз исках да правя същото нещо с ардуино, но нещата не се получиха както трябва. Проблема, който имах е че АЦП-то не мери точно. На теория при 5 волта трябва да има стойности 1023, но на практика не е така. Пробвал съм с различни източници (акумулатори и стабилизирани захранвания) и съм мерил с два, три различни мултицета.

На теория - 5/1023 =~ 0.004887, но на практика това число нито е толкова нито е постоянно друго. Варира 0,00468 - 0,0048... така на пръв поглед не е кой знае какво, но на практика мериш 4,27 волта примерно, а то показва 4,17... понякога може да се получи разлика от 0,3V.

П.П. С Ардуино Уно е това.
Титла: Arduino mega adk волтметър
Публикувано от: bateAz в Февруари 03, 2013, 06:20:25 pm
Цитат на: "krasimir"
Аз исках да правя същото нещо с ардуино, но нещата не се получиха както трябва. Проблема, който имах е че АЦП-то не мери точно. На теория при 5 волта трябва да има стойности 1023, но на практика не е така. Пробвал съм с различни източници (акумулатори и стабилизирани захранвания) и съм мерил с два, три различни мултицета.

На теория - 5/1023 =~ 0.004887, но на практика това число нито е толкова нито е постоянно друго. Варира 0,00468 - 0,0048... така на пръв поглед не е кой знае какво, но на практика мериш 4,27 волта примерно, а то показва 4,17... понякога може да се получи разлика от 0,3V.

П.П. С Ардуино Уно е това.


Сложи 100nF между входа на ADC и аналоговата маса, възможно най-близо до пиновете на процесора. След това премери пак. ;)
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Февруари 04, 2013, 07:16:46 am
Това с кондензаторчетата е много добра идея.
Ще компенсират пиковете когато сработва семпъл-анд-холд системата и наистина ще подобри точността на измерването.
В случая, когато се мери постоянно напрежение ще са много полезни!
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Февруари 21, 2013, 06:01:50 am
Здравейте отново, :)
най-после ми остана време, да направя схемата ,но и при мен има проблем с меренето. Получавам сериозни разлики понякога с до 0.5 волта.Виждам че е обсъждан в тази тема въпроса, но не ми стана ясно този кондензатор от 100 нано фарада електролитен ли да е ,или керамичен и как точко трябва да се свърже  - паралелно между аналоговия пин и нулата ,или последователно между аналоговия пин и резисторния делител?
Благодаря предварително. :)
EDIT:сега видях ,че трябва да е паралелно и възможно  най-близо до пиновете на процесора.
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Февруари 21, 2013, 02:18:35 pm
Къде се получава разлика - като мериш общото напрежение на трите клетки или при замерването на първата клетка?
Ако е при втората и третата клетка на батерията, ще трябва да ползваш по-нискоомни резистори - например намали им съпротивленията наполовина.
Ако е още при първата клетка, където нямаш делител, то тогава си въведи някакъв корекционен коефициент и експериментално го определи колко да е точно, т.е. Измерена стойност * Корекция = Реална стойност. Един вид софтуерно калибриране...
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Март 19, 2013, 09:19:11 pm
Здравейте отново,
dzwer благодаря ти за идеята за софтуерният филтър,не се бях сетил, ще пробвам.А относно резисторните делители мисля да променя стойностите малко. (http://s17.postimage.org/fldc0odyn/cell_volt.png) според тази картинка съпротивленията ще станат:
R1- 20k
R2- 10k
R3- 15k
R4- 15k
R5- 30k
Дали така няма да е по-добре?  :)
Титла: Arduino mega adk волтметър
Публикувано от: bateAz в Март 20, 2013, 02:53:49 pm
Не ме кефи!
Ти мериш разликите между потенциалите на отделните точки. За целта трябва да ги мериш при колкото може по-еднакви условия. Горните 2 имат към 5-7 килоома еквивалентно съпротивление, долният - само 220 ома. Изравни ги!
Освен това 220 ома е много малко за защита при евентуално прекъсване на батерия №3 - тогава ако има товар ( или заряд ) там ще има ексцеси.
Паралелно на входовете на ADC сложи по 10нФ керамичен кондензатор.
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Март 20, 2013, 04:30:02 pm
Венци,здравей
не че ти се карам , но прочети отново какво съм написал под картнката на последния ми пост.
Титла: Arduino mega adk волтметър
Публикувано от: bateAz в Март 20, 2013, 06:56:53 pm
Цитат на: "stunito0o0"
Венци,здравей
не че ти се карам , но прочети отново какво съм написал под картнката на последния ми пост.


Мда. Няма да има ексцеси, ама пак не е съгласувано. И няма кондензатори май.
Титла: Arduino mega adk волтметър
Публикувано от: stunito0o0 в Март 20, 2013, 07:11:34 pm
Да относно този кондензатор каква работа точно ще изпълнява той? :)
П.С. Защо не са съгласувани при последователно свързване на резистори формулата не е ли R=R1+R2+R3+....Rn ? :)
Титла: Arduino mega adk волтметър
Публикувано от: bateAz в Март 23, 2013, 02:34:26 pm
Изчисляването на еквивалентното съпротивление е малко "по-така" ... Засега приеми, че са паралелни. :)
А за кондензаторите няма да ти развивам теория. Просто ги сложи. Като тръгне, може да махнеш някой за проба - ще се чуе разликата. Особено на канала с 30-те килоома.
Титла: Arduino mega adk волтметър
Публикувано от: dzwer в Март 26, 2013, 07:47:54 pm
По-скоро това:
(http://s20.postimg.org/r3knefpqx/Cell_voltmeter.jpg) (http://postimg.org/image/r3knefpqx/)
Така на всеки аналогов вход на контролера импеданса на източника е около 5к.
Най-долната клетка ще се разрежда с най-голям ток - около 2,4мА, а най-горната клетка с най-малък ток - около 0,8мА.
За кондерите можеш да експериментираш със стойностите - от 10 до 100 нанофарада керамични.
Титла: Arduino mega adk волтметър
Публикувано от: bateAz в Март 26, 2013, 08:14:01 pm
Dzwero, смени си батериите на калкулатора, че не си сметна правилно "еквивалентното" съпротивление на делителите. Според мен са около 3.4К, 2.5К и 0.1К.  :lol: