Wir verwirren den armen fepo nur. Ich merk das schon...
PWM mit einem ATMEGA 8 für Eisenbahn
-
Fepo -
26. Juli 2022 um 19:49 -
Erledigt
Es gibt 66 Antworten in diesem Thema, welches 8.364 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Ich hab mir einfach das Compilat aus dem Verzeichnis geholt und in die tl866 Software gezogen. Hab nur das tl866 usb Kabel.
Das ist ja nun unkomfortabel ohne Ende. Dann brauche ich keinen Arduino-Bootloader, wenn ich die Programme nicht direkt aus der Arduino-Oberfläche auf den Chip lade. Und wie bekomme ich die Debug-Ausgaben auf den PC?
-
Wenn ich mich recht entsinne, hatte ich da gar keine Debug-Ausgaben.
Aber welche Debug-Ausgaben willst Du bei einem Eisenbahn-Trafo haben? Du siehst doch wie die Lok fährt. Zur Not hältst Du halt noch schnell das Scope an die Schiene.
Vermutlich bin ich einfach zu alt für sowas. Ich komm noch aus der Zeit, als man gesagt hat, dass ein schwarzer Bildschirm Fehlermeldung genug ist, weisst Du?
-
Wenn ich mich recht entsinne, hatte ich da gar keine Debug-Ausgaben.
Aber welche Debug-Ausgaben willst Du bei einem Eisenbahn-Trafo haben? Du siehst doch wie die Lok fährt. Zur Not hältst Du halt noch schnell das Scope an die Schiene.
Vermutlich bin ich einfach zu alt für sowas. Ich komm noch aus der Zeit, als man gesagt hat, dass ein schwarzer Bildschirm Fehlermeldung genug ist, weisst Du?
Es gibt wenige Programmierer, die es schaffen ein Programm ohne jegliches Debugging einfach so fehlerfrei runterzuschreiben. Ich bin noch keinem begegnet und mache das beruflich.
Wie willst du denn herausfinden, wo der Fehler streckt, wenn das Programm nicht das tut, was es soll? Denn wie bereits geschrieben wurde, bleibt es doch nicht beim einfachen PWM. Da werden sicher noch Funktionen dazukommen.
Und wer von uns beiden älter ist müsste, müsste noch geklärt werden. Der PET 2001 war mein erster Computer.

Ich verstehe die ganze Diskussion hier nicht. Natürlich kann man in Assembler auf dem ATMEGA 8 programmieren. Natürlich kann man Programme ohne jeglichen Debugging entwickelt. Aber man kann es sich auch ohne viel Aufwand viel einfacher machen und kommt dadurch am Ende viele schneller zu einem viel besseren Ergebnis.
Übrigens soll Steve Wozniak sein Integer-Basic ohne Assembler entwickelt haben. Direkt in den Hex-Editor eingetippt. Naja, jeder wie er mag.

Meine ersten 6502 Assemblerprogramme habe ich auf Papier assembliert. Das war nicht toll sondern einfach nur nervig und ineffizient.
-
Es kommt halt auf das Problem an. Ich glaub mein letztes Problem in der Richtung war so ein PWM Multiplexer, der ein Summensignal auf mehrere Servoausgänge verteilt halt. Das waren nur so paar hundert Byte auf einem Attiny 13. Der hätte wohl eh keinen Platz für Debug-Ausgaben gehabt.
Ich möchte hier immer noch helfen. Könnte paar Zeilen C beisteuern, wenn das hilft. Mir würde das evtl. tatsächlich sogar selbst helfen, weil ich hier noch paar Spur-Z Teile liegen hab, die ich mal mit nem Arduino laufen lassen wollte...
-
Wenn ich keine andere Ausgabemöglichkeit habe, dann toogle ich eine IO-Leitung die an bestimmten Watchpoints.
Dann kann ich mir mit dem Logikanalyer anschauen, was das Programm gerade tut. Über die Impulslänge kann man sogar verschiedene Watchpoints unterscheiden. Das geht aber auch nur, wenn es nicht auf jede Mikrosekunde ankommt.
Bei einer einfachen Schleife braucht man das nicht, aber schon wenn man einige wenige Programmzustände hat, ist es hilfreich, wenn man weiß, was das Programm gerade tut.
-
Weil du ja Arduino so toll und einfach findest und das so toll kannst...
schreib doch mal gerade den Code hierfür:
Bitte melde dich an, um dieses Medienelement zu sehen.
Bin gespannt

Hab ich übrigens mit BASCOM programmiert ☺️
-
Alles anzeigen
Weil du ja Arduino so toll und einfach findest und das so toll kannst...
schreib doch mal gerade den Code hierfür:
Bitte melde dich an, um dieses Medienelement zu sehen.
Bin gespannt

