Kann man die Arduino Software auch für ähnliche Mainboards verwenden?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Du kannst grundsätzlich die selbe IDE nehmen du musst aber drauf achten, dass du die richtigen Devicefiles ladest.

Atmel Prozessor ist eben nicht gleich Atmelprozessor. Ein Atxmega hat einen anderen Befehlssatz wie der Atmega oder der ATSam und auch unter den Atmega gibts Unterschiede wie Memorylayout ISR Jumptable etc. du brauchst also die für diesen Prozessor entsprechenden Linkerfiles und den Initialisierungscode. Wie du die bei der Arduino IDE einbindest weiß ich nicht aber in Atmelstudio kannst du ein Projekt für diesen uC erstellen und das erstellt die Linkerfiles automatisch.

Du musst zudem hoffen dass der Atmega nicht gesperrt ist. Meines wissens gibts bestimte Fuses die ein reflashen oder auslesen der Firmware aus den Controllern verhindern und die man nicht mehr Rücksetzen kann. Also du kannst nur versuchen ob du ihn Programmieren kannst.

Zum Programmieren musst du entweder den ISP nehmen oder bei uC in diesem Package kann auch JTAG notwendig sein, je nachdem ob der ISP bei diesem Atmel möglich ist und aktiviert ist oder nicht. Musst du im Datenblatt nachsehen und schaun ob die ein ISP Interface haben und dann die entsprechenden Leitungen anzapfen.

Die Programmierung mittels UART wie sie bei den Arduinos üblich ist geht hier aber sicher nicht weil auf den uC mit sicherheit kein Arduino Bootloader oben ist, du musst also JTAG oder ISP verwenden.

Edit ja es ist ein Atsam damit hat er einen Arm Core da brauchst du einen Arm Compiler. Wie vorher erwähnt kannst du aber für diesen uC zumindest mit Atmelstudio programme erstellen. Eventuell kannst du die Arduinolibs ja in das Atmelstudio importieren und dann dort so ähnlich wie für Arduino Programmieren. Die Libraries müssen natürlich auch für diesen Prozessor gebuildet worden sein. Also die Atmega Arduino Libraries kannst du nicht verwenden.


Lubitorus21 
Beitragsersteller
 16.12.2020, 11:09

Wow... Das überschreitet meine Programmierkenntnisse xD ... Also reflashen kann ich ... das sollte kein Problem sein... der rest wird wohl nicht ganz leicht... oder unmöglich haha

Lubitorus21 
Beitragsersteller
 16.12.2020, 11:09
@Lubitorus21

Ich würde ja ein anderes Mainboard nehmen, aber keins hat diesen Flachband Anschluss.. was kann ich da machen?

PeterKremsner  16.12.2020, 11:43
@Lubitorus21

Im Endeffekt kannst du selbst ein Board mit so einem Anschluss machen, aber da bräuchtest du die Pinbelegung und einen Reflowofen sonst kannst du das nicht gut löten.

Naja das neu Flashen von dem Kern und auch das Programmieren dafür ist idr nicht all zu kompliziert. Du musst dich hald mit der Hardware auseinandersetzen. Kann durchaus sein dass es für diesen Atsam auch eine Integration in die Arduino IDE gibt ich verwende die selbst eigentlich nicht von da her kann ich hierzu nicht all zu viel sagen.

Btw damit du sicher sagen kannst wie diese Anschlüsse am Prozessor hängen bräuchtest du ein Boardlayout. Die sind mit hoher Wahrscheinlichkeit nicht alle 1zu1 auf den Atsam geführt.

Lubitorus21 
Beitragsersteller
 16.12.2020, 12:25
@PeterKremsner

ich habe herausgefunden, dass mein 32 bit ARM prozessor von marlin unterstützt wird... theoretisch sollte es funktionieren...

PeterKremsner  16.12.2020, 12:41
@Lubitorus21

Marlin kenne ich nicht.

