Sterowniki są w programie(przy instalacji były dwa sterowniki instalowane), potem podłączasz procka, w programie wybierasz odpowiednią płytę i port. programu musisz wgrać bilbioteki EPROMex , AdaFruit-SSD1306 i Adafruit GFX. Potem już pozostanie wrzucenie kodu na procesor przyciskiem wgraj. Poradnik instalacji bibliotek jest na stronie Arduino.
Melduję, że procesor się uruchamia i wyświetlacz również (pokazuje "N") "na sucho". W tygodniu podepnę do motocykla (we wtorek powinniśmy z tatą skończyć zawieszenie w innym moto to się podnośnik zwolni, żeby poprawnie zaprogramować wyświetlacz)
Sterowniki te z programu mi się zainstalowały ale i tak nic mi nie wykrywa na usb. Po podłączeniu jedna dioda świeci się a druga mryga. Jaki masz system na kompie?
29 mar 2015, o 16:24
Dziaku
SV Rider
Dołączył(a): 22 gru 2013, o 00:50 Posty: 1975 Lokalizacja: SM
Płeć: mężczyzna
Moto: SV650S'99
Windows 8.1 x64, POW ma świecić a L mrugać. W programie musisz ustawić dobry port, ja przez 15 minut próbowałem wgrać kod na myszkę , bo byłem pewien że sobie automatycznie wykryje w który port jest wpięty procesor Najlepiej jakbyś wszystko inne co masz wpięte pod USB odłączył to zostanie tylko jeden port możliwy do wyboru w programie.
Menadżer urządzeń pokazuje mi pod który com mam podpięte, ale pokazuje też, że sterowniki tego urządzenia nie są zainstalowane. Niestety nic nie daje próba aktualizacji sterownika automatycznie lub pokazując mu ręcznie pliki dołączone do programu.
ok. już sobie poradziłem. znalazłem jakiś chiński sterownik do usb i poszło. na wyświetlaczu N
Czas na następny krok. Gdzie dokładnie znajdę ten różowy kabel? Czy + i - mogę podłączyć do wtyczki licznika? Jak wygląda procedura programowania biegów?
Taki pająk mi wyszedł:
czy to jest różowy kabel pierwszy od prawej strony pod który trzeba się podpiąć?
29 mar 2015, o 17:03
bula87
SV Rider
Dołączył(a): 1 cze 2012, o 11:06 Posty: 547 Lokalizacja: Barcelona
Płeć: mężczyzna
Moto: Piaggio Liberty ;)
Dokładnie, to jest ten kabel w 4pinowej wtyczce z tylko 3 kablami (czarny, niebieski, różowy). Aktualnie jest ustawione programowanie następująco: 1. Gasisz moto (proc wyświetlacza musi być odcięty od prądu) 2. Wbijasz 5 lub 6 bieg (napięcie na różowym kablu jest większe od 4V) 3. Dajesz zasilanie na proca (przy starcie proc sprawdzi napięcie na różowym kablu i jeśli będzie większe od tych 4V to wejdzie w tryb programowania) Tryb programowania wygląda jak na filmiku:
2 kolumny po 3 pola na napięcia -> gdy Ci się to odpali to zmieniasz biegi od 6 do 1 i proc powinien odczytać wszystkie 6 wartości, gdy to zrobi wyjdzie z trybu programowania. I tu się póki co pojawia problem bo z tego co czytałem na necie to przy zmianie z 6->5->4->3->2 nie powinno pojawiać się napięcie luzu (5V), a u mnie niestety się pojawiało (moja skrzynia pozostawia wiele do życzenia więc może to defekt u mnie), dopiero jak ruszyłem oponą to wskakiwał odpowiedni bieg i pojawiało się prawidłowe napięcie. W weekend będę miał moto to postaram się zrobić test na podnośniku z odpalonym moto (mam nadzieję, że nie spadnie i nie poleeeci ). Jak to nie zadziała to zostają 3 opcje: I. Dodać przycisk (ewentualnie podpiąć się pod przycisk w wyświetlaczu) i tak startować programowanie. II. Sprawdzić ręcznie napięcia na danych biegach i z palca wpisać je na sztywno do programu. III. Przerobić kod żeby ignorował napięcia 5V i dodać większy timeout przy odczytywaniu poszczególnych napięć
Jakbyście mieli jakieś wyniki testów, spostrzeżenia to piszcie. Projekt jest dalej w fazie developmentu ale mam nadzieję, że niebawem będzie działał bez problemów.
albo coś spier... albo coś jest nie tak. po stacyjce na luzie pokazuje się N. gdy odpale zaczyna się krzaczyć po chwili FI i wywala oprogramowanie z arduino. of, on i ciemny wyświetlacz. trzeba programować na nowo.
+ do arduino wziąłem z tej wtyczki do czachy
- z płyty licznika
na luzie pomiędzy masą a różowym kablem jakie powinno być napięcie?
31 mar 2015, o 22:43
Dziaku
SV Rider
Dołączył(a): 22 gru 2013, o 00:50 Posty: 1975 Lokalizacja: SM
Płeć: mężczyzna
Moto: SV650S'99
Dokładnie, na luzie na różowym kablu powinno być 5V. Wygląda jakby coś Ci ostro skakało na jednym z kabli, albo jakies szumy i szpile na różowym kablu albo zasilanie. Oczywiście zakładając, że wszystko dobrze podłączone. Ja podczas testów podpinałem proca bezpośrednio pod akumulator i nie miałem takich akcji.
wieczorem sprawdzę podłączenia i dam mu zasilanie bezpośrednio z aku, zobaczę może to coś da. jakie największe napięcie zasilania powinno wytrzymać arduino? do 20V?
1 kwi 2015, o 13:02
Dziaku
SV Rider
Dołączył(a): 22 gru 2013, o 00:50 Posty: 1975 Lokalizacja: SM
Płeć: mężczyzna
Moto: SV650S'99
ktoś wie jak można sprawdzić oled czy jest sprawny bo chyba padł?
napięcie z wtyczki, która idzie do czachy gdzie brałem + 14,4V czyli jeszcze w normie. za każdym razem po podłączeniu krzaczenie. podłączyłem bezpośrednio do aku i wszystko zaczęło chodzić. załączyło się programowanie ale samemu bez stojaka niewygodnie. parę napięć zapamiętało ale i tak po wbiciu biegu skakały sąsiednie biegi. chciałem jeszcze sprawdzić jak będzie z zasilaniem z 2 pinu zegarów 14,64V ale niestety padł chyba wyświetlacz i jestem uziemiony.
@bula87 możesz napisać program z wpisanymi napięciami bez uczenia? jaka jest tolerancja napięcia +/- dla biegu?
2 kwi 2015, o 00:33
bula87
SV Rider
Dołączył(a): 1 cze 2012, o 11:06 Posty: 547 Lokalizacja: Barcelona
Płeć: mężczyzna
Moto: Piaggio Liberty ;)
Dodam dziś flagę w kodzie żeby można było to łatwo przełączać czy chce się zaprogramować wersje z uczeniem czy z góry wpisanymi biegami. Co do napięć to aktualnie jest ustawione, że jak już mamy wszystkie napięcia zapamiętane dla poszczególnych biegów to brana jest różnica między napięciami sąsiadujących biegów i ta różnica jest dzielona na połowę, i to jest uznawane za tolerancję. Dziś w ciągu dnia postaram się naklepać nową wersję kodu i wrzucę wraz z wyjaśnieniem jak tego używać. ale i tak będzie trzeba najpierw prockiem pomierzyć napięcia na każdym biegu żeby wiedzieć jakie wartości do kodu wpisać. Każda SV'k będzie miała delikatne różnice w zależności od stopnia zużycia skrzyni.
Poniżej jest nowy kod. Dodałem 2 flagi: #define SHOW_V ON -> jest to flaga po której zamiast poszczególnych biegów wyświetlane będą wartości odczytywane przez proca z różowego kabla. #define MANUAL_DEF ON -> jest to flaga po której zamiast uczenia się poszczególnych napięć, brane będą one z definicji wpisanych z palca zaraz poniżej tej definicji
Jeśli chce się użyć flagi SHOW_V to najlepiej jej użyć razem z flagą MANUAL_DEF bo przynajmniej przeskoczy się początkowe uczenie.
Więc teraz krótki tutorial jak to wszystko przygotować: 1. Kopiujesz poniższy kod do Arduino IDE 2. Usuwasz znacznik komentarza (//), który znajduje się przed definicjami #define SHOW_V ON i #define MANUAL_DEF ON 3. Podpinasz procka pod moto i odczytujesz wartości napięć na poszczególnych biegach (Uwaga: napięcia mogą być inne niż pokazuje multimetr oraz dodatkowym utrudnieniem jest to, że po odpaleniu gdy działa alternator napięcia też mogą być różne... dodatkowo zależą od obrotów ale to powinna załatwić tolerancja) 4. Gdy masz już wszystkie wartości to znów wracasz do kodu w Arduino IDE i przywracasz znacznik komentarza (//) przed flagą #define SHOW_V ON, i edytujesz ręcznie definicje dla poszczególnych biegów -> bazując na wcześniejszych odczytach #define GEAR_1 1.39 #define GEAR_2 1.83 #define GEAR_3 2.52 #define GEAR_4 3.26 #define GEAR_5 4.12 #define GEAR_6 4.57 5. Wgrywasz tak przygotowany kod na procka i testujesz. Kod napisany ale niestety nie testowany, po pracy idę pić więc nie będę miał jak go sprawdzić dziś. Jakby były jakieś problemy przy kompilacji to piszcie, do 17 powinienem od czasu do czasu sprawdzać forum.
PS. Przy okazji znalazłem błąd w poprzedniej wersji kodu. przy tolerancji biegu 6tego było +30, a oczywiście miało być +0.30. Kod na poprzedniej stronie też poprawiłem.
Z okazji pogody nie mam kompletnie jak pojeździć i sprawdzić jak to działa ale są też dobre wieści. Dziś podpiąłem wyświetlacz do moto i popracowałem nad uczeniem się biegów. Aktualnie działa to bez problemu nawet bez odpalonego silnika i z ręcznym kręceniem kołem (można przetaczać moto po wbiciu kolejnego biegu). Niestety robiłem to o 1 w nocy i raczej sąsiedzi nie byliby zadowoleni jakbym odpalił motor więc nie sprawdziłem jak to będzie działać na podnośniku. Może jeszcze jutro uda mi się to sprawdzić przed powrotem do Wawy. Dodatkowo pracuję nad modułem bluetooth podpinanym do tego samego proca. Będę chciał zbierać logi i wykresy ze zmiany biegów na telefon aby popracować nad lepszym algorytmem wyświetlania. Mam nadzieję, że dzięki temu uda się tak kod dopracować żeby nie było przeskakiwania biegu na wyświetlaczy jak napięcia zaczną pływać na obrotach.
Kod zaktualizowany 2 posty wyżej. Dodałem wersjonowanie żeby można było zauważyć poprawki.