Hab ich übrigens mit BASCOM programmiert ☺️
Wenn's mit Bascom geht, dann geht's auch mit Arduino. Da mache ich mir überhaupt keine Gedanken.

Oder woran sollte das deiner Meinung nach scheitern?
-
Alles anzeigenAlles anzeigen
Weil du ja Arduino so toll und einfach findest und das so toll kannst...
schreib doch mal gerade den Code hierfür:
Bitte melde dich an, um dieses Medienelement zu sehen.
Bin gespannt

Hab ich übrigens mit BASCOM programmiert ☺️
Wenn's mit Bascom geht, dann geht's auch mit Arduino. Da mache ich mir überhaupt keine Gedanken.

Oder woran sollte das deiner Meinung nach scheitern?
du verstehst es nicht 😌
-
Nee, nicht Youtuber

Ich will es mal als Influencer probieren


"Was machen sie?" " Ich bin Influencerin."
"Achso, ich habe auch nix gelernt."

Bin bei der Bundeswehr als Technikert Zivil bedienstet.

Meine Entgeltgruppe plus Erfahrungsjahre ist schon fast am Ende
für Ziviles Personal

Nochmal zu meinem Thread. Worum ging es hier eigentlich ?

Hast Recht, ich bin nun verwirrt.



-
#define pwm 6
#define pot A0
void setup() {
// put your setup code here, to run once:
pinMode(pwm,OUTPUT);
pinMode(pot,INPUT);
Serial.begin(9600);
//safety speed reset of the motor
analogWrite(pwm,0);
}
void loop() {
// put your main code here, to run repeatedly:
float val = analogRead(pot);
float duty = map(val,0,1023,0,255);
analogWrite(pwm, duty);
Serial.println(duty);
}
Hier als Code Arduino UNO
-
Prima! Aber die Fahrtrichtung muss noch umgeschaltet werden, oder?
Kann Fepo denn seinen Atmega programmieren?
-
float val = analogRead(pot);
Hier als Code Arduino UNO
Aber bitte nicht float. Wir sind ja nicht auf dem C64, der nur einen numerischen Datentyp kennt.

Außerdem wurde der Code weiter oben schon gepostet und verlinkt. In der etwas einfacheren und vom Datentyp her korrekten Version.
-
float val = analogRead(pot);
Hier als Code Arduino UNO
Aber bitte nicht float. Wir sind ja nicht auf dem C64, der nur einen numerischen Datentyp kennt.

Außerdem wurde der Code weiter oben schon gepostet und verlinkt. In der etwas einfacheren und vom Datentyp her korrekten Version.
was meinst du ? Hast du etwas gepostet was ich nicht gesehen habe. Ich habe nur den Code von mir in Bascom gesehen und den von mir in Arduino. Von dir kam ja wieder nichts als .... Das geht anders aber nicht wie...
-
float val = analogRead(pot);
Hier als Code Arduino UNO
Aber bitte nicht float. Wir sind ja nicht auf dem C64, der nur einen numerischen Datentyp kennt.

Außerdem wurde der Code weiter oben schon gepostet und verlinkt. In der etwas einfacheren und vom Datentyp her korrekten Version.
was meinst du ? Hast du etwas gepostet was ich nicht gesehen habe. Ich habe nur den Code von mir in Bascom gesehen und den von mir in Arduino. Von dir kam ja wieder nichts als .... Das geht anders aber nicht wie...
Man kann natürlich auch bewusst ignorieren, um sich selbst zu bestätigen (selektive Wahrnehmung).
Bitte melde dich an, um diesen Link zu sehen.
Wenn es auf die persönliche Ebene geht ("von dir kam wieder..."), dann wird es Zeit den der Thread zu verlassen. Auf die permanenten Anfeindungen von dir kann ich verzichten. Von mir ist alles zu dem Thema gesagt und du wieder auf Ignorieren.
-
JAAAAAA....
...schlagt euch 🤪

-
Hatte schon eine PN von dir und zurück geschrieben.
Kann fepo denn seinen Atmega programmieren?
Und wie ich die Dinger programmieren kann

Ich gehe davon aus, du meinst den Flashspeicher flashen.
Habe schon vor Monaten mit meinem Kollegen gebüffelt.
Aber es reicht für mich nicht was analoges (Poti etc )
abzufragen und umzusetzen.

-
-
Habe schon vor Monaten mit meinem Kollegen gebüffelt.
Aber es reicht für mich nicht was analoges (Poti etc )
abzufragen und umzusetzen.

Kein Problem nicht. Das bekommen wir hin. Die Kollegen haben ja sogar schon den meisten Code geposted.
-
Ja, ist schon peinlich hier.
Da fragt man was und dann bricht hier eine Diskussion nach
der anderen aus.

leider normal 🙄
-