Witajcie,
tytułem wstępu, stawiam pierwsze kroki w dziedzinie uC i programowania w języku C, niestety projekt jest jak na moje początki nieco skomplikowany, w szczególności kwestia ADC. W związku z tym gorąca prośba o sprawdzenie/doradzenie w kwestii aplikacji i programu.
Przeznaczenie
Dwukanałowy dozownik nawozów do miniaturowego akwarium. Ilości podawanego płynu z przedziału 1-5ml. Z wstępnych testów wynika, że na 1ml przypada około ¼ obrotu silnika, czyli 50 kroków. Sterowanie pełnokrokowe, prędkość nieistotna.
Mechanika
Składa się ona z silnika unipolarnego w standardzie NEMA 17 (kołnierz 42x42mm, oś 5mm, parametry 2.3V/1.2A, 200 kroków/obr.), który napędza bezpośrednio element z czterema obrotowymi wałkami złożonymi z dwóch łożysk kulkowych 3x10x4 każdy. Ten element dociska do obudowy jednocześnie dwa węże silikonowe 2/4mm.
Elektronika
Tu pojawiają się pierwsze dylematy. Całość ma być mała i prosta. Z tego względu zastosowany będzie sterownik czasowy z minimalnym czasem pracy 60s, który przez zasilacz impulsowy 5V/2A zasili Attiny13 z kondensatorami 100uF i 100nF (?), silnik natomiast przez rezystor 5W ograniczający prąd. Na wejście ADC napięcie podawane ma być przez potencjometr 10k włączony między zasilanie, a masę. W zależności od ustawionego napięcia w przedziale 0-5V silnik wykonać ma odpowiednią liczbę kroków w przedziale około 0-250.
Tu pojawiają się niejasności:
1. Czy zasilany w ten sposób uC (100uF + 100nF bez dodatkowego stabilizatora, wspólnie z silnikiem) będzie działał poprawnie/czy praca silnika nie będzie go zakłócać ?
2. Po włączeniu zasilania program odczyta na wejściu ADC napięcie ustawione za pomocą potencjometru i w zależności od jego wielkości silnik wykona określoną liczbę kroków. Czy praca silnika może mieć w takim wypadku wpływ na działanie ADC/czy wykorzystanie ADC w tej formie będzie poprawne ?
3. Zasilacz impulsowy w zależności od modelu i jakości wykonania może podawać od 4.5-5.5V, czy będzie to miało wpływ na pracę ADC ?
4. Czy lepiej wykorzystać napięcie referencyjne 1.1V z Attiny13 i do potencjometru dołożyć dodatkowo dzielnik napięcia, aby z przedziału 0-5V (+/- 0.5V) uzyskać przedział 0-1.1V ?
Oprogramowanie
Postaram się stworzyć prosty program do wysterowania silnika i sprawdzenia jego pracy, później dojdzie zabawa z ADC …