Hallo ik ben de stappenmotor kaart van in de elektuur van 01/2004 aan het bouwen ik heb enkel de pic vervangen door een avr. Als avr heb ik de atmega16L als ik nu een van de fets aansluit op poort A krijg ik poort A niet meer hoog of laag wie weet hoe dit komt dit? of heeft er ook ervaringen mee?
Bedankt
Hallo
Ik ken heel die kaart van de elektuur niet, maar ik heb wel ervaring met FETS aansturen vanuit een AVR.
Met het DDRA register kun je per pin kiezen of het een ingang of een uitgang is. Standaard (na reset) staan deze op een ingang. Dus moet je deze door middel van code op uitgang zetten:
DDRA = 0xFF; // Alles uitgang
ldi r16, 0xFF
out DDRA, r16 ; Alles uitgang
Vervolgens moet je via het PORTA register de uitgangen hoog of laag kunnen maken:
PORTA |= 0x01; // Maakt PA0 hoog
PORTA &= ~0x01; // Maakt PA1 laag
in r16, PORTA ; Huidige status
ori r16, 0x01 ; bit0 = 1
out PORTA, r16 ; PA0 hoog
in r16, PORTA ; Huidige status
andi r16, ~0x01 ; bit0 = 0
out PORTA, r16 ; PA0 laag
Die OR en AND instructies zorgen ervoor dat alle andere pinnen ongewijzigd blijven.
Danny
www.studiomute.net
Evil Aedolon
ELEKTRONICA WIKI // Wiskunde is "hip" // http://www.physics2005.org/ 2005 Year of physics! // "In science there is only physics; all the rest is stamp collecting."
BTW: Een standaard fet kan je niet zomaar aansturen vanuit je microcontroller, minimaal 10V gate nodig (tenzij je 100mA ofzo schakelt maar dan neem je beter een BS170 die kan wel vanuit een microcontroller gestuurd worden)
Ik heb de logic level fets die in de elktuur staan werkt perfect nu had de pennen inderadaad nog op input staan bedankt