Witam wszystkich.
Jestem początkującym elektronikiem i właśnie buduje mieszadło magnetyczne z wyświetlaczem obrotów. Obrotami silnika steruje napięciowo i chcę za pomocą Atmegi 328 przeliczyć napięcie na aktualne obroty silnika i wyświetlić je na wyświetlaczu 7-segmentowym. Problem polega na tym, że gdy odczytuje napięcie na pinie analogowym (pin 23) to zwraca mi wartości około 0 lub 1023 (czasami wyświetli jakąś losową wartość z tego przedziału). Mierzyłem miernikiem bezpośrednio napięcie na nóżce i wszystko się zgadza ( napięcie z przedziału 0v - 3.3v +/-). Atmege programuje za pomocą Arduino UNO, a na sam mikrokontroler wgrany jest bootloader Atmega328 8Mhz zgodnie z instrukcją na stronie Arduino. Atmege zasilam napięciem 3.3V. Dodam jeszcze że jeżeli podepnę Atmege do płytki Arduino UNO i badam napięcie wszystko jest ok (podpinałem napiecie 3.3v oraz 0v do pinu A0).
Z góry dziękuje za pomoc.
Kod źródłowy:
Schemat:
Jestem początkującym elektronikiem i właśnie buduje mieszadło magnetyczne z wyświetlaczem obrotów. Obrotami silnika steruje napięciowo i chcę za pomocą Atmegi 328 przeliczyć napięcie na aktualne obroty silnika i wyświetlić je na wyświetlaczu 7-segmentowym. Problem polega na tym, że gdy odczytuje napięcie na pinie analogowym (pin 23) to zwraca mi wartości około 0 lub 1023 (czasami wyświetli jakąś losową wartość z tego przedziału). Mierzyłem miernikiem bezpośrednio napięcie na nóżce i wszystko się zgadza ( napięcie z przedziału 0v - 3.3v +/-). Atmege programuje za pomocą Arduino UNO, a na sam mikrokontroler wgrany jest bootloader Atmega328 8Mhz zgodnie z instrukcją na stronie Arduino. Atmege zasilam napięciem 3.3V. Dodam jeszcze że jeżeli podepnę Atmege do płytki Arduino UNO i badam napięcie wszystko jest ok (podpinałem napiecie 3.3v oraz 0v do pinu A0).
Z góry dziękuje za pomoc.
Kod źródłowy:
Spoiler:
Kod: C / C++
Schemat: