- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 13

Thema: Mega 8 für Intervallauslöser

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hallo,

    um den internen Pullup einzuschalten mußt Du Portd.0 = 1 und nicht Pind.0 = 1 schreiben!


    Äquivalent natürlich auch die anderen Pins.


    Wenn "waitms 1000" keine Sekunde ist, stimmt was nicht mit dem Takt, mit dem der Mega8 läuft. Quarz? Fuses? $CRYSTAL Angabe?


    Gruß
    Searcher
    Geändert von Searcher (08.07.2011 um 15:17 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    17.08.2005
    Ort
    Pegnitz
    Alter
    36
    Beiträge
    36
    Hi Searcher,

    ohh wieder was dazu gelernt gut ich werde es ändern.

    An dem µC habe ich ein 3,686411Mhz Quarz dran und jeweils an jedem Pin einen 22pF Kondensator dran.

    Klicke auf die Grafik für eine größere Ansicht

Name:	Fusebits.jpg
Hits:	9
Größe:	87,0 KB
ID:	19277

    So sieht es bei mir aus wenn ich die Fuses auslese. hab schon versucht ihn auf Ext. Crystal umzustellen aber dann scheiterts mit der Verbindung.

    Gruß Johannes

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hi,
    leider kenne ich das Programm nicht, mit dem Du die Fuses ausliest. Die Angabe von HIGH und LOW nach Lesen der Fuses mit jeweils 0x00 ist sehr unplausibel und kann eigentlich nicht stimmen. Da müßtest Du vor dem Fuse schreiben nochmal überprüfen, ob das richtig ausgelesen ist und mit den default Werten aus dem Datenblatt vergleichen.

    Wenn die Fuses noch nicht verändert worden sind, sollte der Mega8 mit 1MHz laufen. $crystal auf 1000000 sollte dann auch die Sekunde bei waitms 1000 bringen.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    17.08.2005
    Ort
    Pegnitz
    Alter
    36
    Beiträge
    36
    Hi,
    das auslesen der Fuses hab ich mit AVR Studio 4 von Atmel gemacht.
    Einen Mega8 hab ich ja noch und der mySmartUSB light Progger dürfte nächste Woche auch eintreffen. Hoffentlich liegt es an meinem bisherigen http://cgi.ebay.de/USB-ISP-Programme...item5d2f6a7047 Adapter.

    Gruß Johannes

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Einen Mega8 hab ich ja noch
    Glaubst Du der Mega8 wär defekt? Wahrscheinlich nicht! Programm läßt sich doch flashen? Vielleicht ist die Programmier/Auslesegeschwindigkeit für die Fuses zu hoch/niedrig. Kenne leider den Programmer und AVR Studio nicht.

    Bis das Problem gelöst ist kannst Du ja Dein Programm nochmal überarbeiten. Die Prellunterdrückung kommt mir da recht suspekt vor

    Die if Bedingung wird ausgewertet und danach erst die Prellzeit abgewartet aber dann nicht nochmal abgefragt sondern der portc.4 geschaltet. Was ist, wenn sich durch die Prellerei nochwas geändert hat bzw die 1. Auswertung nicht richtig war?

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von bebop Beitrag anzeigen
    Hi,
    das auslesen der Fuses hab ich mit AVR Studio 4 von Atmel gemacht.
    Einen Mega8 hab ich ja noch und der mySmartUSB light Progger dürfte nächste Woche auch eintreffen. Hoffentlich liegt es an meinem bisherigen http://cgi.ebay.de/USB-ISP-Programmer-ATMEL-AVR-ATmega-ATTiny-/400227463239?pt=Wissenschaftliche_Geräte&hash=item 5d2f6a7047 Adapter.

    Gruß Johannes
    Das sollte eigentlich sehr gut klappen, ABER Nach Umstellung der Takt Frequenz (wenn gelungen), muss eventuell die ISP Programmier Frequenz angepasst werden oder die Verbindung mit dem Chip passt nicht mehr. Da hatte ich als es mir noch unbekannt war, lange gesucht. Eine einfache logische und verständliche Erklärung dafür schein es nicht zu geben, diese Probleme treten immer wieder hier auf. Ich habe das mittlerweile schnell im Griff, aber auch nur durch Praktisches herumwurschteln in dem ich die ISP Frequenz Einstellung vom Minimum bis zum Max Möglichen erhöhe.

    Gruß Richard

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    17.08.2005
    Ort
    Pegnitz
    Alter
    36
    Beiträge
    36
    Hi,
    jetzt hab ich's noch mal versucht das Programm zum Laufen zu bringen und jetzt funktioniert es endlich, schuld daran war der Hex Kodierschalter. Nachdem ich ihn vom Steckbrett verbannt habe lief alles wie gewünscht.
    Nächste Hürde:
    Das Programm passt nicht auf den eigentlich geplanten Attiny 13 drauf Bascom sagt beim Syntax Check das 161% gebraucht werden. Kann ich das Programm noch etwas schmälern oder soll ich mit einen Attiny 45 oder 84 mit 4k oder 8K Flash-Speicher holen?

    Gruß Johannes

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hallo Johannes,
    in den if Abfragen machst Du ja eigentlich immer das Gleiche, außer der unterschiedlichen Wartezeit zwischen Pin high und low schalten.

    Das könnte man zB so zusammenfassen:

    Code:
    Dim Portstatus As Byte
    Do
       Portstatus = pinb And &B00001111    'Portb komplett auslesen und nicht intressierende Pins auf 0 setzen
       Waitms 20
       Portb.4 = 1
       Select Case Portstatus
          Case 0 : Waitms 500
          Case 1 : Waitms 1000
          Case 2 : Waitms 2000
          Case 3 : Waitms 4000
          Case 3 : Wait 8
          .
          .
          Case 15 : Wait 210
       End Select
       Portb.4 = 0
       Waitms 30
    Loop
    Das sollte in den ATtiny13 passen.

    Platz für einen Quarz bleibt da aber wohl nicht mehr bei 4 Input und einem Output Pin?


    Gruß
    Searcher
    Geändert von Searcher (10.07.2011 um 18:44 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. TWI zwichen mega 16 und mega 8
    Von rauf81 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 18.04.2011, 05:44
  2. Antworten: 3
    Letzter Beitrag: 03.12.2009, 18:36
  3. Controllerboard für Mega 16, Mega 32 und Mega 644
    Von Teslafan im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 4
    Letzter Beitrag: 02.05.2009, 00:01
  4. Wieviele Servos an den Mega 8 oder Mega 16 ?
    Von minium :) im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 06.10.2006, 18:03
  5. PB7 am Mega 128
    Von ceekay im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 22.07.2006, 23:07

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress