Uploaden sketch (niet ISP sketch!) naar losse Atmega via UNO board als ISP328p u

Dag iedereen,

Ik slaag er niet in om een sketch naar mn losse Atmega328p u (op een breadboard) the uploaden.
De µC heeft al een zn bootloader gekregen via mn Arduino uno r3 als isp (IDE zegt dat bootload burn geslaagd is en controle led(s) ('heartbeat' op pin 9 van Arduino board met led) geeft aan dat de Arduino board na het 'burnen' van de bootloader op de losse µC nog als ISP werkt.
Ik wilde dus vervolgens eens de blink sketch uploaden naar mn losse Atmega 328p u maar het wordt geupload naar mn Arduino board ipv naar de losse chip!....ja overal staat info over how to upload a sketch to a Atmega 328p maar dit gaat over het uploaden van de ISP sketch en het uploaden van de bootloader.

Dus mijn vraag: Is het mogelijk om met een Uno R3 board als ISP mogelijk om een sketch te uploaden naar een 'losse' µC zonder de bedrading aan te passen (van board naar losse chip: SCK pin13 naar 19, MISO pin12 naar 18 , MOSI pin11 naar 17, RESET pin10 naar 1).
Dus ook niet de methode met chip verwijderen uit de Arduino uno board en rx/tx met de losse µC verbinden.
Ik veronderstel dat dit niet mogelijk is maar ik wil geen usb chip gebruiken. Het is een test om een µC op een eigen gemaakte PCB te kunnen programmeren zonder een USB chip te gebruiken en zonder de chip te moeten verwijderen (is niet mogelijk met een SMD model).

Extra vraag indien ik dit dus niet kan op die manier: Zou ik dan wel een sketch kunnen uploaden naar een 'losse' µC chip (of µC op een eigen gemaakte pcb voor een project) als ik een pure ISP programmer gebruik? Dit zou dan een printje zijn (overal te koop) waar ik mn pc via usb op aansluit en het printje zelf dan via isp verbind met de losse µC (dus SCK, MISO, MOSI & reset op de pinnen 19, 18, 17 & 1 van de losse µC). Juist?

Alvast bedankt voor de antwoorden want op het internet krijg ik constant de verkeerde info voor mn neus.

Nomaals: Ik slaag er in om de boatloader op de losse µC chip te zetten met m'n Uno board als ISP maar ik wil er ook op die manier een sketch op zetten.

Grtz!

foto setup

Volgens mij kun je gewoon de sketch die je hebt, in je chip zetten op dezelfde wijze als he je 'm voorzien hebt van een bootloader, met dezelfde programmer geselecteerd.
Dan zit er geen bootloader in, maar als je goed begrijp heb je daar verder ook geen behoefte aan.

Anders, wanneer je een Uno hebt met de chip in een voetje, kun je die daaruit halen.
Vervolgens kun je de chip die je al voorzien hebt van de bootloader, aansluiten op de Rx en TX van je Arduino board (plus uiteraard de GND).
Volgens mij moet je 'm dan kunnen programmeren, maar moet je dan nog wel handmatig een reset geven wanneer je ziet dat de IDE 'm gaat uploaden.
Dat doe je door de reset pin kort met GND te verbinden (best via een schakelaartje).
Heb je dat al geprobeerd ?

je kunt op dezelfde manier als hoe je de bootloader op je losse chip zet ook een programma (bijvoorbeeld Blink) op de losse chip zetten.

Je moet dan alleen niet de "upload" button of "Burn Bootloader" indrukken maar "Upload Using Programmer"

1 Like

De chip eruit halen doe ik voorlopig niet omdat dit niet mn doel is. Ik wil in de toekomst een µC op een eigen pcb dat niet voorzien is van een usb chip programmeren zonder de chip los te maken. Dit is een must als ik een smd model zoals bvb de Atmega328p-au . RX/TX is eigenlijk wel een optie maar dan offer ik een testbordje op want chip uit en chip in herhalen is wat onpraktisch en niet goed voor de pootjes van de µC. Toch bedankt!

Upload using programmer vond ik niet direct terug (pff ik en zoeken. Ik keek er glad over. Maar ik gebruikte wel CTRL+SHIFT+U) en het was opnieuw het Uno board als programmer die de sketch geupload kreeg ipv de µC op de breadboard.
En idd, de blink sketch zou mee moeten geupload worden met de bootloader en direct werken maar dat doet hij niet. Misschien ligt het aan het blokkeren van de reset op de Uno (en dus misschien ook blokkeren van de nodige reset op de losse µC wat niet de bedoeling mag zijn) met de 10µF condensator (elco) dat ik tussen pin 10 en GND gezet heb. Ik las ergens dat je met deze ervoor zorgt dat je Uno als ISP niet gereset wordt en zn werk kan doen. ...wordt vervolgd.

Dit kan alleen via ISP, maar daarvoor hoeft er geen bootloader op te staan. Wel 'erg' van belang is dat je de juiste klok-bron en kloksnelheid selecteert, omdat je als je daar een fout mee maakt een beetje een probleem hebt (ook als je wel een bootloader brand trouwens) De bootloader is eigenlijk specifiek voor het uploaden van een sketch via de UART / USB poort.

Je kan overigens beter miniCore gebruiken voor losse Atmega chips. Je hebt dan veel meer keuze in klok bron en snelheid selectie (de UNO bootloader kan alleen 16MHz extern bv.) BOD voltage etc, etc

Voordat je "upload using programmer" doet moet je uiteraard de sketch Arduino as ISP op je UNO hebben gezet, maar dat had je al eens gedaan om dat je anders de bootloader niet op je losse processor had gekregen.

wat @Deva_Rishi zegt over minicore is wel een goede tip. Je kunt de losse processor dan ook zonder 16MHz kristal laten werken, maar hem laten werken met zijn ingebouwde 8MHz oscillator.

Om dat voor elkaar te krijgen gebruik je (nadat je minicore hebt toegevoegd aan je Arduino IDE) onderstaande settings. Let met name op dat je bij Programmer: "Arduino as ISP" selecteert.

Dan
A) "Burn Bootloader" kiezen om de 8MHz oscillator in de losse processor te activeren (er wordt geen bootloader geïnstalleerd, omdat ik in de opties "No Bootloader" selecteer).

B) Je Blink sketch selecteren en "Upload using programmer" indrukken.

1 Like

VICTORY! ...ik had nochtans de vorige keer de upload gedaan met SHIFT+CTRL+U en het lukte niet. Dus nu met 'upload using programmer' in het dropdownmenu Sketch en het werkte. Dus de blink sketch zit niet in de bootloader. Maar ik heb nu wel de blink sketch erop gezet via pinnen 11, 12 &13 van het Arduino bordje. En nu testen op mn project prototype op gaatjesprint (Wat een geklooi! Ik leer alvast met KiCad werken en bestel een printje)

Thx iedereen voor de tips!
BTW:...minicore nog niet getest maar het zal er wel van komen. Ik heb ook nooit AVRDUDE gebruikt en zal dit ook nog eens moeten testen maar momenteel heb ik geen nood aan het wijzigen van de zogenaamde fuse bytes.

thx!

Dus heb je een 16Mhz kristal met Condensatortjes of heb je de default klok zo gelaten ?

16Mhz externe kristal met de C's

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.