Das ist meine erste Schaltung überhaupt mit nem Mikroprozessor, wollte
hier mal fragen ob das so funktionieren könnte.
Man soll die Temp messen können, un dann 2 Lüfter reglen können,
eigentlich ganz simpel, wobei ich mir nicht sicher bin ob das so
hinhaut mit der Spannungsregelung via Mosfets.
Soll das 1 Wire- Interface für die 2 Sensoren jeweils einzeln in
Software nachgebildet werden? Wenn möglich hänge diese doch nicht an AD-
Wanlder- Eingänge.
Die MosFets müssen mit Ihrem Source an GND, Drain an die Last und Last
direkt an Plus.
Damit wird später aber nicht die Spannung geregelt sondern sie wird
geschaltet. Wenn das ganze gepulst werden soll müssen die MosFets an
PWM- Ausgänge und Du musst schauen ob Du vielleicht Treiber vorsehen
musst.
Lies Dir doch bitte erstmal Grundlagen an.
Und noch so nebenbei:
Bildformate bei Gelegenheit mal durchlesen und zu verstehen
versuchen.
Das Bild wird nicht besser, wenn du es erstmal als JPG speicherst und
anschliessend in PNG konvertierst.
ok vielleicht kann man es nich so gut auf dem bild erkennen,
die 1wire sensoren hängen an nem digitalen eingang,
und die mosfets hängen an nem analogen pin.
die leitungen kreuzen sich nur , deshalb erkennt man es vielleicht nicht
so gut)
Ah okay sorry, mit den Sensoren hast Du recht. Aber warum hängen die
MosFets denn an analogen Eingängen? Wie gesagt damit kannst Du nur
schalten und solang man noch genug digitales frei hat würde ich nicht
auf die analogen springen, wer weiss was Du da noch verbauen willst.
mh wollte eigentlich die Spannung regeln, also per pwm, nicht nur
an/aus,
und als Spannungsreferenz wollte ich die interne verwenden, dann brauch
ich doch AVCC und AVGND nicht oder?
oder einfach per Kondensator an masse?
Avcc ist einfach die versorgungsspannung für die Logik aller Ports, an
denen auch der AD- Wandler zur Verfügung gestellt werden kann. Muss also
in jedem Fall angeschlossen werden.
Deine MosFets sollten an die Pins PB1 und PB2, da dort die 2- Kanal-
hardware- PWM zur Verfügung steht.
Freilaufdioden an den MOSFETs wären von vorteil ;)
PullUp Widerstände(10k) an den MOSFET's fehlen (damit diese immer einen
definierten Pegel haben) sowie, je nach MOSFET Typ, Widerstände an das
Gate.
[Edit] fürs PWM solltest du die MOSFET's an einem PWM Ausgang
anschließen(PB1, PB2) um in den Genuss von Hardware-PWM zu kommen...
Naja, ich würde sie Entladewiderstände nennen und zwischen Gate und
Source setzen. Vorwiderstand für das gate ist wahrlich noch notwendig.
Freilaufdioden an den MosFets würde ich persönlich auch setzen, ist aber
wohl nicht unbedingt notwendig (da Body- Diode).
Edit2
Poste bitte den ganzen Schaltplan.
Wo gehen PC2 - PC5 hin?
Soll an den X-Con ein Display hin? Wenn ja (Bei HD Controllern) komplett
falsch beschaltet.
Also der Widerstand zwischen dem Controller und dem FET sollte doch
etwas geringer sein, so zwischen 10 und 100 Ohm etwa. der 10k Widerstand
soll direkt an den FET zwischen Gate und Source um die Ladung bei
Low-Pegel schneller abbauen zu können. (FET-Gate wirkt wie Kondensator)
10 kOhm ist evt. etwas viel wenn du PWM nutzen möchtest. 200 Ohm reichen
völllig aus. 10 kOhm zwischen Gate und Source sind schon nicht verkehrt
damit der FET sich schnell entladen kann wenn der AVR abgeschaltet wird
oder in den Reset geht.
Wenn Du nicht darauf angewiesen bist, die Sensoren mit Parasite-Power zu
betreiben, ist es besser, ihnen eine separate Leitung für die
Versorgungsspannung zu spendieren. Das dürfte die Übertragung robuster
machen. Außerdem kannst Du die beiden Datenleitungen auf einen Port
legen.
Der 10K zwischen Gate und Source verhindert ein Schalten des FET wenn
sich der Controllerausgang im hochohmigen Zustand befindet (z.B. während
der Programmierung).
Axel
Bin nich auf alle Pins angewiesen,
ums einfacher zu haben beim einlesen hab ich halt gedacht dann kann man
auch 2 pins dafür verschwenden.
mh ist es nicht 2 leiter mässige Spannungsversorgung?
pin
1 GND
2 Mega8 + 4,7k an 5V
3 +5V
finde im net immernur sowas....
Bonze schrieb:
> ums einfacher zu haben beim einlesen hab ich halt gedacht dann kann man> auch 2 pins dafür verschwenden.
Ist wohl Geschmackssache.
Soweit ich mich erinnere, kann man bei nur einem Device am "Bus" ein
vereinfachtes Protokoll verwenden, braucht den Code aber dann zweimal
oder muß ihn so schreiben, daß der Pin konfigurierbar ist.
Andererseits kann man bei Verwendung des vollen Protokolls und nur eines
Pins später leichter noch Sensoren nachrüsten.
> mh ist es nicht 2 leiter mässige Spannungsversorgung?
Doch, paßt so. Sorry, ich hatte das +5V-Symbol an den Versorgungs-Pins
der Sensoren übersehen und dachte, Du versorgst sie aus der
Datenleitung.
... ich nehme mal stark an, dass "LÜFTER" ein induktives Bauteil sein
wird.
Wo ist der Freilaufzweig dafür?
Die Freilaufdioden, die du so schön parallel zu den Mosfets geschaltet
hast, würde ich mal an die Klemmen legen (K7-1 K3-2), so dass der Strom,
der durch den Lüfter fließt, nach dem Abschalten des Mosfets durch diese
Diode weiterfließen kann. Ansonsten lebt der Mosfet nicht lange.
Werner
ja soll ein 12v PC lüfter werden sogesehen bzw mehrere..
Hab jetzt die Dioden von K3-2 nach K7-1 und K3-1 nach K7-2
eingezeichnet.
und mir überlegt, nachdem ich die Bascom-Beschreibung angeschaut hab,
dass ich wohl doch die Sensoren an 1 Pin anschließen werde.
Wenn ich euch erzähle das ich eigentlich mehr über die Bauteile wissen
müsste, weil ich Elektroniker für Automatisierungstechnik lerne (3LJ),
jedoch wird bei uns das Thema Elektronik (Bauteile) nicht behandelt. Ich
hoff ich werd jetzt nich gesteinigt. :D
hab mal anhand meiner Formelsammlung versucht nen Pi
reinzuprogrammieren,
sieht bis jetzt so aus
Declare Function Piregler(byval Id As Byte , Temp As Single) As
Integer 'deklarieren der funktion
Function Piregler()
Local Dim Regeldifferenz As Single
'Regeldifferenz
Local Dim Sollwert As Single 'Sollwert
Local Dim Istwert As Single 'Istwert
Local Dim Pverstellung As Single
Local Dim Iverstellung As Single
Local Dim Tmp_ianteil As Single
Local Dim Tmp_panteil As Single
Local Dim Regelgroesse As Single
Local Dim Kri As Byte
Local Dim Krp As Byte
Local Dim T As Byte
Sollwert = Temp
T = 1
Kri = 1
Krp = 4
Sollwert = 30 'Sollwert
auf 30°C setzen
Regeldifferenz = Istwert - Sollwert
'Regeldifferenz=Sollwert-Ist Temp
'P-Anteil
Pverstellung = Krp * Regeldifferenz ' regeldiff
'I Anteil
Tmp_ianteil = Regeldifferenz * Kri
Iverstellung = Tmp_anteil / T
'Ergebnis
Regelgroesse = Pverstellung + Iverstellung
Piregler = Ausgabe
End Function
bin ich auf dem richtigen Weg? die umwandlung einer Formel in code ist
nich ganz so einfach finde ich ,.