Forum: Mikrocontroller und Digitale Elektronik Ethersex PWM (avr-net-io)


von Tesla (Gast)


Lesenswert?

Ich möchte gerne auf dem pollin avr-net-io die ethersex-Firmware 
verwenden. Das hat soweit auch funktioniert.

Nun möchte ich hardware-pwm benutzen:
http://www.ethersex.de/index.php/PWM_Generator

Dazu habe ich PWM konfiguriert und für die Kanäle A, B und C PWM 
aktiviert. Ja ich habe dem dritten Kanal einen Pin zugeordnet. Wenn ich 
jetzt:
netiodomain/ecmd?pwm set 0 100
eingebe passiert nichts.

Was ist da noch falsch? Wie geht es richtig?

von Jörg E. (jackfritt)


Lesenswert?

Status is broken?
Ich habe mich letzt auch mit ethersex auseinandergesetzt, allerdings 
nicht pwm.
Es gibt dort viele Baustellen.
Probier mal zuerst nur einen Port zu nutzen wenn das in der config geht. 
Hast du den original prozessor drauf? Mist ;) du direkt am pin der pwm 
machen soll?
Mitm oszi?

von Tesla (Gast)


Lesenswert?

mega1284p

nein, habe direkt eine led dran

von Tesla (Gast)


Lesenswert?

habe es jetzt mit nur einem kanal probiert: geht auch nicht, keine 
reaktion

von Gerd E. (robberknight)


Lesenswert?

Gehen denn andere ECMD-Befehle?

Bekommst Du auf Befehle wie "version" oder "help" eine brauchbare 
Antwort?

von Tesla (Gast)


Lesenswert?

ja, andere befehle gehen. Es geht sogar dieses stella light. Nur 
moddlight geht wieder nicht richtig...

von c-hater (Gast)


Lesenswert?

Tesla schrieb:

> Ich möchte gerne auf dem pollin avr-net-io die ethersex-Firmware
> verwenden. Das hat soweit auch funktioniert.

Gut.

> Nun möchte ich hardware-pwm benutzen:
> http://www.ethersex.de/index.php/PWM_Generator

Der Code ist ziemlicher Vollschrott, selbst für OpenSource-Verhältnisse. 
Ein typisches Produkt der "works for me"-Klasse...

> Dazu habe ich PWM konfiguriert und für die Kanäle A, B und C PWM
> aktiviert.
> Ja ich habe dem dritten Kanal einen Pin zugeordnet.

Welchen denn? Es ist nicht damit getan, einfach nur einen Pin 
hinzuschreiben. Es muß auch ein ansonsten unbenutzter Timer 
existieren, der ihn (genau diesen!) tatsächlich ansteuern kann.

Nachdem in der Standardkonfiguration PD4 und PD5 angegeben sind (also 
die beiden PWM-Kanäle von Timer1) kommen für einen dritten Kanal 
generell bloß noch PD7 (Timer2) oder PB3 (Timer0) in Frage, denn mehr 
Timer hat der Mega32 nicht, und diese beiden Timer haben beim Mega32 nur 
je einen PWM-Kanal und der ist eben zu genau diesen beiden Pins 
"verdrahtet". Völlig sinnlos, irgendeinen anderen Pin zu versuchen.

Und ob es dann funktioniert, hängt immer noch davon ab, ob nicht 
irgendein anderes konfiguriertes Modul oder gar das System selber sich 
den Timer für seine Zwecke bereits unter den Nagel gerissen hat.

Irgendeinen der Timer benutzt jedenfalls bereits das 
Ethersex-Grundsystem, soviel ist mal sicher. Ich bin aber zu faul, jetzt 
selber in den Quelltexten nachzuschlagen, welcher das ist. Das mach' mal 
schön alleine...

Übrigens: Mit einer Aufrüstung auf Mega1284P bringst du einen weiteren 
Timer mit zwei PWM-Kanälen in's System, außerdem haben sowohl Timer0 als 
auch Timer2 beim 1284P je zwei Kanäle. Damit erhöhst du immerhin die 
potentielle Pin-Auswahl gewaltig und auch die Wahrscheinlichkeit, daß 
eben zwei der vier Timer noch frei (oder wenigstens mitnutzbar) für 
deine PWM-Zwecke sind.

Allerdings kann der schrottige Code dieses "PWM_Generator" mit der 
Hardware eines 1284P nix anfangen. Da müßtest du dann selbst 
nachbessern. Also genau das tun, was du vielleicht willst, aber nicht 
kannst: programmieren...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.