- 12V Akku mit 280 Ah bauen         
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Anfänger/AVR mega32/Multiplexer 4051

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.12.2005
    Alter
    58
    Beiträge
    31

    Anfänger/AVR mega32/Multiplexer 4051

    Anzeige

    E-Bike
    Hallo Leute,

    tolles Forum hier! Bin begeistert über so viel Information in deutscher Sprache...ist halt doch leichter zu lesen und zu verstehen...

    Ich möchte mir einen mega32 Programmieren und dabei ein bestehendes Projekt auf Basis eines PIC umstricken.
    Bevor ich jedoch Geld in Board, Controller und Bascom stecke, läst mich eine Frage nicht los die ich gerne vorher geklärt hätte.

    Würde mich sehr freuen wenn mir jemand von Euch weiter helfen könnten!

    Problem:
    8 analoge Inputs auf 32 aufbohren.
    (geht ganz offensichtlich über den o.g. Multiplexer 4051 (4 Stück davon)).

    Ich habe so eine Musterplatine und auch die Pin-Belegung für einem PIC18F452.

    Meine Frage:
    Kann ich die Port (analog) des mega32 ebefalls multiplexen?
    Wenn ja, wie frage ich die 32 Ports dann in Bascom ab?
    Wo müssen Adress-Leitungen usw. hin?

    Ein kleines Muster wäre sehr hilfreich.
    Es muss kein komplettes Konzept sein - um Himmels Willen!
    Ich freue mich auch schon über ein paar kleine Schnipel die mich auf den richtigen Weg bringen!

    Viele Dank an alle und sorry für so eine (Anfänger)-Frage!
    Bin mit Sicherheit ab sofort öfter hier und hoffe auch einmal etwas zum Erfahrungsschatz hier beitragen zu können...

    Codejoker

    Edit: korrektur

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    03.12.2005
    Alter
    58
    Beiträge
    31

    ATmega32 + 4051 Multiplexer

    Kann mir denn wirklich niemand helfen ???

    Ich müsste lediglich wissen wie ich eine (oder mehrere) 4051 an einen
    ATmega32 schalte und die Ports dann Abfrage.

    Kleiner Tipp vielleicht?

    Gruß
    codejoker

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Hi, ich bin derzeit am Basteln für einen "Hackbrett"(sei eine Art Musikinstrument mit 64 Saiten)-auf MIDI Converter mit Mega32.
    Dabei muß ich flottest 64 Piezosensoren (+ Vorverstärker) mit ADC einlesen.
    D.h. ich habe auf jeden ADC-Input so einen 4051 hängen, die Select-Pins dieser Chips sind parallel auf drei Digital-Pins des Mega's. Auswahl dann eben durch die Select Leitungen + ADC-Channel.
    Ist im Detail dann noch etwas komplizierter, da ich nicht einfach nach der Reihe alle 64 abfragen kann, aber bis dahin ist es offenbar recht ähnlich zu dir.
    Wo steckt bei dir die Ungewißheit ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    03.12.2005
    Alter
    58
    Beiträge
    31
    Hallo PicNick,

    das ist ja klasse, danke für die Antwort!

    Ich kenne Hackbretter und es trifft ganz und gar auf meine Anwendung zu!
    Ich möchte eine "Tastatur" mit Piezos ausstatten und per Midi einen Sampler ansteuern.
    Habe also genau das selbe "Projekt" wie Du.

    Mensch, könntest Du mir da (gerne auch per Mail wenn zu umfangreich)
    Deine bissherigen "Schaltungen" zukommen lassen.
    Details zum Programmablauf wären auch sehr interessant...

    Ich würde mich wirklich freuen über Deine Hilfe - noch dazu weil die
    beiden Projekte praktisch identisch sind.

    Danke im Voraus für jegliche Unterstützung!

    Gruß
    Codejoker

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    warum 1:8 multiplexer?
    nehmt doch den 4067 1:16 oder 4097 2x 1:8 ?

    ist im prinzip doch ganz einfach, der ATMega braucht zum Laufen nur Saft
    an den Vcc und GND, dann läuft der schon mit 1MHz im Auslieferungszustand.
    Per Fuses könnt ihr den intern mit 8MHz laufen lassen.
    Ok, für viel Rechenpower brauchts halt n Quarz an XTal1 und XTal2 mit 220nF
    gegen GND.

    Dann braucht ihr 1 - 2 Ports vom Port A, die gehen als ADCin.
    Zum Verwenden des ADC braucht ihr noch die ARef als vergleichsspannung.
    für die auswahl des Muxports braucht Ihr noch 3-4 Datenleitungen um die
    Multiplexer mit Adressen zu versorgen. Hier würde sich dann der Port B
    anbieten, je nach dem was der Mega halt noch können muss 3-4 der verpleibenden Ports.

    Schon kanns losgehen mit der Programmierung
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    03.12.2005
    Alter
    58
    Beiträge
    31
    Hallo Vitis,

    vielen Dank! Der Tipp mit der Alternative 4067 ist gut!

    Ok, die Beschaltung scheint also nicht DAS große Thema zu sein...
    Aber wie sieht es mit der Verarbeitung in Bascom aus?
    Wie komme ich möglichst schnell an alle 16/32/oder mehr Eingänge ran,
    bzw. wie werden diese abgefragt oder besser signalisiert?

    Hast Du da vielleicht einen Code-Schnipel auf dem ich aufbauen könnte?

    Vielen Dank für Deine Info - hat mich wieder ein Stück voran gebracht!

    Gruß
    Codejoker

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Beispiel Port B 0 bis 2 zur Ansteuerung:

    DDRB=00000111

    PortB= 00000000
    PortB= 00000001
    PortB= 00000010 etc.
    bis
    PortB= 00000111

    danach jeweils GetAdc

    so in etwa läufts, schau mal in die Bascom Hilfe für die exakte
    Syntax ... ach so, Config für den ADC nicht vergessen.
    Du kannst auch einfach ne for - next - Schleife verwenden und
    den Port einfach hochzählen und bei jedem Schritt fragste den
    ADC ab, thats it
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Meine Auswahl für 4051 und nicht auf 1:16 oder mehr ist, daß die Sache mit den 64 ADC-Pins auf irgendeinem Stecker ja nicht getan ist.
    Ich brauch für jeden Piezo einen Vorverstärker und Gleichrichter.
    Dann mußte ich das Problem lösen, daß ich ja nicht gemütlich die 64 Kanäle gemütlich nacheinander abfragen kann, das würde zu lange dauern. Ich kriege ja Peaks, die recht schnell abfallen. der gemessene Pegel würde zu sehr davon abhängen, WANN ich zu dem Channel hinkomme.
    Ich mach das mit Komperatoren bei jedem Piezo, der mir ein Triggersignal über Row & Column liefert, wie eine Tastatur. Ich meß dann nur den oder die Kanäle mit ADC, die auch getriggert haben.
    Das ergibt ne Menge Leitungen, die bei einer 1:16 Muxerei einfach nicht mehr sinnvoll zu verkabeln und layouten sind
    (Weil ich mir eine SMD Fummlerei einfach nicht antue)
    Außerdem, wenn ich im Mega bereits 8 ADC habe, nehm ich die auch.

    BTW: AN sich macht man das bei tatsächlichen Keyboards (Tasten) eigentlich NICHT mit Piezos, sondern mit Doppeltasten für die Anschlagsgeschwindigkeit. Ist dadurch viiiiel einfacher
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Zum Gucken stell' ich mal Teile der Schaltungen rein. Einiges davon ginge wahrscheinlich einfacher und eleganter (was die Vorverstärker betrifft) aber da ich keine Fehlschläge brauchen kann (muß beim ersten Mal gleich funzen), bin ich sehr konventionell und brav geblieben.
    Beim Board sind Tasten und display wegen der Einbau-Art nicht erwünscht, also hab' ich aber doch (obwohl nicht verlangt) eine MIDI Input Schnittstelle vorgesehen, um über Sequencer und Komputer und Sysex oder so Kontrollmöglichkeiten zu haben.
    Und nur zum Entwickeln und Testen hab ich auch einen MAX für ein RS232 Interface drinnen (Jumper MIDI od. RS2323), weil das einfach praktischer ist.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken board_168.jpg   pre1.jpg  
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    03.12.2005
    Alter
    58
    Beiträge
    31
    Hallo Vitis und PicNick,

    vielen Dank für die Infos!

    @Vitis, soweit so klar.
    Aber wie PicNick schon erwähnt hat sielt die Abfragezeit eine wichtige Rolle.
    Auch in meinem Fall sind es Spitzen die ohne „verzögerung“ gemessen und
    ausgewertet werden müssen.
    Die Abfrage in einer Schleife ist da vermutlich zu langsam…

    Aber danke trotzdem – es ist in jedem Fall eine Anregung zum weitermachen!

    @PicNick: Deine Schaltung ist sehr interessant!

    Ist mir aber leider viel zu hoch, da steig ich im Moment noch nicht durch…

    Der Vorverstärker ist ja noch klar…aber dann…
    Ich dachte dass ich das „relative einfach“ über die 4051 bzw. 4067 lösen
    könnte. Puh, das ist deftig!

    Wir bekommst Du das Programmtechnisch unter Kontrolle?

    Wie viel Zeit ginge Dir verloren bei einer „seriellen Abfrage“ in einer Schleife?

    Geht da gar kein Weg hin? Ich bräuchte wie gesagt so an die 32-40 Kanäle.

    Grüße
    Codejoker

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests