Show Posts
Pages: [1] 2 3 ... 26
1  International / Deutsch / Re: 328P flashen und Sketch übertragen on: Today at 12:48:09 pm
Hallo,

der USBasp und ein 10 - oder 6 poliger ISP Header in jedem Projekt sparen dir die serielle Schnittstelle und den Verdruss, wenn du dich selbst aussperrst, weil du den Bootloader mal zerballert hast oder Ausversehen mal die I/O's 0 oder 1 genutzt hast  smiley-twist
Mit eXtreme Burner kannst du auch die Fuses direkt bearbeiten oder einen Bootloader clonen, ohne die Verrenkungen der IDE. So kann man sich mehrere Standardeinstellungen zurechtlegen. Mit 16 MHz Quarz, mit 8 MHz internem Takt usw.
Hier eine Variante mit dem internen 8 MHz Takt, wenn es um nichts Zeitkritisches, sondern nur ein bisschen Geblinke, oder so, geht  smiley-wink
http://www.ediy.com.my/index.php/projects/item/86-minimal-arduino-with-8mhz-internal-clock
Die habe ich erfolgreich getestet. Spart ein bisschen Verdrahtung und ein paar Cent Material - und du kannst auch mal mit der Spannung runter gehen, wenn du z.B. 3,3V Sensoren hast.

Gruß Gerald
2  International / Deutsch / Re: 74HC595 Ansteuerroutine als eigene void auslagern? on: Today at 11:47:36 am
Ich war so nahe dran  smiley-red
Ich habe es irgendwie nicht gebacken gekriegt, in der Funktionsdefinition mit int index noch eine weitere Zwischenvariable zu definieren. a Steckte in der Funktion, das nahm er nicht als Argument.
Ich habe jetzt gleich noch als 2. Argument die Zeit mit übergeben. 
Code:
int takt = 9; // SH_CP
int speicher = 8; // ST_CP
int daten = 10; // DS
int dimPin = 6;
byte a[]={
  0b00000000,
  0b00000001,
  0b00000010,
  0b00000100,
  0b00001000,
  0b00010000,
  0b00100000,
  0b01000000,
  0b10000000,
  0b11000000,
  0b11100000,
  0b11110000,
  0b11111000,
  0b11111100,
  0b11111110,
  0b11111111
};

void setup(){
pinMode(takt, OUTPUT);
pinMode(speicher, OUTPUT);
pinMode(daten, OUTPUT);
pinMode(dimPin, OUTPUT);
analogWrite(dimPin, 0);
}
void shift595(int index, int t)
{
   digitalWrite(speicher, LOW);
   shiftOut(daten, takt, MSBFIRST, a[index]);
   digitalWrite(speicher, HIGH);
   delay(t);
}

void loop(){
shift595 (1, 100);
shift595 (2, 100);
shift595 (3, 100);
shift595 (4, 100);
shift595 (5, 100);
shift595 (6, 100);
shift595 (7, 100);
shift595 (8, 100);
shift595 (9, 100);
shift595 (10, 100);
shift595 (11, 100);
shift595 (12, 100);
shift595 (13, 100);
shift595 (14, 100);
shift595 (15, 100);
shift595 (0, 250);
shift595 (15, 100);
shift595 (0, 250);
shift595 (15, 100);
shift595 (0, 250);
}
so geht's vermutlich am einfachsten. Kann dann bei Blitzsequenzen, wie unten, oder Mustern, die mehrmals laufen sollen, ja dann noch mit Schleifen arbeiten. Jedenfalls funzt es mit minimalem Tippaufwand. Copy & paste und nur noch Position im Arry und Zeit übergeben und fertig  smiley-grin
Danke nochmal, fürs auf die Sprünge helfen. Manchmal sieht man den Wald vor lauter Bäumen nicht.

Gruß Gerald
3  International / Deutsch / 74HC595 Ansteuerroutine als eigene void auslagern? on: Today at 09:54:42 am
Hallo,

