Hallo,
bin absoluter Anfänger wenn es um Elektronik geht, deshalb brauch ich
eure Hilfe.
Ich will ein digitales Signal nutzen um einen DC Motor (
http://m.conrad.de/ce/de/product/222366/GETRIEBEMOTOR-1481-45-15V-540ER-MOTOR?ref=searchDetail
) mit einer gewissen Anschaltverzögerung für eine Zeit t einzuschalten
danach soll der Vorgang wieder starten wenn wieder ein Eingangssignal
vorliegt. Der Motor soll zwischen 4,5 und 12 V bei Handregler
einstellbar sein. Ich habe eine Prinzipskizze angehängt die alles
wichtige enthält.
Ich bräuchte Hilfe bei der Auswahl des Mikrocontrollers, des
Transistors, der Schalter, des Widerstander und dem Regler. Bzw erstmal
einen abgesegneten Schaltplan . Also im Prinzip alles XD.
Vielen Dank im Voraus!
Falk Brunner (oder ein anderer) wird sich über dein 2MB Bild freuen.
Bin mal gespannt wie lange es dauert bis einer was sagt :-)
PS: warum im Offtopic?
Prinzipiell ist das Bild nicht nur riesig, auch noch auf dem Kopf!
Aber normalerweise kann man es so machen, den Motor einschalten über
einen Transistor und die Regelung / das Polwenden über separate Bauteile
wie Poti und Relais.
Aber man kann auch das Poti an den Controller hängen, mit dem
Bordeigenen ADC den Wert auslesen und dann mittels PWM den Motor in
seiner Drehzahl variieren. Das hat auch den Charme, daß du erstens kein
großes Drahtpoti mit entsprechend mehreren Watt Leistung benötigst
(Klobig und teuer) und außerdem hat der Motor mehr Drehmoment, da er
immer mit der Maximalen Spannung bestromt wird.
Wenn das funktioniert kannst du die Ansteuerung um ein Signal erweitern
und einen Motortreiber IC hinten dran hängen, welcher eine H-Brücke
beinhaltet. Dieser sorgt dann dafür, daß du auch umpolen kannst, ganz
ohne Relais.
Danke luckyfu!
Wenn ich mit PWM den Motor ansteuere wie würde das auf dem Schaltplan
aussehen? Welcher Mikrocontroller brauche ich ? Ich brauche dann ja nur
2 Eingänge und 2 Ausgänge.
Ich habe sowas ähnliches mit einem ATtiny25 gemacht.
Allerdings geht es dabei eher darum einen Peltiertreiber mit passender
Ansteuerung zu versehen. Das Ist also nur bedingt nutzbar. (Da hier eine
einfache Regelschleife drin ist, welche du so nicht benötigst, auch
frage ich 2 Ströme ab und regle dann entsprechend anhand der Differenz.
Aber vielleicht kannst du ja doch etwas daraus nutzen. (Die PLL wirst du
nicht brauchen. Ich hab hier aber eine 500kHz PWM, damit die Spulen nach
dem Treiber möglichst klein sind.)
Prinzipiell kannst du einfach einen OCxA oder OCxB Ausgang nutzen. Diese
hängen direkt an den Timern, wenn sie entsprechend konfiguriert sind)
Dort dann einen Mosfet dran, welcher Logiclevel kompatibel ist und den
Strom schalten kann oder eben gleich einen Motortreiber. In meinem Fall
ist es ein DRV8412, aber der ist für deine Belange sicherlich vollkommen
überdimensioniert.
Programm dazu:
1
#include<avr/io.h>
2
#include<avr/interrupt.h>
3
#include"mydefs.h"
4
#include"main.h"
5
6
voidinit(void)
7
{
8
PLLCSR=1<<PLLE;//PLL einschalten
9
while(!(PLLCSR&(1<<PLOCK)));// warten bis PLOCK ==1
10
PLLCSR|=1<<PCKE;// pll als timer1 source
11
12
CLKPR=0x80;
13
CLKPR&=~((1<<CLKPCE)|(1<<CLKPS1)|(1<<CLKPS0));
14
15
DDRB=0x12;//beide PWM Kanäle als Ausgang einstellen
16
17
//Timer 1 (500kHz PWM)
18
OCR1C=127;
19
PLLCSR=1<<PLLE;//PLL einschalten
20
while(!(PLLCSR&(1<<PLOCK)));// warten bis PLOCK stabil
Danke für die ausführliche Antwort. Aber leider kann ich damit Null
anfangen, weil ich keinen Plan von der Materie habe :( . Gibt es eine
Möglichkeit das ganze so einfach wie möglich ( für mich ) zu machen? Was
hällst du von arduino uno?
damit hab ich noch nichts gemacht.
der ATTiny25 ist ein 8-beiniger Controller, den gibt es als SO-08 und
bestimmt auch als DIL8. 2 Pins sind für die Betriebsspannung vorgesehen,
dazwischen kommt ein 100nF Kondensator und gut ist.
Du hast nun 5+1 nutzbare Anschlüsse.
Einen Quarz o.ä. brauchst du nicht.
ich hab z.B. Pin 2 (PB3) und 7 (PB2) (ADC2 und 3) als Analogeingang
genutzt und Pin 3 (PB4) und 6 (PB1) als Ausgang für den Treiber-IC.
Pin 5 (PB0) ist der Eingang zum Umschalten zwischen Kühlen und Heizen.
(Also quasi das Umpolen).
Das sind die 5 Pins. den +1, das ist Pin 1 (PB5). das ist standardmäßig
der !Reset. Ich habe den als Enable Pin genutzt. Heisst: Wenn die
übergeordnete Elektronik den Treiber nicht benötigt ist der Controller
im Reset. Wird er gebraucht bootet er und arbeitet dann normal.
Dann brauchst du noch einen 6-poligen Programmierstecker und ein
passendes Programmiergerät, AVRISP MK2 z.B.
im Prinzip sehr einfach.
Du müsstest jetzt nur das Beispielprogramm von mir nehmen, die
Analogwertmessung auf einen Kanal beschränken und deine Pausen mittels
1
delay_ms(xxx);
einbauen. Dazu dann noch die avr/delay.h einladen und fertig.
Alles in allem kein so großes Ding. Auch als Anfänger nicht. Man muss
sich nur trauen, geholfen wird dir hier immer, solange du
Eigeninitiative zeigst. Wenn du allerdings der Meinung bist hier
erstellt dir jemand den Schaltplan für ein Arduino inklussive passendem
Programm bezweifle ich ehrlichgesagt, daß du Hilfe bekommst.
Da ich das mit so ziemlich dem kleinsten Controller gemacht habe den
Atmel anbietet heisst das für dich: Du kannst jeden Controller dazu
verwenden der mindestens 1 ADC und mindestens einen Timer hat.
Je nachdem, woher dein Startsignal kommt musst du es ggf. noch
entprellen. Dazu findest du hier im Forum auch unzählige Threads. Da
kannst du dir das passende heraussuchen.
Lukas M. schrieb:> Hallo,>> bin absoluter Anfänger wenn es um Elektronik geht, deshalb brauch ich> eure Hilfe.> Ich will ein digitales Signal nutzen um einen DC Motor (> http://m.conrad.de/ce/de/product/222366/GETRIEBEMOTOR-1481-45-15V-540ER-MOTOR?ref=searchDetail> ) mit einer gewissen Anschaltverzögerung für eine Zeit t einzuschalten> danach soll der Vorgang wieder starten wenn wieder ein Eingangssignal> vorliegt. Der Motor soll zwischen 4,5 und 12 V bei Handregler> einstellbar sein. Ich habe eine Prinzipskizze angehängt die alles> wichtige enthält.> Ich bräuchte Hilfe bei der Auswahl des Mikrocontrollers, des> Transistors, der Schalter, des Widerstander und dem Regler. Bzw erstmal> einen abgesegneten Schaltplan . Also im Prinzip alles XD.
Für so was brauchst du keinen Mikrocontroller. Ein getriggerter 555
kann das auch locker packen. Damit würde ich mal anfangen. Später
kann man auch mal was verbessern und kann auf der Erfahrung aufbauen.
So übernimmst du dich nur. Wenn das einstellen einer Skizze dich schon
so überfordert, dann so ein mutiges Projekt mit µC ganz sicher.
Lukas M. schrieb:> Michael ... schrieb:>> Wenn das einstellen einer Skizze dich schon>> so überfordert>> Hast du ein Problem mit meiner Zeichnung?
ich sags mal so: wenn du das auch aufm kopp stehend gemalt hast… klasse!