Beiträge von steveLB

    immer wenn man Port C nutzt und etwas nicht geht, sollte man folgendes prüfen
    hier mal was zu lesen, zitat von - http://www.rn-wissen.de/index.…ktivieren.2F_deaktivieren -
    JTAG aktivieren/ deaktivieren


    Um JTAG zu aktivieren, müssen die beiden Fusebits JTAGEN und OCDEN programmiert werden. Dies ist im Auslieferungszustand der AVRs bereits der Fall. Falls sie zuvor umprogrammiert wurde, müssen sie erst wieder über die ISP-Schnittstelle programmiert werden, bevor ein JTAG-Zugriff möglich ist.


    Zu beachten ist jedoch, dass die Pins des JTAG-Interfaces am AVR jetzt nicht mehr als normale IOs genutzt werden können! Dies ist eine beliebte Anfängerfalle. Das Problem: "einige Pins an Port C funktionieren nicht!" taucht regelmäßig im Forum auf. Die Lösung ist es, das JTAG zu deaktivieren. Falls man es sowieso nicht nutzen will, schaltet man es über die Fusebits ab. Alternativ kann man es aber auch per Software deaktivieren. Dazu muss man das Bit JTD im Register MCUSR innerhalb von vier Takten zweimal setzen. Danach kann man die Pins im Programm wieder frei benutzen. Der JTAG-Programmer kann trotzdem noch eine Verbindung zum Programmieren (nicht zu Debuggen!) aufbauen, indem er den AVR über die NSRST-Leitung resettet.

    genau, der DTU kann 55 A , also ist er eh schon ausreichend dimensioniert dafür
    Der doppelte Strom, bringt 4-fache Verlustleistung mit sich. Lass es laufen und prüf mit dem Finger ob es heiß wird. Nicht nur am Anfang sondern auch noch nach 5 und 10 Minuten.
    Oder rechne dir die Verlustleistung dabei aus.

    Du kannst dir für das Bauteil eine Lib anlegen und das Bauteil nochmal zeichnen.


    Oder du exportierst die Bauteile aus dem Projekt in eine Lib.
    Dafür gibt es den Knopf "ULP" in der Leiste links neben den ganzen Zoom Symbolen. Dort öffnest du die ULP "exp-project-lbr" und exportierst die Bauteile, drückst zuerst "Collect Data", danach "Create Library" dann solltest eine Lib mit dem Bauteil haben. Das ganze führst du im sheet aus, also im Schaltplan damit du Symbol, Package und Device bekommst, führst du es im Board aus, so bekommst nur die Packages.

    Drück den " I " Knopf und dann auf die Umrandung, dann siehst du in welchem Layer die Umrandung ist. Alles was im Layer 1 oder auch 16, oder je nachdem welchen du als Kupferlage definierst, wird der mit geätzt.
    Ich glaube aber, dass du dem "tPlace" Layer oder einen anderen den du dir auch anzeigen lässt, dir rote Farbe zugewiesen hast.
    Um den Layern die Farben zu geben, drückst du auf dem Knopf unter dem " I" , dann kannst du den Layern deine Wunschfarbe zuweisen.
    Bei Eagle sind normalerweise Layer 1-16 Kupfer, 17 Pads, 18 Vias, 19 unrouted, 20 Dimension etc...


    Edit wegen zweiten Post.
    Mit deinen Gerber sieht man das die Umrandung im Kupferlayer ist.


    Öffne im Controllcenter die dazugehörige Library, wechsle zu Package und ändere dort die Lage der Umrandung , gib einfach " ch layer " ein und wähle den Layer wo es hinsoll aus, danach klick auf die Umrandung. Abspeichern und dann im Schaltplan die Library aktualisieren.

    Also ohne dein Produkt zu kennen, vermute ich das es das ganze schon gibt. Für DMX brauchbare ICs gibt’s, dazu auch ICs die dir direkt eine PWM ausgeben oder Konstantstrom. 2048 Leds ansteuern, hier steht nicht " nur an/ aus" oder 8- 10- 16- bit PWM. Mit 8 bit und auch 10 bit gibts schon ICs sogar direkt auf dem Stripe. ( Hier im Forum zu suchen/ finden und lesen).
    "Neu ", zumindest als Fertiggerät in der Größe und für dieses Forum, wäre die Anbindung ans Smartphone.
    Apps zur Leuchtensteuerung und Dimmen gibt’s auch. Irgend ein Allerweltsfunk, Bluetooth oder Wlan, das wären die kabellosen, günstigen & gesuchten Möglichkeiten oder wie ein Haufen anderer Controller über Kabel. Im Netz findest aber schon lauffähige Projekte mit WLAN und Bluetooth. Die Größe, wäre interessant, doch wenn man SMD benutzt ist das Volumen einer Streichholzschachtel riesig für so was, also auch nichts wirklich weltbewegendes.


    D.h. du kannst hier ins Detail gehen, wenn du willst, du wirst nichts haben, was man nicht schon kennt. Außer du hast eine Art des Dimmens gefunden, das keine PWM nutzt, günstig, zuverlässig und flackerfrei ist.


    Aus dem ersten Eindruck den du hier hinterlassen hast, hast du irgendwas gebastelt was du im Internet noch nicht gefunden hast, wahrscheinlich weil du nicht richtig gesucht hast. Der zweite Punkt, so wie du schreibst und dich präsentiert hast, wirst du es schwer haben, etwas zu vermarkten.

    floating point , Gleitkomma, in einem Post vor meinem hattest du noch den Messwert mal 2,009 oder so nehmen wollen, man versucht so was zu vermeiden, das es auf einem µC länger braucht.
    Sein Vorschlag war statt einer 8-bit Variable eine 16-bit Variable zu nehmen und nur die obersten 8-bit zu nutzen. Da du das nicht mehr machst, entfällt das, musst dir kein Kopf mehr drüber machen.


    Nur ne Anmerkung:
    Ein Trick gibts noch, statt mit 2 oder 4 oder 8 zu multiplizieren oder zu teilen, kann man die bits um 1 oder 2 oder 3 nach rechts oder links verschieben.
    z.b. 0100 binär = 4 dezimal, teilt man das durch 2 bekommt man 0010 binär = 2 dezimal, verschiebt man dagegen die bits um 1 nach rechts hat man auch mit 2 geteilt.
    z.b. unter C
    unsigned char a = 0b00000100;
    a >> 1; wäre um eins nach rechts geschoben bzw. durch 2 geteilt ;) ( in a steht dann 0b00000010)


    egal, solang dein Code das macht was du willst ist alles bestens

    Ein Programm egal ob mit C oder Bascom geschrieben macht immer ein Schritt nach dem anderen, am Ende angekommen fängt er von vorne wieder an.


    Rechne mal was passiert wenn dein Messwert1 127,128, 129, 250, 255 ist.
    Bei 127 ist die erste Abfrage wahr und dein Messwert wird (*2,0078 ) auf 256,9 erhöht, passt das überhaupt in ein "word". Das zweite Problem, bei 127 wolltest du eigentlich das "Stop1" ausgeführt wird, was nicht eintreffen wird, da du mit jedem Messwert1 größer gleich 127 durch die Weiterverrechnung immer über 127 bleibst. In meinem Beispiel habe ich deshalb eine Hilfsvariable genommen. Somit bleibt der Messwert unberührt.
    Deine dritte Abfrage beinhaltet auch ein "=126" du fragst schon in der ersten Abfrage nach größer gleich 126, dann musst du bei der anderen nur noch kleiner 126 fragen, sonst wären ja beide Abfragen wahr bei einem Wert von 126, das willst du ja nicht. ( Ok, bei dir wird durch die Verrechung bei der ersten Abfrage die dritte ausgeschlossen).


    Bevor du also auf dem µC testet, prüf einfach was passiert wenn du eine Hand voll Werte durch dein Programm jagst, mit Stift und Papier (oder Hirn ;) ) Dabei nimmst du Werte um die interessanten Grenzen herum und einpaar zufällige. Passt das grob, dann simulierst/ testest du auf dem µC.

    wegen: Wie mache ich das jetzt in BASCOM, das von 128 zu 0 = 127 sind und von 128 zu 255= 127 sind?!


    Der Stick macht 0 bis 255.
    den ausgelesenen Wert frägst du ab ,
    -ist er größer oder gleich 127, dann ziehst du von 255 den gemessenen Wert ab und erhälst somit einen Bereich von 127 bis 0
    -else ( also alles andere, das wäre alles unter 127) , hier übernnimmst du einfach den Wert und hast somit ein Bereich von 0 bis 127
    Welches Beireich "nach vorn" und welcher "nach hinten" entsprich, das muss du wissen.


    Willst du tatsächlich wert 128 für Bremse nutzen , dann frägst halt am Anfang alles größer 128 ab, und wertest 128 getrennt aus.


    if ( messwert >128 ) { mein_nutz_wert = 255-messwert; Motor drehrichtung umkehren}
    if (messwert == 128 ) {Motoren bremsen}
    else {mein_nutz_wert = messwert; Motor drehrichtung umkehren}

    ok, da ist die nur beschrieben, aber der Inhalt der Funktion ist wohl in irgend einem include file der Arduino libs.
    Wenn es zufälliger sein soll, dann kann man die Temperatur noch messen und die Spannung die gerade deine Schaltung braucht und die Werte mit dem Zufallsgenerator verkuddeln, dann ist alles etwas zufälliger ;)

    wenn man einen roten Edding nimmt und 2 cm lange senkrechte Striche auf den Flügeln malt, dann dreht sich der Lüfter schneller und speist sogar noch Energie zurück, nennt sich der "spinning red stripe effect", gab letztens ein Bericht darüber.