Forum: Mikrocontroller und Digitale Elektronik Projekt: PWM Stufenweise für Brushless Motor durch Taster


von Manuel (albino)


Lesenswert?

Hallo zusammen,

ich möchte hier mein Projekt vorstellen und müsste erstmal eruieren, was 
ich dafür benötige und wie ich vorgehe:
Ich habe einen Brushless Motor mit ESC aus dem Modellbau Bereich. Der 
ESC soll nun in 5 Geschwindigkeitsstufen angesteuert werden. Die Auswahl 
der Geschwindigkeitsstufe erfolgt durch einen Taster für Höher und einen 
Taster für niedriger. Zwei weitere Taster müssen aus Sicherheitsgründen 
beide gedrückt sein, damit der Motor letztlich läuft.

Das ansteuern des Reglers über ein "Servotester" mit Poti kommt leider 
nicht in Frage.

Ich bin eher der Maschinenbauer und bin nicht so wirklich Software 
affin, aber bereit mich in Dinge einzuarbeiten. Wenn es zu komplex für 
mich ist, würde ich auch gerne jemanden dafür Beauftragen, gibt es dazu 
im Forum auch eine Ecke oder ist das hier nicht gewünscht?. Aber auch 
dazu müsste ich erstmal den Umfang abschätzen.

Ich danke Euch!

Grüße Manuel

: Bearbeitet durch User
von Max M. (jens2001)


Lesenswert?

Manuel schrieb:
> ich möchte hier mein Projekt vorstellen.....

> ....dazu müsste ich erstmal den Umfang abschätzen.

Dann mach das.
Und meld ich wieder wenn du irgend was zum vorzeigen hast.

von Manuel (albino)


Lesenswert?

Max M. schrieb:
> Manuel schrieb:
>> ich möchte hier mein Projekt vorstellen.....
>
>> ....dazu müsste ich erstmal den Umfang abschätzen.
>
> Dann mach das.
> Und meld ich wieder wenn du irgend was zum vorzeigen hast.


Es war so gemeint, dass ich den Thread gestartet habe, UM es 
abzuschätzen.

von Tom H. (toemchen)


Lesenswert?

Wenn Du die ganze Verdrahterei, Anbringen der Taster, Gehäuse für den 
Arduino und Modellbau-ESC selber hinbringst, dann brauchst Du nur noch 
ein Arduino-Kid in Deiner Nähe.

Die Anforderungen an das Arduino-Programm sind gering. Klar, wenn man 
die Welt der Microcontroller und Arduinos überhaupt nicht kennt, kann 
das zunächst abschreckend sein. Aber glaub mir, es kann auch ziemlich 
Spaß machen, die ganze Elektrik aufzubauen, mit ganz simplen Programmen 
stufenweise zu testen und dann langsam das ganze Programm zu entwickeln.

Wo bist Du denn geografisch?

von Manuel (Gast)


Lesenswert?

Danke, das klingt doch schon mal motivierender. In der Tat würde ich die 
Verdrahtungen etc selbst hinbringen, das wäre nicht das Problem für 
mich.
Wenn du sagst die Anforderungen an das Programm sind gering, dann würde 
ich mich erstmal selbst mit Arduino beschäftigen.
Das Ziel soll sein später das ganze in einer kleinen Platine 
darzustellen und zu vervielfältigen.
Dann gucke ich mir jetzt mal ein paar Videos an, um zu sehen, was ich 
mir jetzt anschaffen muss. Nehme aber hier auch gerne Tips entgegen.

Grüße Manuel

von Manuel (albino)


Lesenswert?

Achso und ich wohne in Düsseldorf

von Carsten-Peter C. (carsten-p)


Lesenswert?

Moin,
lass Dich nicht verunsichern. Wenn Du schon einen Arduino hast, nimm 
den. Zuerst würde ich mir das Datenblatt vom Deinem Atmega anschauen. 
Ich finde den ATtiny84 oder 4313 auch interessant. Beim ATtiny 84 z.B. 
schaust Du Dir Fast PWM also Mod3 an. Du musst einiges konfigurieren. 
Dann schreibst Du in z.B. das Register OCR0A einen Wert und Du bekommst 
das entsprechende PWM-Signal am OC0A raus. Änderst Du OCR0A, ändert sich 
das Pulsverhältnis.
Gruß Carsten

von Michael B. (laberkopp)


Lesenswert?

Manuel schrieb:
> Aber auch dazu müsste ich erstmal den Umfang abschätzen.

Ein Arduino ?

Taster kann man direkt anschliessen, Servos auch, ein Modellbau-ESC wird 
ja ein Servosignal haben wollen.
1
uint8_t keys,oldkeys,speed=0;
2
setup() left as an excercise to the reader
3
loop()
4
{
5
  keys=PINB;
6
  if((keys&1)&&!(oldkeys&1)&&speed<4) speed++
7
  if(keys&2)&&!(oldkeys&2)&&speef>0) speed--;
8
  oldkeys=keys;
9
  if((keys&0xC)==OxC)