Aber wie gesagt Programmieren musst du per ISP oder Jtag (Aufgrund des Armcores würde ich auf JTAG tippen) sprich der Standard Arduino Programmiervorgang geht mit hoher Wahrscheinlichkeit nicht.

Zudem musst du deine Software so anpassen dass sie auch mit der Elektronik am Board kompatibel ist. Wenn du da eine Software für eine anderes Hardwarelayout drauf lädst kann das Ding schnell mal kaputt werden.

PeterKremsner  16.12.2020, 14:00
@Lubitorus21

Ja du musst die Pins anpassen aber dazu musst du ja erstmal das Boardlayout kennen sonst weisd du ja nicht wie die Pins belegt und geroutet sind.

Lubitorus21 
Beitragsersteller
 16.12.2020, 14:05
@PeterKremsner

hab gehofft, dass jemand schon das gleiche problem hatte und einfach einen adapter gemacht hat xD

PeterKremsner  16.12.2020, 14:10
@Lubitorus21

In wie fern einen Adapter?

Meinst du ein Konfigurationsfile für Marlin?

Also im Endeffekt gehts darum wie der Atsam auf dem Board gelayoutet ist. Sprich welche Leiter gehn zu den Steppertreibern, welche Treiber sind verbaut, wie sind die Sensoren angebunden zB ADC, I2C, SPI an welchen Pins sind die angebunden usw

Lubitorus21 
Beitragsersteller
 16.12.2020, 14:22
@PeterKremsner

ich habe ein 32 bit mainboard... kein 8 bit... es geht darum, dass ich einen vorgefertigten 3d drucker habe, den ich umprogrammieren werde. wenn dies doch schief geht, gäbe es die möglichkeit, ein neues mainboard einzubauen... das ist auch nicht das problem, sondern, dass meine Nozzle mit dem Flachband- Kabel verbunden wird. das Problem dabei ist, dass dieses nicht kompatibel ist mit anderen Mainboards... das heisst, ich müsste das Kabel adaptieren, oder die Nozzle komplett neu verbinden... Ich bin dabei aber ziemlich unsicher, wie ich vorgehen soll, ich habe kaum Erfahrung damit.

Lubitorus21 
Beitragsersteller
 16.12.2020, 14:35
@Lubitorus21

oh sorry, ich habe vollkommen aus dem kontext antworten gegeben, ignorier meine letzten zwei antworten xD ich hab diese konversation mit einer anderen verwechselt.

Das Mainboard Layout zu finden, wird wohl ein Ding der unmöglichkeit, denn es ist nicht ein Mainboard, dass einfach jeder umprogrammieren kann... da müsste ich wohl fast die Hersteller nach einem Layout fragen und diese geben mir das nicht in tausend jahren xD

PeterKremsner  16.12.2020, 14:44
@Lubitorus21

Ich weiß dass du einen 32Bit Processor hast die Arm Cortex M sind alle 32Bit Kerne. Meine Ausführungen gelten für 8Bit 16Bit 32Bit und auch 64Bit Kerne sofern sie die entsprechnde Peripherie um den Kern enthalten und diese Schnittstellen hat jeder Atsam.

Wenn du das Originale Mainboard von deinem Drucker neu Programmieren willst dann musst du das Hardwarelayout kennen da führt kein weg drann vorbei. Oder weisst du Auswendig an welchem Prozessorpin der Endschalter der Z Achse verbunden ist? Wenn du die Frage mit Nein beantwortest dann brauchst du das Layout denn du musst in der Software sagen an welchem Pin dieses Signal zu finden ist. Eventuell ist der Endschalter auch an einem I2C Portexpander dann musst du in der Software diesen Portexpander auslesen um den Zustand des Endschalters zu bekommen usw.

Wenn du das Mainboard komplett gegen eines tauschen willst welches direkt von Merlin unterstützt wird (nicht nur der Prozessor sondern das ganze Board) dann brauchst du da Adapter das ist richtig.

PeterKremsner  16.12.2020, 14:46
@Lubitorus21

Ok dann siehts eher schlecht aus. Ich meine Fragen kostet nichts aber für gewöhnlich bekommst du es nicht.

Würden beide Biards auf ATMega 2560 basieren, sollte das eigentlich funktionieren. Ich weiß, dass der ATMega 2560 ein gerne genutzter Controller für 3D-Drucker ist, was mich hier aber irritiert, ist der "ARM"-Aufdruck auf dem Controller.


PeterKremsner  15.12.2020, 11:05

Ist ein Atsam die nicht die Atmega Kerne sondern die Cortex M Kerne von Arm

Lubitorus21 
Beitragsersteller
 15.12.2020, 11:11

Dann versuche ich es mal... das mainboard ist mit der aktuellen firmware sowieso nicht mehr brauchbar... deshalb habe ich auch nichts zu verlieren.

Hallo,

was jetzt viele verwirrt, du hast ein board genommen wo ein ARM Cortex M4 zeigt, was von der leistung her sehr gut ist..und sehr gut für 3d-drucker ist..

nicht alle 3d-Drucker Boards haben diesen Prozessor, meiner (anycubic i3 Mega S) hat z.B. wirklich den ATMEGA2560 16AU onboard..es gibt mittlerweile 5 achsen steuerungsplatinen für den arduino ATMEGA2560 extra für 3D-Drucker .. dieser hätte einfach die schrittmotortreiber onboard, und diverse anschlüsse was man so alles braucht..

Beispiel:

http://img.fasttechcdn.com/188/1881805/1881805-2.jpg

aber es gibt auch boards wo alles auf einem board ist wo natürlich platzsparend ist..für ca 30€ kriegt man solch ein board schon mittlerweile (nackt ohne treiber oder andere teile wie display oder sd-karten-slot) ..

ebay-link

und ja man kann diese mit der arduino IDE umflashen (siehe Marlin Firmware)..

Woher ich das weiß:Hobby – Meine Ideen kann man nun ausdrucken! Großes Interesse!

Lubitorus21 
Beitragsersteller
 16.12.2020, 10:31

Also mein Board ist doch Marlin basierend, oder? Das heisst doch, dass es keine Rolle spielt und ich es trotzdem mit der Arduino IDE umflashen kann, oder? Mein Problem ist, dass ich, wenn es geht, kein neues Board haben will und der Temperatur-BUS meiner Nozzle Wahrscheinlich nur mit diesem Mainboard kompatibel ist...

Im Prinzip heisst das doch, dass mein Board eine solch simple Firmware haben kann und die ganzen Zusatzfunktionen, die es bietet (Filament NFC Reader, Wireless Funktion), nicht unbedingt beachtet werden müssen?

Wenn dies nicht der Fall wäre, und die beiden Boards (mein Mainboard und den Arduino MEGA) zwei verschiedene paar Schuhe sind, dann bitte sagen.

iEdik  16.12.2020, 11:13
@Lubitorus21

ja es sind paar verschiedene schuhe..die prozessor-architektur..

atmega=8bit (AVR), cortex M4 = 32 bit (ARM)

kann sein dass es marlin basierend ist, aber daVinci hat sich da vollkommen verschlossen was firmware angeht..da muss man selbst ran..

ja es gibt seit marlin 2.0.0 32-bit prozessor unterstützung..

und laut

https://hackaday.com/2014/05/11/unbricking-the-da-vinci-and-installing-custom-firmware/

gibt es jemanden, der eigenes ding geschrieben hat..

mit arduino würde ich diesen nicht mehr flashen, du musst ja denn irgendwie bootloader vorher draufbügeln..

Woher ich das weiß:Hobby – Meine Ideen kann man nun ausdrucken! Großes Interesse!

Lubitorus21 
Beitragsersteller
 16.12.2020, 11:20

Installing Marlin | Marlin Firmware (marlinfw.org) hier steht, dass marlin 2.0 32bit arm support hat... könnte das mein Problem lösen? Hier muss ich Marlin und PlatformIO installieren... das ist es wohl, oder?

