Ethersex PWM (avr-net-io)

Gast #3847768
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?
Gast #3849008
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren