und zwar habe ich ein Arduino Uno Rev 3. Und zwar möchte ich folgendes machen. Von einem programmierbaren PG-Ausgang kommt ein Signal (Ich glaube in Form von 12 Volt). Ob dies als Impuls kommt oder ein gewisser Zeitraum (z.B. 10 sec) genutzt wird kann ich einfach einstellen von dem PG Ausgang.
Wenn das Signal kommt, soll zu erst Digital PWM 1 geschalten werden.
Wenn das Eingangssignal abfällt und zum Beispiel 2 Stunden später wieder schaltet, soll darauf Digital PWM 2 geschalten werden. Es muss also immer pro Eingangssignal ein darauf folgender Digitaler PWM schalten, und niemals der Vorgänger.
Ja, Du merkst Dir welcher Ausgang das letzte mal geschaltet wurde und schaltest beim trigger den nächsten.
Nimm zur entkopplung einen Optokoppler den Du mit den 12V ansteuerst (Vowiderstand nicht vergessen)
PS. Der Arduino UNO hat keine 14 PWM Ausgänge sondern nur 6.
Grüße Uwe
In Hardware werden 14 PWM-Ausgänge nicht gehen.
In Software kein größeres Problem, wobei man hier schauen muß, ob man mit der erreichbaren Geschwindigkeit hin kommt.
Du brauchst definitiv PWM (pulse with modulation/Pulsweitenmodulation)?
Oder reicht Dir ein einfaches 'HIGH' als Ausgang - dann noch: In welcher Spannung muß das Signal abgegeben werden?
Was ist ein PG-Ausgang?
Wenn der Ausgang ebenfalls aktiv auf 0V schaltet (Push-Pull-Stufe), dann ist die Erfassung, sofern keine anderen externen Umstände greifen, trivial.
Ich entnehme Deinen Ausführungen, daß 'immer der nächste Ausgang' geschaltet werden soll, wenn am Eingang ein Impuls erkannt wird - bzw. eine der Flanken.
Prellt das Signal? Bei elektronischen Ausgängen kann man hier normal 'Nein' antworten - bei Relais-Ausgängen ist ein Prellen aber definitiv gegeben.
Was passiert, wenn das 15.te Signal erkannt wird bzw. wie wird die Schaltung in den Grundzustand zurück versetzt?
Schreibe bitte etwas genauer, was Du willst - bitte nicht, wie Du denkst, Das erschlagen zu können.
Ein µC kann eigentlich ALLES steuern, nur maß zwischen Ihm und der Welt oft noch ein Zwischending, daß sowohl die Welt den µC versteht, wie auch, daß der µC die Welt auch überlebt.
Da steht Digital PWM 0-13 = 14 richtig? Sind also nicht alle 14 nutzbar?
Und zwar schickt ein Alarmsystem über einen Programmieren Ausgang ein Signal, das an ein Funk Relais 12V geschickt wird.
Ausgangslast des Relais: max. 1 A 30 V GLEICHSTROM und ich kann festlegen ob NC oder NO.
Die entsprechenden Komponenten die an den Digitalen PWMs hängen, benötigen 3,3 - 5V, mehr nicht. Daher liegt immer Minus an, und die digitalen PWMs sollen dann die Plus Spannung durch schicken, um die Komponente auszulösen. (Wenn + und - Anliegt). Die Zeit wo die Digitalen PWMs was schicken sollen, dauert nicht länger als 60sek und kann danach deaktiviert werden.
Dieses Signal soll auf das Arduino geschickt werden, in Form von Verkabelung. Darauf hin soll das ganze so Programmiert werden, das jedes mal wenn ein Signal geschickt wird, einer der Digitalen PWMs geschalten werden soll auf dem Arduino. Aber immer in fortlaufender Reinfolge, und beim erreichen des letzten Digitalen PWM, soll das ganze Resetet werden und von vorne anfangen.
Was mir aus Deiner Beschreibung nicht klar ist, wofür Du überhaupt PWM brauchen willst. Für mich klingt das nach einfach einen Ausgang einschalten (HIGH).
Na das Problem ist, ich habe als Beispiel 14 Komponenten, die immer fortlaufend geschalten werden sollen, wenn ein neues Signal kommt. In dem Falle ist das Schalten, einfach nur das Herstellen von 3,3 - 5V Spannung.
Wenn das Signal von der Alarmanlage kommt, dürfen eben nicht alle 14 Komponenten gleichzeitig auslösen. Die sind daher alle 14 einzeln Verkabelt.
Da diese Funktion in dem Alarmsystem nicht vorgesehen ist, hatte ich mir gedacht das über ein externes Board, in dem Falle das Arduino zu realisieren, weil ich ja dort 0-13 Digitale PWMs habe?!?!
Damit sagst Du klar, dass Du überhaupt kein PWM brauchst. Damit kannst Du die digitalen Ausgänge 2-14 und 2 Analoge Pins als digitale Ausgänge benutzen und auf HIGH (knapp 5V) schalten.
Damit bleiben die D0 und D1 frei für die Programmierung.
Achso ok, Und jetzt ist das Problem, wie setze ich das um in der Programmierung? Wie gesagt, derzeit 0 Kenntnisse vorhanden. Und auf welchem Eingang muss ich gehen, um das Signal von dem Relais auf das Arduino zu schicken? V IN?
Daß Du NULL Ahnung hast, solltest Du noch ein paar Mal wiederholen, sonst glaubst Du selber nicht wirklich dran: hör auf mit dem Scheiß, schreibe, daß Du Das lernen willst - sagt das Gleiche aus, gibt Dir aber eine positive Einstellung.
MfG
PS: Was kannst Du zu Vin heraus finden?
Und bitte Noch ein Mal: WAS willst Du wirklich?
MALE Das am Besten auf, in möglichst kleinen Schritten.
Da könntest Du z.B. A2 nehmen. Vergiss aber nicht einen Spannungsteiler vor zu schalten, damit nicht mehr als 5 V am Arduino ankommen, sonst grillst Du den.
uwefed:
Ich lese in der BeschreibungAußerdem kannst Du mittels PWM nicht einfach aus 5V keine 3,3V machen.
Werde konkret: Was willst Du denn ansteuern?
Grüße UWe
Ok, also wir legen uns auf 5V fest. 3,3V brauch es mindestens, verträgt aber auch 5V ohne Probleme.
Was will ich ansteuern. Eine Komponente, die eben bloss die 5V brauch um Auszulösen. Hier soll also nur Strom durchgeschleift werden, bei ankommenden Signal. Ich versuche es mal aufzumalen. postmaster-ino. Natürlich möchte ich es verstehen und auch lernen, habe eben derzeit keinen Ansatz.
Treibladung klingt jetzt etwas nach amerikanischen Verhältnissen ... ich sprenge Jeden weg, Der auf meinem Grund Nichts zu suchen hat
Wie viel Strom brauchen die einzelnen Kreise vom Arduino?
Wenn der Kreis selber eine eigene Versorgung hat und wirklich nur vom Arduino gesteuert wird (<20mA), sollte Das gehen.
Hier müsste man ggf. unterbinden, daß mehrere Kreise gleichzeitig aktiv werden können.
Wenn Dein Funk-Relais 12V UND 0V aus gibt (Nachmessen), würde Dir zur Erkennung eine simple Diode reichen, sonst geht aber auch ein Spannungsteiler im Verhältnis 5+7, um auf gesunde 5V zu kommen.
Die Beispiele in der IDE können Dir bereits einen Eindruck davon geben, was Du Alles brauchen können wirst.
Z.B. digitale Eingänge auslesen, ein Endprellen der Eingangs-Signal (kommt von einem Relais, also mechanisch).
Dann kannst Du noch schauen, ob Du je Tastendruck 'um Eins hochzählen' hinbekommst.
Das stimmt. Normalerweise reicht hier ein Impuls aus!
Laut Produktdatenblatt folgendes:
Aktivierungsspannung: 1,5 - 12V (Wir haben uns ja jetzt auf die 5V festgelegt aufgrund des Arduino).
Zündenergie (garantierte Aktivierung): 2,5mJ / Ohm
Erforderliche Strom(4 mSec) für garantierte Aktivierung: 2A
Sicherer Strom(max 5 Minuten): 0,36A
Jetzt stellt sich die Frage, ob das Arduino überhaupt solche Spannungen zu lässt? Ich meine die 5V Minus vom Netzteil bringen die 2A. Aber ob wir 2A durch das Ardunio bekommen?
Sorry, hab jetzt erst gerade das genaue Datenblatt erhalten von den Komponenten.