Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino Atmega328P - Projekt na arduino bez arduino + rs232

20 Sty 2014 18:27 5997 10
  • Poziom 15  
    Witam. Zamierzam wykonać taki projekt:
    http://majsterkowo.pl/grajace-stacje-dyskietek-v2/
    tyle, że nie mam arduino i nie zamierzam kupować dla tego jednego projektu. Schemat tego arduino jest tutaj:
    http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
    Czy wystarczy pominąć wszystko co nie związane z procesorem głównym(Atmega328)? Atmega 16 robi tu za przejściówkę USB-RS232. Czy mogę ją pominąć wpinając się w fizyczny port komputera? Czy należałoby jeszcze coś zmienić? Dodam że szukałem podobnych tematów i znalazłem tylko jeden, ale nie dotyczył do końca tego, o co mi chodzi.
  • BotlandBotland
  • Poziom 18  
    Euzebiusz23091998 napisał:

    Czy wystarczy pominąć wszystko co nie związane z procesorem głównym(Atmega328)?

    Właściwie tak.
    Cytat:
    Atmega 16 robi tu za przejściówkę USB-RS232. Czy mogę ją pominąć wpinając się w fizyczny port komputera?

    Co masz na myśli pisząc "fizyczny port komputera"? Jeżeli masz w komputerze port RS232 - to podłączając Atmege musisz zastosować konwerter napięć (np max232) RS232 ma poziomy napięć -12V do 12V.
  • BotlandBotland
  • Poziom 15  
    Właśnie o to mi chodziło :) konwenter to oczywistość. Tylko czy te programy będą tak działać, czy wymagają tego arduino?
  • Poziom 19  
    Wystarczy Ci sam uC mega328 oraz programator.
  • Poziom 15  
    Ale czy program MoppyDesk będzie współpracował z atmegą po porcie COM komputera a nie tym z arduino?
  • Poziom 37  
    Euzebiusz23091998 napisał:
    Właśnie o to mi chodziło :) konwenter to oczywistość. Tylko czy te programy będą tak działać, czy wymagają tego arduino?


    Nie, TAK, NIE !!!!

    Zacznij od początku, co to jest system 'Arduino'.
    Arduino - sprzęt (płytka) - ładnie zrobiona, z processorem AtMega 328 (Uno3) zawierająca wyprowadzenia portów (nie wszyskich !!!) do zewnętrznych gniazd zastępujących w pewnym i ograniczonym, sensie płytkę stykową.
    Porty te są ponumerowane wg kodu znanego tylko dla softu 'ARDUINO' i w żaden sposób nie pokrywają sie z fizycznie nadanymi im odniesieniami w datasheet.
    Jeżeli jesteś całkowicie w tym systemie to nie ma problemu; bo np. w programie pin 9 odpowiada również pin 9 na płytce. Wyjmiesz zaprogramowany processor z płytki do rzeczywistego układu i gdzie jest twój pin 9 (?)

    Programując w środowisku Arduino, lub przeniesienie programu albo processora poza to środowisko wymaga posłużenia się dodatkowymi informacjami o usytuowaniu umownych w Arduino numerów portów/pinów do rzeczywiście oznaczonych w datasheet.
    Jest to keymapper, z którego znajdziesz że: np. pin 9 będzie rzeczywiście port PB.1 (pin #15 na processorze).

    Budowanie konvertera a Rs232 jako interface z portem szeregowym nie ma uzasadnionego sensu.
    Wgrany bootloader w mega328 komunikuje się tylko z Mega16U2 na płytce Arduino, którego funkcjonalność jest też oparta o soft w nim wpisany (tam też jest inny bootloader i mały program emulujący programator i inne dodatkowe funkcje).

    Jeżeli chcesz pracować w Arduino IDE z czystym processorem Atmega (nie jest ważne z którym, nawet attiny..) to będzie wymagane posiadać programator w systemie ISP (MISO, MOSI, SCK,..), oraz dokonać odpowiednich zmian w konfiguracji Arduino (soft), aby 'widział' twój programator, oraz processor.
    W takiej konfiguracji nie jest potrzebny bootloader w Mega328; -zajmowałby tylko miejsce w pamięci flash.

    e marcus
  • Poziom 15  
    Myślałem, że Mega16U2 pracuje tylko jako konwerter usb-rs232 i da się ją obejść właśnie wpięciem Megi328 prosto do portu COM komputera, tymbardziej że program MOPPYDESK ma wybór portu COM (tak to wynika z opisu na tamtej stronie). Piny to nie problem, bo będę to robił z tym schematem, który podałem. Pytanie tylko czy ten program będzie działał z Mega328 bez pośredniej Megi16U2. UC oczywiście programowane przez ISP. Mogę ewentualnie spróbować zmodyfikować jakoś kod, ale dopiero zaczynam z programowaniem.
  • Poziom 37  
    Euzebiusz23091998 napisał:
    Myślałem, że Mega16U2 pracuje tylko jako konwerter usb-rs232 i da się ją obejść właśnie wpięciem Megi328 prosto do portu COM komputera, tymbardziej że program MOPPYDESK ma wybór portu COM (tak to wynika z opisu na tamtej stronie). Piny to nie problem, bo będę to robił z tym schematem, który podałem. Pytanie tylko czy ten program będzie działał z Mega328 bez pośredniej Megi16U2. UC oczywiście programowane przez ISP. Mogę ewentualnie spróbować zmodyfikować jakoś kod, ale dopiero zaczynam z programowaniem.


    Odłóż ten koncept chwilowo 'na dolną półkę' (powrócisz później), a tymczasem przeglądnij ten temat:
    http://eleccelerator.com/usnoobie/index.php

    a później ten poniżej i oglądnij całe video:
    http://hackaday.com/2013/10/23/serial-usb-for-any-avr-microcontroller/

    e marcus
  • Poziom 15  
    Przeglądnąłem te tematy, chociaż szczerze mówiąc nie znalazłem za dużo (mój angielski jest na poziomie podstawowym). Rozumiem, że należało by się pchać w stronę tego USnooBie emulować arduino? Znalazłem taki temat na elektrodzie o tym V-USB https://www.elektroda.pl/rtvforum/topic1314855.html tyle, że wszystko tam kręci się dookoła HID i joysticka.
  • Poziom 18  
    Euzebiusz23091998 napisał:
    Właśnie o to mi chodziło :) konwenter to oczywistość. Tylko czy te programy będą tak działać, czy wymagają tego arduino?

    Dla jednych oczywistość, ale znam wiele przypadków, gdzie ludzie podłączali różne urządzenia z portem szeregowym LVTTL bezpośrednio pod RS232. Wolałem wspomnieć.
    Cytat:
    Myślałem, że Mega16U2 pracuje tylko jako konwerter usb-rs232 i da się ją obejść właśnie wpięciem Megi328 prosto do portu COM komputera, tymbardziej że program MOPPYDESK ma wybór portu COM (tak to wynika z opisu na tamtej stronie). Piny to nie problem, bo będę to robił z tym schematem, który podałem. Pytanie tylko czy ten program będzie działał z Mega328 bez pośredniej Megi16U2. UC oczywiście programowane przez ISP. Mogę ewentualnie spróbować zmodyfikować jakoś kod, ale dopiero zaczynam z programowaniem.

    Wygląda na to, że jest dokładnie tak jak myślisz. MOPPYDESK to zwykły program w Javie wysyłający dane na port COM, a atmega328 robi za interfejs między stacją dyskietek, a portem szeregowym . Mega16U2jest tylko interfejsem USB-rs232 i nie jest konieczna do działania tego programu.
  • Poziom 15  
    No nic, zamówiłem części i czekam aż przyjadą. Sprawdzę i jak zadziała to pochwalę się wynikam. Póki co dziękuję za pomoc.