Мазмуну:
- Жабдуулар
- 1 -кадам: Схемалар
- 2 -кадам: Код жана резистордун эсептөөлөрү
- 3 -кадам: Кел, аны сынап көрөлү
Video: Arduino Precise & Accutate Volt Meter (0-90V DC): 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бул көрсөтмөдө, мен Arduino Nano колдонуп салыштырмалуу тактык жана тактык менен DC (0-90v) жогорку чыңалуусун өлчөө үчүн вольтметрди курдум.
Мен алган тесттик өлчөөлөр жетишерлик так болду, негизинен стандарттык вольтметр менен өлчөнгөн реалдуу чыңалуудан 0,3 в ичинде (мен Astro AI DM6000AR колдондум). Бул түзмөктү максаттуу колдонуу үчүн жетиштүү.
Муну архивдөө үчүн мен чыңалуу шилтемесин (4.096v) жана чыңалуу бөлүштүргүчүн колдондум.
Код тарабында, мен, албетте, Arduino Nano үчүн "тышкы маалымдама" опциясын жана Arduino сабактарындагы "Тегиздөө" мисалын колдондум.
Жабдуулар
1 x Arduino Nano - Шилтеме
1 x Oled Display (SSD 1306) - Шилтеме
1 x 1/4W 1% резисторлор - 1k ohm - Шилтеме
1 x 1/4W 1% резисторлор - 220k ohm - Link
1 x 1/4W 1% резисторлор - 10k ohm - Link
1 x 4.096v LM4040DIZ -4.1 Voltage Reference - Link
Нан тактасы жана зымдар - Шилтеме
Astro AI DM6000AR - Шилтеме
USB Power Bank - Шилтеме
9V батареялары - шилтеме
CanadianWinters Amazon Services LLC Associates Программасынын катышуучусу, Amazon.com жана аффилирленген сайттарга шилтеме берүү менен сайттарга төлөмдөрдү табуу үчүн каражаттарды берүү үчүн иштелип чыккан өнөктөш жарнак программасы. Бул шилтемелерди колдонуу менен, Amazon Associate катары, башка нерселерди сатып алсаңыз да, квалификациялуу сатып алуулардан киреше табам-жана бул сизге эч нерсе кылбайт.
1 -кадам: Схемалар
Мен бардык бөлүктөрдү жогорудагы схемаларга ылайык туташтырдым. Атап айтканда, мен чечүүнү жоготпоо үчүн 5v белгисине мүмкүн болушунча жакыныраак болуу үчүн 4.096 чыңалуу шилтемесин тандадым.
Маалымат барагынан кийин, мен башка маанини колдонсо да, чыңалуу үчүн 1K ом резисторун тандадым. Маалымдама үчүн чыңалуу Nano 5v пинден берилет.
Райондун идеясы, өлчөнө турган DC чыңалуусу чыңалуу каршылыгы аркылуу өтөт. Масштабдуу чыңалуу Arduino аналогдук пинине кирип, үлгү алынат, тегизделет, кайра масштабдалат жана OLed дисплейде көрсөтүлөт.
Мен жөнөкөй нерселерди сактоого аракет кылдым:)
2 -кадам: Код жана резистордун эсептөөлөрү
Резисторлордун мааниси импеданс 10к Омдон төмөн болбошу үчүн (эгер жаңылбасам, бул Arduino/Atmega маалымат барагында) максатка ылайыктуу түрдө тандалган.
Иштерди жөнөкөйлөтүү үчүн, мен ар кандай каршылыктын маанилерин колдонгуңуз келсе, эсептөөлөрдү автоматташтырган электрондук жадыбал жасадым: Google Sheetке шилтеме
Мына мен бул долбоор үчүн колдонгон код:
#кошуу
#in U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (айлануу, [баштапкы абалга келтирүү]) сүзүүчү чыңалуу = 0; // чыңалуу маанисин калкып калуу үчүн колдонулат Radjust = 0.043459459; // Чыңалуу бөлүүчү фактор (R2 /R1+R2) float vbat = 0; // калькуляциядан кийинки акыркы чыңалуу- батареянын сүзгүчүнүн чыңалуусу Vref = 4.113; // Чыңалуу шилтемеси - реалдуу наркы өлчөнөт. Номиналдык маани 4.096v const int numReadings = 50; // окуу үлгүлөрүнүн саны - көбүрөөк тегиздөө үчүн көбөйтүү. Тезирээк окуу үчүн азайтыңыз. int readings [numReadings]; // int readIndex = 0 аналогдук киришинен окуулар; // учурдагы окуу индекси белгисиз узун жалпы = 0; // иштеп жаткан жалпы int орточо = 0; // экрандын жаңыртуусун кечиктирбестен кол коюусуз көпкө созулган мурункуMillis = 0; // экран акыркы жолу жаңыртылганда сакталат // константалар өзгөрбөйт: const long interval = 50; // экранды жаңыртуу үчүн интервал (миллисекунддар) void setup (void) {analogReference (EXTERNAL); // 4.096 маалымдама чыңалуусу үчүн AREFти колдонуңуз. Менин реалдуу чыңалуум 4.113v u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {//… башына чейин ороп коюңуз: readIndex = 0; } // орточо эсеп: орточо = (жалпы / numReadings); чыңалуу = орточо * (Vref / 1023.0); //4.113 Vref vbat = чыңалуу/Radjust; // Милис аркылуу экранды жаңыртуунун кечигүүсүн коюу (currentMillis - previousMillis> = интервал) {// экранды акыркы жолу жаңыртууну мурункуMillis = currentMillis; u8g2.clearBuffer (); // ички менорду тазалоо // Pack Voltage display u8g2.setFont (u8g2_font_fub20_tr); // 20px шрифт u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // 10 px шрифт u8g2.setCursor (76, 20); u8g2.print ("Вольт"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters '"); u8g2.setCursor (1, 60); u8g2.print ("Так чыңалуу"); } u8g2.sendBuffer (); // дисплейдин кечигүүсүнө ички эсти өткөрүп берүү (1); }
Көңүл буруңуз, мен Arduino коддоодо бир аз дат басам, андыктан эгер сиз кандайдыр бир ката же кодду жакшыртуунун жолун тапсаңыз, мен сунуштарга ачыкмын:)
3 -кадам: Кел, аны сынап көрөлү
Бул вольтметрди текшерүү үчүн мен жергиликтүү дүкөндөн алган 8x 9v батареяларын колдондум. Мен бул вольтметрди электр велосипеддеримдеги батарейкалардагы чыңалууну өлчөө үчүн колдонууну пландап жатам (алар 24-60в чейин чыңалуусу бар, кээде 72в).
Электроника компьютерге жана кичинекей кутуга салынгандан кийин, бул жакшы жана портативдүү батареянын өлчөгүчүн түзөт. OLEDдеги графика жана шрифттер сиздин муктаждыктарыңызга ылайыкташтырылган болушу мүмкүн (мисалы. Оңой окуу үчүн чоңураак шрифт).
Менин максатым Санариптик Мультиметрден алыс эмес Олед/Ардуино метринде чыңалуу көрсөткүчү болгон. Мен +/- 0, 3v макс дельтасын көздөп жаткам. Видеодон көрүнүп тургандай, мен муну архивдей алдым, өлчөөлөрдүн үстү жагында.
Бул Насаатчы сизге жакты деп ишенем жана оюңузду мага билдириңиз!
Сунушталууда:
100 Ah 48 Volt LFP (LiFePo4) Батарея курулушу: 3 кадам
100 Ah 48 Volt LFP (LiFePo4) Батарея Курулушу: Батареяны колдонуу Бул батарейка 2500 ватт Инверторду же 240 Вольтту AC, Үйлөр, Кайыктар, Машиналар, RVлерди ж. LiFePo4 ушул типтеги электролит/муздатуучу заттагы этилен карбонаты
Arduino Volt Meter (0-100V DC) - 2 -версия (жакшыраак): 3 кадам
Arduino Volt Meter (0-100V DC)-2-версия (жакшыраак): Бул көрсөтмөдө, мен Arduino Nano жана ADS 1115 ADCди колдонуп, жогорку вольтту DC (0-100v) салыштырмалуу тактык жана тактык менен өлчөө үчүн вольтметр кургам. .Бул менин мурунку көрсөтмөмдү колдонгон вольтметрдин экинчи версиясы: https: // ww
MOSTER FET - Dual 500Amp 40 Volt MOSFET 3d Принтери Жылытылган Төшөктүн Айдоочулары: 7 Кадам (Сүрөттөр менен)
MOSTER FET - Dual 500Amp 40 Volt MOSFET 3d Printer Жылытылган Төшөктүн Драйверлери: Сиз, балким, бул ойлонгон ыйык уйду, 500 AMPS баскансыз !!!!!. Чынын айтсам, мен ойлоп тапкан MOSFET тактасы 500Ampsти коопсуз аткара албайт. Бул кыска убакыттын ичинде, ал толкунданып күйүп кете электе эле болушу мүмкүн
SnappyXO Precise Mover роботу: 6 кадам
SnappyXO Precise Mover роботу: Ардуино роботуңузду PreciseMovement Arduino китепканасын колдонуп, белгиленген аралыкка түз же бурчка буруп коюңуз. com/produ
Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 кадам
Дагы бир Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): Бул жерде сиз EWS-01дин аз сандагы түйүндөрү менен OneWire колдонуунун бир кайталанышын таба аласыз. тандоо (сизде ишеним грамотасы болушу керек …) BMP280 жана DHT11ден сенсордук маалыматтарды чогултат