Lubitorus21 
Beitragsersteller
 16.12.2020, 11:23
@Lubitorus21

Das würde auch erklären, warum die alten Firmwares noch nicht Cura kompatibel waren und die neue Firmware dann ging... jetzt muss ich nur noch eine komplett unabhängige Firmware hinkriegen! das wird ja wohl noch machbar sein :D

iEdik  16.12.2020, 11:23
@Lubitorus21

ich denk ja, aber achte darauf, dass du vorher deine ein/ausgänge an deinem board anpasst..sowie andere angeschlossene nebenbetriebe, die auf dem board sind..LCD-Treiber z.b. oder richtige umrechnung von dem heatbed-sensor..

Lubitorus21 
Beitragsersteller
 16.12.2020, 11:25
@iEdik

Also der Printer hat keine LCD und Headbed Sensoren... Aber meine Nozzle könnte noch Probleme verursachen... Was meinst du genau mit "anpassen"?

iEdik  16.12.2020, 11:28
@Lubitorus21

na die blanke software weiss ja nicht von vornerein welche anschlüsse an welchen GPIO's sind, sind es endlagenschalter? sind es temp-sensoren? ist es SD_Karten-slot? ist es USB? ..dein board ist ja fertig bedrahtet und bestückt..also sind die pin-belegung ja vordefiniert..

das musst du anpassen bevor du die firmware draufmachst..

Lubitorus21 
Beitragsersteller
 16.12.2020, 11:35
@iEdik

Achso, ja. Darauf werde ich sicherlich achten. Das ist ja immer so. Es gibt nur verdammt viele Anschlüsse, mehr als bei einem kleinen Arduino... ich hoffe ich kriege das hin xD... Aber mir war bereits von beginn an klar, dass ich währenddessen viel dazulernen werde und wahrscheinlich von einigen Dingen keine Ahnung haben werde... Aber wie gesagt, im schlimmsten fall ist halt das Board futsch xD... Vielen Dank für deine Hilfe :)

iEdik  16.12.2020, 11:39
@Lubitorus21

aber willst du unbedingt dein altes board nutzen? warum?

ich würd auf deiner stelle das alte weglegen, und neues holen, was offener für firmware ist..die ganzen anschlüsse adaptieren..da wurde ja nichts neues erfunden..

paar 4-pin Schrittmotoren, paar endlagenschalter, heatbed, evtl level-sensor, hot-end sowie den dazugehörigen fühler..paar lüfter-anschlüsse, usb/sd-karte

dass man da einen 32bit prozessor braucht, ist sowieso übertrieben..wenn keine weiteren aufgaben für benötigt werden..

solche boards gibt es mittlerweile für 30€ alá China...

Lubitorus21 
Beitragsersteller
 16.12.2020, 12:23
@iEdik

Das Problem ist der Flachband anschluss meiner Nozzle... keine ahnung wie man den adaptiert... die meisten mainboards haben einen anderen Anschluss

iEdik  16.12.2020, 18:15
@Lubitorus21

was ist besonderes an der nozzle dran? meist hat man da hotend samt fühler, lüfter mit PWM, und evtl LED-Licht. sind dann 11 Drähte wenn ich mich nicht irre, die kann man selbst zum nozzle hochziehen..

hotend 2 drähte, fühler 2 drähte, lüfter 3 oder 2 drähte, LED 2 drähte..extruder-motor auch dran? dann 4 weitere drähte..sind endlagenschalter dran? dann 3 oder 4 weitere drähte..

Lubitorus21 
Beitragsersteller
 16.12.2020, 11:17

gibt leider keine unbricked version für davinci mini w... hab die Firmware bereits gedowngraded.. die tools dafür hab ich bereits... im prinzip bräuchte ich nur die firmware und der Rest würde mit meinem Tool machbar sein... xyz ist das Apple der 3D Drucker und mich macht es langsam stinkig...