10
  {
11
    digitalWrite(servopin,1);
12
    delayMicroseconds(1000+200*speed);
13
    digitalWrite(servopin,0);
14
  }
15
  delayMicroseconds(19000);
16
}
Also weder ein schweres Programm noch aufwändige Technik.

von Manuel (albino)


Lesenswert?

Carsten-Peter C. schrieb:
> Moin,
> lass Dich nicht verunsichern. Wenn Du schon einen Arduino hast, nimm
> den. Zuerst würde ich mir das Datenblatt vom Deinem Atmega anschauen.
> Ich finde den ATtiny84 oder 4313 auch interessant. Beim ATtiny 84 z.B.
> schaust Du Dir Fast PWM also Mod3 an. Du musst einiges konfigurieren.
> Dann schreibst Du in z.B. das Register OCR0A einen Wert und Du bekommst
> das entsprechende PWM-Signal am OC0A raus. Änderst Du OCR0A, ändert sich
> das Pulsverhältnis.
> Gruß Carsten

Hallo Carsten,

ich muss mir jetzt erstmals einen Arduino besorgen. Ich habe mal die von 
dir genannten ICs gegoogelt. Verstehe ich es richtig, das ich diese dann 
mit dem Arduino programmiere und mir eine Platine mit der nötigen 
Peripherie baue?
Aber könnte ich erstmal nur mit dem Arduino starten und das als zweiten 
Schritt im Hinterkopf behalten? Würdest Du für mein Vorhaben einen 
anderen Arduino als den Uno empfehlen?

Grüße Manuel

von Manuel (albino)


Lesenswert?

@Michael
Vielen Dank, da habe ich ja schonmal eine gute Vorlage, ich werde mich 
jetzt mal reinarbeiten.

Grüße Manuel

von Flo (Gast)


Lesenswert?

Manuel schrieb:
> Zwei weitere Taster müssen aus Sicherheitsgründen
> beide gedrückt sein, damit der Motor letztlich läuft.

Das klingt irgendwie nach Totmannschalter. Muss eine 
Sicherheitsrichtlinie eingehalten werden, z.B. die ISO 13849?

von Carsten-Peter C. (carsten-p)


Lesenswert?

Hallo Manuel,
ich kann mit „Brushless Motor mit ESC“ nicht viel anfangen. Ich selbst 
programmiere am liebster in Assembler und baue meine Kunstwerte erst mal 
auf Lochraster. Zum Programmieren nutze ich das kostenlose Atmel Studio 
6.2, weil es noch auf XP läuft. Ich finde, das ist ein wirklich gutes 
Teil. Wenn dann alles läuft, kommt die Platine. Ein Projekt habe ich mal 
mit einem Arduino gebaut (in C++), aber das ist eine Weile her. Zuerst 
würde ich mir überlegen, ob ich in C++ oder Assembler programmieren 
möchte. Wenn Du das Projekt mit Deinem Prozessor bauen möchtest, suchst 
Du den passenden aus. Zum Programmieren brauchst Du einen Adapter mit 
ISP Schnittstelle. Die sind nicht teuer. Ich hab mal ein nachgebautes 
JTAGICE mkII Chinateil ersteigert. Vielleicht hast Du noch ein altes 
EV-Board von Pollin rumliegen, dann reicht eine serielle Schnittstelle. 
Ich kann Dir die Programmschnipsel von meinem Dimmer anbieten, um PWM 
erstmal zum Laufen zu bekommen (in Assembler). Das sind wenige Zeilen, 
die ich auch kommentieren kann. Nach der Konfiguration brauchst Du 
eigentlich nur die Tasten abfragen und je nach Taste in der 
Hauptschleife einen Wert in ein Register schreiben.
Gruß Carsten

von Axel S. (a-za-z0-9)


Lesenswert?

Carsten-Peter C. schrieb:
> ich kann mit „Brushless Motor mit ESC“ nicht viel anfangen

Tröste dich, ich auch nicht. Ich frage mich auch welchen ESC der 
Threadstarter wohl meint. "European Song Contest" vielleicht?

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

Electronic Speed Control, früher auch Fahrtenregler genannt, kennt jeder 
Modellbauer.
Und ein Codebeispiel hat der TO doch schon bekommen, auch für Tools die 
nicht aus dem letzten Jahrtausend sind. Sogar portabel und der TO hat 
die freie Wahl zwischen Cortex-M, AVR und Xentsa Controllern.
Ok, bis auf das PINB, das bekommt man aber auch anders hin.

: Bearbeitet durch User
von Manuel (albino)


Lesenswert?

Flo schrieb:
> Manuel schrieb:
>> Zwei weitere Taster müssen aus Sicherheitsgründen
>> beide gedrückt sein, damit der Motor letztlich läuft.
>
> Das klingt irgendwie nach Totmannschalter. Muss eine
> Sicherheitsrichtlinie eingehalten werden, z.B. die ISO 13849?

Nein, man soll einfach beide Hände am Gerät haben, damit das Ding 
vernünftig festgehalten wird und nicht mit hochdrehendem Motor an einer 
Hand baumelt :)

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.