AVR ISP-ohjelmointi Arduinon 1,81 softalla

Meikä-

Taas se sairas moderaattoribotti iski, otetaan avr:n ohjelmointityökalun linkki pois jos se siinä niin koville otti...

Joo eli verolevylle on juotettu AT mega 328p ilman arduinon bootloaderia, ja sille ulkoinen 16Mhz kideoskilaattori.

Ohjelman työnnän kontrollerille 6pinnisestä ISP:stä, AVR:än omalla ISP MKII –ohjelmoijalla. Tämmöinen siis:

Toimii muuten moitteetta mutta kello ei, yksi sekunti ohjelmassa on 15-16 sekuntia kontrollerin ohjelmakierrossa. Kontrolleri ilmeisesti käyttää omaa resonaattoriaan noin 1Mhz taajuudella. Pitääkö kello käskeä erikseen Arduinon ohjelmassa käyttöön vai onkohan piirilevyllä vikaa ettei kide lähde värähtelemään?

Eikö bootloaderi ole ainoastaan arduinon omaan ohjelmointiin oman usb-väylän kautta, kellon komennot varmaan tulee siinä kun käännetään koodi assembleriksi?

9

243

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 10v_sitten_tehnyt

      ohjelmointisoftassa, esim. avr-dude:ssa on erillisiä komentoja fuse-bittien ohjelmointia varten. Muutama niistä koskee kello-lähdettä, jonka voi määritellä sisäinen kello, ulkoinen resonaattori, ulkoinen RC-piiri ja ulkoinen kide ja taisi olla vielä 32kHz kidekin mahdollinen eli matalataajuinen kide. mega-328:ssa on muistaakseni ainakin kolme eri fuse-rekisteriä, eli käypä ne läpi niin johan alkaa hommat taas edistymään. Ja mitä teetkin, lue ensin fuse-bittien nykyiset arvot, jotta osaat kirjoittaa ne oikein! Pitäisi varmaankin olla sis. kello, muun muassa käytössä.

    • Meikä-

      Kiitokset, vastauksesta. Tuo Arduinon koodinkirjoitusympäristö on vähän sellainen harjoittelijoiden malli. Opetusympäristö jossa koodeja/komentoja on yksinkertaistettu sekä valmiita ohjelman pätkiä joka sitten samassa ohjelmassa käännetään konekieleksi ja poltetaan heti perään mikro-ohjaimelle niin ettei sitä huomaa edes ihmetellä.

      Ilmeisesti tässä minun käytössä, jossa en käytä kuin arduinon softaa koodinkirjoittamiseen, pitää fuse bitit ohjelmoida ohjaimelle jollain toisella työkalulla esim AVR-studiolla mikä selvisikin jo kun tajusin hakusanat arduino fuse bit. Nyt työnsin vaan heksakoodin suoraan tyhjälle kontrollerille, jossa todennäköisesti on sisäinen resonaattori ensiasetuksena.

      Siihen kärähtäneeseen invertteriin jota aiemmin esittelin ajattelin laittaa tämän tahtia tekemään... joku päivä...

    • suutun_
    • ei_sitkää_rikki

      En nyt muista koska kämmäilin näiden fuse-bittien kanssa, aika kauan sitten kuitenkin. Tarkistin vain kombinaation, mikä riittäisi n. 20MHz:iin asti - enkä muuta. Sitten olikin ihmettelemistä, kun kide ei värähdellyt ja piiriä ei enää voinut ohjelmoida - ei edes fuseja lukea muistaakseni vaan näytti täysin patologiselta tapaukselta em. piiri.
      Jonkin ajan päästä kaveri kuitenkin vinkkasi, että olin mahdollisesti asettanut vahingossa bitit väärin päin, jolloin tuloksena olikin suoran clk-signaalin käyttö piirille. Eli piti rakentaa erillinen kellopiiri, josta sai 5V logiikan tasoilla kellosignaalin ja sillä sitten fuset kohdilleen ja sen jälkeen se sitten toimi! Eikä ole tullut enää tehtyä samaa virhettä, kun nyt ymmärtää aina tarkistaa ensin olemassa olevat fuse-bitit ja sitten ymmärtää sen, että "1" fuse-bitissä voi tarkoittaa että fuse onkin poltettu poikki joissakin teksteissä! Ja kyllähän sekin siellä manuaalissa sitten lukee.. manuaalin lukutarkkuudessa vaan olis ollu parannettavaa!

    • Kysyvä_ei_tieltä

      Hei kertokaahan millaisia eroja on kun käytetään tuota Arduino mega levyä tai sitten kun juotetaan piiri yksin levylle ja tehdää täysin oma PCB Tolle prosulle?
      Paljonko muistia piiriltä syö toi arduinon systeemi?

    • Meikä-

      Kiitokset taas tuosta AVR-tutorial linkistä, saan koneen, mihin saan asennettua tuon AVR-studion niin alan opettelemaan fuse-bittien modaamista tuon linkin pohjilta, samoin arduinon sivuilla oli siitä faktaa.

      Kysyvä eksyy vain väärille teille kun minä rupean jotain neuvoja täällä muille sönköttämään… Mutta ei kai se arduinon bootloaderi tilaa vie sieltä juuri ollenkaan. Bootloaderi mahdollistaa käsittääkseni vain sen että saat mikro-ohjaimen ja tietokoneen välille yhteyden pelkällä USB-kaapelilla. Toisin sanoen bootloaderi sisältää vain ohjelman jolla mikro-ohjain osaa itse kirjoittaa itseensä samaa heksaa.

      Minä itse en tykkää arduinon alustasta vain siksi että se ei näytä itse tehdyltä verolevy-kyhäelmältä, muutenhan se on mitä loistavin esialusta mikro-ohjaimelle: Valmis toimiva yhteys usb-kaapelilla ja fusebitit kohdallaan. Arduinon omalla 16Mhz kellolla on paljon valmiita esikutsuja jotka käyttävät jotain tiettyä jakajaa jolla viiveet saadaan suoraan helpotetuilla Delay-komennoilla suoraan laskematta ajaksi.

      Minulla on erillinen ohjelmoija AVR ISPMK2 jolla saan työnnettyä koodin ohjaimeen, eikä piirikortille jää esteettisesti rumaa mini-usb-liitintä näkösälle, eikä myöskään tehdastekoisen näköistä piirilevyä.

      Sinäänsä sillä, millä ohjelmalla prossua ohjeilmoit ei ole väliä. C on korkean tason tilaa vievä ohjelmointi, joku toinen taas vetää vanhan liiton Basicilla. Lopputuloksena kaikki kirjoitettu koodi käännetään konekieleksi ennen kun se poltetaan prossuun.
      Minä itse käytän tällä hetkellä arduinon ”ohjelmointikieltä” joka lienee jotain processing-opetuskieltä joka on pitkälti C:n kaltaista ja tunnistaa vähän laajemmin mitä yritetään sanoa ja siihen löytyy esimerkkikoodia ylivoimaisesti parhaiten.

    • uunonro3

      Juuri tämän takia käytän microchipin kontrollereita, ei tarvitse mitään bootloadereita ja kaikki on muutenkin simppelimpää. Hex tiedosto vain valitaan ja klikataan "polta".
      Niin ja Basic ohjelmointi on best! Onkos muuten arduinolle basicia? ostin meinaan uno r3 :n

      • Meikä-

        Jaa en tiedä että ymmärtääkö arduinon IDE basicia mutta siinä kortissahan on valmis isp-portti, vedä siitä suoraan hexsana sisään.

        Toi on ilmeisesti ihan toimiva basic-emulaattori, mulla on sekin, mutta taitaa jäädä basic-harjoitukset taka-alalle.

        http://www.oshonsoft.com/avr.html

        Itseä ahdistaa vain tuo arduinon tehdastekoinen piirilevy, kun joku raottaa laitekotelon kuorta niin näkyy jo pitkälle mistä keksijän avaimet onneen ovat löytyneet.


      • Kxnzlzlzlzls

        "Ongelmaan" ratkaisu on epoksi! Pistä arduino koteloon ja vala se täyteen epoksia! Bilteman vene-epoksi on halpaa. Se on sen jälkeen paha todeta millä ratkaisu on tehty. Joskaan se nyt harvemmin käyttäjää kiinnostaa edes..


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Haluaisitko nähdä

      Hänet alastomana?
      Ikävä
      74
      3350
    2. Hilirimpsistä

      Hyvää huomenta ja kivaa päivää. Ilmat viilenee. Niin myös tunteet. 🧊☕✨🍁❤️
      Ikävä
      201
      2882
    3. Nainen lopeta pakoon luikkiminen?

      Elämä ei oo peli 😔😟
      Ikävä
      25
      2740
    4. Älä elättele

      Toiveita enää. Ihan turhaa. Sotku mikä sotku.
      Ikävä
      49
      2658
    5. Olet täällä. Mutta ei minulle.

      Nyt olen tästä 100% varma. Satuttaa. T: V
      Ikävä
      22
      2544
    6. Kuule rakas...

      Kerrohan minulle lempivärisi niin osaan jatkaa yhtä projektia? Arvaan jo melkein kyllä toki. Olethan sinä aina niin tyyl
      Ikävä
      41
      2365
    7. Miten hitsissä ulosoton asiakas?

      On tää maailma kumma, tässä haisee suuri kusetus ja ennennäkemättömän törkeä *huijaus*! Miten to.monen kieroilu on edez
      Kotimaiset julkkisjuorut
      210
      1853
    8. Törmättiin tänään

      enkä taaskaan osannut reagoida fiksusti. Menen aina lukkoon. Yksi asia on varma: tunteeni sinua kohtaan ovat edelleen v
      Ikävä
      24
      1777
    9. Vieläkö sä

      Rakastat mua?❤️😔
      Ikävä
      38
      1654
    10. Kela valvoo lasten tilejä.

      Tämä isoveli Kela kyttää jopa lasten yli 200,- euron rahat jotka on melko varmasti lahjaksi saatu. Se vaikuttaa perheen
      Yhteiskunta
      149
      1501
    Aihe