ich stehe gerade bei einem simplen Problem auf dem Schlauch  smiley-red
Das hier funktioniert:
Code:
int takt = 9; // SH_CP
int speicher = 8; // ST_CP
int daten = 10; // DS
int dimPin = 6;
byte a[]={
  0b00000001,
  0b00000010,
  0b00000100,
  0b00001000,
  0b00010000,
  0b00100000,
  0b01000000,
  0b10000000,
  0b01000000,
  0b00100000,
  0b00010000,
  0b00001000,
  0b00000100,
  0b00000010
};

int i;
void setup(){
pinMode(takt, OUTPUT);
pinMode(speicher, OUTPUT);
pinMode(daten, OUTPUT);
pinMode(dimPin, OUTPUT);
analogWrite(dimPin, 0);
}

void loop(){
for(i=0;i<14;i++){
digitalWrite(speicher, LOW);
shiftOut(daten, takt, MSBFIRST, a[i]);
digitalWrite(speicher, HIGH);
delay(200);
}
}

Ich will aber das hier als eigene Funktion, z.b. void shift595 in die void setup auslagern, so das ich dann shift595 i direkt übergeben kann. So würde ich diese 3 Zeilen Code nur 1x als Funktion definieren.
Sinn des Ganzen ist, das ich noch ein paar Muster mehr ins Arry packe und die dann über shift595 direkt anspringe. Wie muß ich vorgehen? Ich kriege ums Verrecken nicht i (wofür ich dann ganze Zahlen nehme) übergeben  smiley-yell
An analogWrite(dimPin, 0); stört euch mal nicht, das geht auf den Output Enable des 595. Später gehört dann optional noch ein analoger Eingang mit Fototransistor dazu. Das funktioniert in einem anderen Projekt so und ich habe den Code nur als Option gelassen und hart verdahtet, für volle Helligkeit.
Genau deswegen nutze ich nicht die I/O's des Arduino, sondern nehme den 595, da ich dann alle Ausgänge auf eine gemeinsame Helligkeit dimmen kann. Der 328 hat keine 8 dimmbaren Ausgänge  smiley-wink

Gruß Gerald
4  International / Deutsch / Re: Lichtdurchlässiges Material on: July 29, 2014, 03:35:27 pm
Plexigals rauchfarben geht auch, wenn des stark genug getönt ist. Solange auf Seiten der LEDs kein Licht von außen eindringt, siehst du vom Hintergrund nichts. Das Schwärzen der Kammer bringt auch noch was. Alternativ zu Plexi ginge auch noch Heckscheibentönungsfolie. Da die nicht fürs Auto sein soll, kannst du das Billigste von Ebay, oder aus dem Ausland nehmen. Braucht ja hierfür keine E-Nummer  smiley

Gruß Gerald
5  International / Deutsch / Re: Platinen-Abstandshalter m. Gewinde: welche? on: July 25, 2014, 03:51:54 pm
Wenn man keine Kreditkarte hat, es gibt auch Prepaid-Kreditkarten  smiley-cool
Einfach mal danach googeln.
6  International / Deutsch / Re: Platinen-Abstandshalter m. Gewinde: welche? on: July 25, 2014, 05:49:53 am
Hier was Passendes - liefert auch gleich die Schlagworte zur Suche  smiley-wink
http://www.aliexpress.com/item/Nylon-Hex-Spacer-Screw-Nut-Assortment-Kit-Standoff-Plastic-Accessories-Set/1285757766.html
7  International / Deutsch / Re: Platinen-Abstandshalter m. Gewinde: welche? on: July 25, 2014, 04:49:38 am
Kommt immer drauf an, was du machen willst. Mir langt M3, wenn du nicht gerade große Chassis bauen willst. Aus Plastik gibts die Dinger auch und für eine Eurokarte langen die auch, wenn nicht gerade ein riesiger Kühlkörper drauf ist. Guck mal bei Reichelt oder TME. Der freundliche Chinese (Aliexpress) führt sowas auch, wenn du viel Zeit mitbringst. Ich nehme eine Seite Männlein und eine Weiblein. So kann ich auch stapeln und muß nicht passend bestellen, wenn ich das Zeug gerade brauche und es schnell gehen soll. Ich habe immer einen kleinen Vorrat (so um die 20 Stück). Momentan 8 und 10 mm. Durch Kombination kann man alle möglichen Maße abdecken. Dazu verschiedene Längen M3 Schrauben, ein paar Muttern und ne Gewindestange und schon hast du für so ziemlich alle Eventualitäten was da.

Gruß Gerald
8  International / Deutsch / Re: Alles nur Schall und Rauch! on: July 24, 2014, 04:42:35 pm
Bei mir brauchte der Groschen ein paar Minuten zum Fallen  smiley-grin
Der Ventilator über der Bassbox moduliert quasi das Signal, ob Null oder Eins. ich habe mich anfangs gefragt, warum der Rauchring mal oben und mal unten durchgeht.
Es müßte aber auch rein seriell über ein Zeittelegramm gehen.
9  International / Deutsch / Re: Arduino Nano 7 Segment Serial RTC on: July 24, 2014, 04:27:54 pm
Hat jetzt zwar nichts mit deinem Problem zu tun, aber ich würde bei Map nicht Null als kleinsten Wert nehmen, sondern  1 oder 5 (experimentell).  Sonst ist bei völliger Dunkelheit auch das Display komplett aus  smiley-razz
War bei mir jedenfalls so. Eventuell mußt du bei Map auch den kleinsten u. den größten Wert tauschen, oder du tauscht halt Fotozelle und Widerstand vom Spannungsteiler gegeneinander.
Nächster Punkt ist, das du die Betriebsspannung mal mit dem Multimeter messen solltest und dann in der Formel statt (dem Idealwert 5) den real gemessenen Wert einträgst. Es können mal eben auch 4,86V sein. Meist werden laut den IC-Datenblättern +/-0,25V ganz offiziell toleriert.  smiley-wink

Gruß Gerald
10  International / Deutsch / Re: Poti mit einem DAC ersetzen on: July 23, 2014, 03:39:26 am
Ein R2R Netzwerk wäre eine weitere Lösungsmöglichkeit. Ein Hunderterpack identische Widerstände Metallschicht mit 1% Toleranz - entweder einen für R und für 2R zwei in Reihe, oder für 2R einen und für R 2 parallel. Dazu ein paar kleine DIL-Relais mit dem Arduino über Treibertransistoren angesteuert und fertig  smiley
11  International / Deutsch / Re: Aus einem NTC mach drei? on: July 19, 2014, 08:28:02 am
Da NTC's eine stark nichtlineare, ja eher exponentielle Kennlinie haben, könnte es klappen. Aber sag mal, warum um Gotteswillen willst du so ein Fertigmodul hernehmen?  smiley-eek
Nimm lieber einen Arduino, der hat 6 Analogeingänge. An 3 davon jeweils einen Spannungsteiler aus jeweils einem NTC und einem Festwiderstand und ein bisschen Code und du kannst sauber jeden NTC einzeln abfragen. Wenn alles so funktioniert, wie es soll, dann nimmst du entweder einen Pro Mini vom freundlichen Chinesen, oder einen nackten 328 Chip, einen 16 MHz Quarz, 2x 22p KerKos, 100n KerKo und 47µ Elko über die Versorgungsspannung und noch ein RC Glied als PowerOn Reset und einen 6-oder 10 pol. Wannenstecker, bzw. eine doppelreihige Pfostenleiste zum ISP-Proggen. Bequemer kannst du es garnicht haben  smiley-grin

Gruß Gerald
12  International / Deutsch / Re: 24v>5v: StepDOwn oder einfachen 7805? on: July 18, 2014, 11:43:07 am
Ich arbeite seit Jahren gerne mit dem LM2576, dem Vorgänger des LM2596. Funktioniert ebenso problemlos, wie die Linearregler, nur eben schön kühl  smiley
Shottkydiode wurde schon angesprochen, bei der Induktivität auf genügend Maximalstrom achten und der Ausgangselko sollte möglichst low ESR sein. Ich nehme da die goldenen Panasonic bei Reichelt. Und 105°C Typen sowieso.
Von Spannungsversorgung über Power-KSQ (Konstantstromquelle) für Power-LED's taugt der für alles  smiley-grin
Von den China-Fertigmodulen halte ich in diesem Fall nichts, da die verwendeten Bauteile mir nicht hochwertig genug erscheinen.
Wenn der Elko nix taugt, ist die Restwelligkeit zu hoch, bei mech. kleiner Drossel ist diese meist unterdimensioniert und der Wirkungsgrad fällt, weil sie in Sättigung geht. Springt der Spindetrimmer, ist u.U. die am Ausgang hängende Elektronik zum Teufel, denn ein Arduino tolleriert nun mal keine 12 oder 24V Ub  smiley-evil

Gruß Gerald
13  International / Deutsch / Re: Wägezelle on: July 16, 2014, 11:00:33 am
Hallo,

da gibts schon eine maßgeschneiderte Lösung für  smiley
Nennt sich HX711 und wird vom freundlichen Chinesen inc. Porto auf einem kleinen, briefmarkengroßen Board für unter 3€ inc.Porto verschickt.
http://www.ebay.de/itm/370951051864?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
Fertigen Code gibts auch dafür. Brauchst nur in der Formel die Werte auf deine Wägezelle anpassen.
Hab mir so ein Platinchen bestellt, bin aber noch nicht dazu gekommen, das mal auszuprobieren.

Gruß Gerald
14  International / Deutsch / Re: Solid State Relay defekt ? on: July 13, 2014, 08:33:41 am
Was für ein Verbraucher hing denn an dem defekten Ausgang?
Eine Induktivität (Motor, Hubmagnet, Magnetventil...) erzeugen einen hohen Spannungsimpuls beim Abschalten. Ein Motor z.B. hat einen hohen Einschaltstromstoß. Und wenn noch ein Getriebe oder einen Schwungscheibe mit dranhängt, fällt der noch größer aus.
Bei SSR's und Halbleitern im allgemeinen wird der maximale Dauerstrom angegeben. Irgendwo im "Kleingedruckten" findet man auch noch einen periodisch zulässigen Spitzenstrom und einen einmalig zulässigen Spitzenstrom, nach dem der Halbleiter dann für eine gewisse, auch mit angegebene Zeit stromlos bleiben muß, damit er auskühlen kann. Blöderweise hat ein SSR nach dem Einschalten aber keine Zeit zum Auskühlen...  smiley-evil
Es bleibt einem also nichts anderes übrig, als entweder aufwendig zu messen (wenn man in Serie produziert, rechnet sich das, da man dann ein Bauteil aussuchen kann, das das gerade so aushält), oder man muß großzügig überdimensionieren oder in irgendeiner Form für eine Einschaltstrombegrenzug sorgen.
Der nächste Punkt ist die sogenannte "Überkopfzündung" von Thyristoren und Triacs (die meist in SSR's verbaut oder integriert sind).
Bei einem induktiven Verbraucher gibt es eine Phasenverschiebng und der Strom hinkt der Spannung hinterher. Allerdings fließt auch noch Strom, wenn keine Spannung mehr anliegt. Ein Thyristor braucht aber zum sicheren Sperren vor der nächsten Halbwelle eine sogenannte "Ausräumzeit", bis alle Ladungsträger im Kristall rekombiniert oder abgeflossen sind, ehe wieder Spannung angelegt werden darf. Ansonsten zündet er "Über Kopf", da er noch nicht wieder richtig sperrt. Dem beugt man mit einem sogenannten Snubber vor. Das ist nichts anders als eine Reihenschaltung aus einem niederohmigen Widerstand und einem hinreichend spannungsfesten Kondensator von ein paar Dutzend Nanofarrad. Manche SSRs enthalten bereits einen Snubber.
In der Praxis funktioniert zwar Vieles "einfach so", aber wenn es Probleme (Ausfälle) gibt, kommt man um ein paar elektrische Grundlagen nicht herum, wenn man dauerhaft Abhilfe schaffen will, bzw. verstehen will, WARUM etwas Probleme macht  smiley-wink

Gruß Gerald
15  International / Deutsch / Re: USB ISP Programmer on: July 10, 2014, 11:28:24 am
Sollte einfacher, als gedacht, funktionieren. Unter folgendem Pfand findet man das Config File.

C:\Program Files\eXtreme Burner - AVR\Data\chips.xml

Nach dem Muster der vorhandenen Chips sollte es mit den passenden Chip-ID's dann möglich sein, dem Programm weitere ATMELs beizubringen  smiley
Pages: [1] 2 3 ... 26